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é.