Comment mettre en œuvre la méthode Acceptance Test-Driven Développement – ATDD ?

Dans cet article vous découvrirez les principes et la mise en œuvre de la méthode ATDD (Acceptance Test-Driven Development) dans les projets agiles.

Sommaire :

  1. Qu’est-ce que l’ATDD ?
  2. Principes  et mise en œuvre
  3. Intérêt

Qu’est-ce que l’ATDD ?

Sur le même principe que le Test-Driven Development – TDD – l’Acceptance Test-Driven Development – ATDD – rassemble des intervenants d’horizons différents, utilisateurs, développeurs et testeurs, afin qu’ils collaborent pour écrire les tests d’acceptation avant même le développement de la fonctionnalité correspondante. Connu sous le nom des 3 amigos, ils permettent par leurs perspectives différentes de répondre à différentes questions.
Utilisateur : Quels problèmes faut-il résoudre ?
Développeur : Comment faut-il faire pour …?
Testeur : Que se passe-t-il si … ?

Principes et mise en œuvre de la méthode ATDD

Le terrain étant éclairci par les 3 amigos les tests d’acceptation sont écrit et évidemment en échec (rouge) sur le moment. Pour chaque test d’acceptation le développeur prépare les tests unitaires pour chaque composant qu’il jugera nécessaire. Ces tests unitaires sont également en échec dans un premier temps.
Le développeur crée alors le code des composants de sorte que tous les tests unitaires préparés passent au vert.
Une phase de refactoring permet de revoir le code en l’optimisant, l’améliorant tout en travaillant sous le contrôle du test unitaire précédemment créé ce qui garantit la conformité du code avec ce qui est attendu du composant.
A ce stade le test d’acceptation doit normalement passer au vert confirmant ainsi que la fonctionnalité est bien réalisé correctement.
Il est alors possible de passer à la story ou fonctionnalité suivante en suivant le même processus. Processus schématisé ci-dessous :

L’ATDD vise donc à profiter de l’efficacité du TDD axé sur les tests unitaire en l’étendant au test d’acceptation et ainsi avoir un workflow couvrant plus de niveau de test.

Intérêt de l’approche ATDD

Cela permet à l’instar du TDD d’améliorer la testabilité ainsi que la maintenabilité des fonctionnalités et du code.
Automatisés, les tests de non-régressions sont extrêmement facilité et la détection d’anomalies causés par des modifications intervient au plus tôt.
Mais surtout cette méthode encourage les différentes parties à communiquer et ainsi définir des critères d’acceptation qui seront compris et validé par tous.

L’approche ATDD et BDD peuvent être assez proche.