Что такое критерии выхода (Exit Criteria) в тестировании?

«Что такое критерии выхода (Exit Criteria) в тестировании?» — вопрос из категории Управление тестированием, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Критерии выхода (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("Критерии не выполнены. Продолжить тестирование.")

Важность: Критерии выхода предотвращают преждевременный релиз неготового продукта и дают команде объективное основание для принятия решений.