一、软件测试成本构成
GB/T 32911-2016提出的《软件测试成本度量规范》中规定了软件测试成本度量,以满足软件产业发展对测试成本度量的需求。讲软件成本分为直接成本和间接成本。
1、直接成本
(1)概念
(2)直接成本分
-
测试人工成本:软件测试过程中进行评审时的人工成本。主要包含:产品说明评审、用户文档评审、软件测试评审。
-
测试环境成本:要实现测试,要去搭建基于测试的环境的人工成本。
-
测试工具成本:测试用到的硬件和软件属于工具成本。工具成本一般可以按照折旧、或者提供租赁的服务费来进行计算。
2、间接成本
(1)概念
-
是指服务于软件测试项目的管理的组织成本。
-
这种能够成本可能会跨越、超过测试周期。
(2)间接成本的分类因子
3、注意
二、软件测试成本调整因子
软件测试成本调整因子在不同的测试环境下,对测试成本的影响会不一样。
考虑直接成本时,首先应该将对成本造成影响的因子列出来,然后在估算出来的、未经调整的工作量的基础上再去加以调整因子的影响,然后才会形成直接成本出来。
1、软件复杂度
-
主要是从软件的规模、难度和结构等方面,来进行度量。
-
一般根据软件是否符合几个固定的特性来度量这个软件的复杂程度。几个固定的特性:是否存在大量的控制和安全措施、系统规模比较大、子规模比较多而且相互之间有影响、是否需要与其他系统对接使用、语言是否是母语、是否存在大量逻辑处理或者处理逻辑比较复杂、是否存在大量的数学处理、算法是否比较复杂等。
-
软件复杂程等级是
中、高、低。如果软件
不符合上面特性中的任何一个,那么软件复杂度定义为
低,复杂因子为
1.0;
符合特性中的
一个,那么软件复杂度定义为
中,复杂因子范围为
1.1~1.2;如果软件
符合特行证的
2个或2个以上,那么软件复杂度定义为
高,复杂因子范围为
1.3~1.5。
-
复杂软件的测试成本高于简单软件的测试成本。
2、软件完整性
-
依据GB/T 18492-2001,给出了软件完整性级别调整因子,一般与系统的风险等级有关系,系统面临的风险等级越高,软件完整性因子就会越大。
-
系统风险等级的评估,可以参考国家标准,
系统风险等级一般分为高、中、低、微小四个等级。
系统风险性高,软件完整性定义为A,软件完整性因子在1.6~1.8;系统风险性中,软件完整性定义为B,完整性因子范围是1.3~1.5;系统风险性低,软件完整性定义为C,完整性因子范围是1.1~1.2;系统风险性微小,软件完整性定义为D,完整性因子范围是1.0;
-
A级完整度的软件测试成本高于D级软件测试的成本。
3、测试风险度
-
软件测试过程中会存在一些风险,依据这些风险测度对测试风险度评级。例如所测软件所属领域有一些特殊的要求(高风险)、需求不明确(中风险)、被测软件与相关文档之间存在不一致(中风险),测试过程中测试方法与开发方因沟通问题而导致不可预期的风险等都属于测试风险(中风险)。
-
测试风险度的等级为:
高、中、低。测试过程中不包含上面任意一个风险时,测试风险定义为
低,风险度因子为
1.0。测试过程中
出现上面
中风险
中的
一个,测试风险度定义为
中,风险度因子范围是
1.1~1.2;测试过程中
出现上面高风险
、或中级风险中的任意两个,测试风险度定义为
高,风险度因子范围为
1.3~1.5。
4、回归测试
5、加急测试
-
主要看加急的程度,判断加急因子的取值。
-
加急因子一般是在
1.2~3.0之间。
6、现场测试
7、评测机构资质
三、软件测试工作量及成本估算
1、软件测试成本度量的实施步骤
(1)第一步
(2)第二步
(3)第三步
-
根据文档审查和项目的情况确认各个调整因子的范围,然后再根据调整因子对软件测试人工工作量进行调整,就得到了最后的人工成本。
-
环境成本:一般大概采用的是人工成本的20%。环境成本=最终人工成本*20%。
-
工具成本:工具成本一般可以按照折旧、或者提供租赁的服务费进行计算。
-
直接成本=人工成本+环境成本+工具成本。
(4)第四步
(5)第五步
2、软件测试成本度量
(1)人工成本工作量计算:UW=TW+SR+DR
-
UW:未经调整的人工工作量
-
TW:软件测试评审工作量
-
SR:产品说明评审工作量
-
DR:用户文档集评审工作量
(2)软件测试的调整因子:DF=C*I*R*U*X*A*(1+n*Tr)
-
C:复杂度因子
-
I:完整度因子
-
R:测试风险度因子
-
Tr:回归测试因子
-
U:加急测试因子
-
X:现场测试因子
-
A:评测机构资质因子
(3)测试人工成本:LC=UW*DF*S
-
LC:测试人工成本
-
调整后的工作量=未经调整的工作量UW*调整因子*
-
测试人工成本=调整后的工作量*每人日的成本
(4)测试工具成本:IC=OT+RT
(5)测试直接成本:DC=LC+EC+IC
(6)测试间接成本:不宜超过个DC的20%
(7)测试成本:STC=DC+IDC
四、软件测试成本估算示例
1、软件测试成本的各项成本及各因子 系数示例
2、软件测试的人工成本工作量计算
-
UW=TW+SR+DR
-
UW=10+1+2=13(人日)
3、软件测试成本调整因子
4、测试人工成本计算
-
LC=UW*DF*S
-
LC=13*1.6*1000=20800(元)
5、测试工具成本计算
6、无租借设备
7、总的测试工具成本
8、软件测试直接成本计算
9、软件测试成本