• 1
  • 3
分享

每年底除了对上一年的回顾以外,大家是不是都已经到了需要对下一年展望的时候?

让我们回想一下过去的一年中,测试人员最烦的事情是什么呢?

点点点

比"点点点"更可怕的事情是什么呢?

一直点点点

不想一直点点点怎么办?

上自动化!!!

为什么公司之前没上自动化呢?

老板一直没同意。。。

以上的内心OS相信很多测试人员都经历过。

反过来想一下,老板怎样会同意你的提议呢?一般的策略都是"动之以情,晓之以理"。

动之以情这个改天展开说,就算是不混技术圈的老板,其实很多人对技术还是有一定的仰慕之情的。

CC先生今天想聊聊的是晓之以理。

金融学上一般会用ROI来判定一件事情是否值得做。

Wikipedia 对 ROI 的解释为,在金融学中, ROI 被理解为投入产出比(Return on Investment),指投融资的回报率或者有时就指投资回报。它表示相对于投资额的金钱获得或者损失的比例。金钱的获得或者损失可以理解为利益,利润或者损失,浪费。投资额可以理解为资产、本金。 

ROI 的最简单的计算公式是: 投资报酬率(ROI)=最终的价值-初始投资/初始投资×100%

1.jpg

ROI计算公式.png

--套用到计算自动化测试的ROI中,首先要解决的问题有两个: 1. 什么是自动化测试的最终价值? 2. 什么是自动化测试的初始投资?

测试的价值是通过找到更多质量缺陷(Defects)使得产品后期投入(Cost)减少而实现的。因此,自动化测试和手动测试一样,最终的价值决定于多少质量缺陷的暴露。这里不是单纯指测试人员找到的缺陷越多越好,而是指系统上线以后侧漏出去的质量缺陷越少越好。

自动化测试的价值可以说是相对于手动测试而言的,影响测试效率的参数可以用以下参数做参考,它们是基于多少个bug会被发现和被遗漏的bug的成本,当然你也可以加上你认为会影响测试效率的因素:

  • 测试效率的提高率

  • 基线修复率

  • 基线停机时间

  • 平均每小时停机的成本

  • 基准事故数

  • 事故平均花费

比如ABC公司发现他们的手工测试场景被自动化后,发现的bug数量相比于以前是2倍,则测试效率提高率为2。 在所有需要被修复的10个bug中又有1个需要被重新修复时,基线的修复率为10%,行业的数据一般是7%。 由于遗漏的缺陷而导致线上系统出现计划外故障的时间为基线年度停机时间,比如90小时。 在系统崩溃的时候会造成的商业损失的每小时成本可记为平均每小时停机成本。 还有年度里的遗漏bug数和为了修复这些bug而花费的平均成本。

可以得出一个以下的图表:

1.jpg

测试效率.png

那什么是自动化测试的初始投资,也就是它的成本呢? CC先生认为有以下两种类型参数可以作为参考: - 测试投入相关参数 - 测试人员总人数 - 每小时测试人员平均成本 - 已存在的手工测试用例数 - 兼容性的测试环境数 - 一定时间类的Release数 - 已存在的手工测试所需总时间 - 迭代的项目的增长范围率 - 迭代的增长范围百分比 - 测试产出相关参数 - 测试场景设计时间 - 测试流程沟通时间 - 测试脚本编写时间 - 测试脚本运行时间 - 手工测试运行时间 - 手工测试变动时间 - 测试对象变动时间

得出的列表类似于下图:

2.jpg 

测试投入.png

当然在自动化测试成本计算的时候可能还需要进行工具的选型,如果是商用的工具,就需要记入License的花费以及一些培训及咨询的费用。

开源软件已经很盛行的今天好多企业都会选择一些主流的开源软件进行二次封装,这时组织内就需要考虑招聘不同技术的人才来进行工具的二次开发。

依据以上的不同的参数的取值和一定的权重,你就可以构建你自己的ROI模型了。从ROI的算法中也可以看出,如果只运行一次的自动化测试收益率并不高,也就是说自动化测试的脚本运行次数越多,它的ROI也就越高,和我们所知道的自动化测试多运用于回归测试这一常识是相吻合的。

如果觉得自己做一个ROI模型很麻烦,也有捷径可走。 推荐一个线上的计算自动化测试ROI地址:https://www-01.ibm.com/software/rational/offerings/testing/roi/tool/ROI_Rational.html

3.jpg

IBM的Test ROI.png

网页上部分的问题中就是会计算的参数,下部分展示了预测的成本以及依据时间得出的回报率。(是不是超简单?)

anyway,一个原则,记得对你的老板"动之以情,晓之以理" ,今年就会是自动化测试更加发光发热的一年哦~


版权声明:本文出自51Testing会员投稿。51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • web页面问题定位:第一步:前后端判断先判断是前端还是后端的问题,如果是接口请求响应数据是正常的,则进一步定位前端问题。前端问题可以通过F12打开调试模式,切换到source 页面进行查看是否是js文件内的语法错误,或者是资源文件位置未找到等问题第二部:后端具体原因分析后端接口请求异常,则可通过状态码进行判断400--请求语法错误,也就是前后端语法定义不一致401--未授权403--服务端拒绝访问404--资源不存在500--服务器内部错误如果遇到磁盘满了,就需要看应用程序是否活着,如果活着则返回500(服务器处理异常),若是应用程序已经死了,则返回400资源不存在了app端和服务端问题定位:...
            0 0 2523
            分享
          •   实战案例  「Q:微博发动态,设计一下测试点」  虽说是发动态,但是测试时不能只是关注发动态这一操作的功能,发完动态之后,我们要确保动态要对外可见(对关注的人可见),单单测试发动态这个操作,实际上意义是不大的,毕竟只测发动态,不能实现测试闭环。  所以测试用例一定要把整个使用流程的case都要涉及到,避免漏测。  「Q:对一台自动售货机进行测试用例设计」  「Q:设计微信发红包测试用例」  「Q:设计抖音直播功能测试用例」  除了下图列举的一些测试点之外,还需要考虑 后台 的测试,譬如:审核后台、监控平台、数据中台 等等   「Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。」...
            1 0 5592
            分享
          • 今天我们就来浅聊一下什么是接口测试,接口测试又该如何进行呢?一、什么是接口测试?接口测试是一种常见的软件测试方法,用于测试软件系统中不同模块之间的接口。接口是指两个或多个独立软件模块之间进行数据交换的地方。在软件系统中,不同的模块之间相互依赖和交互,这些模块通过接口来实现数据的传递和共享。因此,对于一个软件系统,接口测试是至关重要的,它可以帮助发现接口错误、性能问题、安全漏洞等问题。接口测试的主要目标是检查系统的不同部分之间是否正确地传递数据和调用其他组件。二、接口测试的步骤接口测试没有说有固定的步骤,会根据每个团队的需求产生不同的步骤,但基本步骤大差不差的:1、确定接口确定哪些接口需要测试以...
            0 0 1594
            分享
          •   今天分享几个工作协作过程中的真实案例,每个案例中都有常见的协作问题,希望给大家带来思考。  案例一:我功劳最大,但没有被认可  某团队要将公司的基础组件在该业务落地实施,该团队主管安排两位QA同学跟进了该事情:小B和小D。小B是一个善于用技术解决问题、但服务意识差一些的同学,小D的技术功底弱一些,但服务意识强。  小D日常收集大家的诉求,遇到不太懂的技术问题则请教小B,然后将问题和解答进行了整理,久而久之,最后形成一篇FAQ文档,FAQ文档经过推广、运营,知道的人越来越多,最后该FAQ文档得到了团队成员的普遍好评。因此,小D同学的影响力越来越大、正反馈越来越多。这时小B同学有点不高兴了,开...
            0 0 735
            分享
      • 51testing软件测试圈微信