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 !