Регрессионное тестирование: различия между версиями

Нет изменений в размере ,  6 лет назад
м
4 е на ё
м (Робот: добавление заголовков в сноски; исправление двойных сносок)
м (4 е на ё)
{{викифицировать}}
'''Регрессио́нное тести́рование''' ({{lang-en|regression testing}}, от {{lang-la|regressio}} — движение назад) — собирательное название для всех видов [[тестирование программного обеспечения|тестирования программного обеспечения]], направленных на обнаружение ошибок в уже протестированных участках [[исходный код|исходного кода]]. Такие ошибки — когда после внесения изменений в программу перестаетперестаёт работать то, что должно было продолжать работать, — называют ''регрессионными ошибками'' ({{lang-en|regression bugs}}).
 
Регрессионное тестирование (по некоторым{{каким?}} источникам) включает ''new bug-fix'' — проверка исправления вновь найденного дефекта, ''old bug-fix'' — проверка, что исправленный ранее и верифицированный дефект не воспроизводится в системе снова, а также ''side-effect'' — проверка того, что не нарушилась работоспособность работающей ранее функциональности, если её код мог быть затронут при исправлении некоторых дефектов в другой функциональности.
== Цитаты ==
{{начало цитаты}}
Фундаментальная проблема при сопровождении программ состоит в том, что исправление одной ошибки с большой вероятностью (20—50 %) влечетвлечёт появление новой. Поэтому весь процесс идетидёт по принципу «два шага впередвперёд, шаг назад».
 
Почему не удается устранять ошибки более аккуратно? Во-первых, даже скрытый дефект проявляет себя как отказ в каком-то одном месте. В действительности же он часто имеет разветвления по всей системе, обычно неочевидные. Всякая попытка исправить его минимальными усилиями приведет к исправлению локального и очевидного, но если только структура не является очень ясной, или документация очень хорошей, отдалённые последствия этого исправления останутся незамеченными. Во-вторых, ошибки обычно исправляет не автор программы, а зачастую младший программист или стажёр.