Как инструменты покрытия кода работают?

Как инструментам покрытия кода нравится NCover, знают, какие части кода выполнялись и каковы части не были?

54
задан Hannoun Yassir 15 June 2010 в 22:09
поделиться

3 ответа

Вот техническая статья о Как реализовать инструменты тестового покрытия для произвольных языков .

Моя компания создает семейство инструментов для покрытия тестов для Java, C #, C ++, PHP, COBOL, PLSQL, ... на основе этого принципа.

16
ответ дан 7 November 2019 в 08:11
поделиться

Цитата прямо из NCover FAQ : NCover сообщает процент ветвей в коде, которые были выполнены в ходе вашего автоматического тестирования. Это достигается за счет инструментирования исходного кода в каждой ветке и записи «хитовых» точек в файл. Эти «хит-пойнты» затем сравниваются с общим количеством возможных «попаданий».

8
ответ дан 7 November 2019 в 08:11
поделиться

Это требует, чтобы вы запускали тесты один раз с включенным анализом покрытия кода, а затем просто подсчитывали количество охваченных блоков (то есть блоков области видимости) и сравнивали с общим количеством блоков в проект (ы), которые вы тестируете.

Основная причина заключается в том, что если покрывается каждая возможная комбинация кодовых блоков, покрываются все кодовые пути 1 . Главный аргумент против придания слишком большого значения числам покрытия кода заключается в том, что «простые» блоки, такие как геттеры и сеттеры, которые не дают реального значения (и вряд ли могут пойти не так ...), считаются так же, как и более подверженные ошибкам блоки кода .


1) Как отметил Ира Бакстер в комментарии, предыдущая формулировка этого предложения была неправильной. Пожалуйста, прочтите комментарии, чтобы обсудить это.

2
ответ дан 7 November 2019 в 08:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: