Что такое регрессионное тестирование?
Регрессионное тестирование — повторная проверка уже работавшей функциональности после изменений в коде. Его цель — убедиться, что новая функция или исправление бага не сломали ничего из того, что раньше работало.
Необходимость возникает из связности кода: правка в расчёте скидки может неожиданно повлиять на формирование чека или отчётность. Чем крупнее система, тем менее очевидны такие связи, и тем важнее регулярно перепроверять старые сценарии.
Регрессию проводят перед каждым релизом, и именно она — главный кандидат на автоматизацию: набор проверок стабилен, повторяется постоянно и вручную занимает слишком много времени. В зрелых командах регрессионный набор запускается автоматически при каждой сборке.
Связанные термины
Автоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.
Software TestingТестирование ПО — проверка того, что программа работает так, как задумано: соответствует требованиям, корректно ведёт себя при неожиданных данных и не ломается там, где раньше работала. Цель — найти дефекты до того, как их найдёт пользователь.
CI/CDCI/CD — автоматический конвейер, через который проходит каждое изменение кода: сборка, запуск тестов и доставка готовой версии на серверы. Разработчик отправляет код в репозиторий, а всё остальное происходит без ручных действий.
Test CaseТест-кейс — описание одной проверки: при каких условиях, какие шаги выполнить, с какими данными и что считается правильным результатом. По хорошему тест-кейсу проверку может выполнить любой человек в команде и получить тот же вывод.
QAQA (Quality Assurance) — обеспечение качества продукта: работа над тем, чтобы дефекты не появлялись, а не только находились. QA охватывает весь процесс разработки — от анализа требований до выпуска версии.