Ответ
Критерии выхода (Exit Criteria) — это заранее определенный и измеримый набор условий, которые должны быть выполнены для того, чтобы фаза тестирования (или тестовый цикл) могла быть официально завершена. Это объективные метрики, а не субъективное мнение.
Цель: Четко определить точку, когда качество продукта считается достаточным для перехода к следующему этапу (например, к релизу).
Типичные критерии выхода:
| Критерий | Описание | Пример метрики |
|---|---|---|
| Завершенность тестов | Все запланированные тесты выполнены. | 100% тест-кейсов пройдены. |
| Качество дефектов | Критические и блокирующие баги исправлены. | 0 открытых багов с приоритетом Blocker/Critical. |
| Стабильность дефектов | Исправления багов верифицированы, регрессии не найдены. | Все баги в статусе Closed или Verified. |
| Покрытие кода | Критические модули покрыты тестами. | Code coverage >= 80% для ключевых компонентов. |
| Производительность | Система соответствует нефункциональным требованиям. | Время отклика API < 200 мс под нагрузкой. |
| Приемочное тестирование | Продукт принят заказчиком/стейкхолдером. | Подписаны Acceptance Test Reports. |
Практический пример (псевдокод для отчета):
def is_exit_criteria_met(project):
criteria = {
"tests_executed": project.executed_tests == project.planned_tests,
"critical_bugs_fixed": project.open_critical_bugs == 0,
"coverage_ok": project.code_coverage >= 80,
"performance_ok": project.avg_response_time < 200
}
return all(criteria.values()) # Все критерии должны быть True
if is_exit_criteria_met(current_project):
print("Критерии выхода достигнуты. Тестирование может быть завершено.")
else:
print("Критерии не выполнены. Продолжить тестирование.")
Важность: Критерии выхода предотвращают преждевременный релиз неготового продукта и дают команде объективное основание для принятия решений.