Méthodologie de tests
et livrables
Sommaire
ISTQB Projet C’est quoi
informatique un test
Métiers des Méthodologies Récap
tests des tests
01 ISTQB
ISTQB
ISTQB
1ère étape :
➢ ISTQB Testeur
Niveau Fondation
Ensuite 3 voies sont
possibles :
➢ Agile Tester
➢ Core
➢ Specialist
Avec les 3 niveaux :
▪Fondation
▪Avancé
▪Expert
Pour en savoir plus /
références :
https://www.gasq.org/fr/certif
ication/istqb.html
Quel intérêt?
✓ Faire reconnaître les tests comme une expertise
✓ Fournir un cadre standard pour l’évolution de carrière des testeurs
✓ Permettre aux testeurs qualifiés d'être reconnus par les employeurs
✓ Promouvoir des pratiques de test cohérentes
Comment lire le Syllabus
Pour chaque chapitre, il est important
de noter :
• Les mots clés qui sont précisés au
début de chapitre
• Les compétences clés et les
niveaux qui sont précisés
Les questions porteront
uniquement sur ces notions et au
niveau précisé
Présentation du Syllabus
Chapitre 1 Chapitre 2 Chapitre 3
Fondamentaux des Tester pendant le cycle de Tests
tests vie du développement statiques
logiciel
Chapitre 4 Chapitre 5 Chapitre 6
Techniques de Gestion Outils de support
test des tests aux tests
Vision des questions lors de l’examen
ISTQB
Niveau Nombre de Temps moyen par Temps moyen au
question question total
K1 8 Environ 1 min 8 min
K2 24 Environ 1 min 24 min
K3 8 Généralement 3 24 min
min
Totals 40 56 min
/ 60 au total
Questions par chapitre
Chap1 Chap2 Chap3 Chap4 Chap5 Chap6 Total
8 5 5 11 9 2 40
Projet
02 Informatique
Projet Informatique
Un projet est une organisation temporaire créée dans le but de délivrer un ou plusieurs produits
ou livrables répondant à une problématique de l'entreprise.
Un projet informatique, est un projet qui porte sur l’infrastructure informatique, les systèmes
d’information ou les ordinateurs, dont les livrables se constituent d’outils, méthodes ou services
informatique.
Projet Informatique
Projet Informatique
Un projet informatique, peut inclure ces éléments:
• Configuration du réseau • Développement de sites web
• Mise en œuvre de logiciels • Gestion de la base de données
• Installation du matériel • Développement d’applications mobiles
• Sécurité des réseaux et des ordinateurs • Extraction de données
• Test des systèmes, composants ou logiciels • L’informatique dématérialisée
C’est quoi
03 un test
C’est quoi un test
• Les tests logiciels sont un moyen d’évaluer la qualité du logiciel et de réduire le risque
de défaillance du logiciel en cours de fonctionnement.
• En effet, est un processus d’essai des exécutions d’un système selon un ensemble de
critères.
L’observation de chaque exécution est comparée avec la spécification du système sous
test :
-Si conforme : test accepté (test ok)
-Sinon : test échoué (test ko)
Certains tests impliquent l’exécution du composant ou système testé, ces tests sont
appelés tests dynamiques.
D’autres tests n’impliquent pas l’exécution du composant ou système testé, ces tests
sont appelés tests statiques.
Les domaines de tests
• Gestion de notre compte bancaire,
• Téléphone portable,
• Internet,
• Electroménager,
• Véhicules motorisés,
• Commerce électronique,
• Alimentaire,
• …
Pourquoi les tests sont si-nécessaires
Les objectifs de test peuvent varier en fonction du contexte du composant ou du système testé, du niveau de test
et du modèle de cycle de vie de développement logiciel.
Objectifs de tests:
• Prévenir des défauts.
• Détecter les défauts
• Acquérir la confiance
• Fournir des infos utiles aux prises de décisions.
C’est quoi une gestion de qualité
Dérouler un test permet de maintenir une bonne gestion de qualité.
Une gestion qualité = Assurance qualité+ Contrôle qualité
Terme à retenir
Erreur: Une action humaine qui produit un résultat incorrect.
Défaut: Une imperfection dans le composant/Système qui engendre une mauvaise exécution.
Défaillance: Ecart constaté dans un composant/Système par rapport au résultat attendu.
Incident: Tout événement arrive pendant les tests et nécessitent une vérification.
Le débogage: Est l’activité de développement ou on trouve, analyse et corrige les défauts. (fait par les développeur)
Erreur -> défaut(bug) -> défaillance -> effet
Processus de tests
Les process qui influencent le processus du
test
• Le modèle de cycle de vie du développement logiciel et les méthodologies de projet utilisées
• Les niveaux de test et types de test prévus
• Les risques liés aux produits et aux projets
• Le domaine d'activité
• Les contraintes opérationnelles, entre autres :
-Les budgets et ressources
-Les délais
-La complexité
-Les exigences contractuelles et réglementaires
• Les politiques et pratiques organisationnelles
• Les normes internes et externes requises
Métiers de
04 tests
Les métiers de tests
Analyste Test et Validation Test Manager/Lead
• Ingénieur de validation fonctionnelle • Manager de projet test
• Ingénieur test • Pilote de projet test
• Intégrateur/testeur • Team Lead test
• Ingénieur test et validation
• Ingénieur qualité/intégration logiciel
• Ingénieur test fonctionnel
• Test analyst
• Recetteur fonctionnel
• Testeur
• Homologateur
• Testeur fonctionnel
• Testeur test Auto
Psychologies des tests
Méthodologies
05 des tests
Méthodologies des tests
• La méthodologie de test des logiciels est définie comme les différentes approches, stratégies et types
de tests pour tester une application afin de s'assurer que l'application ressemble et fonctionne
comme prévu et répond aux attentes des utilisateurs / clients.
• Les méthodologies de tests impliquent tous les différents types de tests fonctionnels et non
fonctionnels pour valider l’application.
• L'objectif de l'application de diverses méthodologies de test dans un processus de test est de
s’assurer que l'application peut fonctionner et livrer avec succès comme prévu.
Méthodologies des tests
• Les méthodologies de tests sont utilisées aux niveaux des tests fonctionnels et non
fonctionnels.
• La clé du développement et de la publication d'une application de haute qualité facilement
acceptée par les utilisateurs finaux consiste à créer un excellent cadre de test pouvant effectuer
à la fois les tests fonctionnels et non fonctionnels.
Les tests fonctionnels :
Consistent à vérifier si toutes les exigences commerciales sont remplies par l'application sans
aucune erreur.
Un test fonctionnel implique tous les types de tests possibles pour vérifier si chaque partie de
l'application se comporte comme prévu et conformément aux exigences de l'entreprise ou du
client.
Méthodologies des tests
Méthodologies des tests
Les tests non-fonctionnel :
Les tests non-fonctionnels, sont effectués pour tester les performances, l’utilisabilité, la fiabilité, la
compatibilité d'une application.
Ceux-ci inclus :
• Test de performance
• Test de sécurité
• Tests d'utilisation
• Test de compatibilité
Les tests fonctionnels et non fonctionnels se déroulent à tous les niveaux de tests.
Les tests fonctionnels et non fonctionnels se préoccupent de tous types de risques.
Méthodologies des tests
• Les méthodologies de test de logiciels sont
les stratégies, les processus ou les
environnements utilisés pour tester.
• Les deux méthodologies SDLC les plus
utilisées sont Agile et Waterfall,
et les tests sont très différents pour ces deux
environnements.
Quelques notions…
Quelques notions à prendre en considération :
• Pour chaque activité de développement, il y a une activité de test correspondante.
• L'analyse et la conception et les revus des tests pour un niveau de test donné commencent au
cours de l'activité de développement correspondante (dès que des versions préliminaires sont
disponibles).
• Quel que soit le modèle de cycle de développement logiciel choisi, les activités de test devraient
commencer dès les premières étapes du cycle de vie, en respectant le principe de « Tester tôt ».
Modèle séquentiel (Cascade)
Le modèle en cascade est un mode de développement séquentiel et linéaire, souvent utilisés dans le cadre de projets
ayant un ensemble défini d’exigences.
Comme son nom l’indique, le processus d’élaboration du logiciel se rapproche de l’écoulement d’un cours d’eau,
progressant vers le bas tout au long des phases de conception du logiciel.
Ce modèle repose sur l’achèvement de la phase précédente, chacune des activités dépend de la fin de la précédente pour
débuter.
Etant donné que le modèle ne permet pas de revenir aux phases déjà achevées, le modèle en cascade devrait être utilisé
pour les projets qui ne prévoient pas de changements imprévus au niveau du développement à mi-parcours.
En effet, dans ce modèle, les activités de tests ont seulement lieu une fois que toutes les autres activités de
développement sont terminées.
Cette approche a été l’un des premiers modèles utilisés pour le développement de logiciels.
Modèle séquentiel (Cascade)
Modèle séquentiel (Cascade)
Avantages :
Ce modèle est simple et compréhensible, le modèle en cascade est une méthode facile à gérer et idéale
pour la gestion du cycle de vie des petits projets où les exigences sont établies et prédéterminées en amont.
Inconvénient :
En raison de sa structure rigide, le modèle en cascade ne fonctionne pas bien pour les projets
complexes où il y a la possibilité qu’un changement dans les exigences survienne ou que des tests soient
imposés à des moments aléatoires tout au long de la phase de développement logiciel.
Modèle en V
Le modèle en V (cycle en V), c’est la version évolutive du modèle en cascade, il utilise également un flux séquentiel.
Cependant, au lieu de se déplacer linéairement vers le bas, le cycle de vie du développement logiciel comporte un
infléchissement vers le haut après le codage (pour chacune des phases de test).
En effet, pour chaque phase de la séquence descendante, il existe une phase de test correspondante dans la séquence
ascendante suivante. Ce modèle est utilisé pour les projets où les exigences et les outils logiciels sont connus à l’avance.
Modèle en V
Modèle en V
Avantages :
Le cycle en V est un processus simple, idéal pour les petits projets.
L’utilisation du modèle en V peut offrir de meilleures chances de succès grâce aux plans de tests pour
chacune des étapes de la phase de développement et grâce à la planification régulière des mises à jour tout au long
de son cycle de vie.
Inconvénients :
Semblable au modèle en cascade, le modèle en V est de nature très rigide et n’est donc pas idéal pour les
applications
ou les logiciels systèmes qui peuvent nécessiter des changements/des mises à jour imprévus tout au long
du cycle de vie du logiciel.
Modèle itératif et incrémental (spiral)
Le modèle en spirale combine des éléments des modèles de développement itératif et en cascade, dans le but
de combiner les avantages de la production descendante et ascendante.
Le modèle en spirale comporte quatre phases :
• Identification
• Conception
• Fabrication
• Evaluation et analyse des risques
Le projet passe à plusieurs reprises par ces phases dans des itérations qui sont appelées spirales.
En effet, pour ce modèle, le but est de créer des incréments expérimentaux.
Modèle itératif et incrémental (spiral)
Modèle itératif et incrémental (spiral)
Avantages :
Le modèle en spirale peut être avantageux, car il gère les risques et divise le développement en phases.
Il permet également d’obtenir des estimations plus précises du budget et du calendrier, car les
difficultés sont découvertes plus tôt.
Inconvénient :
Etant donné que ce modèle est hautement personnalisé, la réorientation du processus peut mener à la
confusion.
Il faut également que les membres de l’équipe connaissent bien l’évaluation des risques.
Agile
• Contrairement à la méthodologie Waterfall, l’approche Agile est itérative et fonctionne en cycles courts avec
des livraisons intermédiaires afin de pouvoir s’adapter au changement.
• Le projet est découpé en étapes que l’on appelle itérations et qui ne durent pas plus de quelques semaines.
• On part du principe que les besoins et les exigences du client peuvent évoluer en cours de projet.
=> Il est donc indispensable d’impliquer le client dans la réalisation du projet et de communiquer régulièrement
avec lui afin de répondre correctement à ses attentes.
• D’une grande souplesse, la méthode Agile convient aux projets plus complexes et permet de mieux contrôler
le budget et d’améliorer la productivité de l’équipe projet.
Agile
Avantages :
• L’atout majeur de l’approche Agile, c’est sa grande flexibilité.
• Le client est au cœur du projet.
• Avec cette méthode, vous avez une meilleure maîtrise de votre budget.
Inconvénients :
• La facilité de prendre en compte l’évolution des besoins et d’effectuer des modifications.
• L’approche Agile fonctionne bien si le client joue le jeu et collabore régulièrement avec l’équipe projet.
• S’il est facile d’effectuer des modifications, chaque modification nécessite de nouveaux tests et de possibles erreurs
à corriger.
Scrum
• Contrairement au cycle en V, qui se concentre sur la gestion de projet, Scrum base son énergie sur le produit.
• Scrum permet de travailler en équipe pour faire de l’amélioration continue sur des livraisons itératives
incrémentales de produits afin de satisfaire le client.
Scrum
Scrum repose sur des personnes capables de s’approprier ces valeurs :
• Engagement
• Courage
• Focus
• Ouverture
• Respect
Scrum
Scrum est constitué d’équipes Scrum, d’événements, d’artefacts et de règles.
Chaque composante de ce cadre a un but précis et est essentielle au succès et à l’utilisation du framework.
o Le scrum master (responsable de faire respecter le cadre scrum)
o Le product owner (responsable du produit, le quoi)
o L’équipe de développement (responsable de la production, le comment)
Les équipes Scrum sont autoorganisées et pluridisciplinaires.
Les équipes choisissent la meilleure façon d’accomplir leur travail,
au lieu d’être dirigées par des personnes externes à l’équipe, ce qui favorise la flexibilité,
la créativité et la productivité.
Les acteurs Scrum
product owner (PO):
il porte la vision du produit à réaliser et travaille en interaction avec l'équipe de développement,
généralement c'est un expert métier.
il est chargé de fournir les exigences du produits/logiciels
il gère le product backlog
Il récolte les besoins au niveau du client, par la suite il va les priorisé au niveau du product backlog.
Equipes:
Elle est chargé de transformer le besoin exprimé par le PO en fonctionnalité utilisable.
(on peut y trouver plusieurs rôle: architecte, développeur, testeur, graphiste…)
Scrum Master:
il doit métriser scrum et s'assure qu'il est correctement appliqué.
Il a un rôle de coach au prés du PO et de l'équipe développement.
il doit donc faire preuve de pédagogie
il n a pas la vocation de diriger l'équipe projet mais de la guider
c'est lui qui est charger d'animer les réunions Scrum
Evènements Scrum
Organisation du backlog :
• C'est la préparation du backlog, cet événement est sous la responsabilité du Product Owner.
• Le PO faire de la vision du produit une réalité et rester constamment en ligne avec le marché et le client.
• Par conséquent, il tient à jour cette liste en s'appuyant sur le feedback des utilisateurs et
de l'équipe de développement pour aider à définir des priorités et à maintenir un backlog propre et disponible.
Planification du sprint :
• L'ensemble de l'équipe de développement planifie le travail à réaliser (le périmètre)
durant le sprint actuel pendant cette réunion.
• Celle-ci est menée par le Scrum Master.
• À cette occasion, l'équipe détermine l'objectif du sprint.
• Les user stories sont ensuite ajoutées au sprint à partir du backlog produit.
• Ces stories correspondent toujours à l'objectif, et l'équipe Scrum s'accorde à dire qu'elles sont possibles
à implémenter durant le sprint.
À la fin de chaque réunion de planification, chaque membre de l'équipe Scrum doit savoir avec certitude
ce qu'il est possible de livrer durant le sprint et comment réaliser l'incrément.
Evènements Scrum
Sprint :
• Il désigne le délai réel dont l'équipe Scrum a besoin pour terminer un incrément.
• La longueur classique d'un sprint est de deux semaines, mais certaines équipes estiment qu'un
périmètre d'une semaine ou qu'un délai d'un mois pour livrer un incrément de valeur est plus
simple.
Daily Scrum:
• Mini-réunion quotidienne qui a lieu à la même heure (généralement, le matin) et au même endroit
pour simplifier les choses.
• Beaucoup d'équipes essaient de s'en tenir à 15 minutes, mais ce n'est qu'une indication.
• Cette réunion est également appelée « stand-up quotidien » pour souligner le fait qu'elle doit être
rapide.
• L'objectif du « Daily Scrum » est de mettre tous les membres de l'équipe en phase avec l'objectif
du sprint et de définir un plan pour les prochaines 24 heures.
Evènements Scrum
Revue de sprint :
• A la fin du sprint, l'équipe se rassemble pour une session informelle afin d'assister à une démo de
l'incrément ou de l'inspecter.
• L'équipe de développement présente aux parties prenantes et à ses collègues les éléments du
backlog terminés pour avoir leur avis.
• Le Product Owner peut décider de livrer ou non l'incrément.
• Cela dit, l'incrément est livré dans la plupart des cas.
Rétrospective de sprint :
• La rétrospective est l'occasion pour l'équipe de se rassembler afin de documenter ce qui a
fonctionné ou non dans un sprint, un projet, des relations, des outils, chez des personnes, voire
dans certaines cérémonies et d'en discuter.
• L'idée est de créer un espace dans lequel l'équipe peut se concentrer sur ce qui a bien fonctionné
et sur les choses à améliorer, et non sur les échecs.
Artefacts Scrum
• Le backlog produit:
• Est la liste principale des tâches à réaliser.
• C'est une liste d'exigences, d'améliorations et de correctifs qui fait office de point de départ pour le backlog de sprint.
• C'est la « to-do list » des équipes.
• Le backlog produit est constamment repensé, et ses priorités sont redéfinies.
• Il est géré par le Product Owner, car, à mesure que nous en apprenons plus ou que le marché change,
certains éléments peuvent ne plus s'avérer pertinents ou certains problèmes peuvent être résolus d'autres manières.
Artefacts Scrum
• Le backlog de Sprint
• Est la liste d'éléments, d'user stories ou de correctifs de bug que l'équipe de développement a sélectionnés
en vue de leur implémentation dans le cycle de sprint actuel.
• Avant chaque sprint, une réunion de planification est organisée.
• Au cours de celle-ci, l'équipe choisit les éléments sur lesquels elle travaillera dans le backlog produit.
• Un backlog de sprint peut être flexible et évoluer durant un sprint.
• Toutefois, l'objectif fondamental d'un sprint (ce que l'équipe souhaite atteindre à partir du sprint actuel) ne
peut pas être remis en question.
• L'incrément :
• C’est l’objectif du sprint
• En effet, est le produit final exploitable qui a été obtenu pendant le sprint.
Kanban
Kanban, est une méthodologie populaire pour implémenter le développement logiciel Agile, il repose sur un travail
effectué en toute transparence et une communication en temps réel de la capacité.
Les taches sont présentées visuellement sur un tableau Kanban. Ainsi les membres de l’équipe peuvent voir l’état
de chaque tache à tout moment.
Que le tableau soit physique ou numérique, sa fonction est de permettre la visualisation du travail, la
standardisation du workflow, mais aussi l'identification et la résolution des bloqueurs et des dépendances dans les
plus brefs délais.
Un tableau kanban classique comporte un workflow en trois étapes : « à faire », « en cours » et « terminé ».
Cependant, selon la taille, la structure et les objectifs de l'équipe, le workflow peut être cartographié en fonction
du processus spécifique d'une équipe en particulier.
Kanban
Kanban
La méthodologie Kanban repose sur un travail effectué
en toute transparence et une communication en temps
réel de la capacité ; c'est la raison pour laquelle le
tableau Kanban doit être perçu comme la source de
référence unique concernant le travail de l'équipe.
Kanban
Cartes Kanban
En japonais, kanban signifie « Etiquette ».
Pour les équipes kanban, chaque tâche est représentée sous la forme d'une carte distincte sur le tableau.
La représentation du travail sous la forme d'une carte affichée sur le tableau kanban vise principalement
à permettre aux équipes de suivre la progression du travail au sein du workflow d'une manière très visuelle.
Les cartes kanban comportent des informations essentielles sur une tâche en particulier ; ainsi, toute l'équipe identifie clairement qui
s'occupe de la tâche, en quoi elle consiste, le temps approximatif nécessaire à sa réalisation, etc.
Les cartes affichées sur les tableaux kanban virtuels incluent souvent des captures d'écran des fonctionnalités et
d'autres détails techniques utiles au responsable.
Scrum ou Kanban
Scrum et Kanban utilisent tous deux des méthodes visuelles, comme le tableau Scrum ou Kanban, pour
suivre l'avancement du travail. Tous deux donnent la priorité à l'efficacité et à la subdivision de tâches
complexes en plus petits blocs gérables.
Leur approche pour réaliser cet objectif diffère toutefois:
Scrum Kanban
Scrum se concentre sur des itérations à durée Dans Kanban, le nombre de tâches ou la quantité
limitée. Une fois la durée d'un sprint finalisée, les de travail en cours (limite WIP) à implémenter au
stories ou les entrées du backlog produit qui cours du cycle actuel est fixé(e) au préalable. Le
peuvent être implémentées durant ce cycle de sprint temps nécessaire pour implémenter ces
sont déterminées. fonctionnalités est ensuite calculé en remontant
Scrum insiste également sur la transversalité dans le temps.
Kanban n'est pas aussi structuré que Scrum.
Kanban est plus facile à adapter
06 Récap
Récapitulons…
Les méthodologies de test sont requises dans votre processus de test pour vous assurer que l'application
peut fonctionner et livrer avec succès comme prévu et dans divers environnements et sur plusieurs plates-formes.
Les méthodologies de test de qualité se traduisent par un produit de meilleure qualité,
une plus grande fiabilité du produit et une plus grande satisfaction des clients et des clients.
Les méthodologies de test de logiciels sont importantes pour comprendre les beugues et les erreurs
dans l'application qui ont été faits lors du développement de l'application.
Récapitulons…
Le test de l'application garantit que la fiabilité de l'entreprise est maintenue dans l'esprit des utilisateurs
et qu'ils sont satisfaits de l'application.
Les tests améliorent la qualité du produit en éliminant tout défaut dans l'application.
Des produits de meilleure qualité livrés pour accroître la confiance des utilisateurs envers l'entreprise.
Des tests de haute qualité garantissent la performance efficace et sans défaut de l'application.
Les tests de qualité garantissent que l'application n'entraîne aucune défaillance et que les défauts
sont identifiés le plus tôt possible. Les défauts identifiés à des stades ultérieurs sont très coûteux à corriger et
peuvent nuire à la réputation de l'entreprise s'ils sont détectés en production.
Merci