Gompertz 缺陷分析法

780 阅读3分钟
原文链接: zhuanlan.zhihu.com

软件缺陷管理过程不仅包含软件缺陷记录和统计,更重要的是对缺陷数据进行细致、深入的分析。缺陷分析是缺陷管理中的一个重要环节,有效的缺陷分析不仅可以评价软件质量,同时可以帮助项目组很好地掌握和评估软件的研发过程,进而改进研发过程,未对缺陷进行分析就无法对研发流程进行改进。此外,还能为软件新版本的开发提供宝贵的经验,进而在项目开展之前,制定准确、有效的项目控制计划,为开发高质量的软件产品提供保障。

常用的缺陷分析方法有:根本原因缺陷分析法、四象限缺陷分析法、ODC 缺陷分析法、Rayleigh缺陷分析法和Gompertz 缺陷分析法。

本节我们来学习Gompertz 缺陷分析法.

Gompertz 是一种可靠性增长模型,是由Virene 提出的。该模型的公式为

,其中R 是随时间t 变化的可靠性指标,a 为当测试时间或阶段t 趋于无穷大时R 的极值,ab 为系统测试初始值,即t=0 时R 的初值,c 为形状参数,c 值越大,则可靠性增长越慢,反之则增长越快。模型中a、b、c 参数值为估值,通常是一个经验值。

在软件测试领域中,Gompertz 模型主要用于分析软件测试的充分性及软件缺陷发现率。其原理是使用Gompertz 函数画出拟合曲线,再画出实际测试过程中每天累积的缺陷曲线,比较这两条曲线进而分析测试的充分性和软件缺陷发现率。

每天发现的缺陷数据及累积缺陷数见表9-9。

Gompertz 模型估算缺陷增长趋势与累积缺陷趋势图如图9-26 所示。

从图中可以看出,执行测试15 天发现的缺陷数为97 个,Gompertz 拟合曲线估算值为102 个,缺陷发现率为95.1%。

Gompertz 模型虽然可以很好地估算软件中存在的缺陷数,但在使用时也有一定的约束条件:

(1)参数a、b、c 的值通常是一个经验值,不易确定。

(2)要求被测试的对象特性一致,即测试的复杂度、规模、测试组织、测试执行的测试用例等需要一致,不能存在较大的差异。

(3)测试轮次应该不少于2 次,否则无法使用Gompertz 模型进行分析。

基于以上原因,在实际工作中,Gompertz 模型用来分析软件测试的充分性和发现缺陷率的频率较低,特别是基于第二个约束条件,在工作中可能很难保证对象特性的一致,每个测试版本的测试用例数可能都存在差别。