Покрытие кода - это измерение того, сколько строк / блоков / дуг вашего кода выполнено во время выполнения автоматических тестов.
Покрытие кода собирается с помощью специализированного инструмента, который позволяет двоичным инструментам добавлять трассировочные вызовы и запускать полный набор автоматических тестов для инструментального продукта. Хороший инструмент даст вам не только процент выполненного кода, но также позволит вам углубиться в данные и точно определить, какие строки кода были выполнены во время определенного теста.
Наша команда использует Magellan - собственный набор инструментов покрытия кода. Если вы магазин .NET, Visual Studio имеет встроенные инструменты для сбора покрытия кода. Вы также можете свернуть некоторые пользовательские инструменты, например , в этой статье описаны.
Если вы магазин C ++, у Intel есть инструменты , которые работают для Windows и Linux, хотя я ими не пользовался. Я также слышал, что есть инструмент gcov для GCC, но я ничего о нем не знаю и не могу дать вам ссылку.
Что касается того, как мы его используем - покрытие кода является одним из критериев выхода для каждого этапа. На самом деле у нас есть три метрики покрытия кода - покрытие из модульных тестов (от команды разработчиков), сценариев (от команды тестирования) и комбинированное покрытие.
Кстати, хотя охват кода является хорошим показателем того, сколько тестов вы проводите, он не обязательно является хорошим показателем того, насколько хорошо вы тестируете свой продукт. Есть другие метрики, которые вы должны использовать вместе с охватом кода для обеспечения качества.