某企业积累了10个项目的历史度量数据,积累了5个阶段的缺陷密度,即从需求评审的缺陷密度,直至交付后3个月内的缺陷密度,计量单位统一为缺陷数/KLOC。
| 需求评审缺陷密度 | 设计评审缺陷密度 | 代码评审缺陷密度 | 测试发现缺陷密度 | 交付后缺陷密度 |
P1 | 0.31312 | 0.44359 | 1.40904 | 0.26093 | 0.260933 |
P2 | 0.233333 | 0.23095 | 0.85714 | 0.20476 | 0.242857 |
P3 | 0.492901 | 0.6201 | 2.544 | 0.7473 | 0.2385 |
P4 | 0.460278 | 0.71599 | 2.51619 | 0.6137 | 0.214796 |
P5 | 0.638636 | 0.81124 | 2.53728 | 0.84576 | 0.155344 |
P6 | 0.452044 | 0.75668 | 2.27005 | 0.71737 | 0.26533 |
P7 | 0.510204 | 0.61224 | 2.81633 | 0.59184 | 0.22449 |
P8 | 0.467352 | 0.86794 | 2.67058 | 0.73441 | 0.267058 |
P9 | 0.54 | 0.61 | 2.14 | 0.7 | 0.23 |
P10 | 0.600715 | 1.3279 | 5.75421 | 1.26466 | 0.189699 |
对10个项目数据在一张图上采用箱线图图进行展示,得到如下的趋势:
第10个项目在3个箱线图图中都是离群点,该项目是公司的一个重点项目,公司抽调了精英进行本项目的开发。该项目在前期发现的缺陷较多,而交付后的缺陷很少,所以应该重视本项目交付质量高的原因,从中汲取经验。但是该项目当前不具有代表性,可以删除之:
我们可以看出代码评审时发现的缺陷最多,但是离散程度最大,差异明显。交付后的缺陷最少,而且相对比较稳定。代码评审的过程最不稳定,应该优先进行改善该过程,并且发现代码评审缺陷密度的箱线图中箱子的下半部分离散程度很大,应该重点从这部分项目中识别原因,进行改善。
可以对9个项目到每个阶段的累计缺陷密度进行Gompertz拟合以得到缺陷增长的趋势规律:
检错阶段 | 平均累计缺陷密度 |
需求评审 | 0.456429778 |
设计评审 | 1.086288667 |
代码评审 | 3.281912 |
系统测试 | 3.883697556 |
交付 | 4.116954 |
也可以对各阶段的缺陷检出密度和交付的缺陷密度进行相关性分析,可以发现有弱相关性,由于积累的样本点比较少,分析结论的可靠性较低,所以可以再积累一些数据后进行相关性的分析。