[概述]
本文的测试估算指的是估算测试的工作量,并且基于已经估算得到的测试规模,即测试人员对测试对象有深入的了解且足够的组织层面或者项目层面的度量数据,即可应用基于测试规模的测试估算得到工作量。
[正文]
基于测试规模的测试估算(指测试工作量的估算)的主要输入是测试规模和组织以及项目层面的测试相关的度量数据,该技术通常应用在组织成熟度较高的项目中。测试规模主要指的是新设计的测试用例数目、新执行的测试用例数目、回归测试用例数目、测试对象可能的缺陷数目等;而测试相关的度量数据,如测试用例设计的速率、测试用例执行的速率等。详细的步骤如下:
1)分析测试对象的复杂程度,按照简单、中等和复杂划分层次,并根据复杂程度对测试用例设计和执行等设置不同的权重;
2)将估算得到的测试规模。如设计和执行的测试用例数目,按照不同的测试类型进行分类;同样的,不同测试类型可以设置不同的权重,如根据难易程度、花费时间等;
3)选择组织或者项目层面测试相关的度量数据,如测试用例设计速率、测试用例执行速率等;
4)计算测试工作量;
上述的测试估算步骤并不一定是完整的,测试人员可以针对自己组织和项目的特点对该步骤进行裁减,以适合自己的特点。
1、分析测试对象的复杂程度
测试对象的不同功能,其实现和测试的难易程度是不一样的,因此即使在相同的测试任务前提下,其测试工作量也是不同的。难易程度客以从下面几个方面考虑(我们假设难易程度为中等的,其默认值为1,简单的和复杂的权重,根据测试人员经验进行相应的设置):
(1)获取知识的难易程度,如完全新的功能、对已有功能的大幅度更新和小幅度更新;
(2)功能本身的难易程度,如复杂的功能、正常的功能和简单的功能;
(3)测试环境搭建的难易程度,如复杂的测试环境、标准的测试环境和简单的测试环境;
(4)测试工具的难易程度,如复杂的工具、中等的工具和简单的工具的应用;
2、分类不同测试规模的测试类型
该处的测试工作量估算是基于测试规模的(测试用例数目),因此对测试规模即测试用例进行难易程度分类是必须的。设计和执行测试用例的难易程度可以从它所属的测试类型进行分类,不同的测试类型的难易程度和测试花费的时间是完全不同的。图1是项目IPDSLAM测试类型的列表:
图1测试类型的定义
在测试实践过程中,“配置”测试类型的权重定义为1,其他类型以此为基础进行权重的设置。
3、选择测试相关的度量数据
基于测试规模估算测试工作量的一个基本要求是组织或者项目需要有比较成熟的测试相关的度量数据,如测试用例设计速率、新的测试用例执行速率、回归测试用例执行速率、缺陷密度(如每千行代码的缺陷率)等。有了这些度量数据,即可以根据前面得到的测试用例数目,计算测试用例设计和执行相关的测试工作量。下面是IPSLAM项目中应用的几个度量数据:
(1)测试用例设计速率;
(2)新的测试用例执行速率;
(3)回归测试用例执行速率;
(4)缺陷密度;
4、计算测试工作量
根据上面得到的测试用例数目(包括新设计的测试用例数目、执行的测试用例数目和回归测试用例,以及缺陷的数目等),以及测试相关的度量数据,可以计算得到测试工作量,即测试对象相关的测试工作量。
但是,测试对象相关的测试工作量并不是总的测试工作量,我们还需要考虑各种和测试对象不直接相关的活动,如参加项目会议、部门会议、突发的项目支持工作、电话沟通等,我们称之为测试对象不相关的测试工作量。通常来说,这部分的工作在整个测试工作量中占有很大的比重,在IPDSLAM项目中,以30%的测试相关测试工作量作为它的估算结果。因此,两者相加即可以得到总的测试工作量估算。
通过上面的几个步骤,基本上阐述了基于测试规模的测试工作量估算的基本思路。为了方便该测试估算方法的实现,最好通过工具的方式帮助计算其中的内容,如excel表格。
相关链接: