Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Couverture de code
Ton manager te demande : "On a 80% de couverture de code, c'est bien ?" Ca veut dire que 20% du code n'est execute par aucun test. Et c'est souvent la que se cachent les bugs. La couverture mesure quel pourcentage de ton code est effectivement traverse par tes tests. Si une fonction a 5 branches (if/elif/elif/elif/else), un test qui ne passe que par le premier if ne couvre que 20%.
Imagine cette fonction :
def categorie_age(age): if age < 0: return "invalide" elif age < 13: return "enfant" elif age < 18: return "adolescent" elif age < 65: return "adulte" else: return "senior"
Si tu ne testes que catégorie_age(25), tu ne couvres qu'une seule branche sur cinq. Les bugs dans les autres branches restent invisibles.
Pour atteindre 100% de couverture, il faut au moins un test par branche : - age negatif (branche "invalide") - age entre 0 et 12 (branche "enfant") - age entre 13 et 17 (branche "adolescent") - age entre 18 et 64 (branche "adulte") - age de 65 ou plus (branche "senior")
Et idealement, tu testes aussi les valeurs limites : 0, 12, 13, 17, 18, 64, 65.
Écris une fonction tester_categorie_complete(func) qui prend une fonction de categorisation par age et la teste de maniere a couvrir TOUTES les branches. La fonction doit :