Un retour au testing exploratoire

Publié par Louis-Philippe Carignan le jeudi 23 mai 2013 à 15:00

Dernièrement, j’ai revisité le testing exploratoire pour aider un collègue. Sur ce sujet, je me réfère souvent aux frères Bach (Jon et James) ainsi que Cem Kaner puisque je crois qu’ils sont les représentants les plus en vue de cette approche. Pour vous initier au testing exploratoire, je vous suggère cette vidéo de 4 minutes pour voir les différentes approches du testing exploratoire du gros bouton rouge « Bureau En Gros ».

 

 

Je considère le testing exploratoire comme un style de test important. Brian Marick, dans sa matrice des tests, leur réserve une place dans l'un des quadrants comme l’explique ce billet sur son blogue.

Testing Matrix

Pour revenir aux frères Bach, ils tiennent plusieurs vidéos à jour leur site satisfice.com. Il y a d’ailleurs quelques outils de tests dont mon préféré est le log watch. Cet utilitaire s'exécute en arrière-plan où il lit un fichier de log généré par le programme à tester. À chaque fois que cet utilitaire identifie une chaîne de caractères recherchée dans le fichier de log, l’utilitaire joue un .wav. On peut donc vaquer à nos occupations et être averti quand le message recherché survient.

J’avais assisté à une conférence de James Bach il y a plusieurs années où il avait démoli un programme par le testing exploratoire. Le programme était un kiosque à l’aéroport où l’on peut naviguer sur Internet en payant avec sa carte de crédit. Le seul programme accessible était le navigateur web. James a montré que l’option pour imprimer la page web courante était encore activée. Bien qu’il n’y avait pas d’imprimantes attachées au kiosque, cette option était toujours présente dans le menu.

Et puisque le système d’exploitation était Windows XP, on pouvait choisir l’imprimante par défaut qui est le XPS Document Writer.

XPSPrinter

Et que ce passe-t-il lorsqu’on appuie sur le bouton OK une fois cette imprimante sélectionnée? Et bien on accède au système de fichiers.

Win XPFile System 

Je vous laisse deviner la suite de sa présentation ;-) 

Lors de sa présentation, James avait mentionné comment un testeur se devait d’avoir un « boneyard » d’outils pour l’aider dans son travail. Pour simplifier vos recherches, je trouve que le site www.opensourcetesting.org contient une panoplie d’outils intéressant dont certains peuvent aider les testeurs à faire du testing exploratoire. Au cours de mon expérience professionnelle, les utilitaires de Mark Russinovich (ProcessExplorer, FileMon, Junction) m’ont été très profitable. Je vous encourage d’ailleurs fortement à lire son blogue une fois par mois ou d’acheter son livre « Windows Internals » si vous avez souvent à travailler "sous la couverte de Windows". Son blogue contient d'ailleurs des articles qui datent jusqu'à mars 2005

Tout ça pour rappeler que le testing exploratoire est un aspect important à considérer en développement logiciel. Malheureusement, je considère qu'il n’est pas assez souvent mentionné au détriment du TDD et du BDD. Bien que ces styles aient fait leur preuve pour identifier et éliminer un certain type de bogues dès leur apparition, le testing exploratoire vise un tout autre ensemble de bogues. Par expérience, je trouve qu’un bon testeur aura la mentalité pour mettre en pratique ce style de tests dans son travail, ce qui rendra la solution logiciel plus fiable aux yeux du client. 

Mots-Clés :
blog comments powered by Disqus

0 Comments:

Post a comment

Comments have been closed for this post.