自动化测试ROI分析——第三部分

发表于:2008-12-23 15:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:译者:cloudxu    来源:51Testing博客

  四个公式中的三个是基于自动化测试与手工测试的比较来计算所得的值的。大多数情况下在计算自动化测试的回报时,应该基于投资的增量来计算自动化测试回报的增量。手工测试的数量是测试机构的成本基点。这个数量包括需要自动化的和不需要自动化。

  第三个公式从概念上讲和成本、收益均相关。但是从绝对意义上来看收益是无法计算的,而只是和某些事物相关。

  第一个公式比较了创建手工测试的成本、运行手工测试的成本与创建自动化测试、运行相同次数的自动化测试的成本之间的关系。它计算了创建并将一个测试自动化运行n次所花费的成本与创建并将一个测试手工运行n次所花费的成本之间的比率。当比率小于1时,表示自动化测试是收效的。这个公式可以比较一个单个的测试被同时进行手工实现和自动化实现时的成本。而且仅仅应用于某一组测试上,这组测试都被同时进行了手工实现和自动化实现,且都运行了相同的次数。但是,它的计算中不包括对自动化测试的管理和维护成本。在这个公式中,是不考虑前面涉及的与单个测试无关的自动化测试固定成本的。自动化测试的维护成本和自动化测试环境的维护成本也是不在这个公式的考虑范围之内的。为了更好的了解自动化测试的成本和价值,这两个方面的因素还是要仔细考虑的。

  第一个公式中的某些值和这个公式的本身是基于一些假设的,因此它对于多数测试机构是不真实的,从而是不适用的。其中,有三个假设是很关键的。第一,手工测试和自动化测试通常情况下的运行次数是不相同的,而且每次测试的运行都是不等值的(即使第一次测试看上去都比后续的测试运行更像是去发现缺陷)。第二,大多数测试机构都没有足够的资源去创建符合手工测试数量的自动化测试,即只有少数的手工测试被自动化了。第三,很多自动化测试都需要不断的维护以保证能长久运行。所以,自动化测试运行n次之前将产生一定量的附加成本。

  第二个公式从手工测试与自动化测试运行不同次数的角度进行了计算。它同样强调了自动化测试的成本是手工测试成本的分子。所以当计算的结果小于1时表示自动化测试是收效的。这个公式更合理的计算了测试是如何被运行的,但是它同样无法涉及潜在的问题-测试的数量、固定成本、或者是维护成本。为了计算一组测试的比率,这个公式也假定了自动化测试运行n1次,手工测试运行了n2次。

  第三个公式表述了计算ROI的通用模式。它计算了自动化测试的收益和自动化测试成本之间的比率。当计算结果大于1时,表示自动化测试的收益大于自动化测试的成本。开发自动化测试、运行自动化测试、维护自动化测试的成本是可以进行计算的。但是,从绝对意义上很难看出它如何计算自动化测试的收益。

  第四个公式表述了一个相对的ROI计算,即比较自动化测试带来的增加的收益和进行自动化所需增加的成本之间的关系。虽然这个公式很通用,但它更合理的表示了自动化测试相对于手工测试的价值。我们将用这个公式对下面的例子进行解释。

  为了能利用第四个公式,我们需要确认所有相关的成本和收益。自动化测试和手工测试的所有相关项目的值我们都要确定下来。

  2. 自动化Build测试的例子

  假设和计算所需的值:

  1)每日Build和测试运行次数(5次/周)

  2)手工测试的设计需要5天,需要2个小时来运行

  3)一半的手工测试需要在给定的某天之内花费1个小时的时间来运行,其他的测试将在另外的天数之内运行

  4)自动化测试的设计和实现需要15天的时间来进行,自动运行(零成本)

  5)自动化测试以批处理形式的脚本实现,并且纳入Build过程中运行,需要在软件上花费1000元,使用寿命是3年

  6)自动化测试每运行25次后需要进行维护,需要1天的工作量

  7)时间周期t的选定:6个月(125天),18个月(375天)

  8)人年费用为100000元=400元/天=50元/小时

  △Ba(时间周期t内)=∑(自动化测试固定成本投入带来的改善*(t/使用寿命))+

  ∑(在t时间内,运行n2次手工测试的可变成本)-

  ∑(在t时间内,运行n1次自动化测试的可变成本)

  △ Ba(6个月)=0+(1小时*125)-(0*125)=¥50*125=¥6250

  △ Ba(18个月)=0+(1小时*375)-(0*375)=¥50*375=¥18750

  △Ca(时间周期t内)=∑(自动化测试固定成本*(t/使用寿命))+

  ∑(创建自动化测试的可变成本)-

  ∑(创建手工测试的可变成本)+

  ∑(维护自动化测试的可变成本)*(n1/N)

  △ Ca(6个月)=(¥1000*(6/36))+(15*¥400)-(5*¥400)+(¥400*(125/25)=¥167+¥6000-¥2000+¥2000=¥6167

  △ Ca(18个月)=(¥1000*(18/36))+(15*¥400)-(5*¥400)+(¥400*(375/25)=¥500+¥6000-¥2000+¥6000=……

总结:

  自动化测试不总是必须的、适当的、或者是有效成本投入的。有时候,当我们基于一个期望的投入产出比进行决策时,分析可以指导我们知晓自动化测试在哪些方面将会给我们带来收益。计算这些投入产出比的最好方法就是比交自动化测试和手工测试的成本和获得。在是否应用自动化测试来改进测试的管理决策上,需要对自动化测试的成本和收益进行识别和估测。这也能帮助我们识别哪些因素是我们应该关注的,而这些因素引致了大部分的投入。

  当需要进行自动化测试时,无论是由于合同还是技术上的约束,ROI的计算可能都是不一定能带来帮助的。回报中包含了很多无形的影响因素,因此用算术来进行计算也无法获得自动化测试的实际的价值。

 

相关阅读:

自动化测试ROI分析——第二部分

自动化测试ROI分析——第一部分

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号