Le Test-Driven Development est une pratique où l'on écrit d'abord un test qui échoue (rouge), puis le code minimal pour le faire passer (vert), puis on améliore le code sans changer le comportement (refactorisation). Il guide la conception et fournit un filet de sécurité.
Exemple
Rouge : le test échoue. Vert : le code le fait passer. Refactor : on nettoie.