测试对象的质量直接会影响测试估算的结果,例如:在估算过程中很难确定测试对象中有多少缺陷,或者说不知道能够发现多少缺陷?而测试过程中发现的缺陷数目,直接决定了测试人员在后续中需要进行多少的确认测试(重新运行发现缺陷的测试用例,以判断开发人员是否成功修改了缺陷),以及多少的的回归测试(测试和缺陷修改有关联的系统其他部分,以确定缺陷的修改并没有引入新的缺陷)。
测试用例可能需要在不同的测试平台运行,假如在测试估算中遗漏了某些平台的测试,那么在测试执行过程中将会发现需要额外的测试工作量来覆盖这些工作。例如:以太网卡需要支持某个功能,而测试估算的过程中可能仅仅只考虑了某类型的以太网卡。在测试执行中发现这样的问题,就会产品测试估算的偏差。
2)估算过程因素
良好的测试估算过程,应该是在项目初期就进行测试估算,在需求发生变更,例如:增加新的功能或者删除某些功能的时候重新进行估算;或者在估算过程中所做的一些假设和前提条件发生变化的时候进行重新估算。而现实情况是测试经理常常容易忽视需求变更或者假设条件等的变化,没有对测试估算的结果进行修正。因此,即使原来的测试估算是正确的,由于需求的变更或者前提条件等的变化,也会使得最后的结果无法符合最初的测试估算,从而导致测试的延期,成本的增加,并最终影响测试的质量。
首先,测试估算过程中经常容易遗漏某些测试活动或者测试任务,从而导致测试估算出现偏差。遗漏的测试活动或者测试任务主要可以分为3类:
由于需求的缺失或者不全而导致的测试估算偏差,例如:需求中通常会将更多的关注点放在功能上,而对有的非功能需求没有详细的阐述。非功能的测试不仅费时费力,同时也是客户最关心且容易出错的地方;
遗漏某些测试活动,例如:在估算过程中容易遗漏由于缺陷的修改,需要进行的确认测试和回归测试,特别是在测试的后期,这部分的测试工作将占有非常大的比重;
测试估算中容易忽视测试文档编写需要花费的时间和工作量,例如:测试总结报告等;
其次,测试人员在测试估算过程中容易出现过于乐观的心态。不仅测试人员如此,项目管理层同样也存在这个问题。乐观的心态主要表现在:
和上个项目的测试相比,我们可以有更高的生产率;
上个项目测试过程中出现了较多的差错,在这个项目中我们将可以避免这些问题;
我们在上个项目的测试经验教训会议上得到了很多的经验和教训,我们可以将这些收获应用与本项目的测试,因此可以更快的完成本项目的测试;
第三,在有的场合下,测试人员容易给出即兴得到的估算结果,即没有仔细考虑就给出一个估算结果。例如:测试经理问你这样的一个功能模块测试需要花费多少时间?你可能会说:“我不知道,但是我想应该2个星期差不多。”然后你回到座位上查看功能的一些信息,发现在给测试经理的估算中遗漏了某些测试要点。根据更加详细的功能资料,你认为该功能的测试大概需要5个星期。这时候问题就来了,测试经理可能已经将你前面说的2个星期作为你的估算结果,并可能上报的项目计划中,甚至作为输入提交给项目高层。因此,我们在估算过程中要避免即兴得到的估算结果,哪怕是静下来思考15分钟。
相关链接: