Développement piloté par les tests (tdd)

Définition - Que signifie le développement piloté par les tests (TDD)?

Le développement piloté par les tests (TDD) est une approche de développement logiciel dans laquelle un test est écrit avant d'écrire le code. Une fois que le nouveau code passe le test, il est refactorisé à une norme acceptable.

TDD garantit que le code source est minutieusement testé à l'unité et conduit à un code modulaire, flexible et extensible. Il se concentre sur l'écriture uniquement du code nécessaire pour passer les tests, ce qui rend la conception simple et claire.

Definir Tech explique le développement piloté par les tests (TDD)

TDD permet au programmeur de faire de petits pas lors de l'écriture du logiciel. Le test est écrit avant de tester la fonctionnalité et garantit que l'application est adaptée à la testabilité. Des tests sur une petite quantité de code sont effectués pour intercepter les erreurs qui se produisent dans le code testé. Ensuite, la fonctionnalité est mise en œuvre. Ceci est appelé "refactor rouge vert" où le rouge signifie échec et le vert indique une réussite. Ces étapes sont ensuite répétées. Le premier objectif d'un programmeur est de se concentrer sur la tâche à accomplir et de la passer.

Les différentes étapes impliquées dans un cycle de développement piloté par les tests sont:

  • Ajouter un test: chaque nouvelle fonctionnalité de TDD commence par un test qui doit échouer car il est mis en vigueur avant que des fonctionnalités ne soient implémentées. La condition essentielle pour rédiger un test avant la mise en œuvre de la fonctionnalité est une compréhension claire de l'exigence par le développeur. Ceci est accompli grâce aux user stories et aux cas d'utilisation. Par conséquent, un développeur comprend l'exigence avant d'écrire le code du programme.
  • Exécutez tous les tests et vérifiez si le nouveau code échoue: Cela garantit le bon fonctionnement du faisceau de test et que le nouveau test ne passe pas par erreur sans nouveau code. Cette étape teste également le test et élimine la possibilité que le nouveau test réussisse toujours.
  • Écrire du code: l'étape suivante qui suit consiste à écrire du code qui efface le test. Le nouveau code n'est pas parfait mais est ensuite modifié selon les exigences. Il est simplement conçu pour les tests et ne comprend pas d'autres fonctionnalités.
  • Exécuter des tests automatisés: si chaque scénario de test produit réussit facilement le test, cela signifie que le code répond à toutes les spécifications requises. Par conséquent, la dernière étape du cycle peut être démarrée.
  • Code de refactorisation: cela revient à supprimer la duplication. Un refactoring n'endommage aucune fonctionnalité existante et aide à supprimer la duplication entre les codes de production et de test. Le code est maintenant nettoyé selon les besoins.
  • Répéter: Le cycle est répété comme dans les cas précédents avec un nouveau test. La condition essentielle est que la taille des étapes doit être petite, avec environ 1 à 10 modifications entre chaque essai. Si le nouveau code ne satisfait pas un nouveau test, le programmeur doit effectuer un débogage supplémentaire. L'intégration continue fournit des points de contrôle réversibles.