Какие существуют системы тестирования мутаций?

В другом вопросе я спросил, тестирование мутации полезно на практике. Поскольку я не получил удовлетворительных ответов, я хочу сам проверить текущие инструменты. Поэтому мне нужен обзор текущих существующих фреймворков для тестирования мутаций. Какие из них наиболее удобны и почему?

  • Я программирую на Java, поэтому предпочитаю Java-инструменты, но рискну взглянуть на интересные фреймворки для разных языков.
  • Я хочу интегрироваться в процесс автоматической сборки, поэтому предпочитаю инструменты, которые можно запускать из командной строки.

person Mnementh    schedule 29.10.2008    source источник
comment
Объяснение преимуществ МП: pedrorijo.com/blog/intro-mutation   -  person pedrorijo91    schedule 15.02.2019


Ответы (11)


Также существует PIT, который можно подключить к вашей сборке через плагин maven или интерфейс командной строки.

Он предоставляет гораздо более точные отчеты, чем другие доступные инструменты, с комбинированным охватом мутации и линии. Кроме того, он работает значительно быстрее, чем инструменты Java на основе исходного кода, такие как Jester, и примерно в два раза быстрее, чем Jumble.

В отличие от Jumble и Javalanche, он также работает со всеми основными фреймворками для фиксации (Mockito, JMock, EasyMock, PowerMock и JMockit).

(раскрытие я автор).

person henry    schedule 01.03.2011
comment
Могу ли я сохранить мутанты, созданные PIT, в желаемую папку? так что можно использовать другими программами? - person Milson; 16.01.2015
comment
@Milson ничего не встроено, но если вы проверите историю группы Google, вы найдете сообщения, описывающие, как подключиться к фреймворку и записать их на диск - person henry; 16.01.2015

Я знаю, что это старая ветка, но это все еще ответ на вопрос. Я работаю с некоторыми друзьями над платформой для тестирования мутаций .NET с открытым исходным кодом под названием NinjaTurtles, которую вы можете найти на CodePlex и на Nuget. Главный веб-сайт проекта находится здесь.

person David M    schedule 23.04.2012
comment
Я пробовал NinjaTurtles, но он плохо документирован, и я не могу понять, что не так или что именно я делаю не так ... Так что я скорее попробовал CREAM, и он отлично работает. - person DaMachk; 14.01.2014
comment
Он все еще в разработке, готов помочь. - person Yu Zhang; 15.02.2018

Я знаю только два фреймворка, но оба они для Java :)

Боюсь, я не использовал ни один из них.

person Jon Skeet    schedule 29.10.2008
comment
В ссылке на Jester есть лишний p://. - person Andrew Grimm; 07.06.2010

CREAM - это инструмент для C # /. Net http://galera.ii.pw.edu.pl/~adr/CREAM/index.php

person Devin Garner    schedule 15.06.2011
comment
Этот инструмент выглядит очень хорошо и поддерживает .NET 4.0 и т. Д. Спасибо +1 - person GurdeepS; 07.09.2011

Для Ruby существует Heckle и новичок по имени Boo_hiss.

person Antti Tarvainen    schedule 13.02.2009
comment
‹Spam› Отъезд чейзер. Это новая прелесть рубина. ‹/Spam› - person Andrew Grimm; 14.11.2009
comment
‹Spam› И охотник за зомби. Мутационное тестирование ... с зомби! ‹/Spam› - person Andrew Grimm; 06.05.2010

Для сообщества .Net существует NesTer, но он имеет некоторые серьезные ограничения. Например. поддерживает только C # и NUnit.

Похоже, что он тоже не поддерживается активно, но может быть отправной точкой.

person Haugholt    schedule 15.04.2009
comment
Работает только для решений, разработанных в Visual Studio 2005 - person Razvan Dumitru; 13.05.2016

Я взглянул на Jester (фактический исходный код), и мне кажется, что он не поддерживает слишком много мутаций. Там есть файл, в котором указаны эти мутации. Возможно, я ошибаюсь насчет вышеизложенного, но что мне определенно не понравилось, так это сочетание запуска инструмента из командной строки и небольшого интерфейса обратной связи с графическим интерфейсом пользователя. Почему бы не дать обратную связь в командной строке, как это делает JUnit при запуске вне среды IDE?

Ерунда - другое дело :). Он имеет простой интерфейс командной строки и поставляется с плагином Eclipse. Отзывы - это весь текст в консоли. Я доволен этим инструментом, и я планирую написать некоторую цель ANT, чтобы добавить ее в непрерывную интеграцию моего проекта.

Я тоже смотрю на Javalanche, но еще не пробовал.

У меня будут новости через несколько недель.

person Community    schedule 28.01.2010

Может быть интересно. Исследования Microsoft: https://pex4fun.com/

person bytedev    schedule 22.10.2012
comment
@urig спасибо за выделение, URL обновлен. - person bytedev; 25.01.2018
comment
Спасибо за новый URL @nashwan. Я удалил свой комментарий, чтобы не вводить в заблуждение будущих читателей. - person urig; 25.01.2018

Вы можете попробовать Java. Я не использовал его, но похоже, что тестирование на мутации может быть интересным способом оценки наборов тестов.

person Bill the Lizard    schedule 29.10.2008

MμClipse поддерживает только JUnit 3 и больше не поддерживается. Jester же трудоемок и требует сложной настройки; плюс больше не поддерживается. Лучший инструмент, который я смог найти, - это Javalanche У меня было написал об этом целую статью!

person Nicolas De Nayer    schedule 10.03.2012

Jester предоставляет файл для мутаций, и они ограничены. В некоторой степени вы можете добавлять в файл свои собственные мутации.

Я экспериментировал с Jumble и Jester и обнаружил, что Jumble предоставляет больше мутаций и лучшую документацию. Вдобавок я получил быстрые ответы от владельцев проектов, когда отправил им электронное письмо. Одним из недостатков Jumble является то, что он работает с байт-кодом, используя BCEL. Это представляет собой некоторую кривую обучения для многих разработчиков.

Моя компания, State Farm, написала задачу Ant, которую мы можем внести в проект Jumble. Судя по тому, что я прочитал в их списках рассылки, другие тоже работают над задачей Ant для Jumble.

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

person Patrick    schedule 15.02.2010