Chapitre 7. Mesurer la couvertureavec Coverage.py
A quel point es-tu confiant dans un changement de code lorsque tes tests sont réussis ?
Si tu considères les tests comme un moyen de détecter les bugs, tu peux décrire leur sensibilité et leur spécificité.
La sensibilité de ta suite de tests est la probabilité d'échec d'un test lorsqu'il y a un défaut dans le code. Si de grandes parties du code ne sont pas testées, ou si les tests ne vérifient pas le comportement attendu, ta sensibilité est faible.
La spécificité de tes tests est la probabilité qu'ils réussissent si le code est exempt de défauts. Si tes tests sont instables (ils échouent par intermittence) oufragiles (ils échouent lorsque tu changes les détails de l'implémentation), alors tu as une faible spécificité. Invariablement, les gens cessent de prêter attention aux tests qui échouent. Ce chapitre ne traite pas de la spécificité.
Il existe un excellent moyen d'augmenter la sensibilité de tes tests : lorsque tu ajoutes ou modifies un comportement, écris un test qui échoue avant le code qui le fait passer. Si tu fais cela, ta suite de tests saisira tes attentes par rapport au code.
Une autre stratégie efficace consiste à tester ton logiciel avec les différentes entrées et contraintes environnementales que tu t'attends à rencontrer dans le monde réel. Couvre les cas limites d'une fonction, comme ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access