Регрессионное тестирование направлено на проверку изменений, внесенных в приложение или среду (исправление дефекта, объединение кода, перенос на другую операционную систему, базу данных, веб-сервер или сервер приложений), чтобы подтвердить, что ранее существовавшая функциональность работает как прежде.
Регрессионные тесты могут быть как функциональными, так и нефункциональными.
Сам термин "регрессионное тестирование" может иметь различные значения в зависимости от контекста использования.
Кем Канер, например, описал три основных типа регрессионного тестирования:
регрессия ошибок/ bug regression - это попытка доказать, что исправленная ошибка на самом деле не исправлена.
регрессия старых ошибок - это попытка доказать, что недавнее изменение в коде или данных нарушило исправление старых ошибок, т.е. старые ошибки начали воспроизводиться снова.
регрессия побочных эффектов - это попытка доказать, что недавнее изменение кода или данных нарушает работу других частей разрабатываемого приложения.