Aller au contenu

Test de mutation

Test de mutation (en anglais mutation testing) : technique qui évalue la qualité d'une suite de tests en introduisant volontairement de petits défauts dans le code, les mutants (une condition inversée, un contrôle supprimé, une constante changée), puis en vérifiant que les tests échouent, c'est-à-dire qu'ils « tuent » chaque mutant. Un mutant qui survit révèle un comportement que rien ne vérifie, même si la couverture de code paraît complète.

Des outils l'automatisent (mutmut pour Python, PIT pour Java, Stryker pour JavaScript). Pour un script shell, on le pratique à la main : supprimer la vérification du fichier vide, relancer les tests, s'assurer qu'au moins un échoue pour la bonne raison, puis remettre le code.

Dans les cours

Voir aussi