如何准确评估项目测试的工作量?
1. 根据测试范围和测试方法来估计工作量:
a)制定测试计划以前,明确测试范围:
不同的测试范围,对测试量的评估起到至关重要的因素,比如说测试一个模块或测试多个模块或测试整个系统等等,都属于测试范围不一样,明显工作量也不同,差别也挺大的。还有测试范围还包括功能性测试范围或非功能性测试范围等等,在做测试工作量评估的时候,都必须考虑。
b)确定合理、有效的测试方法:
比如说你要考虑测试某个项目,你必须考虑测试方法是否合理。比如说某个模块的功能测试,你可以采用QTP做自动化功能测试,还是手工做功能测试,工作量就不一样,做测试计划以前必须考虑清楚。要不然,估算的工作量肯定不准。
2. 根据测试任务来评估工作量:
a)质量需求和项目背景决定工作量:
不同的项目背景,不同的质量要求,决定不同的测试工作量。如果我们测试的是一个银行系统,涉及到每个人的经济利益,我们测试时必然会对性能测试或安全测试放到第一位,设计较多的异常测试用例,这样一做,必然增加我们的工作量。如果是一般的系统,我们可以只执行一般的功能测试通过就可以了,没有必要去做其他的异常、安全测试。如果系统的质量需求要求高,也许就要进行更深层次的测试,回归测试的力度必然要加大,工作量自然就上去了。
b)尽可能详细的罗列出项目测试内容:
一般来说,测试工作量的评估工作都是交给测试经理或项目组成员协助共同来完成的。准确评估项目测试的工作量,必须要求测试Leader明确详细的测试内容,只有知道测试什么?哪些需要测试?详细分析需求规格说明书,明确测试任务以后,评估才会有依据,所以
尽可能详细的罗列出项目测试内容非常必要。
c)把测试任务细化到每个测试功能点:
我们在估算测试时间的时候,可以把测试任务细化到每个测试的功能点,比如说“新增”、“修改”、“删除”、“暂停”、“恢复”等等都记成一个功能点,在预算的时候,同时把编写测试用例和执行测试用例的时间都要计算进去。例如:编写一个测试用例或执行一个功能测试各需要一个小时,如果我们有100个功能点,我们就知道大约要200个小时。这样估算出来的时间比较精确一点,比较符合实际。
d)预估业务测试或模块交叉测试的复杂容易程度:
很多时候,我们测试初期,对业务了解不是很多,忽视了对业务方面或交叉模块测试的评估,等到了测试后期,大量的业务测试没有测试,测试时间特别紧,所以在测试初期预估测试的复杂容易程度,在评估工作量方面至关重要。
3. 根据开发阶段来评估工作量:
不同的开发阶段,测试时间估算也不太相同。比如说,开发的系统是第一个版本,相对以后的测试工作来说,可能安排的时间要多一点。大多数情况下是这样的,也许后面的版本增加很多新功能,测试工作量还大于第一个版本也是常有的事情。作为测试负责人,对于使用测试阶段来评估工作量,必须根据实际情况来定,不能盲目给出数字,应付了事。
4. 根据测试经验的积累来评估工作量:
我们可以借鉴类似项目的测试经验,比如说被测试的系统,我们做过类似的产品,就可以把相关的测试文档,修改一下,复用以前的测试用例,这时候测试工作量就减少了很多。如果没有,我们只能重来。还有就是借鉴以前项目编写测试用例或执行测试的时间,对测试工作量的准确评估,也具有一定的参考价值。
5. 根据测试风险来评估工作量:
a)测试人员变动带来的风险:
在一般的软件公司,测试人员的流动是常有的事情,所以估计测试工作量的时候,我们一定要把它计算在里面,留有一定的余地,以防不测。比如说:以前安排了一个做过类似项目,对类似项目熟悉的测试人员,也许给他安排了一天的工作量。如果他不在了,其它的人去做这个测试也许就2天,甚至3、5天都不一定能够搞定。测试人员带了的风险还是特别高的。
b)系统测试环境的风险:
系统测试环境带来的风险,一般来说比较小,发生的可能性很小,如果一旦发生了,也相当可怕。最可怕的就是硬件故障,在经济实力允许的情况下,我们一般的方法是准备两套测试环境,一套测试环境出现问题,我们立马切换到另外一个测试环境中去继续测试,避免影响正常的测试进度。但是大部分的公司都不愿意花血本,来购买昂贵的硬件,而是以牺牲时间来付出代价。
c)、开发人员版本发布延迟风险:
不做好版本配置管理或没有正规的测试规范的公司,大部分情况下很难估计工作量,他们基本上都是边改边开发边测试,如果一旦开发出现异常,整个测试就立马终止,这对测试的相互制约作用也会更大,这样对我们估算的工作量也不准确。
d)、项目变更带了的风险:
一个项目做到中途,由于客户对技术不断深入的了解,很多时候不是“需求变更”,就是“设计变更”,弄得我们测试人员特别郁闷,不断修改测试文档。如果相关部门没有正规的变更管理,变更引起的工作量更没办法估算。很多测试后期出现工作量加大,测试延期的问题,都是对项目风险估算不足造成的。
6. 发挥项目团队的力量来评估工作量:
a)积极调动下属,发挥集体的智慧:
测试主管对自己带的项目做一个整体时间预估,给出一个大致估计时间。再把每个模块分配给准备安排测试这个项目的每个测试工程师做一个测试工作量评估,得到结果后和测试主管的工作量对比。这个时候要考虑他们每个人的实际能力做适当的调整,最后把调整相对准确的时间,递交项目组评审,如果通过,就OK,如果他们有建议,视建议的程度好坏,再决定是否做修改。
b)建立一个测试工作量的预算表格:
测试计划书写结束,一般把测试工作量的每一项,写成一个Checklist,每项大致多少时间,写出来。邮件的形式发给部门的全体成员,提高工作量的透明度。每天下班结束以前,每个人都要对测试的工作做汇报,包括已经完成的工作或未完成的工作都进行汇报,时间不是很长,就几分钟的时间,测试Leader也要做Review,以防虚报。