Les petits trucs de testeur

Petits trucs de testeur: le retest

Introduction

Un testeur est amené, dans son quotidien à découvrir des anomalies (c’est normal il les cherche!). Ces anomalies font l’objet d’un processus (workflow) qui les amène régulièrement (ce n’est pas toujours le cas) à être corrigés. Lorsque la correction de ce bug relève d’une modification du code (des fois cela peut être autre chose comme une modification des spécifications) et que cette dernière a été effectuée, la correction de l’anomalie se doit être validée… c’est ce que l’on appelle le retest.

Il semble évident pour beaucoup que le testeur est amené à faire ce retest ce n’est pas malheureusement pas toujours le cas et il arrive que la correction du bug soit validée directement par la personne l’ayant corrigée. Il faut évidemment éviter autant que possible de se retrouver dans cette configuration qui est somme toute assez rare grâce à la place actuelle du test.

L’idée de cet article n’est pas de parler de cette dérive à la marge mais plutôt de parler du « retest » et sa mise en application effective!

La définition ISTQB du retest est: « test qui exécute des cas de test qui ont été en échec la dernière fois qu’ils furent exécutés, de façon à vérifier le succès des actions de correction »

Si on se tient à cette définition il suffit de ré-exécuter un test en échec pour s’assurer qu’une anomalie a été corrigée… ce n’est cependant, de mon point de vue, pas suffisant… et c’est là que l’on arrive à mon « petit truc » de testeur. Le Retest doit, autant que possible, aller plus loin que sa définition!

Le retest étendu, un impératif pour « assurer la qualité »

Le Retest est la ré-exécution d’un test en échec afin de valider la correction d’une anomalie. Malheureusement cette confirmation que le test qui était en échec ne l’ai plus même si elle nous permet de voir que, sur un scénario en particulier, l’anomalie est corrigée cela ne prouve en rien que cette même anomalie est corrigée pour d’autres scénarios… Cela n’éveille t-il pas votre curiosité de testeur ?

De plus la correction du bug a vraisemblablement fait l’objet de modification du code ou de paramètres. Refaire uniquement le test en échec ne permet pas de savoir si cette modification a eu un impact… Il serait dommage que la correction d’un bug en engendre un encore plus important!

Afin d’éviter ces 2 écueils que sont une correction partielle ou une correction « destructrice » il parait essentiel que le « Retest » fasse l’objet d’une attention particulière.

Pour éviter le problème de la correction partielle des tests exploratoires pour tester plus en profondeur le comportement de la fonctionnalité et du scénario correctif. Ces vérifications peuvent d’ailleurs mener à la découverte de bugs proches qui pourraient bénéficier du même correctif (par exemple avec un refactoring) ce qui est, au final, une illustration du principe du regroupement de défauts.

Pour la correction destructrice, l’idée serait de simplement faire une campagne de régression (ou régression allégée basée sur des risques). Le postulat de départ est simple: la correction entraîne une modification, il faut donc s’assurer que cette dernière n’a pas engendrée de régression majeure. J’aime d’ailleurs la conférence de Zoé Thivet sur la notion de bug qui, au final peuvent être considérés comme des développements comme les autres.

Conclusion

Le Retest c’est la vérification qu’une anomalie (ou qu’un bug) est bien corrigé. Cela se fait généralement en ré-exécutant un test en échec (qui l’a souvent détecté) suite à cette anomalie. Malheureusement ce restreindre à cela ne garantit pas une correction complète de l’anomalie ni que cette correction ne soit au final pas plus mauvaise que bénéfique en intégrant des anomalies plus impactantes. Afin de s’assurer de la qualité des correctifs il est essentiel d’aller plus loin dans la validation du bug. Les méthodes sont diverses et variées, comme énoncé j’aime faire un peu de tests exploratoires couplés à une régression (allégée si besoin)… c’est, comme vous l’avez compris, un de mes petits trucs de testeur.

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Agilité

Tests en agile : les principaux concepts (2 / 2)

Nous allons aborder dans cet article la présentation des artefacts agiles et leur documentation de test. Nous insisterons sur l’impérieuse nécessité de comprendre que l’agilité ne tue pas la vision du système que doit avoir le PO (ce qu’on veut faire ?), et qui est différente des tickets de développement

Lire la suite »
culture générale

Ce que je retiens du World Quality Report 2019

Si vous ne connaissez pas le World Quality Report ou les autres enquêtes liées au test, je vous invite à lire mon artcile à ce sujet. Le World Quality Report maintenant disponible et vous pouvez vous le procurer en allant sur ce lien. J’ai pris le temps de le lire

Lire la suite »
Agilité

Duel: gherkin vs BDD

Introduction De nombreuses équipes et personnes considèrent que lorsque les tests sont écrits en gherkin alors les équipes font du BDD. Le BDD est le gherkin s’en retrouvent être 2 éléments d’un même ensemble si liés qu’ils n’en deviennent qu’un: si on fait du BDD alors on a ses tests

Lire la suite »