软件测试四象限分析法是对软件内部各模块、子系统、特性测试所发现的缺陷,按照每千行代码缺陷率 (累积缺陷数/KLOC)和每千行代码测试时间(累积人时/KLOC)两个维度进行划分。将缺陷分为 四个象限:稳定象限、不确定象限、不稳定象限和极不稳定象限,如图 9-14 所示。将软件内部各 模块、子系统、特性所累积的测试时间和累积的缺陷数与累积测试时间和累积缺陷数的基线值进行 比较,划分出各模块、子系统、特性测试所位于的区间,进而判断哪些部分测试可以退出、哪些测 试需要加强。四象限分析法可以用于指导测试计划和测试策略的调整。
图 9-14 四象限图 (1)第一象限为不确定象限。 第一象限表示模块、子系统经过较长的测试发现较多的缺陷,此时不能确定该模块是否稳定, 有可能是稳定的,也有可能是不稳定的。 (2)第二象限为极不稳定象限。 第二象限表示模块、子系统在较短的测试时间内发现较多的缺陷,此时说明该模块或子系统极 不稳定,需要加强测试。 (3)第三象限为稳定象限。 第三象限表示模块、子系统在较短的测试时间内发现缺陷并不是很多,此时说明该模块或子系 统不稳定,需要加强测试。
(4)第四象限为不稳定象限。 第四象限表示模块、子系统在较长的测试时间内发现的缺陷并不多,此时说明该模块或子系统 已经比较稳定了。 【实例 1】对系统中的每个模块发现的缺陷使用四象限分析法进行分析。假定累积测试时间和 累积缺陷数的基线值分别为累积 1.5 人时/KLOC 和累积缺陷数 3/KLOC,系统中插入、查询、预定 和保存报告四个功能累积测试时间和累积缺陷数见表 9-4。
使用四象限分析法对这四个模块的累积缺陷进行分析,如图 9-15 所示。
通过四象限分析法可以发现保存报告模块极不稳定,查询模块不稳定,这两个模块应该加强测 试,而预定模块则不能确定是否稳定,但可以确定插入模块是稳定的。当然实际工作中不只这四个 功能,还包括其他功能,A、B、C 和 D 代表其他功能,但本例中未就其他功能进行详细的分析。 需要注意的是,各功能在四个象限中的分布并不是均匀对称的。 【实例 2】对整个系统累积发现的缺陷进行四象限分析。假定累积测试时间和累积缺陷数的基 线值分别为累积 15 人天和累积缺陷数 65 个。系统在每个 Build 版本测试过程中所发现的累积缺陷 数和测试时间见表 9-5。 使用四象限分析法对每个 Build 版本的累积缺陷进行分析,见图 9-16。
通过四象限分析可以发现 T1 和 T2 版本是很不稳定的,到第 T7 和 T8 版本时系统趋向于稳定 状态,这样可以正确地判断系统什么时候可以退出测试。