L'ATDD de A à Z

Il est temps de parler de l'ATDD ! Alors, vous voulez savoir ce qu'est l'ATDD, ou vous voulez rafraîchir vos connaissances sur ce concept. Ne vous inquiétez pas ! Dans cet article, nous allons vous expliquer ce qu'est exactement ATDD et comment il est lié à BDD et TDD. Nous aborderons également les meilleures pratiques et passerons en revue la méthodologie complète, étape par étape !

Dans ce guide ATDD

Qu'est-ce que l'ATDD ?

ATDD est la pratique de l'ATDD. L'approche de développement ATDD est un cadre qui comprend les pratiques ATDD et BDD. ATDD signifie "acceptance test driven development" (développement piloté par les tests d'acceptation).

ATDD est une approche unique du processus de développement logiciel qui permet de développer un code d'automatisation en écrivant d'abord des scénarios de test d'acceptation, puis en mettant en œuvre le code en collaboration avec des participants non techniques. ATDD rassemble les participants non techniques, les testeurs et les développeurs dans un même environnement pour travailler sur le même produit en collaboration. L'outil ATDD n'est pas destiné aux tests mais il soutient les pratiques ATDD.

BDD vs TDD

BDD est axé sur les exemples, contrairement à ATDD qui est axé sur les tests d'acceptation. La TDD se concentre sur les tests unitaires, alors que la BDD se concentre à la fois sur les tests unitaires et les tests d'acceptation. ATDD exige qu'un expert métier s'assoie avec les développeurs tout au long du développement pour clarifier et collaborer sur ce qui doit être construit.

En tant que développeur, vous vous demandez peut-être : que signifient exactement ATTD et ATDD ? ATTD est l'acronyme de acceptance test-driven development (développement piloté par les tests). ATDD signifie l'acceptation du développement piloté par les tests et du BDD en tant que pratique unique. L'ATDD est similaire au TDD (développement piloté par les tests), mais avec l'obligation supplémentaire d'écrire des tests d'acceptation avant de commencer le codage.

Agile et TDD

Agile comprend les pratiques ATDD, TDD et BDD. L'ATTD est un sous-ensemble de l'ATDD. On peut considérer l'ATTD comme une forme antérieure de l'ATDD. En Agile, l'approche de développement ATTD est connue sous le nom de ATTD et ATBD (acceptance test-driven development) en XP (Extreme Programming). L'ATBD implique que les experts métier collaborent avec les développeurs sur ce qu'il faut construire.

Dans Scrum, les tests d'acceptation sont écrits par un groupe appelé l'équipe de développement qui collabore avec un expert métier représentant les utilisateurs/clients pour discuter de ce qui doit être construit pour une fonctionnalité spécifique ou une histoire d'utilisateur. Les tests d'acceptation sont écrits sur la base d'une exigence de haut niveau ou d'une histoire d'utilisateur qui représente les critères d'acceptation. Les tests d'acceptation précisent comment déterminer si les critères d'acceptation ont été satisfaits. ATDD a été défini par Dan North en 2003. L'ATDD est un processus très similaire à l'ATBD (Acceptance Test-Driven Development). L'ATBD diffère de l'ATDD en ce que l'ATBD spécifie également les détails de l'implémentation, alors que l'ATDD n'essaie pas de spécifier les détails de l'implémentation - l'objectif de l'ATDD est uniquement de tester si l'implémentation répond ou non à la spécification des exigences.

Avantages de l'ATDD

L'ATDD présente de nombreux avantages. Ils comprennent une meilleure satisfaction du client, une meilleure qualité, une réduction des coûts, une augmentation de la vitesse et une augmentation de la productivité. Les principes d'ATDD sont compatibles avec les méthodes waterfall et agiles. L'ATDD encourage également une collaboration plus étroite entre les utilisateurs professionnels et les développeurs en éliminant les barrières, en levant les ambiguïtés et en améliorant la communication tout au long du cycle de vie du projet.

ATDD exige que toutes les parties prenantes travaillent ensemble à chaque étape du processus de développement. L'ATDD réduit le temps nécessaire à la production de logiciels de qualité. L'ATDD réduit également le gaspillage en réduisant les reprises et en corrigeant les défauts plus tôt dans le cycle de développement. L'ATDD, lorsqu'elle est mise en œuvre correctement, augmente vos chances de réussite à chaque étape du cycle de vie de votre projet !

Les avantages de l'ATDD sont qu'il réduit les erreurs dans le code de production tout en économisant du temps et des efforts sur les tests manuels. Il permet également d'augmenter la productivité des développeurs de 50 %. La clé du succès de l'ATDD est de commencer par les tests d'acceptation, puis de passer aux tests d'intégration avant de passer aux tests unitaires.

 

Étapes de l'ATDD

Les tests d'acceptation comportent 5 étapes, que l'on utilise ou non l'ATDD :

1) La première étape consiste à comprendre les besoins de l'entreprise.

2) the second step is to write user stories

3) la troisième étape consiste à préparer les cas de test

4) La quatrième étape est l'analyse des défauts

5) L'étape finale est l'exécution des cas de test par le cadre ATDD.

Quelle est la forme complète de l'ATDD ?

La forme complète d'ATDD est ATTD, qui est un sous-ensemble d'ATDD. ATTD est le développement piloté par les tests d'acceptation ; ATDD est à la fois ATTD et ATBD (Acceptance Test-Driven Development) ; ATBD comprend les pratiques ATTD, ATDD et BDD. L'ATBD diffère de l'ATDD en ce que l'ATBD spécifie également les détails de l'implémentation alors que l'ATDD ne cherche pas à spécifier les détails de l'implémentation - l'objectif du processus ATDD est uniquement de tester si l'implémentation répond ou non à la spécification des exigences.

Étapes des tests d'acceptation :

1) comprendre les besoins des entreprises ;

2) la rédaction de récits d'utilisateurs ;

3) la préparation des cas de test ;

4) l'analyse des défauts, et enfin,

5) l'exécution des cas de test par le cadre introduit.

Conseils pour un bon ATDD

Donc, savoir ce qu'est l'ATDD est une chose, mais exécuter ce cadre et ce processus en est une autre. Par expérience, je trouve ces conseils super utiles :

  1. L'ATDD doit être réalisé tôt. L'ATDD ne doit pas remplacer les tests unitaires. L'ATDD est une technique de conception de tests. L'ATDD nécessite une collaboration. L'ATDD fonctionne mieux lorsque vous disposez de bons récits d'utilisateurs. Les sessions de collaboration de l'ATDD avec les développeurs et les testeurs peuvent prendre du temps, mais cette collaboration permet d'obtenir un meilleur produit final. L'ATDD fonctionne mieux lorsque les exigences sont claires.
  2. Un autre excellent conseil pour de bons tests d'acceptation est d'utiliser des outils ATDD comme Cucumber, JBehave ou Concordion. Les frameworks ATDD sont spécifiquement conçus pour organiser les scénarios de tests ATDD et réduire la complexité de leur mise en œuvre.

Dernières réflexions sur l'ATDD

ATDD est une technique de conception de tests qui présente de nombreux avantages, notamment une meilleure satisfaction du client, une meilleure qualité, une réduction des coûts, une augmentation de la vitesse et de la productivité. L'ATDD exige de toutes les parties prenantes qu'elles collaborent à chaque étape du processus de développement, ce qui réduit le gaspillage en limitant les reprises et en corrigeant les défauts plus tôt dans le cycle de développement.

L'ATDD augmente également la productivité des développeurs de 50 %. L'ATTD ou l'ATBD sont des sous-ensembles de l'ATDD, l'ATTD étant le développement piloté par les tests d'acceptation, tandis que l'ATBD inclut à la fois les pratiques de tests d'acceptation et les principes BDD.

La clé du succès avec un cadre ATDD est de commencer tôt, de ne pas remplacer les tests unitaires, d'avoir de bonnes histoires d'utilisateur pour la définition des exigences, d'utiliser des outils comme Cucumber ou JBehave si possible, de collaborer à des sessions de clarification des exigences avant de commencer.

 

tl;dv pour les entreprises
tl;dv vous aide (enfin) à tirer profit des réunions au sein de l'organisation. Enregistrez, transcrivez, résumez, générez et automatisez des informations sur les réunions qui vous sont utiles, à vous et à votre organisation. Installation en quelques minutes.
Enregistrements et transcriptions illimités
Résumés sur l'IA
Demandez à tl;dv AI
Fonctionne en plus de 30 langues
Rapports AI sur les réunions multiples
+5000 intégrations

tl;dv Blog

S'abonner à nos blogs

Abonnez-vous et restez au courant des derniers conseils et nouvelles sur les réunions, les ventes, Customer Success, la productivité et la culture du travail.