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





Я знаю только два фреймворка, но оба они для Java :)
Боюсь, я не использовал ни один из них.
Ссылка на Jester имеет дополнительный p://.
Вы можете попробовать µJava. Я не использовал его, но похоже, что тестирование на мутации может быть интересным способом оценки наборов тестов.
Для сообщества .Net существует NesTer, но он имеет некоторые серьезные ограничения. Например. поддерживает только C# и NUnit.
Похоже, что он тоже не поддерживается активно, но может быть отправной точкой.
Работает только для решений, разработанных в Visual Studio 2005
Я взглянул на Jester (фактический исходный код), и мне кажется, что он не поддерживает слишком много мутаций. Там есть файл, в котором указаны эти мутации. Возможно, я ошибаюсь насчет вышеизложенного, но что мне определенно не понравилось, так это сочетание запуска инструмента из командной строки и небольшого интерфейса обратной связи с графическим интерфейсом пользователя. Почему бы не дать обратную связь в командной строке, как это делает JUnit при запуске вне среды IDE?
Ерунда - другое дело :). Он имеет простой интерфейс командной строки и поставляется с плагином Eclipse. Отзывы - это весь текст в консоли. Я доволен этим инструментом, и я планирую написать некоторую цель ANT, чтобы добавить ее в непрерывную интеграцию моего проекта.
Я тоже смотрю на Javalanche, но еще не пробовал.
У меня будут новости через несколько недель.
Jester предоставляет файл для мутаций, и они ограничены. В некоторой степени вы можете добавлять в файл свои собственные мутации.
Я экспериментировал с Jumble и Jester и обнаружил, что Jumble предоставляет больше мутаций и лучшую документацию. Кроме того, я получил быстрые ответы от владельцев проектов, когда отправил им электронное письмо. Одним из недостатков Jumble является то, что он работает с байт-кодом, используя BCEL. Это представляет собой некоторую кривую обучения для многих разработчиков.
Моя компания, State Farm, написала задачу Ant, которую мы можем внести в проект Jumble. Судя по тому, что я прочитал в их списках рассылки, другие тоже работают над задачей Ant для Jumble.
Я тоже смотрю на Javalanche. Я буду рад поделиться своими знаниями, когда закончу.
Существует также ЯМА, который можно подключить к вашей сборке через плагин maven или интерфейс командной строки.
Он предоставляет гораздо более качественные отчеты, чем другие доступные инструменты, с комбинированным охватом мутации и линии. Кроме того, он работает значительно быстрее, чем инструменты Java на основе исходного кода, такие как Jester, и примерно в два раза быстрее, чем Jumble.
В отличие от Jumble и Javalanche, он также работает со всеми основными фреймворками для фиксации (Mockito, JMock, EasyMock, PowerMock и JMockit).
(раскрытие я автор).
Могу ли я сохранить мутанты, созданные PIT, в желаемую папку? так что можно использовать другими программами?
@Milson ничего не встроено, но если вы проверите историю группы Google, вы найдете сообщения, описывающие, как подключиться к фреймворку и записать их на диск
CREAM - это инструмент для C# /. Net http://galera.ii.pw.edu.pl/~adr/CREAM/index.php
Этот инструмент выглядит очень хорошо и поддерживает .NET 4.0 и т. д. Спасибо +1
MμClipse поддерживает только JUnit 3 и больше не поддерживается. Jester же трудоемок и требует сложной настройки; плюс больше не поддерживается. Лучший инструмент, который я смог найти, - это Javalanche. Я написал об этом целую статью!
Я знаю, что это старая ветка, но это все еще ответ на вопрос. Я работаю с некоторыми друзьями над фреймворком для тестирования мутаций .NET с открытым исходным кодом под названием NinjaTurtles, который вы можете найти на CodePlex и на Nuget. Главный сайт проекта - здесь.
Я пробовал NinjaTurtles, но он плохо документирован, и я не могу понять, что не так или что именно я делаю не так ... Так что я скорее попробовал CREAM, и он отлично работает.
Он все еще в разработке, готов помочь.
Может быть интересно. Исследования Microsoft: https://pex4fun.com/
@urig спасибо за выделение, URL обновлен.
Спасибо за новый URL @nashwan. Я удалил свой комментарий, чтобы не вводить в заблуждение будущих читателей.
Разъяснение преимуществ МП: pedrorijo.com/blog/intro-mutation