【IT168 技术文章】
假设和计算所需的值:
新产品和新测试 5人年开发手工测试,15人年开发自动化测试 1年后,1个人,维护自动化测试 10人、全职运行手工测试,1人、全职运行自动化测试 自动化测试的固定成本为90000元,使用寿命为3年 时间周期t选定:12个月(250天),24个月(500天) 人年费用100000元=400/人天=50/人时
△Ba(时间周期t内)=
∑(自动化测试固定成本投入带来的改善 *(t/使用寿命))+
∑(在t时间内,运行n2次手工测试的可变成本)-
∑(在t时间内,运行n1次自动化测试的可变成本)
Ba(12个月)=0+(10人*¥100000)-(1人*¥100000)=¥900000
Ba(24个月)=0+(10人*¥200000)-(1人*¥200000)=¥1800000
△Ca(时间周期t内)=
∑(自动化测试固定成本*(t/使用寿命))+
∑(创建自动化测试的可变成本)-
∑(创建手工测试的可变成本)+
∑(维护自动化测试的可变成本)*(n1/N)
Ca(12个月)=(¥90000*(1/3))+(15*¥100000)-(5*¥100000)+0 = ¥1030000
Ca(24个月)=(¥90000*(2/3))+(15*¥100000)-(5*¥100000)+100000=¥500+¥6000-¥2000+¥6000=¥1160000
ROIautomation(12个月)=¥900000/¥1030000=0.874
(些许的损失)
ROIautomation(24个月)=¥1800000/¥1160000=1.552
(55%的投入回报比)
理解:
运行手工测试的人工成本越低,ROI越低; 手工测试工程师的工资成本 手工测试的项目费用 运行自动化测试的人工成本越高,ROI越低; 自动化测试工程师的工资成本 自动化测试的项目费用 自动化测试的固定成本(工具购买、硬件购买等)越高,ROI越低; 硬件(PC机、服务器等) 应用软件的许可证(Weblogic、Oracle、Unix等) 应用软件的技术支持 自动化测试环境的设计和搭建 自动化测试环境的维护 脚本开发工具软件 脚本开发工具的许可证 测试工具的培训 测试工具的引入和启动
创建自动化测试的成本(分析、设计、开发等)越高,ROI越低; 自动化测试需求分析的工程师的工资成本 自动化测试设计的工程师的工资成本 自动化测试脚本开发的工程师的工资成本 自动化测试的项目费用 创建手工测试的成本越低(分析、设计、编制等),ROI越低; 手工测试需求分析的工程师的工资成本 手工测试设计的工程师的工资成本 手工测试用例实现的工程师的工资成本 手工测试的项目费用 维护自动化测试的成本(新增脚本、脚本变更等)越高,ROI越低。 自动化测试需求分析的工程师的工资成本 自动化测试设计的工程师的工资成本 自动化测试脚本开发的工程师的工资成本 自动化测试的项目费用
综上看,一旦决定要实施自动化测试,则主要风险来源于维护自动化测试的成本,运行自动化测试的成本,创建自动化测试的成本。而创建自动化测试的质量高低,决定了运行自动化测试的成本高低风险和维护自动化测试的成本高低风险。且项目本身的特性也会影响维护自动化测试的成本风险。
“创建自动化测试”影响“运行自动化测试”的描述
在运行自动化测试的时候,成本主要取决于所需要的运行人员数量,而运行人员数量主要取决于运行工作量的大小,而运行工作量的大小主要取决于自动化测试的运行准备(测试数据、测试脚本、测试环境等)工作、运行监控工作、运行结果报告工作等,而自动化测试的运行准备工作量越小则取决于自动化测试的重用性上,即第一次脚本运行结束后,在第二次脚本重复运行前所需的工作量应最小。
因此,在创建自动化测试时,必须在上述方面进行详细的规划和良好的设计与实现。
“创建自动化测试”影响“维护自动化测试”的描述
在维护自动化测试的时候,成本主要取决于所需要的维护人员类型和数量,而维护人员类型必须包括自动化测试工程师,维护人员的数量主要取决于维护工作量的大小,而维护工作量的大小主要取决于自动化测试脚本的可维护性,发生被测软件的界面变更后,测试脚本重用性越差则所需的脚本维护工作量就会越大。
因此,在创建自动化测试时,必须在自动化测试的可维护性设计上进行良好的规划。
“项目本身的特性”影响“维护自动化测试”的描述
在维护自动化测试的时候,成本还受到自动化测试需求的新增和变更的影响。若频繁出现新增或变更自动化测试需求的情况,需要持续维持一个包含自动化测试需求分析师、设计师、工程师等角色的自动化测试队伍,极大的增加了维护自动化测试的成本。