如何测量缺陷密度?

时间:2011-05-20 05:57:13

标签: software-quality defects

是否有测量缺陷密度的标准方法?大多数在线网站都说它应该被测量为:

number of defects discovered / the code size

我的问题是:

  • 从发现的缺陷中减去“固定”期间的缺陷吗?
  • 由于时间不够,应该如何解决以下版本中的缺陷?这些积压缺陷是否应该添加到下一版本的密度中?
  • 如果已经证明代码由于大量重复而不必要地膨胀,则分母中的KLOC可能不是一个好的衡量标准。应该如何影响?
  • 可以将特定时间段内的流失与现有的特定模块缺陷相关联,以及 Churn
  • 创建/发现的缺陷数量>

我们的最终目标是能够(a)将我们的缺陷密度与行业标准(b)进行比较,以识别脆弱且更多错误并且值得更多关注的模块(c)使用一致的度量标准来绘制趋势线显示模块质量随时间的改善

5 个答案:

答案 0 :(得分:6)

缺陷密度是在定义的开发/操作期间在软件/模块中检测到的已确认缺陷数除以软件/模块的大小。 ('缺陷(已确认并同意(不仅仅是报告))。

缺陷密度: 缺陷密度=缺陷/单位尺寸

这里可能出现的问题是,这个单位大小实际意味着什么。 单位大小=大小通常在代码行或功能点中计算。作为一名优秀的程序员,你应该有足够的信心,你的编码没有重复,这可能会增加你的代码大小。

Ex:假设在1个KLOC中发现了10个错误 因此DD是10 / KLOC

答案 1 :(得分:2)

缺陷密度用于测量代码/模块/要求/产品的质量。是的,测量相同的标准是 缺陷密度=缺陷数/尺寸

但是如果我们使用尺寸作为KLOC(千行代码)或FP(功能点)那么可能很难计算相同的,有时候对于客户(或一些采取持有者)它没有任何意义。因此,在计算缺陷密度时我们也应该考虑以下几点。

  1. 应通过添加与代码相关的所有缺陷来计算缺陷数量(这些缺陷也应包括审核缺陷,内部缺陷和客户端/ UAT缺陷),因为所有缺陷都与代码相关,因此应该是缺陷密度的一部分。
  2. 在添加缺陷之前根据严重程度对缺陷进行均衡,这样可以得到更准确的结果,这也是一个标准。可以将其视为严重错误= 5,高= 3,中= 1,低= 0.5。这有时称为加权缺陷密度,但结果更准确。
  3. 尺寸不应仅限于代码行或功能点。可能不是。要求也。最简单有效的方法是将大小作为编码所花费的时间(这不应包括代码审查,编码返工工作)。因此,缺陷密度可以被视为编码所花费的每100个工作日的缺陷,如果您指定了项目目标,那么您可以看到这是否符合您的目标。
  4. 这是一种计算缺陷密度的有效而简单的方法,可以看到你是否正在改善的时间段。

答案 2 :(得分:1)

我猜测Defect Density用于检测程序员生成缺陷的速率,而减去修复的缺陷则与客户/最终用户的投诉数量有关。< / p>

在你的目标中,(a)似乎不健全,(b)非常尖锐并且会支付股息,(c)可能会引起错误的乐观。

您应该真正瞄准Zero Defects,出于指标目的,您应该忽略在发布之前发现并修复的错误。

答案 3 :(得分:0)

缺陷基本上是,当产品运送给客户后,任何功能不起作用或者您可以说偏离用户要求,您无法测量缺陷但是您可以采取一些措施来防止出现缺陷,它可以通过不同的测试方式完成,下面将介绍一些重要的测试方法:

  • 烟雾测试
  • 完整性测试
  • 黑盒测试
  • 白色测试
  • 负载和压力测试

您应该完全了解客户向您提出的问题,它将帮助您防止您的缺陷。

答案 4 :(得分:0)

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