Le Code Coverage (couverture de code) mesure le pourcentage du code source exécuté lors des tests automatisés.
Types de coverage :
- Line Coverage : Lignes exécutées
- Branch Coverage : Branches (if/else) testées
- Function Coverage : Fonctions appelées
- Statement Coverage : Instructions exécutées
Exemple de rapport :
Statements : 87% ( 435/500 )
Branches : 75% ( 150/200 )
Functions : 90% ( 90/100 )
Lines : 87% ( 435/500 )
Objectifs courants :
- 80%+ : Bon niveau
- 90%+ : Excellent
- 100% : Rarement nécessaire (coût élevé)
Outils :
- JavaScript : Jest, Istanbul, Nyc
- PHP : PHPUnit, XDebug
- Python : Coverage.py
Attention :
- High coverage ≠ bons tests
- Qualité > Quantité
Indicateur de santé mais pas une fin en soi