Что такое критерии завершения тестирования (Test Exit Criteria)?

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

Ответ

Test Exit Criteria — это заранее определённый набор измеримых условий, которые должны быть выполнены для принятия решения о завершении тестирования и готовности продукта к выпуску.

Цель: Объективно определить момент окончания тестирования, избегая субъективных решений и преждевременного релиза.

Типичные примеры критериев:

  • Качество дефектов: Все дефекты с критическим и высоким приоритетом исправлены и перепроверены.
  • Покрытие: Достигнут целевой уровень покрытия кода (code coverage) или требований (requirements coverage), например, 90%.
  • Выполнение тестов: Успешно выполнены все запланированные тестовые сценарии, включая smoke, регрессионные и acceptance-тесты.
  • Производительность: Ключевые метрики производительности (время отклика, пропускная способность) соответствуют SLA.
  • Стабильность: Приложение работает стабильно в течение определённого времени (например, 48 часов) без критических сбоев.

Пример проверки на Python:

def is_testing_complete(critical_bugs_fixed, test_coverage_percent, all_tests_passed):
    """Функция проверки критериев выхода."""
    exit_criteria_met = (
        critical_bugs_fixed == 100 and  # 100% критических багов исправлено
        test_coverage_percent >= 90 and  # Покрытие >= 90%
        all_tests_passed == True         # Все тесты пройдены
    )
    return exit_criteria_met

# Использование
if is_testing_complete(100, 92, True):
    print("Критерии завершения тестирования выполнены. Можно готовить релиз.")
else:
    print("Тестирование необходимо продолжить.")

Критерии обычно определяются на этапе планирования тестирования (Test Plan) и согласуются со всеми заинтересованными сторонами.