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