Существует ли современная замена для инструмента тестирования мутаций, такого как Jester для Java?

18

«Почему вы просто думаете, что ваши тесты хороши, когда вы можете точно знать? Иногда Джестер говорит мне, что мои тесты герметичны, но иногда обнаруженные изменения происходят как гром среди ясного неба. Настоятельно рекомендуется ». - Кент Бек

Но я вижу, что в stackoverflow нет даже тега с именем Jester . Так что же является современной заменой для Шута , если таковая имеется? Как можно быть уверенным в том, что написанные модульные тесты хороши, кроме поиска статистики по покрытию кода с помощью таких инструментов, как Cobertura и Clover ?

Компьютерщик
источник
Я удалил поясняющий комментарий, потому что вы редактировали вопрос. :) Поиск в Google по этой фразе даст вам 3 или 4 примера, так что, возможно, сосредоточитесь на концептуальном вопросе, который у вас есть в конце, чтобы вы могли получить некоторые идеи о том, как лучше всего попробовать и выбрать инструмент, который подходит твои нужды?
jcmeloni
@jcmeloni, есть ли причина, по которой шут на самом деле не взял трубку?
Компьютерщик
Я понятия не имею; Я никогда не использовал это.
jcmeloni

Ответы:

24

Насколько я знаю, мутационное тестирование остается лучшим автоматизированным процессом для измерения качества вашего набора тестов. Есть две хорошие современные замены для шута

http://pitest.org (я автор)

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

Подробное сравнение между ними, шутом и парой других систем доступно здесь

http://pitest.org/java_mutation_testing_systems/

Я думаю, что главная причина, по которой шут никогда не снимал, заключалась в том, что он был неоправданно медленным и очень плохо масштабировал.

PIT и javalanche оба пытаются решить эту проблему аналогичным образом. Вместо того чтобы вслепую запускать все тесты в проекте на предмет мутации, они сначала собирают покрытие строк и запускают только те тесты, которые действительно могут повлиять на мутацию.

PIT также выполняет различные другие оптимизации, чтобы ускорить процесс и предлагает возможность повторно использовать результаты предыдущего анализа, чтобы значительно снизить вычислительные затраты последующих прогонов.

Генри
источник
Плагин PIT eclipse не устанавливается в Indigo, похоже, в этом есть какая-то ошибка.
Нарендра Патхай
@NarendraPathai Попробуйте сообщить о проблеме через группу Google pit. Фил Гловер, который поддерживает плагин, может помочь.
Генри