在软件开发过程中,质量、进度和成本是需要重点关注的三大要素。在当下竞争激烈的IT环境下,如何做到质量、进度和成本的平衡,是领导者们面临的一大挑战。软件和其他商品一样,如果没有达到一定的质量标准就交付给客户,遗留的问题过多且严重的话,会直接影响用户的满意度,同时也会影响后期为修复缺陷所付出的设计开发等环节的投入成本,从这两个意义上讲,质量都是必须的,但是如果过度的关注质量,在质量控制上投入远超过预期的过多的时间和成本,会直接影响公司的整体成本,造成的直接后果就是虽然软件产品质量很好也很让客户满意但是公司赔钱了甚至破产了。不充分的测试是对用户不负责任,过度的测试是对公司不负责任,确实是比较难以权衡的选择, 作为软件项目的开发和测试负责人,项目经理、开发经理和测试经理们经常面临着这种权衡,本文的目的之一就是帮助这些软件项目决策者们解决一个主要问题:对正在进行测试或发布的软件进行质量成熟度评估,以确定其心中的最大疑问:测试的差不多了吗?还要测多久才能发布?是不是该停止了?现在停止会不会还有风险?风险大概有多大?
对他们而言,如何掌握这个尺度,就需要科学的定量评估工具,帮助其做出正确的判断。本文首先推出的是Gompertz 可靠性模型,在利用已有的测试数据的基础上,对后期的测试过程进行分析和预测,对软件产品质量进行定量评估,对是否结束测试任务给出判断依据。
……………………
查看全文请点击下载:http://www.51testing.com/html/73/n-849173.html
在软件测试领域,很多测试工程师在实际测试中会发现:初期由于环境不熟悉且只做功能测试等原因,初始阶段发现的缺陷会比较少,发现缺陷的增长速度相对缓慢;随着测试人员逐渐进入状态和熟悉环境以后,发现缺陷的速度会迅速加快;测试进入后期阶段以后软件缺陷的隐藏加深,测试难度加大,加上软件中隐藏的缺陷是有限的这个特性也限制了缺陷的无限增长,所以后期测试阶段中缺陷发现效率会进入一个非常缓慢甚至不增长的阶段。软件测试过程中的这种缺陷变化趋势以及增长速度就是一个非常典型的S型曲线,满足Gompertz模型增长模型的应用条件。
Gompertz模型可以用来处理测试缺陷数据,进而评估软件的缺陷增长情况。该模型的基本形式为:
(1)
公式(1)中,
Y 表示系统在测试时间或阶段T 的缺陷数量 ;
a 表示当测试时间或阶段T 趋于无穷大时Y 的极值;
ab表示系统测试初始,即T = 0时Y 的初值;
c 表示缺陷的增长速度。
a,b,c三个模型系数,随着Y、T样本数据的不同而各有不同,可以通过非线性回归等方法得到a、b、c的数据,当前的很多统计工具软件如SPSS、SAS等都可以算出来,也可以用MATLAB等数学计算软件来进行拟合求解。确定了a、b、c的数据以后,就可以用模型公式来进行预测了。