Критерии приемки (Acceptance Criteria): краткий обзор
Критерии приемки (Acceptance Criteria, AC) — это набор условий, которым должна удовлетворять пользовательская история (User Story), чтобы её считали выполненной. Критерии приёмки уникальны для каждой User Story (US) и являются основой для тестирования.
Для чего нужны
- Позволяют понять, выполнена ли US и работает ли, как ожидалось.
- Определяют негативные сценарии и объясняют, как система должна реагировать на них.
- Создают у клиента и команды разработки единое видение того, как должна быть реализована функциональность.
- Помогают выявить проблемы на ранних этапах разработки.
Крит ерии приемки должны:
- Быть определены до того, как начнется разработка US.
- Иметь четкие формулировки для проверки их выполнения: «принято» или «не принято». AC должны описывать конкретное поведение или результат, который ожидается от функции.
- Соответствовать ценности и цели пользователя и продукта.
Подходы к составлению критериев приемки
- Сценарно-ориентированный подход (Scenario-based acceptance criteria)
- Свод правил или чек-лист (Rule-based acceptance criteria)
Сценарно-ориентированный подход
Соответствует формату Дано/Когда/Тогда (Given/When/Then):
- Given (Дано): чёткое описание контекста, состояние системы в начальный момент времени.
- When (Когда): действие, которое выполняет пользователь или система.
- Then (Тогда): ожидаемый результат
Также можно дополнительно использовать:
- Сценарий — название поведения, которое будет описано.
- И / ИЛИ — для продолжения любого из трёх предыдущих утверждений.
Пример US:
Как пользователь, я хочу иметь возможность восстановить пароль от своей учетной записи, чтобы если я забыл пароль, мог получить доступ к своей учетной записи.
- Сценарий: Забыт пароль
- Дано: пользователь переходит на страницу входа.
- Когда: пользователь выбирает опцию
забыл пароль. - И: вводит действительный адрес эл. почты для получения ссылки на восстановление пароля.
- Тогда: Система отправляет ссылку на указанный адрес электронной почты.
Свод правил (чек-листы)
Это простой список правил о том, как всё должно работать после реализации требования.
Пример:
- Все кнопки должны иметь скругленные углы радиуса 10.
- Пользователь может выбирать способ авторизации с паролем или через получение OTP.
- В случае неправильного ввода пароля два раза подряд система отображает пользователю капчу.
AC vs DoR vs DoD
DoR (Definition of Ready) — это набор условий, которые должны быть выполнены, прежде чем команда может взять US в работу.
Пример:
- Задача описана и декомпозирована.
- Подготовлены CJ, HLD, прикреплены макеты дизайна.
- Прописаны AC и т.д.
DoD (Definition of Done) — набор условий, которые должны быть выполнены, чтобы пользовательская история считалась завершенной.
Пример:
- Реализация соответствует ТЗ.
- Выполнены AC.
- Пройдены все тест-кейсы.
- Составлена документация.
- Получены все необходимые одобрения и т.д.
Главная разница
- DoD и DoR одинаковые для всех US.
- AC уникальны для каждой US.
Использование Gherkin
Gherkin — сценарно-ориентированный язык, который л егко читается бизнесом и используется для описания функциональности программного обеспечения.

Применяется для:
- Документирования пользовательских сценариев.
- Написания автоматизированных тестов.
Подборка материалов
- Как разработать критерии приёмки для US
- Критерии приемки с примерами
- Болезни плохих пользовательских историй
- Критерии приемки в TDD
- Разница между US и критериями приемки
- О связи DoD и AC
- Definition of Ready
- DoR, DoD, AC
Видео
- DoD и AC
- Критерии готовности и Критерии приемки
- Definition of Done (SCRUM)
- Зачем нужны DoR, DoD
- Мастер-класс про US и критерии приёмки