Как измерить плотность дефектов?
Существует ли стандартный способ измерения плотности дефектов? Большинство сайтов онлайн заявляют, что это должно быть измерено как:
number of defects discovered / the code size
Мои вопросы:
- Должны ли дефекты, "исправленные" в течение периода, вычитаться из обнаруженных дефектов?
- Что делать с дефектами, которые решено исправить в следующем выпуске, из-за нехватки времени? Должны ли эти дефекты отставания быть добавлены в плотность следующего выпуска?
- KLOC в знаменателе, вероятно, не является хорошей мерой, если было доказано, что код излишне раздут из-за сильного дублирования. Как следует учитывать это?
- Можно ли сопоставить отток в конкретный период времени и существующее отставание дефектов для определенного модуля с количеством дефектов, созданных / обнаруженных в результате оттока
Наша конечная цель состоит в том, чтобы (а) сравнить нашу плотность дефектов с отраслевыми стандартами (б) выявить модули, которые являются хрупкими и более ошибочными и заслуживают большего внимания (в) использовать непротиворечивую метрику для построения линии тренда, демонстрирующей улучшение качества модуля с течением времени
5 ответов
Я предполагаю, что Defect Density
используется для определения скорости, с которой ваши программисты генерируют дефекты, в то время как вычитание фиксированных дефектов связано с количеством жалоб, поданных вашими клиентами / конечными пользователями.
Из ваших целей: (а) кажется несостоятельным, (б) чрезвычайно острым и будет приносить дивиденды и (в) может вызвать ложный оптимизм.
Вы действительно должны стремиться к Zero Defects
и для целей метрики вы должны игнорировать найденные и исправленные ошибки перед выпуском.
Плотность дефектов - это количество подтвержденных дефектов, обнаруженных в программном обеспечении / модуле в течение определенного периода разработки / эксплуатации, деленное на размер программного обеспечения / модуля. ('дефекты (подтверждены и согласованы (не просто сообщены))).
Плотность дефектов: Плотность дефектов = Дефект / размер блока
Здесь могут возникнуть вопросы: для чего на самом деле предназначен этот размер? Размер блока = размер обычно учитывается либо в строках кода, либо в функциональных точках. Будучи хорошим программистом, вы должны быть достаточно уверены, что в вашем коде нет дублирования, которое могло бы раздуть ваш размер кода.
Пример: предположим, что в 1 KLOC найдено 10 ошибок, поэтому DD равен 10/KLOC.
Плотность дефекта используется для измерения качества кода / модуля / требования / продукта. Да, стандарт для измерения одинаковый: плотность дефектов = количество дефектов / размер
но здесь, если мы используем размер как KLOC (тысяча строк кода) или FP (функциональные точки), тогда может быть трудно рассчитать то же самое, а иногда для клиента (или некоторых держателей) это не имеет никакого смысла. Таким образом, мы должны учитывать следующие моменты при расчете плотности дефектов.
- Количество дефектов должно быть рассчитано путем сложения всех дефектов, связанных с кодом (они должны включать в себя проверку дефектов, внутренних ошибок и ошибок клиента /UAT), поскольку все ошибки связаны с кодом и, следовательно, должны быть частью плотности дефектов.
- Выравнивание количества дефектов в зависимости от их серьезности перед их добавлением дает более точный результат, и это тоже стандарт. Можно рассматривать это как критический баг = 5, высокий = 3, средний = 1, низкий = 0,5. Это иногда называют взвешенной плотностью дефектов, но более точно в результатах.
- Размер не должен быть ограничен только строками кода или функциональными точками. Это может быть нет. требований тоже. Самый простой и эффективный способ - это взять размер за время, потраченное на кодирование (это не должно включать проверку кода, усилия по переработке кода). Таким образом, Плотность дефектов можно рассматривать как Дефекты на 100 человеко-дней усилий, затраченных на кодирование, и если у вас есть заданная цель проекта, вы можете увидеть, соответствует ли она вашей цели или нет.
Это эффективный и простой способ расчета плотности дефектов с периодом времени, который вы можете увидеть, улучшаете ли вы или нет.
total number detected defects in your developed software divided by size of your software in line of code . it is calculated in KLOC ,it means it is multiply by 1000
for example
defects found are 12
size is 2000
defect density= defects/size
answer=.006
it is calculated in kloc so .006*1000=6 so defect density is 6
Дефект - это, в основном, когда продукт поставляется заказчику после того, как какая-либо функциональность не работает, или вы можете сказать, что отклонение от требований пользователя не позволяет измерить дефект, но вы можете предпринять некоторые меры для предотвращения его дефекта, это можно сделать с помощью различные способы тестирования, некоторые из важных вы найдете ниже:
- Тестирование дыма
- Тестирование в здравом уме
- Тестирование черного ящика
- Белое Тестирование
- Нагрузка и стресс-тестирование
У вас должно быть полное знание того, что ваш клиент просит от вас, это поможет вам избежать дефектов.