Intro
S’il est bien 2 termes que j’ai confondus pendant de longues années c’est bien les termes « faux positif » et « faux négatif ». Je pense d’ailleurs que je ne suis pas le seul à avoir eu cette difficulté de compréhension tant ces termes sont peu présents dans le quotidien des testeurs alors que je me rappelle avoir parlé de ce concept lors de la certification fondation ISTQB et qu’ils figurent bien dans le glossaire ISTQB.
Définition
La définition des 2 termes est assez simple:
- Faux-positif: Un résultat de test dans lequel un défaut est rapporté alors qu’en réalité ce défaut n’existe pas dans l’objet de test
Concrètement un faux positif est un test en échec alors qu’il devrait être en succès. C’est un problème fréquent avec des tests peu fiables et instables et qui peut poser de graves problèmes dans les campagnes automatisées et plus particulièrement les chaînes d’intégration continue.
Le plus simple pour réussir à bien différencier les 2 (et qui est mon moyen mnémotechnique) est de penser à des tests qui ne sont pas des tests logiciels mais des tests pour détecter des maladies (comme le CoVid).
Dans le cas des tests CoVid un faux-positif est un test où l’on est détecté comme ayant le CoVid alors que l’on n’a pas.
- Faux-négatif: Un résultat de test qui n’a pas identifié la présence d’un défaut qui est réellement présent dans l’objet de test
Ici on est sur un test qui ne repère pas une anomalie alors qu’il le devrait. Cela reflète généralement un défaut de conception mais il sont complexes à détecter car on analyse rarement les tests en succès. C’est pour cela que je considère les faux-négatifs comme plus dangereux que les faux-positifs.
Dans le cas des tests CoVid il y a de nombreux faux-négatifs, particulièrement avec les tests anti-géniques. Ces faux-négatifs indiquent que des personnes ne sont pas infectés alors qu’ils le sont. Cela se repère souvent avec des personnes faisant plusieurs tests à quelques jours d’intervalle, les premiers tests s’avérant négatifs et le dernier (souvent PCR car plus fiable) positif.
Pourquoi cette confusion ?
Cette confusion vient du fait que le concept de faux-positif et faux-négatif sont des concepts basés sur des négations (faux) et sur l’idée que un test « positif » est un test en échec et qu’un test « négatif » est un test en succès quand il est en succès… on est donc ici sur une sorte de double négation et, pour être honnête, mon cerveau (et celui de nombreuses personnes) n’est pas forcément conçu pour cela.
Je dois également avouer que la définition qui se trouve sur le glossaire ISTQB ne m’a pas aidé:
- Faux-négatif : Voir faux-succès
le « négatif » devient « succès » ce qui est associe ces 2 termes généralement contradictoires
- Faux-positif : Voir faux-échec
le « positif » devient « échec » en associant encore 2 termes contradictoires.
Ces 2 associations peuvent vite être inversées afin d’associer le « positif » au « succès » et le « négatif » à « l’échec »
Conclusion
Les notions de « faux-positifs » et « faux-négatifs » sont des concepts clés du test logiciel mais assez complexe à bien appréhender ce qui amène à peu utiliser ces termes. Ces termes proches sont souvent confondus pour des raisons logiques et linguistiques. Le meilleur moyen pour bien comprendre ces concept ne vient pas de l’industrie logicielle mais de notre vie de tous les jours avec des tests de détection comme les tests CoVid.
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.