2008-10-11 4 views
3

Что такое% покрытия кода в вашем проекте? Мне любопытно, почему.Каков процент покрытия кода для вашего проекта?

Разве команда разработчиков довольна этим? Если нет, то что стоит на пути от его увеличения?

Stuart Halloway - один из тех, чьи проекты направлены на 100% (или же разрывы строек!). Кто-нибудь на этом уровне?

Мы находимся в болезненном 25%, но стремимся к 80-90% для нового кода. У нас есть устаревший код, который мы решили оставить в покое, поскольку он испаряется (мы активно переписываем).

ответ

3

Мы работаем с охватом 85% кода, но падение ниже его не нарушает сборку. Я считаю, что использование кода в качестве важного показателя является опасной практикой. Просто потому, что что-то рассматривается в тесте, не означает, что покрытие является хорошим. Мы стараемся использовать его в качестве руководства для тех областей, в которых мы слабо охвачены, а не как факт.

+0

re: покрытие нет гарантия. действительно, это правда. IMO, это полезный инструмент как часть смешивания –

2

80% - это критерии выхода для вехи. Если мы не сделаем это thrgouh спринт (хотя мы планируем время впереди), мы добавляем его через стабилизацию. Мы можем взять исключение для конкретного компонента или функции, но мы открываем элемент Pri 1 для следующей вехи.

Во время кодирования покрытие кода автоматически измеряется в ежедневной сборке, и отчет отправляется всей команде. Все, что подпадает под 70%, - желтый, менее 50% - красный. Мы не выходим из строя в настоящее время, но у нас есть план добавить это в следующую веху.

Не знаете, что делает dev, связанное с модульным тестированием. Devs нанимаются для создания качественного продукта, и должен быть процесс, обеспечивающий минимальное качество и способ его измерения. Если кто-то не удовлетворен процессом, они могут предложить другой способ проверки своего кода, прежде чем он будет интегрирован с остальными компонентами.

Кстати, мы также измеряем покрытие кода на автоматизированных сценариях. Таким образом, у нас есть три unmbers - unit, сценарий и комбинированный.

+0

спасибо за ответ, Franci. Re: счастье, я пытался спросить о любой напряженности между командой разработчиков и руководством. е. часто разработчики хотят, чтобы их охват был выше. –

+0

@ Michael Easter: Мне еще предстоит работать на месте, где руководство будет настаивать на более качественном контроле над продуктом. И я бы не хотел работать в таком месте. –

0

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

1) Мы обычно автоматизируем новую функциональность после выпуск, который вручную протестирован для его первого выпуска и, следовательно, не включен в анализ покрытия. Автоматизация в первую очередь предназначена для функциональной регрессии в нашем случае и является лучшим местом для выполнения и улучшения охвата кода.

2) Для получения покрытия 100% требуется впрыск, так как вам нужно попасть внутрь обработчиков операций. Это сложно и требует много времени для автоматизации. В настоящее время мы этого не делаем и, следовательно, никогда не получим 100%. Книги Джеймса Уиттакерса на странице breaking software покройте эту тему хорошо для всех, кто интересуется.

Следует также помнить, что покрытие кода не соответствует испытанию покрытия, как это часто обсуждается в таких потоках, как this и this на SQAforums. Таким образом, 100% охват кода может быть ошибочным показателем.

+0

Также стоит помнить, что 100% охват кода может быть только вводящим в заблуждение метрикой, как только вы достигнете этого. После того, как вы там, вы можете посмотреть, как улучшить ваше тестовое покрытие. – quamrana

+0

спасибо smacl и quamrana ... почему этот ответ проголосовали? –

+0

Добро пожаловать, и не знаю, почему это было отклонено. Возможно, мы не используем покрытие кода для целей принятия сборки. Покрытие кода, хотя и полезно, никоим образом не подкрепляет нашу стратегию тестирования или контроля качества. –

0

Пару лет назад I measured Perl's test coverage. К концу 250 тестовых случаев он достиг 70% кода и 33% полностью протестированных филиалов

1

Наша цель компании - покрытие 80% заявлений, включая код обработки исключений. Лично мне нравится быть выше 90% от всего, что я проверяю.

+0

Как правило, что находится в пропавших 20%? Просто любопытно. –

+1

Это действительно хороший вопрос. Я не могу говорить за чужой код. В моих собственных, единственных утверждениях, которые не охвачены, есть методы, которые вы вынуждены переопределять и используются в основном для ведения журналов. – moffdub

0

0% к сожалению на нашем рабочем месте. Будет стремиться улучшить это, но, пытаясь рассказать боссам, что нам это нужно, это непросто, так как они видят тестирование! = Кодирование меньше денег.

+0

re: боссы. Это жесткая продажа, Forser. Конечно, вы и я знаем, что тестирование == ловушки ошибок раннее == меньше денег, затраченных на решение проблем. Поскольку это «трехстороннее» уравнение, часто трудно связать с нетехническими –

0

Проект, который я сделал пару лет назад, достиг 100% покрытия линии, но у меня был полный контроль над ним, чтобы я мог обеспечить цель.
Теперь у нас есть цель получить 50% нового кода, цифра, которая будет расти в ближайшем будущем, но никак не может ее измерить. Скоро у нас появятся инструменты для измерения охвата кода при каждом ночном тестировании модульных тестов, поэтому я убежден, что наша позиция улучшится.

 Смежные вопросы

  • Нет связанных вопросов^_^