Test Agile - Techniques
Les techniques de test issues des tests traditionnels peuvent également être utilisées dans les tests Agile. En plus de ceux-ci, des techniques et des terminologies de test spécifiques Agile sont utilisées dans les projets Agile.
Base de test
Dans les projets agiles, le backlog produit remplace les documents de spécification des exigences. Le contenu du backlog produit est normalement des user stories. Les exigences non fonctionnelles sont également prises en compte dans les user stories. Ainsi, la base de test dans les projets Agile est la user story.
Pour garantir la qualité des tests, les éléments suivants peuvent également être considérés comme base de test -
- Expérience des itérations précédentes du même projet ou des projets antérieurs.
- Fonctions existantes, architecture, conception, code et caractéristiques de qualité du système.
- Données sur les défauts des projets actuels et passés.
- Commentaires des clients.
- Documentation utilisateur.
Définition de terminé
La Définition de Terminé (DoD) est le critère utilisé dans les projets Agile pour garantir l'achèvement d'une activité dans le backlog Sprint. Le DoD peut varier d'une équipe Scrum à l'autre, mais il doit être cohérent au sein d'une équipe.
DoD est une liste de contrôle des activités nécessaires qui garantissent la mise en œuvre des fonctions et des fonctionnalités dans une user story avec les exigences non fonctionnelles qui font partie de la user story. Une user story atteint l'étape Terminé une fois que tous les éléments de la liste de contrôle DoD sont terminés. Un DoD est partagé dans toute l'équipe.
Un DoD typique pour une user story peut contenir -
- Critères d'acceptation testables détaillés
- Critères pour assurer la cohérence de la User Story avec les autres dans l'itération
- Critères spécifiques liés au produit
- Aspects du comportement fonctionnel
- Caractéristiques non fonctionnelles
- Interfaces
- Exigences relatives aux données de test
- Couverture de test
- Refactoring
- Exigences d'examen et d'approbation
En plus du DoD pour les User Stories, DoD est également requis -
- à tous les niveaux de test
- pour chaque fonctionnalité
- pour chaque itération
- pour la libération
Informations sur le test
Un testeur doit disposer des informations de test suivantes -
- Histoires d'utilisateurs à tester
- Critères d'acceptation associés
- Interfaces système
- Environnement dans lequel le système est censé fonctionner
- Disponibilité des outils
- Couverture de test
- DoD
Dans les projets Agile, comme le test n'est pas une activité séquentielle et que les testeurs sont censés travailler en mode collaboratif, il est de la responsabilité du testeur de -
- Obtenez régulièrement les informations de test nécessaires.
- Identifiez les lacunes d'information qui affectent les tests.
- Résolvez les lacunes en collaboration avec les autres membres de l'équipe.
- Décidez quand un niveau de test est atteint.
- Assurer l'exécution des tests appropriés aux moments pertinents.
Conception de tests fonctionnels et non fonctionnels
Dans les projets Agile, les techniques de test traditionnelles peuvent être utilisées, mais l'accent est mis sur les tests précoces. Les cas de test doivent être en place avant le début de l'implémentation.
Pour la conception de tests fonctionnels, les testeurs et les développeurs peuvent utiliser les techniques traditionnelles de conception de tests Black Box telles que -
- Partitionnement d'équivalence
- Analyse de la valeur limite
- Tables de décision
- Transition d'état
- Arbre de classe
Pour la conception de tests non fonctionnels, étant donné que les exigences non fonctionnelles font également partie de chaque user story, les techniques de conception de test boîte noire ne peuvent être utilisées que pour concevoir les cas de test pertinents.
Essais exploratoires
Dans les projets Agile, le temps est souvent le facteur limitant pour l'analyse et la conception de tests. Dans de tels cas, les techniques de test exploratoire peuvent être combinées avec les techniques de test traditionnelles.
Les tests exploratoires (ET) sont définis comme l'apprentissage simultané, la conception de tests et l'exécution de tests. Dans les tests exploratoires, le testeur contrôle activement la conception des tests au fur et à mesure de leur exécution et utilise les informations obtenues lors des tests pour concevoir de nouveaux et meilleurs tests.
Les tests exploratoires sont pratiques pour s'adapter aux changements dans les projets Agile.
Tests basés sur les risques
Les tests basés sur les risques sont des tests basés sur le risque d'échec et atténuent les risques à l'aide de techniques de conception de tests.
Un risque de qualité du produit peut être défini comme un problème potentiel de qualité du produit. Les risques liés à la qualité des produits comprennent -
- Risques fonctionnels
- Risques de performance non fonctionnels
- Risques d'utilisabilité non fonctionnelle
Une analyse des risques doit être effectuée pour évaluer la probabilité (vraisemblance) et l'impact de chaque risque. Ensuite, les risques sont hiérarchisés -
- Les risques élevés nécessitent des tests approfondis
- Les risques faibles ne nécessitent que des tests cursifs
Les tests sont conçus à l'aide de techniques de test appropriées basées sur le niveau de risque et la caractéristique de risque de chaque risque. Des tests sont ensuite exécutés pour atténuer les risques.
Tests d'ajustement
Les tests d'ajustement sont des tests d'acceptation automatisés. Les outils Fit et FitNesse peuvent être utilisés pour automatiser les tests d'acceptation.
FIT utilise JUnit, mais étend la fonctionnalité de test. Les tableaux HTML sont utilisés pour afficher les cas de test. Fixture est une classe Java derrière la table HTML. L'appareil prend le contenu du tableau HTML et exécute les cas de test sur le projet en cours de test.