Тестовое покрытие — это показатель полноты тестирования, показывающий, какая часть функционала или кода проверена тестами.
Его измеряют через метрики — например, процент протестированных требований, сценариев или строк кода.
Пример:
Если из 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% |
Для ручного тестирования:
Составить таблицу “Требование → Тест-кейс”.
Посчитать, сколько требований имеют хотя бы один тест.
Использовать TestOps, Qase.io, TestRail — они считают процент автоматически.
Для автотестов:
Использовать инструменты анализа покрытия кода:
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%.
💡 Итог:
Тестовое покрытие показывает, насколько продукт проверен тестами.
Его можно измерять по требованиям, тестам или коду, а высокий процент покрытия = низкий риск сюрпризов на проде.
Чтобы пожаловаться или сообщить об ошибке, войдите в аккаунт или зарегистрируйтесь.