Le TDD (Test-Driven Development) est une pratique de développement qui consiste à écrire le test avant le code. Le cycle est simple : écrire un test qui échoue (Red), écrire le minimum de code pour le faire passer (Green), puis améliorer le code sans changer son comportement (Refactor).
Le cycle Red-Green-Refactor
Chaque fonctionnalité commence par un test qui échoue (Red). On écrit ensuite le code strictement nécessaire pour le faire passer (Green). Enfin, on refactorise le code en s'appuyant sur la sécurité du test. Ce cycle court, répété des dizaines de fois par jour, produit un code à la fois robuste et élégant.
Bénéfices
Le TDD encourage un design émergent : l'architecture se révèle au fil des tests. Les tests forment une documentation vivante du comportement attendu. Le refactoring devient sûr grâce au filet de sécurité des tests, et le feedback immédiat accélère la boucle de développement.
Le TDD n'est pas une technique de test, c'est une technique de design qui produit des tests en prime.