Le test manuel de régression est le processus de vérification répétée des fonctionnalités déjà testées d'un système après des modifications de code, afin de s'assurer que ces modifications n'ont pas entraîné de nouveaux défauts dans les parties stables du produit.
Historique de la question : Au début du cycle de vie des logiciels, les testeurs se concentrent généralement sur la vérification des nouvelles fonctionnalités. Au fil du temps, le système accumule des modifications, ce qui augmente les risques de régressions non prévues. De nombreuses erreurs dans l'histoire des logiciels sont survenues précisément après un correctif qui a "cassé" quelque chose qui fonctionnait auparavant, c'est pourquoi le test de régression est progressivement devenu une pratique obligatoire.
Problème : Le principal dilemme est comment, avec des modifications constantes, réviser efficacement et rapidement le plus grand nombre de fonctionnalités. Si on aborde la tâche de manière chaotique ou inconsistente, on peut passer à côté de défauts critiques, dépasser les délais, surcharger l'équipe, et parfois les vérifications deviennent une formalité.
Solution : Pour organiser efficacement les tests de régression, il est nécessaire de :
Caractéristiques clés :
À quel moment est-il préférable de commencer le test de régression — après toutes les modifications ou en parallèle avec leur mise en œuvre ?
Beaucoup pensent à tort que la régression ne se réalise qu'après la fin de toutes les modifications. En réalité, il est plus judicieux de planifier et d'exécuter partiellement celle-ci au fur et à mesure des modifications, afin de réagir plus rapidement aux défaillances critiques.
Est-il suffisant d'écrire une fois un cas de test de régression et de ne plus jamais le mettre à jour ?
Non, les cas de test de régression nécessitent une actualisation constante : avec le changement de la logique commerciale ou de l'interface, le système de tests doit évoluer avec le produit.
Le test de validation est-il une partie de la régression ?
Non, le test de validation est un filtrage rapide des défaillances évidentes après une compilation, tandis que le test de régression couvre une fonction plus large et recherche des défaillances "en profondeur".
L'équipe effectue une livraison, le testeur vérifie formellement les fonctionnalités selon une liste de cas de test obsolète, sans être au courant de la dernière amélioration de l'API. Un ancien bug est corrigé, mais un défaut critique apparaît dans une autre partie du système, que personne n'a remarqué avant le lancement.
Avantages :
Inconvénients :
Avant la livraison, les testeurs ont mis à jour les check-lists de régression, ont discuté avec les analystes des zones de risque actuelles, ont priorisé les tests en fonction de scénarios réels et ont réalisé une régression manuelle sur des flux clés.
Avantages :
Inconvénients :