var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-333696-1']); _gaq.push(['_trackPageview']); _gaq.push(['_trackPageLoadTime']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
  • 2007年06月19日

    自动化测试投入回报比分析(2)

    分类:

    5.        自动化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=10500

     

    ROIautomation6个月)=6250/6157=1.013(刚刚大于平均值)

    ROIautomation18个月)=18750/10500=1.78680%的投入回报比)

     

    18个月的自动化测试带来了显著的投入回报比。当自动化测试运行频率低时或者需要更多的维护工作量,投入产出比将会大大降低。降低测试本身的创建和维护成本也会显著的影响投入回报比。

    6.        自动化GUI测试的例子

    假设和计算所需的值:

    1)      新产品和新测试

    2)      5人年开发手工测试,15人年开发自动化测试

    3)      1年后,1个人,维护自动化测试

    4)      10人、全职运行手工测试,1人、全职运行自动化测试

    5)      自动化测试的固定成本为90000元,使用寿命为3

    6)      时间周期t选定:12个月(250天),24个月(500天)

    7)      人年费用100000=400/人天=50/人时

     

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

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

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

       Ba12个月)=0+10*100000-1*100000=900000

       Ba24个月)=0+10*200000-1*200000=1800000

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

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

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

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

       Ca12个月)=(¥90000*1/3))+15*100000-5*100000+0=1030000

       Ca24个月)=(¥90000*2/3))+15*100000-5*100000+100000=500+6000-2000+6000=1160000

     

    ROIautomation12个月)=900000/1030000=0.874(些许的损失)

    ROIautomation24个月)=1800000/1160000=1.55255%的投入回报比)

     

    投入回报比来的要比第一个例子晚,也小于第一个例子。

    7.        总结

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

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

     

    英文原文:

    ¡  Cost Benefits Analysis of Test Automation By Douglas Hoffman1999

    分享到:

    历史上的今天:

    自动分析Minidump文件 2009年06月19日