Le Test Driven Development s’oriente vers les résultats des scénarios de test conçus par vous. La procédure cyclique garantit que le code n’est transféré au système de production que lorsque le logiciel répond à toutes les attentes. Cela signifie que vous refaites et testez à nouveau les composants du code jusqu’à ce que le test réussisse. Cette méthode vous permet d’enrichir le logiciel de nouvelles fonctions étape par étape, car vous écrivez un nouveau code source après chaque test réussi. Pour cette raison, le TDD est également considéré comme l’un des modèles de développement incrémental dans le développement de logiciels.
Les scénarios individuels de test ne passent généralement que quelques secondes ou minutes dans le cycle. Ainsi, les résultats sont rapidement visibles dans le code de production. Pour que l’itération se fasse sans effort supplémentaire, vous avez besoin d’un outil et d’un framework TDD. Généralement, les développeurs utilisent un outil de moteur d’intégration comme CruiseControl ou Jenkins. Cela permet d’assurer l’intégration des composants en continu et sans erreurs dans le code source. JUnit, Maven ou Ant sont également populaires pour le développement en Java. En général : les tests sont écrits dans le même langage que le code de fonction. Ceedling ou Cmock font partie des outils disponibles pour le PHP.
Mais comment se déroulent exactement ces procédures de test ? Le cycle que suivent les développeurs dans le cadre du Test Driven Development est également appelé la méthode du Red, Green, Refactor. Il s’agit des différentes phases qui doivent être respectées pour garantir une efficacité maximale :
- Phase rouge : dans cette phase, vous vous mettez à la place de l’utilisateur. Celui-ci veut pouvoir utiliser simplement le code. Vous écrivez donc un test, qui contient des composants qui n’ont pas encore été implémentés. Vous devez décider quels éléments sont réellement indispensables pour que le code soit fonctionnel.
- Phase verte : supposons que le test échoue et qu’il est marqué en rouge.Vous endossez maintenant le rôle du programmeur et essayez de trouver une solution simple. Attention : n’écrivez que le strict nécessaire. Vous l’intégrez dans le code de production afin que le test soit marqué en vert.
- Refactoring : dans cette étape, le code de production est littéralement « rangé » et sa structure améliorée. Cela signifie que vous devez le compléter et le restructurer pour qu’il soit élégant et compréhensible du point de vue du développeur. Par exemple, supprimer la duplication des codes et atteindre un niveau professionnel.
Veillez à ce que les différentes activités ne se chevauchent pas. Cela signifie que vous n’écrivez pas de tests dans les phases 2 et 3, ni de code de production dans les phases 1 et 3. Dans la vidéo suivante, vous pouvez voir comment fonctionne en pratique le développement piloté par les tests :