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

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

Ответ

Это разные уровни тестирования с различными целями, исполнителями и критериями успеха.

Системное тестирование (System Testing):

  • Цель: Проверить полностью интегрированную систему на соответствие техническим требованиям и спецификациям (Software Requirements Specification, SRS).
  • Кто выполняет: Команда QA-инженеров.
  • Фокус: Всесторонняя проверка функциональности, производительности, безопасности, надежности, совместимости и других нефункциональных атрибутов.
  • Критерий успеха: Система работает в соответствии с техническим заданием.

Приемочное тестирование (User Acceptance Testing, UAT):

  • Цель: Убедиться, что система удовлетворяет бизнес-требованиям и готова к использованию в реальных условиях.
  • Кто выполняет: Конечные пользователи или заказчик (часто с поддержкой бизнес-аналитиков).
  • Фокус: Соответствие реальным бизнес-процессам и сценариям использования (user stories, use cases). Проверяется "удобство" и "полезность".
  • Критерий успеха: Система решает бизнес-задачу и может быть принята для эксплуатации.

Пример для системы онлайн-банка:

  • Системное тестирование: Проверка, что перевод средств между счетами технически корректен: списание с одного, зачисление на другой, запись в лог, соблюдение ACID.
  • Приемочное тестирование: Пользователь (бухгалтер) проверяет, что после перевода в интерфейсе формируется корректная выписка, которую можно распечатать и подшить в отчет.

Ключевое отличие: Системное тестирование отвечает на вопрос "Работает ли система так, как спроектировано?", а приемочное — "Нужна ли такая система пользователю и решает ли она его задачу?".