À la recherche d’un bug
Ce week-end, j’ai regardé un chouette documentaire sur Arte intitulé « Mission Curiosity, le grand défi sur Mars« . J’ai particulièrement bien aimé ce passage où les ingénieurs de la NASA testent le parachute qui servira à ralentir la chute de Curiosity sur Mars.
Il ne doit pas y avoir beaucoup de métiers où des mecs se réjouissent autant d’avoir détruit un parachute qui vaut surement plusieurs dizaines de milliers de dollars.
Mais ça m’a forcément rappelé mon métier d’intégrateur. Cette frustration de ne pas réussir à reproduire un bug qu’on m’a envoyé. « Chez moi ça marche, alors essaye de vider ton cache, remettre le zoom par défaut du navigateur, désactiver tous les plugins, redémarrer, ou je sais pas, moi, formate Windows… « . Ça sonne souvent comme une excuse de développeur pour ne pas s’embêter à creuser le problème, mais je vous assure que c’est compliqué.
Si coder c’est 90% de débuggage et 10% d’écriture de bugs, alors tester c’est 10% du temps passé à s’assurer que ça marche dans les bons cas, et les 90% restants à essayer de faire planter son code coûte que coûte.
Il y a quelques mois, Brent Simmons écrivait un superbe article rendant hommage à son testeur préféré :
Durant ma récente conférence à AltWWDC, on m’a demandé ce qui faisait une bonne personne en Assurance Qualité. Je crois que j’ai répondu « l’acharnement ». Ce qui dans mon propre lexique est une éloge.
Voici le truc concernant Nick : il est convaincu qu’il y a un autre bug. Et il va continuer à chercher jusqu’à ce qu’il le trouve. Et, une fois qu’il l’aura trouvé, il sera convaincu qu’il y a un autre bug.
Il utilise plusieurs doigts (j’aime imaginer qu’il a une main coupée qu’il garde au chaud juste pour ça) et il passe un appel et remarque le moindre pixel décalé. Puis il écrit de bons rapports de bugs avec les étapes pour le reproduire, souvent des captures d’écran, et parfois même avec une vidéo.
Voilà ce qui fait une bonne personne en Assurance Qualité. Les meilleurs sont de macabres personnages qui se réjouissent de torturer des développeurs, mais qui sont aussitôt pardonnés par la concision et la précision de leurs rapports de bugs.