Мутация Тестирование

Можно ли успешно использовать мутационное тестирование для улучшения TDD с точки зрения уменьшения дефектов?

5 ответов

ИМХО тестирование мутаций теоретически может уменьшить дефекты не только в контексте TDD, но и в других контекстах... Единственная проблема заключается в том, что на практике это не очень часто используется. См. Также Полезно ли тестирование на мутации на практике?

Я использую это, и считаю это успехом.

Если вы хотите использовать мутационное тестирование для Java, я настоятельно рекомендую использовать новый инструмент Javalanche от David Schuler, а не Jester и его друзей. Javalanche манипулирует байт-кодом, а не исходным кодом, и, следовательно, работает на несколько порядков быстрее.

Да, я считаю, что это хорошее дополнение к TDD.

Разработчики в Google, похоже, используют его для помощи при проверке кода или проверке по запросу:

https://people.cs.umass.edu/~rjust/publ/industrial_mutation_icst_2018.pdf

Вот цитата из газеты:

Разработчики решили перепроектировать большие куски кода, чтобы сделать их тестируемыми, чтобы мутант мог быть убит, они нашли ошибки в сложных логических выражениях, глядя на мутантов, они решили удалить код с эквивалентным мутантом, потому что посчитали его преждевременной оптимизацией. Они утверждали, что мутант сэкономил им часы отладки и даже простоев в работе, потому что ни один тестовый пример не покрывал должную логику при мутации. Мутационное тестирование было названо одним из лучших улучшений в проверке проверки кода за последние годы. Хотя эта обратная связь вряд ли поддается количественной оценке, в сочетании с огромным количеством тысяч разработчиков, желающих осматривать мутантов, обнаружившихся на поверхности, об их изменениях в коде, делается заявление.

Полезность юнит-тестов больше не обсуждается.

Они имеют важное значение в концепции качественного применения. Но как мы можем оценить их актуальность?

Индикатор покрытия кода до 100% не означает, что код проверен на 100%. Это просто представление исполняемого кода во время выполнения модульных тестов.

Эта техника позволит вам быть более уверенными в своих тестах.

Это двухэтапный процесс: сначала поколение мутантов, а затем кровопролитие. WTF?

Можно, но с небольшим усилием. Пожалуйста, проверьте это,

http://abeletsky.blogspot.com/2010/07/using-of-mutation-testing-in-real.html

Другие вопросы по тегам