2008-10-29 3 views
30

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

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

ответ

10

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

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

+0

У ссылки для Jester есть дополнительная 'p: //'. –

+0

@Andrew: Исправлено, спасибо. –

2

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

5

Для Руби есть Heckle, а новичок по имени Boo_hiss.

+0

Проверьте охотнику. Это новая удивительность для рубинов.

+0

И зомби-охотник. Мутационные тесты ... с зомби!

3

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

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

+0

Работает только с решениями, разработанными в visual studio 2005 –

3

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

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

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

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

0

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

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

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

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

17

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

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

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

(раскрытие информации являюсь автором).

+0

Есть ли в любом случае я могу сохранить созданных PIT мутантов в нужную папку? так что могут быть использованы другими программами? – Milson

+0

@Milson ничего не встроено, но если вы проверите историю группы google, вы найдете сообщения, описывающие, как подключиться к фреймворку и записать их на диск. – henry

2

MμClipse поддерживает только JUnit 3 и больше не поддерживается. Шут, как для него, трудоемкий и требует сложной конфигурации; плюс больше не поддерживается. Лучший инструмент, который я смог найти Javalanche I had wrote a entire article about this !

16

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

+3

I 'vre попробовал NinjaTurtles, но он плохо документирован, и я не могу понять, что не так, или что именно я делаю неправильно ... Так что я скорее попробовал CREAM, и он работает красиво. – DaMachk

+0

Разрабатывается ли я, я готов помочь. –

3

Может представлять интерес. Microsoft Research's: https://pex4fun.com/

+1

@urig спасибо за выделение, URL обновлен. – nashwan

+0

Спасибо за новый URL @nashwan. Я удалил свой комментарий, чтобы не вводить в заблуждение будущих читателей. – urig

 Смежные вопросы

  • Нет связанных вопросов^_^