L’ATDD est l’Acceptance Test-Driven Development. L’ATDD est un mélange du Test-Driven Development (TDD) et du Behavior Driven Development (BDD) et permet de suivre le développement d’une fonctionnalité en se basant sur les tests d’acceptation.
L’ATDD en sept étapes
De manière générale, on définit l’Acceptance Test-Driven Development par la mise en place de 7 étapes spécifiques, à savoir :
- Etablir le schéma Gherkin associé à la User Story
- Définir le test fonctionnel associé
- Réaliser le test sur la feature
- Détailler la fonctionnalité qui sera à tester
- Refaire le test sur la feature
- Lorsque le test est ok, finaliser la rédaction de votre feature
- Réaliser vos tests de non régression
Des confusions ont souvent lieu entre l’ATDD et le BDD. Cependant il est important d’être bien conscient des différences qui existent entre les deux méthodologies. En effet, bien que ces deux méthodologies imposent de rédiger les tests avant de commencer à coder, dans le cas de l’ATDD, les développements sont effectués sur la base des tests d’acceptation. Dans le cas du BDD les développements sont effectués sur la base du comportement attendu.
La communication au coeur de l’ATDD
De la même manière, il est aussi important de noter que comme pour le BDD, l’ATDD comporte certes des similitudes avec le TDD mais il s’en distingue aussi par l’importance donnée au fait de fournir une documentation complète et claire.
Par ailleurs, il est à noter, que comme dans n’importe quelle méthodologie agile, l’ensemble des parties prenantes sont à prendre en compte (PO, client final)
D’une manière plus axée communication qu’au début de notre article, voici les 4 étapes clés de la mise en place de l’ATDD :
-
Initier la communication dès le début du projet
L’ensemble des parties prenantes échangent autour des futures features et de leur difficulté. Suite à ces échanges, les équipes de développeurs sont alors en mesure de définir les critères d’acceptation sur lesquels seront basés la réalisation et la validation des tests.
-
Création et diffusion des tests
Vient alors le moment d’implémenter les tests dits d’acceptation. Il est fortement recommandé d’utiliser un outil pour l’organisation et la rédaction des tests d’acceptation comme QACoverage. L’automatisation des tests d’acceptation et la seconde étape avec des frameworks comme Selenium pour le front end, MochaJs pour les API ou des frameworks qui couvre les deux comme RobotFramework ou Katalon.
-
Rédaction du code source
La 3ème étape consiste en la phase de développement. La rédaction du code source se fait en effet suite à l’implémentation des tests.
-
La Démo
La dernière étape consiste en la réalisation d’une démonstration finale des travaux réalisés, elle permet à l’ensemble des parties prenantes de valider le produit final.
Ainsi, un des éléments clés dans l’ATDD est la collaboration et la communication de l’ensemble des personnes impliquées dans le projet assurant ainsi sa réussite.