Какие критерии выхода (exit criteria) определены в тест-плане?

Ответ

Критерии выхода — это измеримые условия завершения тестирования. Основные из них:

  1. Покрытие требований: Все ключевые функциональные и нефункциональные требования проверены (например, достигнуто 100% покрытия).
  2. Прохождение тестов: Выполнена запланированная доля тест-кейсов с допустимым процентом успешных проходов (например, ≥95%).
  3. Качество дефектов: Критичные (Critical/Blocker) и высокоприоритетные (High/Major) баги исправлены. Количество открытых дефектов низких уровней не превышает установленного лимита.
  4. Стабильность системы: В ходе нагрузочного тестирования или в течение заданного времени не происходит критических сбоев.
  5. Достижение метрик качества: Выполнены целевые показатели производительности, безопасности, удобства использования.

Пример формулировки в тест-плане:

Exit Criteria:
- 100% прохождение smoke-тестов.
- 0 открытых дефектов с приоритетом Critical или High.
- Покрытие кода тестами ≥ 80%.
- Среднее время отклика ключевых API < 200 мс.

Ответ 18+ 🔞

А, ну это ж классика, блядь! Критерии выхода! Это когда уже настолько всё заебало, что хочется крикнуть «да похуй, выпускайте эту хуйню в прод, я больше не могу!», но нельзя, потому что потом тебя же и спросят, какого хуя.

Так вот, чтобы не быть крайним, нужно заранее договориться, когда можно будет свалить с этого цирка. Это и есть критерии, ёпта.

Первое, и самое главное — покрытие требований.
То есть, если в техзадании было «кнопка должна быть зелёной и издавать звук „буп“», то ты эту кнопку нашёл, нажал, она позеленела и сказала «буп». И так со всеми пунктами, блядь. В идеале — все сто процентов. Если какой-то пункт «в рот меня чих-пых» оказался нереализуемым, это должно быть оговорено и утверждено ещё вчера. Иначе потом прилетит: «а мы думали, вы сами догадаетесь!».

Второе — прохождение тестов.
Ты написал кучу тест-кейсов, половина из которых — полная хуйня, но начальству нравится, когда много. Так вот, нужно, чтобы большая часть этой хуйни (допустим, 95%) прошла успешно. Остальные 5% — это обычно какие-нибудь ебушки-воробушки вроде «система должна корректно работать при одновременном входе миллиона пользователей под одним логином». Ну, да похуй, закроем баг-репортом «не воспроизводится в реальных условиях».

Третье — качество дефектов.
Это святое, блядь. Критические баги (которые всё ломают) и высокоприоритетные (которые сильно бесят) — должны быть все пофикшены. Ноль. Ни одного. Иначе выпустишь продукт, а он, сука, на первом же экране у клиента накроется медным тазом. А вот мелкие косяки, вроде «отступ на два пикселя не по макету» — их можно оставить пачку, лимит установить. Иначе никогда не выпустим, будем год пиксели двигать.

Четвёртое — стабильность системы.
Это когда ты нагружаешь её, как последнюю суку, а она не падает. Не должно быть таких ситуаций, что десять человек зашли — всё ок, а двадцать — и сервак, блядь, лег с сообщением «пиздец». Надо, чтобы она держалась под планируемой нагрузкой хотя бы какое-то время без критических пиздюлей.

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

А вот, смотри, как это обычно в плане пишут, чтоб начальство прониклось:

Exit Criteria:
- 100% прохождение smoke-тестов. (То есть самое основное не разваливается сразу)
- 0 открытых дефектов с приоритетом Critical или High. (Ничего смертельного)
- Покрытие кода тестами ≥ 80%. (Цифра красивая, всем нравится)
- Среднее время отклика ключевых API < 200 мс. (Чтобы пользователи не успели посрать в чат поддержки)

Вот когда всё это выполнено — можно смело говорить: «Всё, ребята, я сделал всё, что мог. Дальше — ваши проблемы. Я пошёл». И это, блядь, будет красиво и профессионально.