如何统计自动化测试用例的ROI 【投入产出比/投资回报率】
一、 自动化测试的投入有哪些?
1. 自动化测试的软件平台投入
自动化测试平台的开发时间,实施时间。
2. 自动化测试的框架开发投入+框架维护的投入
开发自动化测试脚本使用的框架,例如通过一些现有框架完成的测试基础,但是在现有的框架基础上,也需要提供测试投入,开发Excel的读写,PDF的读写,根据业务用例的情况开发一些定制化的框架。
3. 自动化测试的测试用例整理(功能测试用例)的投入
测试用例的整理要注意一些细节,例如
- 测试用例号或测试用例名,能唯一定位到该条测试用例的信息。
- 手工测试时间:手工执行这个用例的时间,这个时间根据用例类型的不同来配置,例如模块和模块的联调,中间耗费掉的测试数据准备时间,系统和系统的联调,涉及到两边系统的测试人员对接时间,外部依赖耗费的时间,都需要从手工测试时间中剔除。因为这些时间仍然存在,哪怕用了自动化脚本也一样需要提前准备数据,双方完成测试工作的对接,环境同样需要准备,外部依赖依然存在。
4. 自动化测试的测试脚本设计&维护的投入
自动化用例的设计: 包含完成这个脚本自动化需要准备的所有事项的准备时间,如前提条件的准备,自动化用到的测试数据的准备,自动化脚本的准备和调试直到通过的时间,甚至也需要清理测试数据的时间。
自动化用例的维护:自动化脚本运行过程中,碰到由于测试数据、测试环境、测试场景变更导致的维护成本。
5. 自动化测试用例的执行时间的投入
自动化测试用例用于每次回归测试执行的时间。一般来说是3种时间的总和: 数据/环境准备时间、数据/环境清理时间以及自动化测试脚本的执行时间。
6. 测试结果分析时间

二、 自动化测试的产出有哪些?
自动化脚本回归执行的次数越多,ROI的值就越高,意味着投资回报率高,自动化的意义被充分体现。根据不同项目的需求,统计的方式和维度也可以不同,例如:
1. 每个脚本的回归次数

2. 脚本执行过程中发现的缺陷个数

如何计算:
ROI = 收益/投入
如果单纯从回归测试执行次数的ROI来判断,那么公式应该是
ROI = ((回归测试用例总数*次数*手工时间)-(回归测试用例总数*开发时间+脚本维护成本))/(设计成本+脚本开发成本+脚本维护成本+问题分析成本)
如何统计自动化测试用例的ROI 【投入产出比/投资回报率】的更多相关文章
- jacoco统计自动化代码覆盖率
jacoco统计自动化代码覆盖率 1. 简介 1.1. 什么是Jacoco Jacoco是一个开源的代码覆盖率工具,可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以 ...
- PowerShell调用jira rest api实现jira统计自动化
通过调用JIRA Rest web api实现统计自动化,首先进行登录模拟: $content = @{username='用户名';password='密码'} $JSON=$content|con ...
- Python自动化测试用例设计--自动化测试用例与手工测试用例区别与联系
1. 前言 手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析,两者最大的各自特点在于,前者具有较好的异 ...
- 用java和junit编写app自动化测试用例
package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver ...
- 用python和unittest编写app自动化测试用例
import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...
- 28. Python编写自动化测试用例
接口文档已经提供了,requests库.unittest单元测试框架也已经介绍过,笔者相信读者朋友已经可以独立编写接口自动化测试用例了.但是有一些细节,我们需要聊一下.比如我们写登录接口测试用例,用户 ...
- web自动化测试用例编写的规范
1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器. 2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统 3.尽量只做功能中正向逻辑的验证,不要 ...
- 用WebDriver实现基于jira过滤器视图的统计自动化
在Jira上通过过滤器我们可以做出多种视图,以方便统计我们想要收集的结果.比如:我想查看所有分派给我的任务.在Jira上,我保存了一个过滤器,叫做“分派给我的所有任务”.这个过滤器可以过滤出所有分配给 ...
- Python自动化测试用例设计--测试类型
1.前言 WEB自动化测试时候测试哪些类型,下面将介绍一下: 2. 测试类型 2.1 测试静态内容 静态内容测试是最简单的测试,用于验证静态的.不变化的UI 元素的存在性.例如: 每个页面都有其预期的 ...
随机推荐
- 实用程序包utils - 基于Rollup打包输出各模块文件(二)
上一次,我们讲到了如何去搭建一个前端工具库的工程,那么今天我们来聊一聊如何去将其打包输出. 需求 事情是这个样子的.我有一个这样的需求,或者是我发现有这么一个需求.就是有时候吧,我也不想搞的那么复杂, ...
- Django学习之完成数据库主从复制、读写分离和一主多从情况下的使用办法
1.首先配置多个数据库,在settings配置文件中配置以下内容: DATABASES = { 'default': { #默认数据库,配置多个mysql数据也是ok的,混用数据库也是ok的 'ENG ...
- 手把手带你快速入门jQuery(视频|资料,建议收藏!)
jQuery是什么? jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架). jQuery设计的宗旨是 ...
- CodeGen准备存储库
CodeGen准备存储库 CodeGen几乎总是与提供用于生成源文件的元数据的存储库结构一起使用,并且许多令牌需要使用存储库结构. 基本要求是有一个结构定义,并且该结构定义包含一个或多个字段定义.有些 ...
- H5根据浏览器内核判断并区分微信、QQ和QQ浏览器
项目中碰到这样一个需求点,在h5页面区分当前所处客户端环境是QQ客户端.微信客户端还是QQ浏览器客户端,并做不同的逻辑处理 首先可以通过 window.navigator.userAgent 获取到当 ...
- Spring Cloud Alibaba(14)---SpringCloudAlibaba整合Sleuth
SpringCloudAlibaba整合Sleuth 上一篇有写过Sleuth概述,Spring Cloud Alibaba(13)---Sleuth概述 这篇我们开始通过示例来演示链路追踪. 一.环 ...
- Spring Cloud系列(三):服务消费与负载均衡
上一篇介绍了服务提供者,有了注册中心和服务提供者,我们就可以进行服务消费了.Spring Cloud可以通过RestTemplate+Ribbon和Feign这两种方式消费服务. 我们仍然在上一篇的项 ...
- Java基础知识之this关键字知识讲解
this关键字这里对java中this关键字的基础知识进行讲解,希望对热爱java的小伙伴有帮助!! /* this关键字代表了所属函数的调用者对象. this关键字的作用: 1. 如果存在同名成员变 ...
- Headline 项目总结中
目录 1.项目准备 1.1 rem适配 1.2 通用样式CSS 1.3删除测试代码 1.4Git托管 2.login页面 2.1 页面布局和表单校验 2.2login页的接口抽取 2.5.loadin ...
- NX二次开发-获取WCS标识
函数:UF_CSYS_ask_wcs() 函数说明:获取工作坐标系对象的标识. 用法: 1 #include <uf.h> 2 #include <uf_csys.h> 3 e ...