Что такое UAT-тестирование (User Acceptance Testing)?

Ответ

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

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

  • Цель: Проверка соответствия бизнес-процессам, а не техническим спецификациям.
  • Исполнители: Конечные пользователи, бизнес-аналитики или заказчик.
  • Время проведения: После завершения системного и интеграционного тестирования, непосредственно перед релизом.
  • Фокус: Удобство использования, полнота бизнес-логики, корректность данных в реальных сценариях.
Отличие от функционального тестирования: Критерий Функциональное тестирование UAT
Цель Проверить соответствие ТЗ/спецификациям Проверить пригодность для бизнес-задач
Кто выполняет Тестировщики QA Пользователи/заказчик
Критерии Технические требования Бизнес-требования и user stories

Пример типичного сценария UAT для интернет-магазина:

Feature: Оформление заказа
  Scenario: Успешное оформление заказа с доставкой
    Given Пользователь авторизован и добавил товары в корзину
    When Пользователь переходит к оформлению, выбирает адрес доставки и способ оплаты "Карта"
    And Подтверждает заказ
    Then Заказ создаётся в системе с статусом "Оплачен"
    And Пользователь видит страницу подтверждения с номером заказа
    And На указанный email приходит чек

Результат UAT: Формальное подписание акта приёмки (Sign-off), подтверждающее готовность продукта к запуску.

Ответ 18+ 🔞

Давай разберём эту вашу UAT, чтобы не было, как с Герасимом, который всё понимал, но нихуя сказать не мог.

Вот представь: команда инженеров, блядь, полгода пыхтит, строит вам дворец цифровой. Стены ровные, проводка не искрит, унитаз не течёт. Это всё — функциональное тестирование. Проверили по чек-листу: кнопка жмётся? Жмётся. Данные сохраняются? Сохраняются. Красиво? Как картинка. Кажется, живи — не хочу.

А потом приходит хозяин дворца — бизнес-пользователь, то есть ты. Заходишь, а тебе, блядь, неудобно. Дверная ручка, сука, на метр выше, чем надо, и ты её лбом, ёпта, нащупываешь. Холодильник встроили отличный, а вот полочка для яиц, блядь, такая, что одно яйцо на другое смотрит и плачет. Система-то работает, но жить в ней — пиздец.

Вот это и есть User Acceptance Testing (UAT) — финальная проверка, когда не айтишник с чек-листом, а ты, реальный юзер, приходишь и смотришь: а оно вообще для жизни годится? Под мои бизнес-процессы? Я тут смогу работать или только ебучу развивать?

Ключевые моменты, чтобы не обосраться:

  • Цель: Не проверить, работает ли кнопка «Сохранить» (это уже сделали), а проверить, можешь ли ты, сука, за пять минут этим инструментом отчёт для начальства слепить, а не хуйней страдать.
  • Кто рулит: Не тестировщик Вася, который знает, где баг спрятан, а ты, Мария Ивановна, бухгалтер, или ты, Сергей, менеджер по продажам. Тот, кому этим потом жить.
  • Когда: В самый конец, когда уже всё, вроде, готово и пахнет. Прямо перед тем, как систему, блядь, в продакшен выкатывать. Последний рубеж.
  • Суть: Удобно ли? Логично ли? Решает ли это мои, блядь, реальные задачи, а не задачи из техзадания, написанного полгода назад?

Чем отличается от обычного тестирования? Смотри, табличка, чтоб не путать:

Критерий Функциональное тестирование (QA) UAT (Твои мозги и руки)
Цель Всё ли работает ТОЧНО по написанным тех.требованиям? А можно ли этим, блядь, РАБОТАТЬ и закрывать свои задачи?
Кто делает Тестировщики, технари. Ты, пользователь, или заказчик.
На что смотрят На соответствие спецификациям: «При нажатии X происходит Y». На здравый смысл: «А почему после шага A меня кидает на хуй в конец формы, а не на шаг B?».

Пример сценария UAT для магазина:

Вот тебе не техническая хуйня, а нормальный человеческий сценарий, который ты в UAT прогоняешь.

Feature: Оформление заказа
  Scenario: Я, как клиент, хочу купить подарок жене так, чтобы она не узнала до дня рождения
    Given Я залогинился, набрал в корзину «Браслет золотой» и «Открытку с котиком»
    When Я иду оформлять заказ, вбиваю адрес офиса (а не дома!) и выбираю «Оплата картой»
    And Жму «Заказать» и ввожу данные своей карты
    Then Я должен увидеть НЕ «Спасибо за заказ», а чёткое сообщение «Заказ № 45678 оформлен. Мы не станем отправлять SMS-уведомления, чтобы сохранить интригу».
    And Мне на рабочую почту должен прийти чек БЕЗ названия товара в теме, а с темой «Ваш документ № 45678».
    And В личном кабинете в истории заказов этот заказ должен быть помечен иконкой «Подарок».

Видишь разницу? Не просто «заказ создался», а «заказ создался правильно для моей хитрой бизнес-цели».

Итог UAT: Если все сценарии прошли и ты не захотел разбить монитор об колено — подписывается акт приёмки (Sign-off). Это, блядь, как роспись в паспорте: «Да, я, мудак, проверил, система меня устраивает, выпускайте её в мир, претензий не имею».

А если не прошёл — всё, пиши пропало, проект возвращается инженерам доделывать, и начинается адская возня, потому что сроки горят. Так что, дружок, на UAT не забивай хуй, это твоя последняя возможность всё поправить, пока не стало поздно.