Регрессионное тестирование — проверка ПО после изменений кода. Определение ISTQB, 3 метода, 9 инструментов, формула объёма регресса. Читать гайд.
Регресс в IT запускают после любых изменений: правок кода, рефакторинга, обновления зависимостей или смены окружения. Объект проверки — не новый функционал, а то, что уже работало. «Регрессивное» — неформальный синоним, понятный коллегам, но в документации закреплён термин «регрессионное».
Сделайте следующий шаг в карьере
Подберите обучение, которое поможет освоить новые компетенции
Представьте: в доме заменили сантехнику. Умный хозяин проверит не только новые трубы, но и всё смежное — нагреватель, краны, стиральную машину. Регрессия в программировании работает так же. Добавили фичу — тестируют смежные модули. Именно так предотвращают ситуацию, когда правка в одном месте ломает другое. Для тестировщика проверка смежных зависимостей — ежедневная практика в конце каждого спринта.
По ISTQB (Glossary 2.3) регрессионное тестирование программного обеспечения — повторная проверка уже протестированной программы после её модификации. На практике регрессионный тест проводят на релизной ветке, в тестовой среде, максимально приближённой к продуктивной. Разрыв между теорией и практикой — в масштабе: стандарт описывает процесс, а реальный регресс в конце спринта — это конкретный набор из десятков тест-кейсов с чётким дедлайном.
Без регресса изменение в одном модуле может незаметно сломать другой, и ошибка попадёт в продакшн. Четыре ключевые цели:
Пять стандартных триггеров:
В каких ситуациях применяется регрессионное тестирование на практике: 1–2 дня из двухнедельного спринта, непосредственно перед выводом версии на прод.
Регрессионная ошибка — баг в ранее работавшей функции, спровоцированный правкой несмежного кода. Пример: обновили форму загрузки файлов — сломалась фильтрация каталога. Формально модули не связаны, но разделяют общую логику обработки запросов. Последствия: штрафы по SLA, финансовые потери и утрата доверия пользователей — всё это обходится дороже, чем один день тестирования.
Регресс проводят тремя методами. Выбор зависит от масштаба изменений, сроков и ресурсов команды. Параллельно формируют ядро регресса — устойчивый набор тест-кейсов, который прогоняют при каждом цикле.
Полная регрессия — прогоняют все тесты без исключений. Применяют при смене платформы, ОС или крупных архитектурных правках. Занимает дни, зато даёт максимальное покрытие.
Выбор регрессионного теста — тестируют только затронутые части системы. Пример: изменили модуль авторизации — проверяют авторизацию и зависящие от неё функции. Требует предварительного анализа зависимостей.
Приоритизация тест-кейсов — сначала критичные бизнес-функции, затем часто ломающиеся места и долгожданные фичи. Оптимальный баланс скорости и охвата при ограниченных ресурсах.


Ядро регресса — устойчивый набор тестов основного функционала, который не меняется от спринта к спринту. Временный и сезонный функционал в ядро не входят. Для интернет-магазина это просмотр товара, корзина и оплата.
Простая формула объёма: 20 тестов × 2 тестировщика × 2 дня = 80 тестов — достаточный объём для среднего проекта. При норме 10–20 тест-кейсов в день на специалиста и среднем времени выполнения 20 минут расчёт укладывается в стандартный спринт.
Регрессионное тестирование — подвид функционального. Функциональное отвечает на вопрос «новое работает?», регрессионное — «старое не сломалось?». Смоук-тест (smoke-тест) предшествует регрессии: быстрая проверка ключевых функций за несколько часов, тогда как регресс занимает 1–2 дня.
| Критерий | Регрессионное | Функциональное | Smoke |
|---|---|---|---|
| Цель | Старое не сломалось | Новое работает | Базовая работоспособность |
| Когда | После любых изменений | При выходе нового функционала | Перед регрессом и релизом |
| Охват | Затронутые модули | Новые функции | Критические функции |
| Продолжительность | 1–2 дня | Дни–недели | Часы |
| Автоматизация | Приоритетна | Частичная | Желательна |
| Классификация | Подвид функционального | Надмножество | Отдельный вид |
Ручной запуск тестов при каждом коммите в репозиторий нереалистичен — инструменты автоматизируют этот процесс. Jenkins встраивается в систему непрерывной доставки (CI/CD) и запускает автоматизированные тесты при каждом коммите без участия человека.
| Инструмент | Тип приложений | Назначение | Лицензия |
|---|---|---|---|
| Selenium | Веб | Автоматизация UI-тестов | Open-source |
| Cypress | Веб (SPA) | Быстрые UI-тесты | Open-source |
| Appium | Android / iOS | Мобильная регрессия | Open-source |
| Postman | API | Тестирование API | Freemium |
| JUnit | Java-приложения | Юнит-тесты | Open-source |
| Jenkins | CI/CD | Автозапуск тестов | Open-source |
| TestComplete | Desktop / Web / Mobile | Комплексное тестирование | Коммерческая |
| Telerik Test Studio | Кросс-платформа | Десктоп и веб | Коммерческая |
| Allure Report | Любые | Визуализация результатов | Open-source |
Пора сменить профессию? Начните с понятного плана
Подберите программу под ваш опыт, цели и желаемый формат занятости
Регресс — повторяющийся процесс: автоматизация здесь закономерный шаг, а не опция. Главная ловушка — хрупкость автотестов. Стоит переименовать кнопку или изменить структуру страницы, и тест «падает» не из-за бага, а из-за смены интерфейса. Решение — присваивать элементам уникальные идентификаторы (ID) вместо текстовых меток.
Оптимальный момент — первый стабильный модуль с низкой вероятностью изменений. При активной ранней разработке стоимость поддержки автотестов превышает время ручного тестирования: код меняется быстрее, чем тесты успевают обновляться. При системном подходе и интеграции в CI/CD pipeline через год реально выйти на покрытие ~50% регресса автотестами.

Регресс в разработке нецелесообразен в пяти случаях:
Хотите освоить профессию тестировщика и научиться применять регрессионное тестирование на реальных проектах? В ProfiFuture можно пройти обучение на тестировщика программного обеспечения за 1,5 месяца с господдержкой — 75% стоимости компенсируется образовательной квотой.
Регрессионное тестирование (регресс, регрессия) — проверка программного обеспечения после изменений кода или окружения. Задача: убедиться, что ранее работавшие функции не сломались. «Регрессивное тестирование» — неформальный синоним, используется в разговорной речи.
Три объекта: ранее работавшие функции — не сломались ли; исправленные баги — не воспроизводятся ли снова; влияние изменений на смежные модули, которые формально не затрагивали.
При добавлении функционала, изменении кода, рефакторинге, обновлении ОС или зависимостей и исправлении багов. В спринте на регресс выделяют 1–2 дня из двух недель — непосредственно перед выводом версии на прод.
Функциональное проверяет, что новое работает; регрессионное — что старое не сломалось. Регрессионное тестирование является подвидом функционального: применяет те же методы, но к уже проверенному коду.
Smoke — быстрая проверка ключевых функций за несколько часов, проводится перед регрессом. Регрессионное тестирование охватывает все затронутые модули и занимает 1–2 дня.
Веб: Selenium, Cypress. Мобильные: Appium. API: Postman. CI/CD: Jenkins. Визуализация: Allure Report. Десктоп и кросс-платформа: TestComplete, Telerik Test Studio. Java юнит-тесты: JUnit.
Формула: производительность специалиста × количество тестировщиков × дней тестирования. Пример: 20 × 2 × 2 = 80 тестов — достаточный объём для среднего проекта при норме 10–20 тестов в день на человека.
Профессиональный термин по ISTQB — «регрессионное». «Регрессивное» — разговорный вариант, понятный специалистам, но в официальной документации и стандартах не закреплён.
Эта тема связана с материалом тест-кейсов.
Регресс — первый кандидат на то, чтобы переложить рутину на скрипты: одни и те же проверки прогоняются после каждого релиза. Как здесь помогает автоматизация тестирования, разбираем в отдельном материале.
Превратите интерес к теме в новую профессию
Оставьте заявку — поможем выбрать программу и расскажем об условиях обучения
Оставить заявку