Le Développement Piloté par les Tests (TDD) est une approche de développement logiciel dans laquelle les cas de test sont développés pour spécifier et valider ce que le code va faire. En termes simples, des cas de test pour chaque fonctionnalité sont créés et testés en premier, et si le test échoue, alors un nouveau code est écrit afin de passer le test, rendant ainsi le code simple et sans bug.
Le Développement Piloté par les Tests commence par la conception et le développement de tests pour chaque petite fonctionnalité d'une application. Le cadre TDD demande aux développeurs de n'écrire du nouveau code que si un test automatisé a échoué. Cela évite la duplication de code. TDD signifie "Test-Driven Development" en anglais.
Le concept simple du TDD est d'écrire et de corriger les tests qui échouent avant d'écrire du nouveau code (avant le développement). Cela aide à éviter la duplication de code car nous écrivons une petite quantité de code à la fois afin de passer les tests. (Les tests ne sont rien d'autre que des conditions de exigences que nous devons tester pour les satisfaire).
Le Développement Piloté par les Tests est un processus de développement et d'exécution de tests automatisés avant le développement réel de l'application. Par conséquent, le TDD est parfois aussi appelé Développement Test en Premier.
Les étapes suivantes définissent comment effectuer un test TDD :
Ajouter un test.
Exécuter tous les tests et vérifier si un nouveau test échoue.
Écrire du code.
Exécuter les tests et refactoriser le code.
Répéter.
Un test doit permettre l’implémentation d’une nouvelle fonctionnalité en l’espèce d’une quinzaine de minutes. Sinon, la portée du test est probablement trop grande.