В чем разница между регрессионным и мутационным тестами? - PullRequest
2 голосов
/ 13 марта 2012

Просто интересно, какая разница.Мне нужно краткое объяснение. Википедия слишком многословна для меня.

Ответы [ 5 ]

12 голосов
/ 13 марта 2012

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

Идея заключается в том, что когда вы вносите изменения в свое приложение какТребуется для исправления ошибок или новых функций, регрессионное тестирование, мы надеемся, обнаружит любые проблемы (или регрессии) с вашими изменениями.

Это называется регрессией, поскольку подавляющее большинство тестов было добавлено из-за предыдущих Следовательно, если обнаруживаются проблемы, вы возвращаетесь к предыдущему состоянию (в котором проблема снова возникает).

Другими словами, регрессионное тестирование проверяет ваше приложение .


Тестирование мутаций фактически вводит небольшие ошибки (называемые мутациями) в ваше приложение (ошибки, которые не должны исправлять ошибки или предоставлять новую функциональность), чтобы увидеть, есливаш набор тестов забирает их.

Идея состоит в том, что если ваш набор тестов не улавливает мутации, то этоs недостаточно и должно быть добавлено больше тестовых примеров.

Другими словами, тестирование мутаций проверяет ваш набор тестов , а не ваше приложение.

2 голосов
/ 13 марта 2012

Различного назначения. Представьте, что у вас есть продукт, скажем, версия 1.0, с ошибкой # 123. В версии 1.01 вашего приложения вы исправляете эту ошибку, но добавляя новую функцию, вы вводите новую ошибку, скажем, # 124. Теперь у вас есть такая ситуация:

  • Версия 1.0: ошибка # 123
  • Версия 1.01: ошибка № 123 устранена, новая ошибка № 124.

Теперь представьте, что вы выпускаете совершенно новую версию 2.0. Если, исправляя ошибку № 124 или добавляя новую функцию, ваша ошибка № 123 снова активна, значит, у вас есть регрессия.

  • Версия 1.0: ошибка # 123
  • Версия 1.01: ошибка № 123 устранена, новая ошибка № 124.
  • Версия 2.0: ошибка № 123 активна (РЕГРЕССИЯ!), Ошибка № 124 устранена.

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

Муационное тестирование - это «тест» для тестов. Представьте, что у вас есть набор тестов, как вы можете быть уверены, что ваши тесты найдут ошибки? Возможно, вы захотите внести небольшое изменение (да, ошибка!) В ваш код, чтобы увидеть, найдут ли его ваши тесты. Это мутационное тестирование.

1 голос
/ 04 августа 2012

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

0 голосов
/ 13 января 2014

В то время как другие дали вам краткое описание разницы между этими двумя регрессионным тестированием и тестированием на мутации, помните, читая о тестировании на мутации, что:

Нет, нечеткое тестирование все еще пытается проверить программу на соответствие тестовым примерам, в то время как мутационное тестирование проверяет тестовые случаи на соответствие различным версиям программы.

0 голосов
/ 13 марта 2012

В первой строке каждой страницы Википедии это достаточно хорошо суммируется:

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

Тестирование мутаций (или анализ мутаций или мутация программ) - это метод тестирования программного обеспечения, который включает в себя модификацию программ.'исходный код или байт-код небольшими способами.

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

...