Что такое Hot Coverage в тестировании?

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

Ответ

Hot Coverage — это метод тестирования, который измеряет, какие именно части кода были изменены (например, при рефакторинге или исправлении багов), и фокусирует повторное тестирование только на этих областях.

Цель: Сократить время выполнения регрессионных тестов, избегая полного прогона всех тестов, и повысить эффективность проверки изменений.

Как это работает:

  1. Инструменты анализа (например, на основе git diff) определяют измененные модули, классы или функции.
  2. Система выбирает и запускает только те тесты, которые покрывают измененный код.
  3. Тесты для неизмененного кода могут быть пропущены.

Пример:

# Было:
def calculate_sum(a, b):
    return a * b

# Стало (после изменения):
def calculate_sum(a, b):
    return a + b  # Изменена логика с умножения на сложение

При Hot Coverage будут автоматически перезапущены все тесты, которые вызывают функцию calculate_sum. Остальные тесты выполняться не будут.

Использование: Часто интегрируется в CI/CD pipeline для ускорения сборок в больших проектах. Инструменты: Git diff, Coverage.py, JaCoCo, специализированные плагины для систем сборки.