Stub et Mock montent sur scène

Stub et Mock ne sont pas des acteurs célèbres mais tout développeur de logiciel devrait obligatoirement les connaitre et leur donner une chance de faire leurs preuves.
Car chaque développeur est, en réalité, un metteur en scène.

Ne parle-t-on pas de "scénario" de test pour vérifier un programme ?

Qui sont les acteurs de ces scénarios ? Comment font-ils leur entrée ? Comment interagissent-ils ?
Pour explorer ces questions, pourquoi ne pas transformer la métaphore en une représentation concrète et vivante ?
Il suffit pour cela de faire intervenir quelques acteurs humains pour interpréter les divers composants logiciels d'un scénario de test !

Le développement logiciel piloté par les tests n'est pas une approche naturelle pour beaucoup de programmeurs. Pour nombre d'entre eux, faire du TDD, c'est écrire des tests unitaires automatisés ou encore faire des fiches de test avant d'écrire le code.
L'an dernier, lors de l'étape toulousaine de l'agile tour, j'avais co-animé un atelier TDD. Les participant avaient apprécié (et moi aussi) mais un tel atelier nécessite un matériel adéquat et un nombre restreint de participants. Une autre solution, c'est la présentation d'une séance de TDD devant une assistance qui regarde une paire de développeurs dérouler leur code sur un grand écran. Ca peut être efficace avec un public de développeurs aguerris.
Mais pour initier le plus grand nombre, il faut probablement défricher d'autres approches.

L'idée de "jouer" le rôle de divers composants n'est pas neuve. C'est même comme cela que, il y a près de trente ans, j'ai découvert l'informatique à l'école élémentaire : nous avions déroulé un programme avec un élève pour jouer le CPU, un autre pour la RAM, etc. (pour la petite histoire, je me souviens avoir joué le rôle de l'ALU).
Plus récemment, et pour revenir aux méthodes agiles, l'emploi de cartes CRC permet de dérouler des scénarios avec des participants jouant le rôle de chacun des objets impliqués.
Mais je n'ai eu l'idée (et le courage !) de formaliser et proposer une session de TDD "sur scène" qu'après avoir vu Brian Marick et son "Programming for business users". Car c'est aussi une des forces non négligeables de cette approche : rendre la compréhension du TDD accessible à des non-développeurs. Dans une équipe agile où client et développeurs doivent collaborer avec une grande proximité, la compréhension globale des techniques de développement par le client est tout aussi importante que la compréhension du métier du client par le développeur.

La "première" de "Stub et Mock montent sur scène" se tiendra à Toulouse le 17 septembre prochain lors du SigmaT 15. Et, sauf contre-ordre, il y aura également des sessions lors des étapes bordelaise et toulousaine de l'agile tour 2010.

Sur scène, on trouvera bien évidemment, dans le rôle principal, le SUT. Les DOCs feront un bref passage. Les tests accompagneront le SUT, secondés par les doublures.
Parmi celles-ci, on aura la joie d'admirer Stub et Mock. Spy aurait pu être là mais la durée impartie ne le permettra probablement pas. Fake pourrait toutefois faire son apparition, si les autres lui en laissent le temps.

Souhaitons leur bonne chance !

Les 3 dates à retenir :