Les petits trucs de testeur

Petits trucs de testeur: faire évoluer ses tests

Introduction

Lorsque l’on travaille sur un logiciel (que j’appellerai produit) qui est ancien ou développé depuis un petit moment on a généralement une campagne de régression conséquente.

Cette campagne, dont un nombre significatif de tests sont souvent automatisés, se retrouve souvent complexe avec de nombreux tests.

Ces tests sont maintenus afin de continuer à être en succès lorsqu’ils sont exécutés. Cette maintenance est généralement faite sur des tests ajouté au moment de l’ajout de la fonctionnalité au produit. Certains sont donc aussi « vieux » que le produit.

L’importance de faire évoluer ses tests

L’usure des tests

Vous avez sûrement déjà entendu parler du paradoxe du pesticide, maintenant appelé « usure des tests« . Ce principe explique que plus un test est exécuté moins il a de chances de trouver des défauts.

La maintenance des tests permet de continuer à utiliser des « vieux » tests. Malheureusement maintenance ne rime pas forcément avec évolution et entretien. Les tests, maintenus restent « vieux » et sujets à l’usure des tests.

Ne pas faire plus évoluer ses tests que les maintenir c’est entretenir des tests qui ont de moins en moins de chances de trouver des défauts.

Un contexte qui a évolué

Les tests dépendent du contexte!

Les tests ajoutés à une campagne de régression sont ajoutés par rapport au contexte du moment de l’ajout.

Cela dépend notamment de:

  • l’utilisation du produit à ce moment là
  • la taille du produit à ce moment là
  • les risques identifiés à ce moment là
  • les évolutions à venir
  • les faiblesses du produit à ce moment là
  • l’efficacité du test à ce moment là…

Comme on l’a vu dans le point précédent, l’efficacité du test diminue. Au delà du dernier point, le contexte d’un produit, que cela soit de son utilisation, sa taille, ses risques, évolution et faiblesses, change constamment… Et plus les dates sont éloignées, plus ces différences sont importantes !

Les tests dépendent du contexte, il est nécessaire de faire évoluer les tests qui composent la campagne de régression de son produit car le contexte lors de leur ajout est différent du contexte actuel.

Gagner en efficacité

Ce point peut être vu comme la fusion des 2 points précédent. C’est en partie vrai. S’adapter au contexte et s’assurer que ses tests restent efficaces permet de gagner en efficacité.

L’efficacité d’une campagne de régression peut être vue d’une manière un peu plus large.

Avec des indicateurs de couverture et de risques, on peut s’apercevoir que l’effort de test n’est pas toujours optimal. Que la campagne de test « sur-couvre » certaines fonctionnalité et en « sous-couvrent » d’autres.

Améliorer la couverture des tests permet d’améliorer fortement l’efficacité de la campagne de régression.

Conclusion

Ne considérez plus les tests de votre campagne de régression comme immuables et devant uniquement être maintenus.

Si vous voulez continuez à avoir une campagne aussi efficace que possible il est nécessaire de faire évoluer ces derniers. Cela peut se faire avec :

  • la modification de tests (par exemple avec une modifications de données) pour s’assurer qu’ils correspondent mieux au contexte actuel,
  • la suppression de tests,
  • l’ajout de tests,
  • une réflexion plus globale sur la campagne et les synergies entre les tests

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 *

culture générale

Le test en questions: le test

Début d’une nouvelle série. Le but de cette dernière est de vous proposer mes réponses à des questions fréquentes sur le test. Contactez moi si vous avez des questions ou même si vous souhaitez proposer un article proposant VOS réponses à ces mêmes questions. Pourquoi teste-t-on ? Cette question est

Lire la suite »
Agilité

Résultats du sondage « Quel testeur agile êtes-vous ?

Avant toute analyse je souhaiterais remercier les plus de 100 personnes qui ont répondues à ce sondage et qui permettent d’avoir une représentation plutôt fiable sur la vision du testeur agile. Sur les 111 personnes qui ont répondu, quasiment toutes se considèrent comme testeur et travaillent actuellement sur un projet/produit

Lire la suite »
Couvertures

Le test par flot de contrôle

Dans cet article, je vous propose de vous présenter les techniques de test issues de l’analyse du flot de contrôle. Ces techniques, dites boites blanches, peuvent s’avérer très utiles pour construire un socle de test unitaire permettant de répondre aux exigences de couverture de code requises pour un produit logiciel.

Lire la suite »