缺陷密度不是缺陷总数
缺陷总数只能说明发现了多少个问题,但不能直接比较两个规模不同的系统。一个 1 万行代码的系统有 20 个缺陷,和一个 20 万行代码的系统有 20 个缺陷,质量含义完全不一样。
缺陷密度就是把缺陷数放到同一个规模口径下比较,常见口径是每千行代码缺陷数,也就是 defects/KLOC。
KLOC千行代码,1000 行代码 = 1 KLOC
缺陷密度缺陷数 / KLOC
例子50 个缺陷、10 KLOC,缺陷密度 = 5 个/KLOC
先统一代码规模单位
题目如果给的是 20000 行代码,不要直接用缺陷数除以 20000。要先换成 20 KLOC,再计算每 KLOC 的缺陷数。
如果题目给的是 15 KLOC,那就可以直接用缺陷数除以 15。计算题常见陷阱就在这里:行数和千行代码混在一起。
| 题目给法 | 先做什么 | 再怎么算 |
|---|---|---|
| 10000 行代码 | 换成 10 KLOC | 缺陷数 / 10 |
| 25 KLOC | 单位已统一 | 缺陷数 / 25 |
| 两个模块比较 | 都换成同一口径 | 比较缺陷密度,不只比较缺陷总数 |
| 问质量趋势 | 看密度变化 | 还要结合测试强度和发现阶段 |
指标要会算,也要会解释
缺陷密度高,通常说明单位规模内发现的缺陷更多,但它不是唯一质量指标。测试越充分,短期内发现的缺陷也可能更多;代码复杂度、模块重要性、缺陷严重程度也要一起看。
考试选择题一般不会让你展开这么多,但如果题干问“为什么不能只看缺陷总数”,答案通常就在规模归一化和指标解释上。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- 缺陷密度怎么计算?缺陷密度 / 质量度量
- 软件过程度量为什么不能只凭感觉?过程度量 / 软件过程度量