Ответ
Ключевые критерии завершения (exit criteria) тестирования формально определяются в Плане тестирования (Test Plan). Это основной документ, который согласуется со всеми заинтересованными сторонами (менеджмент, разработка, продукт).
Типичные критерии, прописанные в плане:
-
Критерии покрытия:
- Достигнуто 100% покрытие тестами всех утвержденных требований (requirements coverage).
- Достигнут целевой процент покрытия кода (code coverage), например, 80% для модульных тестов.
-
Критерии выполнения тестов:
- Выполнены 100% тест-кейсы высокого приоритета (Smoke, Sanity, Critical Path).
- Выполнено X% от общего числа запланированных тест-кейсов (например, 95%).
-
Критерии качества (дефекты):
- Все дефекты с приоритетом Blocker (P0) и Critical (P1) исправлены и перепроверены.
- Количество открытых дефектов с приоритетами Major (P2) и ниже не превышает согласованного лимита и не блокирует релиз.
- Все найденные дефекты задокументированы в баг-трекере.
-
Процессуальные и бизнес-критерии:
- Подписана Матрица приемки (Acceptance Criteria Matrix) или Отчет о приемке (Acceptance Report).
- Проведен и успешно пройден Demo или Showcase для стейкхолдеров.
- Выполнены нефункциональные требования (производительность, безопасность), если применимо.
Пример раздела в Test Plan:
### 5. Exit Criteria
- Все требования из Sprint Backlog покрыты тест-кейсами.
- 100% smoke-тестов выполнены успешно.
- 0 открытых багов с приоритетом P0 или P1.
- Product Owner подписал Acceptance Report. Ответ 18+ 🔞
Ага, вот эта тема про «когда уже можно прекращать эту вакханалию и выпускать продукт на волю». Формально, конечно, всё прописано в Плане тестирования, этот документ — как свод законов для всей команды, его все подписывают, а потом на него же и ссылаются, когда начинается: «А можно уже?».
Ну, смотри, обычно там прописывают вот такие пункты, чтобы всем было понятно, когда пора кричать «Ура!» или, наоборот, «Ёпта, ещё недельку».
1. Критерии «натыкали тестов, как ёжиков в лесу»:
- Все утверждённые требования должны быть покрыты тестами на все сто, блядь, процентов. Ни одна фича не должна ускользнуть.
- Должен быть достигнут какой-то магический процент покрытия самого кода. Типа, «ребята-разработчики, покажите нам 80% покрытия юнит-тестами, а то мы вам не верим».
2. Критерии «мы всё перепробовали, руки уже отваливаются»:
- Все самые важные тесты — дымовые, проверки здравого смысла, главные сценарии — должны быть пройдены на 100%. Это святое.
- И в целом, от общего запланированного объёма тестов должно быть выполнено, ну, скажем, 95%. Оставшиеся 5% — это обычно какая-нибудь экзотика, на которую всем уже похуй.
3. Критерии «с багами разобрались или договорились»:
- Все дефекты уровня «всё рухнуло, пиздец» (Blocker) и «очень больно, но дышим» (Critical) — должны быть не просто исправлены, а ещё и перепроверены. Чтобы не вышло, как в том анекдоте: «починили — не включается».
- Количество открытых багов уровня «можно жить, но неприятно» (Major) и ниже не должно превышать какую-то договорённую цифру. И они не должны мешать релизу. То есть, если баг — это опечатка в сообщении об ошибке на 47-м экране, а релиз — завтра, то, ядрёна вошь, иногда можно и так выпустить.
- И, само собой, все найденные косяки должны быть не на салфетке записаны, а в нормальной системе учёта. Чтобы потом не было: «А кто говорил, что тут кнопка кривая?».
4. Критерии «бумажки подписаны, начальство довольно»:
- Product Owner или кто там у вас главный по продукту должен подписать бумажку, что он принимает работу. Это называется «Матрица приемки». Без этой подписи — доверия ебать ноль.
- Должен быть успешно проведён показ финального результата стейкхолдерам (Demo). Чтобы все сказали «о, круто!», а не «ни хуя себе, это мы два месяца делали?».
- Если были требования «не про то, как работает, а как хорошо работает» (производительность, безопасность) — они тоже должны быть выполнены. А то получится быстрый, но дырявый как решето софт.
Вот как это примерно выглядит в том самом плане, в разделе «Давай, закругляйся»:
### 5. Exit Criteria (Точка, где можно сказать «Всё, пиздец, заканчиваем!»)
- Все требования из Sprint Backlog покрыты тест-кейсами.
- 100% smoke-тестов выполнены успешно.
- 0 открытых багов с приоритетом P0 или P1.
- Product Owner подписал Acceptance Report.
Вот примерно так, чувак. Всё это нужно, чтобы не получилось, как с тем Герасимом — взял да и утопил всё в конце спринта, потому что совесть замучила, а договориться ни с кем не смог.