Can testedness be effectively measured ?

✒ Enzo SandrĂ© · 📆 19/01/2022 · đŸ§Ș Tests

🔹 C’est dans les vieilles controverses que l’on trouve les meilleurs papiers. 5 chercheurs dĂ©montrent que le score de mutation ne fait pas mieux que le coverage pour Ă©viter des bugs futurs. Leur rĂ©sultat va Ă  l’encontre du consensus Ă©tabli. Artefact statistique ? Non, nouvelle mĂ©thode de calcul et critique rigoureuse des prĂ©cĂ©dents travaux.

🐛 La mĂ©thode de calcul prĂ©cĂ©demment admise, consistait Ă  introduire des bugs dans un programme, puis Ă  vĂ©rifier le pourcentage de ces bugs couverts par la mĂ©thode testĂ©e (branch coverage, statement coverage, mutation score, etc.).

đŸȘČ Pour les auteurs, il n’y a qu’une trĂšs faible corrĂ©lation avec les bugs rĂ©els. Ils ont prĂ©fĂ©rĂ© miner les sources de logiciels Open Source et vĂ©rifier, pour chaque bug rĂ©solu, si le code fautif Ă©tait couvert par la mĂ©thode testĂ©e.

🏆 Le rĂ©sultat renvoie le score de mutation au niveau des autres mĂ©thodes : utile pour repĂ©rer les parties sous-testĂ©es, pas plus. Le champion tombe de son piĂ©destal.

📝 Évidemment, une Ă©tude ne changera pas le consensus, elle devra ĂȘtre rĂ©pliquĂ©e, mais il s’agit d’une belle avancĂ©e de la recherche.

SOURCES

Ahmed, Iftekhar, Rahul Gopinath, Caius Brindescu, Alex Groce and Carlos Jensen. “Can testedness be effectively measured?” Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (2016): n. pag.

Enzo Sandré


DOIs: 10.1145/2950290.2950324