老徐关注于企业级软件测试的管理; 老徐关注于软件自动化测试的研究与探索; 老徐关注于软件性能测试的研究与探索; 老徐和大家分享软件测试进度管理、缺陷管理、质量控制等方面的经验。

老徐最近翻译的Mercury的“自动化测试ROI分析”-第三部分

上一篇 / 下一篇  2007-03-04 16:10:00 / 个人分类:软件自动化测试

1.  投入/回报的计算

前两个公式用于计算自动化测试相对于手工测试的效果,后两个公式用于计算自动化测试的投入回报比。

      

 

其中:

En表示相同数量的测试运行相同的次数时,自动化测试成本相对于手工测试成本的比率。

En’表示针对不同的测试运行次数时,自动化测试成本相对于手工测试成本的比率。

以下变量中,脚标a表示自动化测试,脚标m表示手工测试。

Va表示测试规格分析和实现的费用

Vm表示测试规格分析

Da表示自动化测试执行后对自动化测试进行分析的费用

Dm表示手工测试执行的费用

N表示自动化测试(和手工测试)的执行次数

n1表示自动化测试的执行次数

n2表示手工测试的执行次数

N表示在脚本变更前的自动化测试运行次数

Ba表示从自动化测试中获得的收益

Ca表示自动化测试的成本

Ba表示自动化测试相对于手工测试获得的收益

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

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

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

Ca表示自动化测试相对于手工测试所增加的成本

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

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

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

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

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

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

第一个公式比较了创建手工测试的成本、运行手工测试的成本与创建自动化测试、运行相同次数的自动化测试的成本之间的关系。它计算了创建并将一个测试自动化运行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次自动化测试的可变成本)

   Ba6个月)=0+1小时*125-0*125=50*125=6250

   Ba18个月)=0+1小时*375-0*375=50*375=18750

 

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

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

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

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

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

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

TAG: 软件自动化测试

 

评分:0

我来说两句

日历

« 2024-05-04  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 37553
  • 日志数: 35
  • 建立时间: 2007-03-03
  • 更新时间: 2007-04-12

RSS订阅

Open Toolbar