Рекомендуемые значения покрытия кода / покрытия филиала - PullRequest
5 голосов
/ 02 декабря 2011

Я использую Cobertura для вычисления покрытия кода / ветви для проекта Java с тестовыми примерами JUnit.Я знаю, что 100% охват не говорит, насколько хорош код, но на данный момент это 6%.Покрытие филиала составляет 1%.Моя интуиция говорит, что отраслевой охват, вероятно, более важен из-за характера проекта, в котором принимаются решения.Поскольку на данный момент это мой единственный крупный проект, у меня нет опыта в правильных значениях для целей покрытия кода / ветви.

Я считаю, что покрытие ветви очень важно в этом приложении, поэтому я установил требуемое значение на 100%,Я определил порог покрытия кода 80%.

Кроме того, какой фактор влияет на сложность кода для этих значений?

Я, вероятно, слишком подчеркиваю цифры, но мне хотелось бы услышатьоб опыте других людей.Я знаю, что эти значения зависят от характера проекта, но есть ли какие-то общие указания / статьи / личный опыт, на которые я могу сослаться?

Ответы [ 2 ]

5 голосов
/ 03 декабря 2011

Когда я измерил охват ветвления, полученный с помощью ручных тестов, используемых для функционального тестирования, я получил ~ 65%

Также посмотрите на Что такое разумный охват кода% для модульных тестов (и почему)?

5 голосов
/ 02 декабря 2011

Мне бы хотелось услышать об опыте других людей.

Я написал библиотеку с несколькими тысячами строк кода и набором программ, который был длиннее, чем сама библиотека. На 99,98% я охватил каждую строку, кроме одной: метод пришел из унаследованного проекта, и я не знал, как создать тестовый пример, который попадет в эту строку. Когда моя библиотека была запущена в производство, самая первая ошибка была вызвана этой единственной непроверенной строкой.

Мой домашний урок из этого проекта состоял в том, что линии, которые вы не знаете, как нанести удар, являются наиболее опасными. Если ваш проект требует принятия решений, в ваших же интересах получить 100% охват.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...