В чем разница между приемочным и регрессионным тестированием?

«В чем разница между приемочным и регрессионным тестированием?» — вопрос из категории Основы тестирования, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Приемочное тестирование (Acceptance Testing, UAT) — это финальная проверка, что реализованный продукт соответствует бизнес-требованиям и готов к использованию конечным пользователем. Фокус на валидацию (правильный ли продукт мы сделали?).

Регрессионное тестирование (Regression Testing) — это проверка, что новые изменения (фичи, багфиксы) не нарушили существующий, ранее работавший функционал. Фокус на верификацию (старая функциональность всё ещё работает правильно?).

Сравнительная таблица:

Критерий Приемочное тестирование Регрессионное тестирование
Цель Подтвердить соответствие бизнес-требованиям. Обнаружить регрессионные дефекты после изменений.
Кто выполняет Заказчик, продукт-оунер, бизнес-аналитик, иногда QA. Преимущественно QA-инженеры (ручное/авто).
Основа User Stories, критерии приемки (Acceptance Criteria), бизнес-сценарии. Набор регрессионных тест-кейсов, чек-листы, автотесты.
Уровень Системный, часто сквозные (end-to-end) сценарии. Все уровни (юнит, интеграционные, системные).
Идеальный подход Ручное выполнение реальных пользовательских сценариев. Автоматизированное для скорости и повторяемости.

Практический пример для интернет-магазина:

  • Приемочный тест:
    • Сценарий: "Как зарегистрированный пользователь, я хочу применить промокод 'SUMMER10' к корзине, чтобы получить скидку 10% на заказ свыше 1000 рублей."
    • Выполнение: Продукт-оунер вручную создаёт заказ, применяет промокод и проверяет, что итоговая сумма корректно пересчиталась, а скидка отобразилась в чеке.
  • Регрессионный тест:
    • Сценарий: После внедрения новой функции "подарочные карты" необходимо убедиться, что:
      1. Старый промокод 'SUMMER10' по-прежнему работает.
      2. Промокод и подарочная карта не могут быть применены одновременно, если это запрещено логикой.
      3. Оформление заказа без промокода работает как прежде.
    • Выполнение: QA запускает набор автотестов, покрывающих эти и другие ключевые сценарии работы с корзиной и заказами.

Связь: Успешное приемочное тестирование часто добавляет новые сценарии в регрессионную базу для защиты от будущих регрессий.