Метрики покрытия. Прагматичный подход
-
Просто
-
Нетрудно собрать информацию о покрытии кода, и сгенерировать отчеты и графики. Обычно этим все и заканчивается. А возможно ли извлечь реальную пользу из результатов анализа покрытия?
Использование результатов анализа кода можно условно разбить на следующие категории.
Метрики
Прямое использование покрытия кода как метрики (block/line/branch, etc.) сложно в связи с трудностью определения желаемого уровня, однако возможно получение синтетических метрик, для которых цель составляет 100%.
Создание новых тестов
Разумеется, покрытие кода имеет самое прямое отношение к тому, какие тесты нужно добавить. На практике непокрытого кода оказывается слишком много, и нужна дополнительная приоритезация.
Сужение набора тестов
Одним из прямых использований результатов покрытия является уменьшение времени на тестовый запуск.
Разработка тестов одновременно с кодом
Каждое изменение кода представляет риск создания регрессии. Каждая порция нового кода может не выполнять того, что от него ожидается.
Видео
Презентация