Регрессионное Тестирование (регресс) — это тип тестирования, который проводится для того, чтобы убедиться, что новые изменения в коде (например, новая функция или исправление бага) не сломали (не вызвали регрессию) уже существующую и ранее работавшую функциональность.
Ключевая Цель
Основная цель — защитить существующий функционал от непреднамеренных побочных эффектов.
Программный код, особенно в больших системах, тесно связан (связанность кода). Изменение в одном модуле (например, в “Модуле скидок”) может неожиданно повлиять на другой (например, на “Модуль оформления заказа”), даже если они не кажутся связанными напрямую.

Ключевые Триггеры (Когда оно проводится?)
Регрессионное тестирование необходимо проводить каждый раз, когда в кодовую базу вносятся изменения. Чаще всего это происходит:
-
После добавления новой фичи.
-
После оптимизации кода (рефакторинга).
-
После изменения конфигурации или обновления инфраструктуры (например, обновление Базы Данных).
-
После исправления **бага (bug fix)
Важно!
Исправление одной ошибки часто порождает другую.
Что конкретно проверяется (Объем Регрессии)
Тестировщики (QA-инженеры) не проверяют новую функцию — ее проверяют в рамках Функционального Тестирования. Они проверяют старые функции.
Объем проверки зависит от времени и рисков:
Полный Регресс (Full Regression):
Выполнение всего набора существующих тест-кейсов для всего продукта.
Обычно проводится перед крупным релизом (выпуском новой версии). Это долго и дорого, особенно если делать вручную.
Частичный Регресс (Partial / Selective Regression):
Тестировщик, основываясь на своем опыте и анализе рисков, выбирает только набор старых тест-кейсов, которые с наибольшей вероятностью могли быть затронуты изменениями.
Пример
Если меняли “Модуль скидок”, QA-инженер в первую очередь будет “регрессить” “Корзину”, “Оформление заказа” и “Профиль пользователя (бонусы)”, но может не трогать “Регистрацию”.
”Смоки” (Smoke Test):
Самый быстрый и базовый уровень регресса. Это проверка самой критичной функциональности (например, “Можно ли войти в систему?”, “Открывается ли главная страница?”). Если тест провален, дальнейшее тестирование бессмысленно.
Место в Процессе и Среды (Стенды)
-
Когда: Обычно проводится после функционального и интеграционного тестирований и до Нагрузочного и Бизнес-тестирования, о которых мы погорим в следующей статье.
-
Где (Стенды):
-
TEST (QA) Стенд: Основное место для прогона автоматизированных и ручных регрессионных тестов.
-
STAGING (Препрод): Обязательный прогон полного регрессионного набора до выпуска в Production, чтобы убедиться, что на “боевой” конфигурации ничего не сломалось.
-
Заключение
Что дальше?
➡️Разберем зачем нужно и как проходит нагрузочное тестирование