La taverne du testeur

[ISTQB] L’indépendance des tests

Définition ISTQB

L’indépendance des tests est un concept ISTQB très important. Sa définition dans le glossaire officiel est celle-ci: séparation des responsabilités qui favorisent l’exécution d’un test de manière objective [d’après DO-178b]

Que retenir ?

Le postulat de base du principe de l’indépendance des tests c’est que l’objectivité de tests est d’autant plus simple à assurer que les personnes étant amenées à tester sont éloignées de la construction de ce dernier.

De ce postulat découle plusieurs niveaux d’indépendance proposés (du plus indépendant au moins indépendant):

Cette répartition est assez instinctive en effet:

  • « Celui qui développe est celui qui teste » correspond à une non indépendance. on s’en aperçoit même au delà du logiciel avec des relectures d’articles où l’on remarque plus facilement les erreurs des autres que les siennes
  • « Celui qui tests est un membre de l’équipe est le premier niveau d’indépendance« . En effet on est ici sur quelqu’un de différent mais la personne qui teste a plus facilement tendance à faire confiance et à être moins vigilant… Ce type de comportement se voit aussi avec les articles où l’on a tendance à relire avec moins d’attention un texte écrit par quelqu’un en qui on a confiance
  • « Celui qui (conçoit) teste appartient à la même organisation ou est un spécialiste du test » est un second niveau d’indépendance. On part du postulat qu’un spécialiste du test fait plus facilement abstraction qu’une personne dont ce n’est pas le métier. Toujours dans l’exemple de l’article, passer par quelqu’un dont la correction de faute est le métier permet d’atteindre une meilleure objectivité même si cette personne est quelqu’un qui a confiance en nous
  • « Celui qui (conçoit) teste appartient à une autre organisation » est le dernier niveau proposé par rapport à l’indépendance du test car aucun lien de confiance ou d’a priori existe.

L’importance de cette indépendance peut facilement se ressentir avec des validations externes à faire sur des normes comme la DO-178B dans l’aviation qui permettent d’assurer que les logiciels sont suffisamment sûrs.

L’indépendance la solution à tout ?

Vous l’avez évidemment remarqué l’objectivité maximale (et même le 2ème niveau) sont régulièrement en contradiction avec l’Agile. Cela veut-il dire qu’en Agile on teste mal ?

Ce n’est évidemment pas le cas! Ou en tout cas pas forcément directement lié.

L’indépendance des tests est importante pour assurer une objectivité des tests, néanmoins cette même objectivité entraîne un éloignement qui peut s’avérer plus impactant qu’un manque d’objectivité!

Vous voyez vous demander à un développeur indépendant de faire les tests unitaires d’un autre développeur ? Vous voyez-vous sortir les tests et testeurs des équipes Agile pour avoir plus d’objectivité ?

La réponse est très certainement non et c’est bien normal car qui dit éloignement dit aussi:

  • Une perte de connaissance d’un point de vue du contexte (on connaît moins bien le produit, les objectifs, les contraintes…)… qui se doit d’être rattrapé avec de la communication souvent à écrire
  • Une perte de réactivité avec des processus devenant plus lents et alourdissant fortement les livraisons et la fluidité des échanges

Conclusion

L’indépendance des tests est un concept très intéressant et qu’il est toujours bon de garder en tête. L’objectivité des tests est importante et il est vrai que les pratiques Agile avec l’intégration des testeurs dans les équipes ont a priori diminué cette indépendance. Néanmoins cette diminution de l’indépendance a des vertus en terme de fluidité des processus et de connaissance du contexte. De même il existe des méthodologies et pratiques qui permettent, même en Agile d’améliorer l’indépendance des tests. Je pense par exemple à des pratiques comme l’ATDD, le BDD ou encore tout ce qui est « pair’ comme le pair-coding et le pair-testing.

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 *

processus

Tester une application sans spécifications

Je dis souvent que le principe des tests systèmes (les tests effectués par défaut par les testeurs) c’est de vérifier que le produit testé répond bien aux spécifications. Malheureusement, il arrive que le logiciel à tester n’ait pas de spécifications. Que faire dans ce cas ? Comment tester cet OTeNoS ? Tout

Lire la suite »
culture générale

Le jeu vidéo : en avance sur son test !

Le jeu vidéo est probablement la plus ancienne industrie de logiciel grand public. Pour rappel, la première génération de console date de 1972 avec l’Odyssey. L’Atari 2600, grand succès commercial, a quant à elle été commercialisée en 1977 ! De plus, les « tests » de jeux avant leur sortie sont légions… Ces

Lire la suite »
Bug

Petits trucs de testeur: reproduire une anomalie

Introduction Lorsque l’on fait nos tests, scriptés ou non, il n’est pas rare de rencontrer une anomalie (et heureusement car trouver des défauts fait partie des objectifs des tests selon l’ISTQB). Notre réflexe de testeur est alors de créer une fiche d’anomalie afin de donner de l’information. Nous voilà donc

Lire la suite »