Что такое тестовое покрытие и как его измерить?

Manual QA Senior Процессы и Метрики обновлено 12.10.2025

Краткий ответ

Тестовое покрытие — это показатель полноты тестирования, показывающий, какая часть функционала или кода проверена тестами.
Его измеряют через метрики — например, процент протестированных требований, сценариев или строк кода.

Пример:
Если из 100 тест-кейсов выполнено 80 — покрытие = 80%.
Если из 50 требований протестировано 45 — покрытие = 90%.

Полный ответ

🔹 Определение

Тестовое покрытие (Test Coverage) — это метрика, отражающая, насколько полно тесты охватывают функционал, требования или код приложения.
Это один из ключевых показателей качества тестирования: чем выше покрытие — тем меньше риск пропустить дефекты.


🔹 Виды тестового покрытия

Вид покрытия Что измеряет Как считается Пример
Покрытие требований (Requirements Coverage) Насколько все требования проверены тестами (Покрытые требования / Все требования) × 100% Из 50 требований протестировано 45 → 90%
Покрытие тест-кейсов (Test Case Coverage) Сколько тест-кейсов выполнено (Выполненные тесты / Все тесты) × 100% Из 100 кейсов выполнено 80 → 80%
Покрытие кода (Code Coverage) Какая часть кода выполняется при автотестах Автоматически измеряется (lines, branches, functions) 75% строк кода исполняются при запуске тестов
Покрытие функционала (Feature Coverage) Какие модули системы проверены Сопоставляется с функциональной картой Проверено 8 из 10 модулей → 80%

🔹 Как измерить тестовое покрытие

  1. Для ручного тестирования:

    • Составить таблицу “Требование → Тест-кейс”.

    • Посчитать, сколько требований имеют хотя бы один тест.

    • Использовать TestOps, Qase.io, TestRail — они считают процент автоматически.

  2. Для автотестов:

    • Использовать инструменты анализа покрытия кода:
      JaCoCo (Java), Coverage.py (Python), Istanbul/NYC (JS), SonarQube.

    • Метрики:

      • Line coverage — доля строк кода, которые выполнялись при тестах.

      • Branch coverage — покрытие ветвлений (if/else).

      • Function coverage — покрытие функций.


🔹 Пример из практики

Требование Есть тест? Покрытие
Регистрация
Авторизация
Сброс пароля
Изменение профиля
Выход из системы

📊 Покрытие требований: 4 из 5 → 80%.


🔹 Важно понимать

  • 100% покрытия не гарантирует отсутствие багов, но снижает риск пропусков.

  • Оптимальное значение зависит от проекта:

    • unit-тесты → 70–80%;

    • функциональные автотесты → 60–70%;

    • ручные кейсы по требованиям → 90–100%.


💡 Итог:
Тестовое покрытие показывает, насколько продукт проверен тестами.
Его можно измерять по требованиям, тестам или коду, а высокий процент покрытия = низкий риск сюрпризов на проде.

Оцените ответ
0 / 5 · 0