Prog Academy
RU UA
QA и тестирование

Что такое регрессионное тестирование?

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

Необходимость возникает из связности кода: правка в расчёте скидки может неожиданно повлиять на формирование чека или отчётность. Чем крупнее система, тем менее очевидны такие связи, и тем важнее регулярно перепроверять старые сценарии.

Регрессию проводят перед каждым релизом, и именно она — главный кандидат на автоматизацию: набор проверок стабилен, повторяется постоянно и вручную занимает слишком много времени. В зрелых командах регрессионный набор запускается автоматически при каждой сборке.

Связанные термины

Test Automation

Автоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.

Software Testing

Тестирование ПО — проверка того, что программа работает так, как задумано: соответствует требованиям, корректно ведёт себя при неожиданных данных и не ломается там, где раньше работала. Цель — найти дефекты до того, как их найдёт пользователь.

CI/CD

CI/CD — автоматический конвейер, через который проходит каждое изменение кода: сборка, запуск тестов и доставка готовой версии на серверы. Разработчик отправляет код в репозиторий, а всё остальное происходит без ручных действий.

Test Case

Тест-кейс — описание одной проверки: при каких условиях, какие шаги выполнить, с какими данными и что считается правильным результатом. По хорошему тест-кейсу проверку может выполнить любой человек в команде и получить тот же вывод.

QA

QA (Quality Assurance) — обеспечение качества продукта: работа над тем, чтобы дефекты не появлялись, а не только находились. QA охватывает весь процесс разработки — от анализа требований до выпуска версии.