Какие факторы определяют решение о завершении тестирования в проекте?

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

Ответ

Решение о завершении тестирования — это взвешенная оценка рисков, основанная на заранее определенных и измеримых критериях (Exit Criteria).

Ключевые факторы:

  1. Выполнение критериев завершения (Exit Criteria):
    • Достигнут целевой процент покрытия кода тестами.
    • Все запланированные тестовые сценарии выполнены.
    • Выполнены требования к качеству: отсутствуют открытые баги с приоритетами Blocker/Critical, количество багов High/Medium ниже установленного порога.
  2. Оценка рисков: Анализ потенциального воздействия необнаруженных багов на бизнес и пользователей. Приемлемый уровень риска согласуется с продукт-менеджером.
  3. Ограничения по срокам и бюджету: Реальные сроки релиза могут диктовать окончание тестовой фазы.
  4. Стабильность продукта: Частота появления новых багов снизилась до минимума, основные функциональные потоки работают стабильно.

Пример формализации критериев (псевдокод):

def should_stop_testing(project_metrics, risk_profile="standard"):
    exit_criteria = {
        "test_execution": project_metrics.percent_tests_executed >= 100,
        "critical_bugs": project_metrics.open_critical_bugs == 0,
        "high_priority_bugs": project_metrics.open_high_bugs <= 3,
        "new_bug_rate": project_metrics.new_bugs_last_week < 5
    }
    # Для высокорисковых проектов критерии строже
    if risk_profile == "high":
        exit_criteria["high_priority_bugs"] = 0

    return all(exit_criteria.values())

Решение принимается совместно QA-лидом, менеджером проекта и продукт-менеджером.