Покрытие кода
Метрика, измеряющая процент кода, выполненного во время тестирования, показывающая, какая часть кодовой базы покрыта автоматическими тестами.
Определение
Инструменты покрытия кода отслеживают, какие строки, ветки, функции и выражения выполняются во время тестов. Распространенные метрики: Line Coverage (выполненные строки), Branch Coverage (пройденные пути решений), Function Coverage (вызванные функции), Statement Coverage (выполненные выражения). Инструменты: Istanbul (JavaScript), Coverage.py (Python), JaCoCo (Java).
Почему это важно
80% покрытия кода — распространенная цель в индустрии. Однако высокое покрытие не гарантирует качество — возможно иметь 100% покрытия с плохими тестами. Покрытие полезно для выявления непротестированных путей кода. Команды с >70% покрытия имеют на 40% меньше багов в продакшне.
Пример
Отчет о покрытии показывает, что модуль обработки платежей имеет 95% покрытия строк, но только 60% покрытия веток, выявляя, что пути обработки ошибок требуют больше тестов.