Chapitre 1 : les fondamentaux du test Flashcards
o Les principes de base sur les tests, les raisons pour lesquelles les tests sont requis et quels sont les objectifs des tests. o Le processus de test, les principales activités de test et le testware. o Les compétences essentielles pour les tests.
Quels sont les objectifs du test? (8)
- Évaluer les produits d’activités tels que les exigences, les User Stories, les conceptions et le code.
- Provoquer des défaillances et trouver des défauts.
- Assurer la couverture requise d’un objet de test.
- Réduire le niveau de risque d’une qualité logicielle insuffisante.
- Vérifier si les exigences spécifiées ont été satisfaites.
- Vérifier qu’un objet de test est conforme aux exigences contractuelles, légales et réglementaires.
- Fournir des informations aux parties prenantes pour leur permettre de prendre des décisions
éclairées. - Construire la confiance dans la qualité de l’objet de test.
- Valider si l’objet de test est complet et fonctionne comme attendu par les parties prenantes.
Pourquoi est-il nécessaire de tester?
go back to first
Quels sont les 7 principes du test?
**1- Le test montre la présence, et non l’absence, de défauts ** : (Le test peut montrer que des défauts sont
présents dans l’objet de test, mais ne peut pas prouver qu’il n’y a pas de défauts)
2- Le test exhaustif est impossible (pour concentrer les efforts de test : les techniques de test, la priorisation des cas de test et le test basé sur les risques)
3- Tester tôt économise du temps et de l’argent.
4- Regroupement des défauts : (un petit nombre de composants contiennent généralement la majorité des défauts ou sont responsables de la plupart des défaillances opérationnelles (pareto, 80% probs 20% cause, essentiel ds tests basés sur les risques, car elle permet de cibler les composants les plus problématiques pour optimiser l’effort de test et la détection des défauts)
5- Usure des tests : La répétition des mêmes tests réduit leur efficacité pour détecter de nouveaux défauts, nécessitant des modifications de données de test ou rédaction de nouveaux tests, bien que la répétition puisse être bénéfique dans les tests de régression automatisés.
6- Le test dépend du contexte : Il n’existe pas d’approche de test unique et universellement applicable. Les tests sont effectués différemment selon les contextes.
7- L’illusion de l’absence de défaut : Vérifier minutieusement un logiciel et corriger ses défauts ne garantit pas son succès. Même sans défauts, le système peut échouer s’il ne répond pas aux besoins des utilisateurs ou aux objectifs métier. Validation aussi cruciale que vérification.
C’est quoi la différence entre tester et déboguer?
Les tests peuvent déclencher des défaillances
causées par des défauts dans le logiciel si on test dynamiquement, des défauts dans l’objet de test si on fait le test statique.
Lorsque le test statique déclenche un défaut : le débogage consiste à l’éliminer. Il n’est pas nécessaire de le
reproduire ou de le diagnostiquer, puisque le test statique constate directement les défauts et ne peut pas
provoquer de défaillances.
Lorsque le test dynamique déclenche une défaillance, le débogage consiste à 1. trouver les
causes de cette défaillance (défauts) 2. à analyser ces causes et à les éliminer. Dans ce cas, le processus
de débogage typique implique les tâches suivantes:
- Reproduction d’une défaillance.
- Diagnostic (trouver la cause racine).
- Correction de la cause.
and then test confirmation & test de regression.
fyi: Le débogage n’est pas considéré comme une activité de test car son but est de corriger les défauts déjà identifiés, tandis que les tests visent à découvrir ces défauts. Le débogage est une réponse aux problèmes trouvés par les tests.
C’est quoi la différence entre la cause racine, l’erreur, le défaut et la défaillance?
Les erreurs humaines, causées par des facteurs comme la fatigue ou la pression, génèrent des défauts (bogues) dans la documentation ou le code. Si ces défauts sont exécutés, ils peuvent entraîner des défaillances (can also occur bcs of external factors: env.). Les causes racines sont les raisons profondes des erreurs et défauts, identifiées pour prévenir leur récurrence. (analyse de cause racine can help/ c
possible d’éviter les defs en s’attaquant à la cause racine)
C’est quoi le test logiciel?
Le test de logiciels est un ensemble d’activités visant à découvrir les défauts et à évaluer la qualité des
artefacts logiciels(connus sous le nom d’objets de test lorsqu’ils sont testés, can be class, function..).
C’est quoi la relation entre test et assurance qualité?
Le contrôle de la qualité est une approche corrective axée sur le produit, se concentrant sur les activités visant à atteindre des niveaux de qualité appropriés, telles que les tests, les méthodes formelles (modèle de test et preuve d’exactitude), la simulation et le prototypage.
L’assurance qualité (QA) est une approche préventive axée sur les processus, visant à garantir qu’un suivi rigoureux des processus définis produit un bon produit. Elle incombe à tous les acteurs d’un projet. Les résultats des tests servent à la fois à corriger les défauts (contrôle de la qualité) et à évaluer l’efficacité des processus de développement et de test (assurance qualité).
C’est quoi un processus de test?
Le processus de test est une série d’activités planifiées et organisées, adaptées à une situation spécifique, qui visent à atteindre les objectifs du test.
Quels sont les éléments clés du processus de test?
Les activités et les tâches de test, l’importance du contexte, les outils et artefacts de test (testware), la traçabilité entre la base de test et le testware, ainsi que les différents rôles impliqués dans le processus de test.
Quelles sont les 7 activités de processus de test?
- La planification des tests.
- Pilotage et contrôle des tests.
- L’analyse de test.
- La conception des tests.
- L’implémentation des tests.
- L’exécution des tests.
- Les activités de clôture des tests.
Sur quoi consiste l’activité de planification des tests?
Définir les objectifs du test, puis à sélectionner une approche qui permette d’atteindre au mieux les objectifs dans le cadre des contraintes imposées par le contexte
général.
Que fait on en Pilotage et contrôle des tests?
Le pilotage des tests implique la vérification continue de toutes les activités de test et la comparaison des progrès réels par rapport au plan. Le contrôle des tests consiste à
prendre les mesures nécessaires pour atteindre les objectifs du test
Que fait on en analyse de test?
L’analyse de la base de test pour identifier les caractéristiques testables et pour définir et prioriser les conditions de test associées, ainsi que les risques et les niveaux de risque correspondants. La base de test et les objets de test sont également évalués pour identifier les défauts qu’ils peuvent contenir et pour évaluer leur testabilité. L’analyse de test est souvent
soutenue par l’utilisation de techniques de test. L’analyse de test répond à la question “que tester ?” en termes de critères de couverture mesurables.
C quoi le but de la conception des tests?
La conception des tests comprend l’élaboration des conditions de test dans des cas de test et autres
éléments du testware (par exemple, chartes de test). Cette activité implique souvent l’identification
d’éléments de couverture, qui servent de guide pour spécifier les entrées des cas de test. Les techniques
de test peuvent être utilisées pour soutenir cette activité. La conception des tests comprend également la définition des exigences en matière de données de test, la conception de l’environnement de test et l’identification de toute autre infrastructure et de tout autre outil nécessaires. La
conception des tests répond à la question “comment tester ?”.
Que fait-on en implémentation des tests?
L’implémentation des tests comprend la création ou l’acquisition du testware nécessaire à l’exécution
des tests (par exemple, les données de test). Les cas de test peuvent être organisés en procédures de
test et sont souvent assemblés en suites de tests. Des scripts de test manuels et automatisés sont créés.
Les procédures de test sont classées par ordre de priorité et organisées dans un calendrier d’exécution
des tests pour une exécution efficiente des tests. L’environnement de test est construit
et l’on vérifie qu’il est correctement configuré.
Que fait on en exécution de test?
L’exécution des tests comprend l’exécution des tests conformément au calendrier d’exécution des tests.
L’exécution des tests peut être manuelle ou automatisée. L’exécution des tests peut prendre de
nombreuses formes, notamment celle du test en continu ou de sessions de test en binôme. Les résultats
réels des tests sont comparés aux résultats attendus. Les résultats des tests sont enregistrés. Les
anomalies sont analysées afin d’en identifier les causes probables. Cette analyse nous permet de
signaler les anomalies sur la base des défaillances observées.
Prq faire des activités de cloture de test?
Les activités de clôture des tests ont généralement lieu lors des jalons du projet (par exemple, la
livraison, la fin de l’itération, la clôture d’un niveau de test) pour tous les défauts non résolus, les
demandes de changement ou les éléments créés dans le Product Backlog. Le testware qui pourrait être
utile à l’avenir est identifié et archivé ou remis aux équipes appropriées. L’environnement de test est
arrêté dans un état convenu. Les activités de test sont analysées afin d’identifier les leçons apprises et
les améliorations à apporter aux futures itérations, versions ou projets. Un rapport
d’achèvement des tests est créé et communiqué aux parties prenantes.
Sur quels facteurs dépend la manière dont les tests sont effectués?
- Parties prenantes (besoins, attentes, exigences, volonté de coopérer, etc.)
- Membres de l’équipe (compétences, connaissances, niveau d’expérience, disponibilité, besoins
de formation, etc.). - Domaine d’activité (criticité de l’objet de test, risques identifiés, besoins métier, réglementations
légales spécifiques, etc.). - Facteurs techniques (type de logiciel, architecture du produit, technologie utilisée, etc.).
- Contraintes du projet (portée, temps, budget, ressources, etc.).
- Facteurs organisationnels (structure organisationnelle, politiques existantes, pratiques utilisées,
etc.). - Cycle de vie du développement logiciel (pratiques d’ingénierie, méthodes de développement,
etc.). - Outils (disponibilité, facilité d’utilisation, conformité, etc.).
Ces facteurs auront un impact sur de
nombreuses exigences liées aux tests, notamment : la stratégie de test, les techniques de test utilisées, le degré d’automatisation des tests, le niveau de couverture requis, le niveau de détail de la documentation des tests, le reporting, etc.
C quoi un testware?
Le testware désigne l’ensemble des artefacts produits et utilisés lors du processus de test d’un logiciel.
it can be : cas de test, scripts de test, données de test, outils de test…etc
Pour chaque activité de processus de test, quel testware output peut-on avoir?
** Planification des tests -> plan de test (calendrier des tests, référentiel des risques et critères de
sortie)
** Pilotage et contrôle des tests -> rapports d’avancement des tests + documentation des directives de contrôle + informations sur les risques
** Analyse de test -> conditions de test ( priorisées) (par exemple, critères d’acceptation, et rapports de défauts concernant les défauts dans la base de test..
** Conception des tests -> cas de test ( priorisés), chartes de test, éléments de couverture, exigences en matière de données de test et exigences en matière d’environnement de test.
** Implémentation des tests -> procédures de test, scripts de test automatisés, suites de tests,
données de test, calendrier d’exécution des tests, et éléments de l’environnement de test(les bouchons, les pilotes, les simulateurs et les virtualisations de services).
** Exécution des tests -> logs de test et rapports de défaut
** Complétude des tests: rapport de clôture des tests, mesures à prendre pour améliorer les projets ou itérations ultérieurs, leçons apprises documentées et demandes de changement (par exemple, en tant qu’éléments du product backlog)
Pourquoi la traçabilité entre base de test et le testware est importante?
Importance de la traçabilité : Pour une gestion et un contrôle efficaces des tests, il est crucial d’assurer la traçabilité entre les éléments de la base de test, le testware associé, les résultats des tests et les défauts détectés.
- Base de test et testware :
** Base de test : Ensemble des documents et des informations sur lesquels les tests sont basés, comme les spécifications et les exigences.
** Testware : Ensemble des artefacts produits durant le test, tels que les conditions de test, les cas de test et les résultats de test.
- Évaluation de la couverture :
Une traçabilité précise permet de mesurer la couverture des tests, c’est-à-dire de vérifier dans quelle mesure les tests couvrent les exigences spécifiées.
Les critères de couverture, définis dans la base de test, servent d’indicateurs de performance pour piloter les activités de test.
- Exemples de traçabilité :
** Cas de test aux exigences : Vérifie que chaque exigence est couverte par un ou plusieurs cas de test.
** Résultats de test aux risques : Évalue le niveau de risque résiduel après les tests.
- Avantages de la traçabilité :
** Impact des changements : Permet de comprendre comment les modifications affectent les tests.
** Facilitation des audits : Aide à la conformité avec les normes de gouvernance informatique.
** Rapports d’avancement et de clôture : Rend les rapports de test plus clairs en incluant le statut des éléments testés.
** Communication avec les parties prenantes : Simplifie la communication des aspects techniques des tests.
** Audits et qualité du produit : La traçabilité fournit des informations essentielles pour auditer la qualité du produit, évaluer la capacité du processus de test et suivre l’avancement du projet par rapport aux objectifs métiers.
en GROS:
La traçabilité dans le processus de test consiste à établir et à maintenir des liens clairs entre la base de test (exigences, spécifications) et le testware (cas de test, résultats), permettant ainsi de mesurer la couverture des tests, d’évaluer les risques résiduels, de faciliter les audits, et de communiquer efficacement les résultats des tests. Cette pratique est essentielle pour assurer une gestion efficace des tests et garantir que les objectifs de qualité et de projet sont atteints.
En quoi est ce que le rôle de test manager est impliqué? et pour quelles étapes de processus de test?
Le rôle de test manager implique une responsabilité globale pour le processus de test, l’équipe de test et
la direction des activités de test. Le rôle de test manager est principalement axé sur les activités de
planification des tests, de pilotage et de contrôle des tests et de clôture des tests
En quoi est ce que le rôle de testeur est impliqué? et pour quelles étapes de processus de test?
Le rôle de testeur implique une responsabilité globale pour l’aspect technique des tests. Le rôle de
testeur est principalement axé sur les activités d’analyse de test, de conception des tests,
d’implémentation des tests et d’exécution des tests.
Quelles compétences sont pertinentes pour les testeurs?
+ Connaissance en matière de test (pour accroître l’efficacité des tests en utilisant des techniques de test).
+ Rigueur, attention, curiosité, souci du détail, méthode (pour identifier les défauts, en particulier ceux qui sont difficiles à trouver).
+ Bonne communication, écoute active, esprit d’équipe
+ Réflexion analytique, esprit critique, créativité (pour accroître l’efficacité des tests).
+ Connaissances techniques (pour accroître l’efficience des tests, i.e en utilisant les outils de test appropriés).
+ Connaissance du domaine (pour être en mesure de comprendre les utilisateurs finaux/représentants métier et de communiquer avec eux).