Combien d’erreurs as-tu là ?

Sur Hacker News, j’ai trouvé un article très intéressant dans lequel l’auteur suggère d’utiliser le Méthode Petersen-Lincoln, utilisée par les biologistes pour compter la population d’oiseaux, de singes et d’autres animaux, pour *roulement de tambour* compter les bugs dans l’application.

Insecte dans son habitat naturel &#8211 ; Observation de Bigfoot par Derek Hatfield

La méthode est très simple, on en prend deux ornithologues, ils trouvent les oiseaux d’une certaine espèce, leur tâche – déterminer la taille de la population de ces oiseaux. Les oiseaux trouvés sont marqués par les deux ornithologues, puis le nombre d’oiseaux communs est calculé, substitué dans la formule de l’indice de Lincoln et nous obtenons la taille approximative de la population.
Passons maintenant aux applications – la méthode est aussi très simple, on prend deux QA et ils trouvent des bugs dans l’application. Disons qu’un testeur a trouvé 10 bugs (E1) et que le deuxième testeur a trouvé 20 bugs (E2), maintenant nous prenons le nombre total de bugs – 3 (S), puis en utilisant la formule on obtient l’indice de Lincoln :

Il s’agit d’une prévision du nombre de bugs dans l’ensemble de l’application, dans l’exemple donné, il y a environ 66 bugs.

Exemple rapide

J’ai mis en place un banc de test pour tester la méthode, vous pouvez le voir ici :
https://paiza.io/projects/AY_9T3oaN9a-xICAx_H4qw?language=swift

Paramètres modifiables :

laissez aliceErrorFindProbability = 20 – pourcentage de bugs trouvés par QA Alice (20%)
laissez bobErrorFindProbability = 60 – pourcentage de bugs trouvés par QA Bob (60%)
soit actualBugsCount = 200 – combien de bugs y a-t-il réellement dans l’application

Lors de la dernière exécution, j’ai reçu les données suivantes :
Nombre de bugs d’estimation : 213
Nombre réel de bugs : 200

C’est-à-dire qu’il y a 200 bugs dans l’application, le Lincoln Index donne une prévision – 213 :
“Alice a trouvé 36 bugs”
“Bob a trouvé 89 bugs”
“Nombre de bogues courants : 15”

Nombre de bugs d’estimation : 213
Nombre réel de bugs : 200

Faiblesses

Cette méthode peut être utilisée pour évaluer le nombre d’erreurs dans l’application à toutes les étapes de développement ; idéalement, le nombre de bugs devrait diminuer. Les faiblesses de la méthode incluent le facteur humain, puisque le nombre de bugs trouvés par deux testeurs devrait être différent et que des bugs différents ont été trouvés, cependant il faut trouver les plus courants, sinon la méthode ne fonctionnera pas (zéro bug commun – division par zéro)< br />De plus, un concept tel que les bugs courants nécessite la présence d’un expert pour comprendre leurs points communs.

Sources

Combien d’erreurs reste-t-il à trouver ? – John D. Cook, PhD, président
The thrill of the chase – Brian Hayes

Code source

https://paiza.io/projects/AY_9T3oaN9a-xICAx_H4qw ?langue=rapide
https://gitlab.com/demensdeum/statistics/tree/master/1_BugsCountEstimation/src

Leave a Comment

Your email address will not be published. Required fields are marked *