La couverture est utile car elle montre où les tests n'ont pas été effectués. Elle devient trompeuse lorsque les équipes la considèrent comme la preuve que le système est sécurisé.
Vous pouvez atteindre une couverture de ligne très élevée et néanmoins passer à côté des comportements qui nuisent véritablement à l'entreprise :
- erreurs d'autorisation
- bogues de concurrence
- ruptures d'intégration
- cas limites du domaine
Pourquoi la Couverture Est Trompeuse
La couverture répond à une question étroite : ce code a-t-il été exécuté lors d'une exécution de test ?
Elle ne répond pas à :
- la bonne assertion a-t-elle été faite ?
- le chemin dangereux a-t-il été exercé dans des conditions réalistes ?
- le système externe s'est-il comporté correctement ?
Un service de paiement peut atteindre 95 % de couverture et néanmoins dupliquer des charges si personne n'a testé le comportement de reprise avec le bon contrat de domaine.
Meilleur Objectif de Test
Une bonne stratégie de test commence par le risque, pas par des pourcentages :
- tests unitaires pour la logique de décision centrale
- tests d'intégration pour les frontières externes
- tests de scénario pour les règles commerciales et les modes de défaillance
- un nombre réduit de tests de bout en bout pour les parcours critiques
La couverture reste utile en tant que carte. Elle aide à révéler des angles morts. Ce n'est pas, à elle seule, le verdict de qualité.
Meilleure Règle
Utilisez la couverture pour demander, "Quel code ne faisons-nous pas exercer ?" Ne l'utilisez pas pour affirmer, "Le système est sûr."
Lectures Complémentaires