Existe-t-il un remplacement moderne pour un outil de test de mutation comme Jester pour Java?

18

«Pourquoi penser que vos tests sont bons alors que vous pouvez en être sûr? Parfois, Jester me dit que mes tests sont étanches à l'air, mais parfois les changements qu'il découvre viennent comme un coup de foudre. Hautement recommandé. »- Kent Beck

Mais je vois qu'il n'y a même pas de balise appelée " Jester " dans stackoverflow. Alors, quel est le remplacement moderne de Jester , le cas échéant? Comment être sûr que les tests unitaires écrits sont solides comme la recherche de statistiques à partir de la couverture de code à partir d'outils comme Cobertura et Clover ?

Geek
la source
J'ai supprimé mon commentaire de clarification car vous avez modifié la question. :) Une recherche Google avec cette phrase vous donnera 3 ou 4 exemples dès le départ, alors peut-être vous concentrer sur la question conceptuelle que vous avez à la fin, afin que vous puissiez avoir des idées sur la meilleure façon d'essayer et de sélectionner l'outil qui convient vos besoins?
jcmeloni
@jcmeloni y a-t-il une raison pour laquelle le bouffon n'a pas vraiment décroché?
Geek
Je n'ai aucune idée; Je ne l'ai jamais utilisé.
jcmeloni

Réponses:

24

Pour autant que je sache, le test de mutation reste le meilleur processus automatisé pour mesurer la qualité de votre suite de tests. Il existe deux bons remplacements modernes pour bouffon

http://pitest.org (je suis l'auteur)

https://github.com/david-schuler/javalanche/

Une comparaison détaillée entre eux, le bouffon et quelques autres systèmes est disponible ici

http://pitest.org/java_mutation_testing_systems/

Je pense que la principale raison pour laquelle le bouffon n'a jamais décollé était qu'il était incroyablement lent et très mal dimensionné.

PIT et javalanche tentent tous deux de résoudre ce problème de manière similaire. Au lieu d'exécuter aveuglément tous les tests d'un projet contre une mutation, ils rassemblent d'abord la couverture de ligne et exécutent uniquement les tests qui peuvent réellement frapper une mutation.

PIT effectue également diverses autres optimisations pour accélérer les choses et offre la possibilité de réutiliser les résultats de l'analyse précédente pour réduire considérablement le coût de calcul des exécutions suivantes.

Henri
la source
Le plugin PIT eclipse n'est pas installé dans Indigo, il semble y avoir une erreur.
Narendra Pathai
@NarendraPathai Essayez de signaler le problème via le groupe Google Pit. Phil Glover, qui gère le plugin, pourrait peut-être vous aider.
henry