Какие три ключевые метрики ты отслеживаешь в процессе тестирования?

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

Ответ

Топ-3 метрики для мониторинга качества тестирования:

1. Стабильность тестов (Test Stability/Flakiness Rate)

Зачем: Определяет надёжность тестовой системы. Нестабильные тесты снижают доверие к результатам.

Как считать:

Flakiness Rate = (Количество нестабильных прогонов / Всего прогонов) × 100%

Пример мониторинга:

# Анализ истории выполнения теста
def analyze_test_stability(test_runs):
    total_runs = len(test_runs)
    flaky_runs = sum(1 for run in test_runs 
                     if run['result'] not in ['PASSED', 'FAILED'])

    stability = ((total_runs - flaky_runs) / total_runs) * 100
    return f"Stability: {stability:.1f}%"

2. Скорость обратной связи (Feedback Time)

Зачем: Время от коммита до результата тестов. Критично для CI/CD.

Целевые значения:

  • Unit-тесты: < 5 минут
  • Интеграционные: < 15 минут
  • E2E: < 30 минут

Оптимизация:

  • Параллельный запуск тестов
  • Сегментация по приоритету
  • Использование кэширования зависимостей

3. Покрытие критического функционала (Critical Path Coverage)

Зачем: Гарантирует, что основные пользовательские сценарии защищены тестами.

Как измерять:

Critical Coverage = (Тестируемые крит. сценарии / Все крит. сценарии) × 100%

Пример трекинга:

critical_scenarios:
  - user_registration
  - checkout_process
  - payment_processing

tested_scenarios:
  - user_registration: ✅
  - checkout_process: ✅
  - payment_processing: ⏳

coverage: 66%  # 2 из 3 протестированы

Дополнительные метрики для рассмотрения:

  • Defect Escape Rate — баги, пропущенные тестами
  • Test Maintenance Cost — время на поддержку тестов
  • Automation ROI — экономия от автоматизации