La phase de Retest

Le cycle de vie d’un bug  comporte plusieurs étapes décrites ci-dessous :

processus "standard" de gestion de bug: découverte, analyse, catégorisation, correction, retest, cloture

Dans ce cycle, une étape est malheureusement souvent négligée : La phase de Retest (ou de vérification).

A quoi correspond exactement cette phase ?

La phase de retest d’un bug a plusieurs buts :

·        Vérifier que le bug est bien corrigé : un travail est rarement parfait lors de sa première version ! Renvoyé un bug qui n’est pas parfaitement corrigé est très courant dans la vie d’un testeur.

·        Vérifier que la correction du bug n’a pas créer de nouveaux bugs plus impactant : Là encore, si on corrige un bug c’est pour améliorer l’application. Il faut donc s’assurer que l’application est mieux après le correctif qu’avant.

Cette étape est donc obligatoire car avant de clôturer un défaut (bug) on doit s’assurer que les deux buts de retest sont bien atteints. On ne peut pas se permettre de considérer un bug comme corrigé si ce n’est pas le cas !

Pourquoi atteindre ces buts est-il essentiel ?

·        Un bug peut être mal corrigé. Par là je n’entends pas un mauvais travail de quiconque (bien que cela puisse arriver). Un bug peut être corrigé partiellement. Par exemple sur une application mail un bug peut être : Impossible de transférer un mail contenant une image JPEG. Le bug revient en « retest » et là le testeur s’aperçoit que le bug est bien corrigé lorsque l’on transfert depuis le mail affiché mais pas depuis la liste des mails => Le bug n’est alors que partiellement corrigé (j’aurai pu prendre le même exemple sur une MAJ des spécifications).

·        Un bug peut créer de nouveaux bugs ! La correction d’un bug, lorsque ce bug est lié au code peut comme toute modification du code engendrer de nouveaux bugs, des régressions. Si le transfert de mail avec JPEG est corrigé mais que cela a rendu impossible l’envoi de mail sans JPEG alors la correction apportée n’est pas satisfaisante.

Il m’est arrivé quelques fois de ne pas mettre en production la correction d’un bug car cela engendrait d’autres bugs et que cela revenait trop cher de bien le corriger (trop de modifications du code). Dans ce cas certaines équipes décident de corriger ce bug dans une version majeure à venir (cycle en V) ou de créer une US pour le corriger (Scrum). D’autres équipes décident simplement de ne pas corriger le bug.

Que doit-on faire lors cette étape de retest ?

Comme souvent il n’y a pas de formule miracle mais voici mes préconisations.

Afin de vérifier que le bug est corrigé il faut :

·        Refaire le scénario exact (ou le plus proche possible) qui a permis de découvrir le bug (même environnement, données, étapes pour le produire)

·        Faire des tests exploratoires utilisant cette fonctionnalité afin de vérifier que ce correctif ne fonctionne pas uniquement pour le scénario décrit dans le bug.

Pour s’assurer que le bug corrigé (si c’est un bug corrigé par une modification du cade) n’en a pas engendré de nouveaux plus importants il faut :

·        Exécuter les tests de régression (ou au minimum les tests vitaux + des tests de régression sur la fonctionnalité). La correction d’un bug qui engendre une modification du code doit être vue comme l’implémentation d’une fonctionnalité. Comme pour toute fonctionnalité il faut donc, pour valider le bug exécuter les tests de régression.

Conclusion :

La phase de retest est un immanquable du cycle de vie d’un bug. Son exécution rigoureuse permet d’éviter de nombreux désagréments comme, l’annonce de la correction d’un bug alors qu’il ne l’est pas ou l’ajout de bugs plus impactant que celui que l’on a corrigé.

N’hésitez pas à rejoindre le groupe Le métier du test

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles.

2 réponses

    1. Bonjour,
      c’est corrigé, merci Étienne !
      Il y a pas mal de problème d’images qui n’apparaissent pas dans différents articles. Cela s’est produit suite à la migration et un travail d’optimisation des tailles d’images. WordPress les a « resizées » mais cette activité a fait disparaitre de l’affichage certaines de ces images 🙁

Laisser un commentaire

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

culture générale

Grâce à qui un produit est-il de bonne qualité ?

Qui faut-il féliciter lorsqu’un produit est un succès grâce à une bonne qualité et un public trouvé? La question peut paraître triviale, néanmoins il semble intéressant de la creuser! L’opérationnel ? L’opérationnel a un rôle essentiel (lorsque le produit requiert sa présence (pas besoin d’opérationnel pour un jeu Super NES)),

Lire la suite »
Gasq insights - Marc Hage Chahine - Quelle qualité voulons-nous ?
Interview

[Gasq Insights] Quelle qualité voulons-nous ?

Dans ce épisode je vous parle qualité… Et plus particulièrement de la qualité que nous devons choisir pour notre futur. Le choix se fait entre une qualité de confort où l’on a tout ce que l’on veut tout de suite et une qualité durable qui est soutenable d’un point de

Lire la suite »
Stratégie

La stratégie au cœur des enjeux qualité – Arnaud Verin

Il m’est arrivé assez souvent de mettre en place, pour des programmes, des stratégies de test avec 40 à 50 phases de test, forcément il faut cadrer les objectifs de chacune pour que le projet de test se passe bien. D’où l’intérêt d’une stratégie de test. La stratégie de test

Lire la suite »