Test driven development : le développement piloté par les tests

Le Test Driven Development est une technique particulière de développement de logiciel. Pilotée par les tests, cette méthode agile ne préconise l'écriture du code source qu'en second lieu.

Le Test driven development, c'est quoi ?

C'est une méthode de développement qui vise à réduire les anomalies d’une application en favorisant la passation fréquente de tests. La politique du « Test first » pousserait les développeurs à faire preuve de plus de rigueur et à corriger en quasi temps réel les erreurs. Le fait que le développeur doive créer le test code avant d’écrire la première ligne aurait un impact sur la qualité du produit final.

Comment utiliser le Test driven development ?

Le concept du TDD préconise un processus de développement en cinq phases distinctes :

  • rédiger un test unitaire ne décrivant qu’une seule partie de la problématique posée ;
  • confirmer l’échec du test ;
  • écrire cette fois-ci un morceau de code suffisant pour qu’il réussisse le test ;
  • confirmer la réussite du test ;
  • améliorer le code et contrôler l’absence de régression.

Exemple de Test driven development, TDD

Plus concrètement, le Test driven development se déroule par cycle de trois phases : Rouge (Red), Green (Vert) et Remaniement (Refactor). Selon cette méthode, le développeur du logiciel doit commencer par écrire un test unitaire. Par essence, ce dernier va obligatoirement échouer puisque le code testé n’a pas encore été créé. Le test unitaire est donc symbolisé par la couleur rouge. Dans un second temps, le programmateur écrit suffisamment de code pour que le test unitaire réussisse et passe ainsi au vert dans le système. Enfin, l’étape du remaniement, elle, nécessite que le développeur remanie son code en contrôlant que tous les tests qu’il réalise restent bien en vert.

Test driven development en Java

De nombreux développeurs professionnels de logiciels utilisent le langage Java pour concevoir leurs programmes. Son principal atout ? Sa portabilité entre les différents systèmes d’exploitation : Windows, MacOS, Unix… Il sert également de base à la grande majorité des applications en réseau.

Test driven development en C#

Distribué par Microsoft depuis 2002, C# est un langage de programmation proche de Java. Il est surtout employé pour des applications et des services Web, mais aussi des widgets et quelques applications de bureau. C# est destiné à être développé sur la plateforme Microsoft .NET.

Test driven development en PHP

Le langage de programmation libre PHP: Hypertext Preprocessor, plus connu sous son acronyme PHP, est pour sa part utilisé pour développer des pages Web dynamiques via un serveur http. C'est un langage orienté objet qui est à l’origine d’un grand nombre de sites Internet.

Le Test Driven Design, qu'est-ce que c'est ?

C'est une autre manière de définir le Test driven development. Il faut bien comprendre que les tests ne constituent pas l'objectif du TDD, mais sont, au contraire, un outil au service du développement du code. C’est là que certains programmeurs préfèrent parler de Test Driven Design, autrement dit de conception par les tests.

Autour du même sujet

Méthodes agiles

Test driven development : le développement piloté par les tests
Test driven development : le développement piloté par les tests

Le Test driven development, c'est quoi ? C'est une méthode de développement qui vise à réduire les anomalies d’une application en favorisant la passation fréquente de tests. La politique du « Test first » pousserait les développeurs à faire preuve de...