← Назад к вопросам

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

1.3 Junior🔥 141 комментариев
#Теория тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

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

Приемочное (Acceptance Testing) и системное (System Testing) тестирование — это ключевые уровни проверки программного обеспечения, но они преследуют разные цели, проводятся разными участниками и фокусируются на различных аспектах качества продукта. Их часто путают, поскольку оба являются формами тестирования «черного ящика» и выполняются на полностью интегрированной системе. Однако разница между ними фундаментальна.

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

Это инженерная деятельность, выполняемая тестировщиками (QA-инженерами) на этапе, когда продукт полностью собран и интегрирован. Его цель — проверить, соответствует ли система техническим требованиям и спецификациям (Software Requirements Specification — SRS).

Ключевые характеристики:

  • Цель: Валидация того, что система работает как задумано с технической точки зрения. Проверка соответствия функциональным и нефункциональным требованиям (производительность, безопасность, надежность, совместимость).
  • Кто выполняет: Команда контроля качества (тестировщики), независимая от разработчиков.
  • Что проверяется: Все компоненты в сборе. Фокус на поведении системы.
  • Критерии входа: Завершено интеграционное тестирование.
  • Пример сценария:
    # Пример тест-кейса для системного тестирования онлайн-банка
    Feature: Перевод средств между счетами
      Scenario: Успешный перевод при достаточном балансе
        Given Пользователь авторизован в системе
        And На счете отправителя "Основной" баланс 10000 RUB
        When Пользователь инициирует перевод 5000 RUB на счет получателя "Накопительный"
        And Подтверждает операцию корректным SMS-кодом
        Then Баланс счета "Основной" становится 5000 RUB
        And Баланс счета "Накопительный" увеличивается на 5000 RUB
        And В истории операций отображается запись о переводе
        And Система отправляет email-уведомление об операции
    
    Здесь проверяется корректность реализации бизнес-правила с технической точки зрения.

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

Это бизнес-ориентированная деятельность, нацеленная на оценку того, удовлетворяет ли система потребностям, ожиданиям и бизнес-процессам заказчика/пользователя. Его итог — решение о готовности продукта к выпуску в эксплуатацию.

Ключевые характеристики:

  • Цель: Подтверждение, что система решает реальные бизнес-задачи и готова к использованию в предполагаемой среде. Валидация (правильный ли продукт мы построили?).
  • Кто выполняет: Клиент/заказчик, бизнес-аналитики, конечные пользователи или их представители (например, Product Owner в Scrum). Часто в форме UAT (User Acceptance Testing).
  • Что проверяется: Система в контексте реального бизнес-сценария (use case). Фокус на ценность для пользователя.
  • Критерии входа: Системное тестирование в основном завершено, найдены и исправлены критические дефекты.
  • Пример сценария:
    # Пример пользовательского сценария для приемочного тестирования
    Feature: Оформление ежемесячного платежа за коммунальные услуги
      Как житель квартиры,
      Я хочу настроить автоматический платеж за ЖКУ,
      Чтобы не помнить о необходимости платить каждый месяц и избегать пеней.
    
      Scenario: Бухгалтер ЖЭУ успешно получает платеж через систему банка
        Given Бухгалтер ЖЭУ зарегистрирован в системе и имеет действующий договор с банком
        When Житель в личном кабинете банка устанавливает автоплатеж на 5000 RUB
          на 25-е число каждого месяца на расчетный счет управляющей компании
        And Наступает 25-е число, и на счете жителя достаточно средств
        Then 26-го числа бухгалтер видит поступивший платеж в выписке
        And Деньги зачислены на расчетный счет УК без необходимости ручной сверки
        And Житель получает чек на email, а в личном кабинете статус платежа "Исполнен"
    
    Здесь акцент на **удобстве, автоматизации бизнес-процесса** и удовлетворении потребностей всех сторон.

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

КритерийСистемное тестированиеПриемочное тестирование
Основная цельПроверить корректность системы (соответствие спецификациям).Проверить полезность системы (решение бизнес-задач).
Вопрос«Система работает как указано«Система решает нужную задачу
ФокусТребования системы (System Requirements).Требования пользователя/бизнеса (User/Business Requirements).
ИсполнителиПрофессиональные тестировщики (QA).Заказчик, конечные пользователи, бизнес-аналитики.
Уровень детализацииДетальный, покрывает множество позитивных/негативных кейсов, граничные значения.Высокоуровневый, охватывает полные end-to-end сценарии.
СредаМаксимально приближена к продакшену (Staging).Максимально идентична продакшену (или даже сам продакшен на пилоте).
РезультатОтчет о дефектах, решение о готовности к приемке.Формальное подписание акта приемки (Sign-off) или отказ.

Взаимосвязь в процессе разработки

Оба уровня необходимы и дополняют друг друга в жизненном цикле качества ПО:

  1. После интеграции всех модулей проводится системное тестирование. Оно отвечает за техническую готовность.
  2. Если система проходит системные проверки и стабильна, она передается заказчику для приемочного тестирования.
  3. Успешное прохождение UAT — это зеленый свет для выпуска продукта в production.

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

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