缺陷预防(Defect Prevention)是一种用于整个软件开发生命周期中识别缺陷根本原因和防止 缺陷发生的策略,也是全面质量管理(Total Quality Management)的本质。DP 缺陷预防处于 CMM (Capability Maturity Model)能力成熟度模型的第 5 个级别,分析之前一些偶然发现的问题,并且 在将来为类似的可能的缺陷进行检查。一个成熟的研发团队会通过实施 DP 来提高质量和降低研发成本。
使用 DP 缺陷预防后,缺陷会呈现以下特性: (1)缺陷发现率与时间的关系 使用 DP 缺陷预防策略后,每个阶段所发现的缺陷数与使用 DP 缺陷预防策略前所发生缺陷数 的分布如图 9-27 所示。
图 9-27 DP 预防缺陷策略对缺陷现率的影响 从图中可以看出,使用 DP 预防缺陷策略后,缺陷的特性发生了以下几个方面的变化: 1)需求和设计阶段所发现的缺陷数占所有缺陷的比例增大,这说明前期发现的缺陷比较多, 这样可以降低缺陷修复的成本。 2)缺陷总数下降,也就是发现的总的缺陷数下降了,这得益于大部分的缺陷发现在前期的研 发阶段。(2)缺陷过滤器 使用 DP 预防缺陷策略后,缺陷会像漏斗一样,每一个测试阶段都可以过滤掉一些缺陷,缺陷 过滤器如图 9-28 所示。 从图中可以看出,每经历一个阶段,缺陷就减少 20%左右,直到测试结果,系统中 99%的缺 陷已经被解决。