TDD - Le développement piloté par les tests
Stratégies
Développement
La stratégie dite de Développement est la technique la plus générale de développement qu'il est possible d'appliquer avec TDD.
Elle consiste à développer de manière itérative les tests et les unités fonctionnelles.
Il est nécessaire de tester régulièrement le code afin de trouver le plus rapidement possible les éventuelles erreurs.
Le développement s'effectue de manière itérative afin d'avancer progressivement.
Voici un schéma qui illustre cette stratégie :
Débogage
La stratégie de débogage est utile pour corriger une unité où un "bug" est présent.
Suite à une erreur de codage ou pour d'autres raisons un bug peut s'introduire au sein d'une application. Afin de le corriger au plus tôt il est nécessaire de reproduire ce bug à partir d'un test unitaire lorsqu'il est possible. Le recensement de ce bug à travers le test permet de contrôler la "vie" de ce dernier. Une fois le problème recensé, la méthode TDD va être employée afin de corriger progressivement l'unité liée au bug.
La procédure à suivre est la suivante :- Analyse du problème au sein d'une unité
- Recensement du bug à travers un test unitaire
- Correction de l'unité liée au bug
- Exécution des tests afin de vérifier que le bug a été corrigé. Dans le cas ou le bug apparaît toujours il faut continuer à corriger l'unité jusqu'a que les tests soient valides
Voici un schéma illustrant cette stratégie :
Code hérité
La dernière stratégie est celle mise en œuvre lorsque le développement repose sur un code existant mal documenté et peu voir pas testé. Cette stratégie est aussi appelé Legacy code.
Il arrive souvent d'utiliser ou bien de continuer le développement d'un code existant. Le code étant mal documenté, testé voir codé, il est devient alors difficile d'en comprendre le fonctionnement et de l'utiliser convenablement. La stratégie code hérité permet à partir d'une démarche bien précise de comprendre le fonctionnement et l'utilisation du code existant.La démarche à suivre est la suivante :
- Ecriture d'un code de test pour une fonctionnalité ou il est souhaité de comprendre son fonctionnement
- Exécution du test et vérifier qu'il échoue
- Adaptation du code de test jusqu'a qu'il valide
A l'issu de ces étapes, la manière dont fonctionne et est utilisé l'unité fonctionnelle testée sera comprise.
Voici un schéma illustrant cette stratégie :