La question du « bon testeur » est une question récurrente. Comment reconnaitre un « bon testeur » d’un « mauvais testeur » ? Car, si le bon testeur teste, le mauvais teste aussi! Le problème semblant insoluble il est peut être préférable de prendre le problème autrement:
Qu’attendons nous d’un bon testeur ? Que fait un bon testeur ?
Les différentes activités du testeur
On a tous en têtes une liste d’activités des tâches ou des actions à faire par un testeur. Dès lors il peut sembler « logique » qu’un bon testeur soit capable de bien réaliser ses tâches… Ce n’est en fait pas si simple et pour vous en rendre compte je vous propose une liste non exhaustives des tâches « usuelles » que l’on peut demander à un testeur:
- Exécuter des tests scriptés: cela parait évident un testeur, ça teste!
- Analyser les tests en échec: une évidence mais bien comprendre la cause d’un échec peut s’avérer compliqué
- Trouver des anomalies: il testeur est là pour trouver des anomalies, sinon, à quoi bon tester ? (ps: je me désolidarise de cette phrase, l’important, pour moi, c’est de donner de l’information)
- Créer des fiches d’anomalies: trouver des bugs c’est bien, les corriger c’est mieux. Pour cela il faut créer des fiches d’anomalies
- Écrire des fiches de test: cela parait la base du métier de testeur, il faut écrire des tests que l’on pourra ensuite exécuter.
- Automatiser l’exécution des tests: à l’heure de l’Agile automatiser ses tests est une évidence. Le testeur doit donc être capable d’automatiser ses tests
- Tester des APIs: une application vit dans un écosystème et doit savoir communiquer avec d’autres application. Ses communications doivent être testées.
- Écrire des bilans: la vitrine des tests tout bon testeur devrait savoir le faire!
- Participer à la vie du projet/produit: un testeur n’est jamais seul.
- Inculquer l’esprit de la qualité aux différents acteurs: la qualité est l’affaire de tous. Le bon testeur doit être capable de convaincre l’ensemble des acteurs de ce sujet.
- Mettre en place des processus: le test c’est aussi des processus. Un bon testeur doit être capable de les mettre en place.
- Gérer les données et les environnements de test: pour tester il faut des données et des environnements!
- …
Cela fait beaucoup d’activités demandant des compétences bien différentes. Il est bon de se demander si l’on peut vraiment demander à un « bon testeur » ou même de manière général à toute personnes d’être efficace sur autant d’activités différentes!
Pour la suite de cet article je vais prendre l’exemple d’un testeur que je connais: moi. Je vous suggère de faire le même exercice de votre côté. Le but est de savoir si oui ou non on est capable de tout faire bien et ensuite de se demander si l’on est considéré comme un « bon testeur ».
Et moi dans tout ça, que sais-je bien faire ?
- Exécuter des tests scriptés: en général oui, je sais exécuter des tests scriptés. Néanmoins, pour l’exécution manuelle, la multiplicité des exécutions et la lassitude ne me met pas à l’abri de ne pas assez bien suivre ce qui est demandé. De plus, pour l’exécution automatique cela dépendra si j’ai été « formé » à exécuter les tests automatisés.
- Analyser les tests en échec: en général oui, si je connais bien le logiciel et son environnement
- Trouver des anomalies: oui je sais trouver des anomalies. Le plus important reste néanmoins de bien connaitre leur cause et de savoir les hiérarchiser.
- Créer des fiches d’anomalies: oui je sais créer des fiches d’anomalies suffisamment bonne pour permettre à un tiers de reproduire l’anomalie ou, dans le pire des cas me permettre de la reproduire. A noter: cette capacité s’améliore avec la maitrise de l’environnement et du logiciel
- Écrire des fiches de test: oui, je considère d’ailleurs que j’écris plutôt bien mes fiches de test. Néanmoins, j’ai rencontré de nombreux bon testeurs qui n’écrivent pas de bonnes fiches de test. Ce sont généralement des automaticiens.
- Automatiser l’exécution des tests: non, soyons honnête je ne sais automatiser des tests qu’avec un outil fait pour les fonctionnels ou avec un automate déjà développé. En bref je peux continuer à automatiser quelque chose de déjà automatiser
- Tester des APIs: plutôt non, j’ai quelques bases mais pas plus.
- Écrire des bilans: oui, c’est un domaine sur lequel je me suis toujours investit et qui correspond à ma vision du test qui doit fournir de la visibilité.
- Participer à la vie du projet/produit: plutôt oui… je dis « plutôt » car cela fait bien longtemps que je n’ai pas été à 100% sur une période suffisamment longue pour vraiment m’intégrer et participer à la vie d’un projet/produit
- Inculquer l’esprit de la qualité aux différents acteurs: oui, du moins je l’espère.
- Mettre en place des processus: oui, même si l’échec est fréquent et que des adaptations sont tout le temps nécessaires
- Gérer les données et les environnements de test: non, clairement je ne suis pas du tout spécialisé dans la gestion des données et des environnements (ce qui explique le peu d’articles à ce sujet de ma part dans la taverne)
- …
Au final, si je devais me situer sur les activités d’un « bon testeur » il y aurait:
- très peu de oui franc.
- Beaucoup de plutôt ou en général oui/non
- Quelques non francs.
Si pour être un bon testeur il faut être performant sur l’ensemble des activités énoncées plus tôt, alors je ne suis clairement pas un bon testeur. Néanmoins, je me considère comme tel… et j’ai la chance que beaucoup de personnes me considère comme tel!
Conclusion
Tout comme pour les campagnes, il n’y a pas de « bon testeur » ou de « mauvais testeur » par défaut. Il y a des testeurs qui sont bons dans certains contextes et mauvais dans d’autres. La capacité des testeurs à être efficace dépend donc fortement du contexte… Ce qui permet d’étendre ce principe du test au testeur.
Pour être honnête, je pense même que la capacité à savoir faire bien les choses n’est ni suffisante ni nécessaire pour être un bon testeur. C’est à dire que quelqu’un capable de répondre oui à l’ensemble des activités ne sera pas forcément un bon testeur (même si très fortement probable) mais aussi que quelqu’un répondant non à toutes ses activités pourrait l’être. Pour moi, être un bon testeur c’est avant tout un état d’esprit, des compétences « molles » que je préfère appeler des qualités humaines. Je pense notamment à la capacité de s’adapter et l’envie de toujours plus apprendre.
Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test
Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles
N’hésitez pas à faire vos propres retours d’expérience en commentaire.
2 Responses
Bel article montrant bien la richesse et la diversité de la fonction…
Après, un point crucial selon moi pour apprécier « l’efficacité » d’un testeur est directement lié à son niveau d’expérience.
Alors que le testeur junior aura tendance à se focaliser sur les fonctionnalités à tester (le périmètre de test), le testeur expérimenté aura tendance à imaginer des scénarios plus élaborés (pour ne pas dire tordus) sachant par expérience que les défauts sont souvent présents à tel ou tel endroit.
😉
Bonjour et merci pour ce retour!
L’estimation de l’efficacité est en effet quelque chose d’intéressant, il faut cependant bien savoir ce que l’on attend en terme d’efficacité…
L’expérience joue évidement un rôle pour améliorer cette efficacité mais en fonction du contexte les objectifs seront différents et donc la notion d’efficacité également.