[概述]
基于单个专家的测试估算可能是测试实践中最常见的估算方法,如测试经理在项目早期的估算。因此,如何提高个人估算的有效性,是在测试估算的时候必须面对的问题。
[正文]
基于单个专家的测试估算可能是测试实践中最常见的估算方法,如测试经理在项目早期的估算。如何提高个人估算的有效性,是测试估算必须面对的问题。
如果你是测试经理,要求测试人员提供对某个系统功能的估算结果,他们通常会给你一个估算的结果,如某个功能的估算测试时间为10个星期。测试实践表明,测试人员给出的单点测试估算值,常常是他们以乐观的心态估算得到的结果,即测试资源、测试时间、测试人员等处于相对理想的情况下得出的。因此,单点测试估算得到的结果常常会过于乐观,导致和实际结果差距过大,从而使得测试人员在时间和资源等压力下不得不加班加点。
因此,测试估算需要避免根据测试对象得出单点的估算值,下面介绍一种结构化和系统化的测试估算技术,其基本思路是:测试估算过程中引入“乐观的估算值”、“最可能的估算值”和“悲观的估算值”,分别对测试对象的功能进行估算;然后通过计划评审技术PERT(ProgramEvaluation and Review Technique)计算得到“期望的估算值”。下面以某个测试项目的估算作为例子来阐述该基本思路。
1)乐观的估算值、最可能的估算和悲观的估算值
该测试项目有5个功能模块组成,测试人员基于功能开展各自的估算活动,得到的各种估算值如下表所示。
表1 各种测试估算值
功能\估算值 | 乐观的估算值 | 最可能的估算值 | 悲观的估算值 | 期望的估算值 |
功能1 | 1.1 | 1.5 | 2.1 |
|
功能2 | 1.3 | 1.6 | 1.9 |
|
功能3 | 1.6 | 2.1 | 3.2 |
|
功能4 | 0.9 | 1.2 | 1.4 |
|
功能5 | 1.4 | 1.6 | 2.3 |
|
总计 | 6.3 | 8 | 10.9 |
|
2)计算得到期望的估算值
期望的估算值既不是去乐观的估算值和悲观的估算值的中间值,也不是直接使用最可能的估算值,我们采用的是PERT的计算方法,其计算公式为:
期望的估算值 = [乐观的估算值 +(4*最可能的估算值)+ 悲观的估算值] /6
测试对象每个功能的期望的估算值如下表所示。
表2 期望的估算值
功能\估算值 | 乐观的估算值 | 最可能的估算值 | 悲观的估算值 | 期望的估算值 |
功能1 | 1.1 | 1.5 | 2.1 | 1.53 |
功能2 | 1.3 | 1.6 | 1.9 | 1.6 |
功能3 | 1.6 | 2.1 | 3.2 | 2.2 |
功能4 | 0.9 | 1.2 | 1.4 | 1.18 |
功能5 | 1.4 | 1.6 | 2.3 | 1.68 |
总计 | 6.3 | 8 | 10.9 | 8.2 |
如果测试实践中发现测试人员估算的结果还是过于乐观,我们可以对上面的公式进行修正,如:
期望的估算值 = [乐观的估算值 +(3*最可能的估算值)+(2*悲观的估算值)] /6
其修正之后的期望的估算值如下表所示
表3修正的期望的估算值
功能\估算值 | 乐观的估算值 | 最可能的估算值 | 悲观的估算值 | 期望的估算值 | 修正的期望估算值 |
功能1 | 1.1 | 1.5 | 2.1 | 1.53 | 1.63 |
功能2 | 1.3 | 1.6 | 1.9 | 1.6 | 1.65 |
功能3 | 1.6 | 2.1 | 3.2 | 2.2 | 2.38 |
功能4 | 0.9 | 1.2 | 1.4 | 1.18 | 1.22 |
功能5 | 1.4 | 1.6 | 2.3 | 1.68 | 1.8 |
总计 | 6.3 | 8 | 10.9 | 8.2 | 8.68 |