Les 7 principes du test: Les tests exhaustifs sont impossible (2/7)

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.

Laisser un commentaire

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

L'agent IA lit les tests manuels puis exécute le test sur l'environnement de test. l'agent peut poser des questions auxquelles le testeur répond pour apporter les précisions nécessaires à l'exécution Un reporting est fait en parallèle, il est analysé par le testeur.
IA

Les agents IA et leur usage pour l’exécution de tests – Partie 1

Depuis 2024, le domaine de l’IA générative, qui avait démarré avec les chatbots conversationnels comme ChatGPT, s’est étendu aux agents IA. Les agents IA sont une architecture de système IA dotée de la capacité d’agir sur leur environnement pour réaliser la tâche demandée par l’utilisateur. Comme le montrent les enquêtes

Lire la suite »
Niveau de maturité BDD: Niveau 0: pas de BDD Niveau 1: revues collaboratives Niveau 2: scénarios d'acceptation Niveau 3: automatisation
BDD

Une évaluation de la maturité du BDD ?

Introduction Il y a déjà pas mal d’articles sur le BDD dans la taverne. C’est une démarche que j’affectionne particulièrement et qui est très souvent mise en pratique dans de nombreux contextes… Et comme toute démarche, a fortiori à succès, sa mise en pratique est plus ou moins bien implémentée.

Lire la suite »
Image présentant les thématiques du RGESN
Qualité durable

Présentation du RGESN 2024: les spécifications (2/9)

Le RGESN, Référentiel Général d’Ecoconception des Services Numériques, est un référentiel qui a pour but de s’assurer une conception des services numériques. Il est, à l’heure actuelle, divisé en 9 thématiques : Dans cet article je vais me concentrer sur la thématique des spécifications. Les autres thématiques ont fait ou feront

Lire la suite »