Le Paradoxe des pesticides

Définition

Le paradoxe des pesticides n’est pas exclusif aux tests. En fait il a même été « récupéré » par le test car à l’origine c’est un paradoxe qui nous vient du monde agricole.

Ce paradoxe est assez simple : plus on utilise de pesticides, plus on doit en utiliser car les « mauvaises herbes » deviennent de plus en plus résistante.

On le voit très bien avec les OGM résistants au glyphosate. Le glyphosate est un pesticide très efficace, avoir des plantes résistantes à ce pesticide permet de n’utiliser que ce pesticide et de l’utiliser directement (ce qui tue toutes les autres plantes) dans les champs et donc d’utiliser moins de pesticides et moins souvent.

Cela a particulièrement bien marché… Mais uniquement quelques années. En effet le glyphosate tuant 99.9% des plantes les 0.1% restantes se sont développées et maintenant l’utilisation de pesticides dans les champs OGM résistant au glyphosate est plus importante qu’avant l’introduction de ces plants.

En quoi cela est-il transposable aux tests :

Dans le métier du test, le « pesticide » est la batterie de test, la plante, le logiciel et les mauvaises herbes les « bugs ». Nous favorisons donc en utilisant toujours les mêmes tests des « bugs » résistants à nos tests.

Prenons l’exemple du transfert dans une application mail. Nos tests de régression font un transfert avec PJ et 1 destinataire. Si un bug apparait sur le scénario transfert avec 1 PJ et 2 destinataires alors il n’est pas détecté.

Ce bug non détecté peut rester plusieurs releases et d’autres bugs non « vérifiés » par les tests peuvent également apparaitre. Ce sont les bugs résistants.

Comment éviter cela ?

Il n’y a aucune solution miracle par contre il y a des bonnes pratiques à respecter pour limiter ces impacts.

1- Avoir de bons logs et travailler sur les bugs trouvés par les utilisateurs (dans ce cas une collaboration avec les équipes DevOps est un vrai plus)

2- Lorsqu’un bug (non mineur) est détecté, créer un test dont le but est de le détecter et l’intégrer aux tests de régression. Un bug qui s’est produit a de fortes chances de se reproduire. Ajouter de nouveaux aux différentes campagnes permet de les enrichir et de rendre notre « pesticide » plus efficace.

3- Faire évoluer les campagnes (retirer certains cas, en ajouter d’autres…) afin de s’adapter au logiciel et à ses potentielles faiblesses.

4- Faire des tests exploratoires

Conclusion

Le paradoxe des pesticides est un phénomène très intéressant. On ne peut malheureusement pas l’éviter mais essayer de limiter son effet. Il nous rappelle également que tout miser sur les tests automatisés n’est malheureusement pas une solution mais surtout que ce qui est important dans un logiciel c’est ses utilisateurs. Il faut les écouter, comprendre ce qu’ils attendent et s’adapter à leurs demandes. Pour cela de bons logs sont nécessaires ainsi qu’une étroite collaboration avec l’équipe DevOps si elle existe.

Voici un schéma récapitulatif :

image représentant des sillons avec des points qui représentent les tests et des points rouges qui représentent les bugs.
A chaque nouveau bug ce dernier à une chance d'être détecté ou non.
L'accumulation de nouveaux bugs accumule les bugs non détectés si l'on ne fait pas évoluer ses tests

Pensez à rejoindre le groupe Le métier du test si le test vous intéresse !

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 pour ce retour.
      C’est un problème malheureusement fréquent que l’on a eu sur la migration en 2024 et qui touche principalement des articles écrits avant 2020.
      Bonne journée

Laisser un commentaire

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

culture générale

Exemple concret du paradoxe des pesticides – Hasnae Hasmaz

Lors de ma première mission, j’étais amenée à dérouler des cas de tests pour 4 applis qui servent occasionnellement (qui ont déjà été utilisées dans différents contextes et plusieurs fois), pendant l’entretien d’embauche, mes employeurs m’ont fait comprendre que je devais juste dérouler des tests, et surtout ne pas toucher

Lire la suite »
culture générale

Duel: Régression vs Non régression

La série d’article « Duel » a pour but d’étudier succinctement 2 termes qui sont généralement utilisés pour désigner le même concept. Introduction Dans mes articles je parle exclusivement de « Test de régression » pour désigner les tests faisant partie d’une campagne dont le but est de détecter si des modifications ont introduit

Lire la suite »
Automatisation

Quels indicateurs pour ses tests automatisés ?

Les mesures sont essentielles lorsque l’on veut évaluer une performance ou lorsque l’on veut s’améliorer. Comment savoir si l’on s’améliore s’il n’y a pas de mesure confirmant ou infirmant celle-ci ? Afin de mesurer ces performances nous utilisons des indicateurs. Ces indicateurs sont des outils permettant de mesurer un point

Lire la suite »