Doublures en folie
v1.0
CC BY-SA 3.0
Olivier Azeau
http://agilitateur.azeau.com/
Prologue
CODEUR lit le livre xUnit Test Patterns.
NARRATEUR
Codeur est contrarié. Il s'est toujours considéré comme une virtuose du développement logiciel mais quand ses collègues lui ont dit qu'ils voulaient désormais pratiquer le TDD, il n'a pas eu le choix. Tests, Rouge, Vert, Refactor... Il devait assimiler tous ces mots nouveaux et il fallait le faire vite. Il s'attaque alors à la lecture de xUnit Test Patterns par Gerard Meszaros mais la fatigue le gagne...
Scène 1 - un premier test
Dans le calme d'un environnement d'exécution au repos, TEST fait les cent pas.
CODEUR entre lentement dans cet endroit qu'il découvre à peine. SUT, CAPTEUR et CHRONO lui emboitent le pas.
SUT
Je me demande si on est au bon endroit
CODEUR
On verra bien. N'ayons pas peur. Avançons. Il parait que les environnements de test sont des endroits sûrs.
TEST
Bonjour ! Vous venez pour le TDD ?
CODEUR
Oui... Comment le savez-vous ?
TEST
Pourquoi quelle autre raison venir ici ?
Où est votre système à tester ?
CODEUR
Mon quoi ?
TEST
Un programme à concevoir en pratiquant le TDD.
Dans notre jargon, on parle de système à tester.
CODEUR
(se retournant vers SUT et le désignant)
Il est là !
SUT s'avance.
TEST
Viens ! N'aie pas peur !
(désignant le centre de la pièce)
Mets-toi là pour que tout le monde puisse te voir.
SUT s'exécute et vient se placer à l'endroit proposé.
CODEUR
Mais qui êtes-vous au juste ?
TEST
On m'appelle TEST, pour vous servir !
Quel est le but de votre programme ?
CODEUR
Il doit indiquer, sur la durée, la température ambiante maximale observée.
TEST
Et vous connaissez la température actuelle ?
CODEUR
Non, mais je peux me renseigner. J'ai un capteur de température.
(se tournant vers CAPTEUR)
Quelle est la température actuelle ?
CAPTEUR
22 degrés
CODEUR
(se retournant vers TEST)
22 degrés !
TEST
Bien ! Commençons par là.
(s'adressant à SUT)
Quelle est la température maximale observée ?
Etonné par la question, SUT ne sait pas quoi répondre.
A la manière d'un arbitre de football, TEST lui montre un carton rouge.
CODEUR
Eh ! Comme vous y allez ! Il n'a même pas encore été programmé !
TEST
Justement, c'est un bon début. En commençant par un test rouge, on détermine un but précis. Ce n'est pas une sanction mais une opportunité pour améliorer un programme.
Maintenant, on va le programmer le plus simplement possible pour avoir "22 degrés" comme réponse.
CODEUR
(s'adressant à SUT)
Quand il te demande "Quelle est la température maximale observée ?", tu lui réponds "22 degrés".
TEST
Quelle est la température maximale observée ?
SUT
22 degrés
TEST montre un carton vert à SUT
CODEUR
Et là on est bien avancé... On a un programme perroquet !