Existe um substituto moderno para uma ferramenta de teste de mutação como o Jester for Java?

18

“Por que você acha que seus testes são bons quando você pode ter certeza? Às vezes, Jester me diz que meus testes são herméticos, mas às vezes as mudanças que encontra surgem do nada. Altamente recomendado. ”- Kent Beck

Mas vejo que nem sequer existe uma tag chamada " Jester " no stackoverflow. Então, qual é o substituto moderno do Jester , se houver? Como ter certeza de que os testes de unidade escritos são sólidos, além de encontrar estatísticas da cobertura de código de ferramentas como Cobertura e Clover ?

Nerd
fonte
Eu removi meu comentário esclarecedor porque você editou a pergunta. :) Uma pesquisa no Google com essa frase fornecerá 3 ou 4 exemplos de imediato, então talvez você se concentre na pergunta conceitual que você tem no final, para que você possa ter algumas idéias sobre a melhor forma de experimentar e selecionar a ferramenta que se encaixa suas necessidades?
jcmeloni
@jcmeloni existe alguma razão pela qual o bobo da corte não atendeu?
9773 Geek
Eu não faço ideia; Eu nunca usei.
jcmeloni

Respostas:

24

Tanto quanto sei, o teste de mutação continua sendo o melhor processo automatizado para medir a qualidade do seu conjunto de testes. Existem duas boas substituições modernas para o bobo da corte

http://pitest.org (eu sou o autor)

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

Uma comparação detalhada entre eles, o bobo da corte e alguns outros sistemas está disponível aqui

http://pitest.org/java_mutation_testing_systems/

Eu acho que o principal motivo pelo qual o bobo da corte nunca decolou foi que ele era impraticável- mente lento e muito escalado.

PIT e javalanche tentam abordar isso de maneira semelhante. Em vez de executar cegamente todos os testes em um projeto contra uma mutação, eles primeiro obtêm cobertura de linha e executam apenas os testes que podem realmente atingir uma mutação.

O PIT também realiza várias outras otimizações para acelerar as coisas e oferece uma opção para reutilizar os resultados da análise anterior para reduzir bastante o custo computacional das execuções subseqüentes.

Henry
fonte
O plugin PIT eclipse não está sendo instalado no Indigo, parece haver algum erro nisso.
Narendra Pathai 15/10/2013
@NarendraPathai Tente relatar o problema pelo pit group do Google. Phil Glover, que mantém o plugin, pode ajudar.
Henry