Dans cette série vous pourrez trouver dans chaque article une présentation d’une des 7 principes fondamentaux du test.
Les tests exhaustifs sont impossibles
Description
Ce principe rappelle qu’il est impossible d’atteindre l’infini!
L’infini dans le test logiciel, ou plutôt dans l’utilisation des logiciel, c’est la capacité à envisager et tester l’ensemble des scénarios possibles. Cet ensemble est infini pour plusieurs raisons:
- Le nombre d’étapes dans l’utilisation d’un logiciel est infini (le logiciel ne se ferme pas après X actions)
- le nombre de situation est infini car le nombre de paramètres environnementaux toujours plus grands (ex: OS, connectivités, méthode d’utilisation, partenaires, logiciels fonctionnant en parallèle, des serveurs qui tombent…)
Si on reprend l’exemple de la pêche, on ne peut pas avoir un filet capturant tous les poissons de tout l’océan.
Conséquences
Les conséquences de ce principe sont très nombreuses, voici les 3 qui me semblent les plus importantes:
- Il est impossible d’affirmer qu’il n’y a pas d’anomalie car on n’a pas pu tout vérifier. C’est d’ailleurs pour cela que je n’aime pas le terme « Non régression«
- Les tests permettent de gérer des risques mais ne peuvent les supprimer. Ils ne peuvent « que » donner un indice de confiance.
Ce qu’il faut retenir
Lorsque l’on fait des tests il faut faire des choix. Le temps et les moyens étant limités le test devra être aussi efficace que possible en prenant en compte ses contraintes. Les tests exhaustifs étant impossible il faut essayer d’être le plus efficace possible tout en restant assez humble pour admettre que l’on s’est trompé et que l’on a laissé passer des anomalies à travers les mailles de notre filet… Ces anomalies nous servent alors dans notre démarche d’amélioration continue.
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.