- Test Driven Development
-
Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d'écrire les tests unitaires avant d'écrire le code source d'un logiciel.
Sommaire
Le cycle de TDD
Le cycle préconisé par TDD comporte cinq étapes :
- écrire un premier test ;
- vérifier qu'il échoue (car le code qu'il teste n'existe pas), afin de vérifier que le test est valide ;
- écrire juste le code suffisant pour passer le test ;
- vérifier que le test passe ;
- puis refactoriser le code, c'est-à-dire l'améliorer tout en gardant les mêmes fonctionnalités.
Interêt
Ces tests permettent aussi de préciser les spécifications du code, et donc son comportement ultérieur en fonction des situations auxquelles il sera exposé. Ce qui facilite la production d'un code valide en toutes circonstances. On obtient donc un code plus juste et plus fiable.
En écrivant les tests d'abord, on utilise le programme avant même qu'il existe. On s'assure ainsi que le code produit est testable unitairement. Il est donc impératif d'avoir une vision précise de la manière dont on va utiliser le programme avant même d'envisager son implémentation. Cela évite souvent des erreurs de conception dues à une précipitation dans l'implémentation avant d'avoir défini les objectifs.
De plus, le fait d'avoir des tests augmente la confiance en soi du programmeur lors de la refactorisation du code : il sait qu'à un moment donné les tests ont réussi. Il peut ainsi se permettre des changements radicaux de design en étant sûr, à la fin, d'avoir un programme se comportant toujours de la même façon (si les tests réussissent toujours).
L'utilisation de TDD permet la construction conjointe du programme et d'une suite de tests de non-régression.
L'utilisation de TDD permet en outre d'estimer de manière plus précise l'état d'avancement du développement d'un projet.
Voir aussi
Articles connexes
Bibliographie
- (en) Kent Beck, Test Driven Development: By Example, Addison-Wesley, 2002, 240 p. (ISBN 0-321-14653-0)
- (en) Lasse Koskela, Test Driven: TDD and Acceptance TDD for Java Developers, Manning, 2007, 470 p. (ISBN 1-932-39485-0)
Liens externes
Catégories :- Développement logiciel
- Méthode de développement logiciel
- Test logiciel
Wikimedia Foundation. 2010.