如何统计自动化测试用例的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 元素的存在性.例如: 每个页面都有其预期的 ...
随机推荐
- python操作kafka
python操作kafka 一.什么是kafka kafka特性: (1) 通过磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. (2) 高吞吐量 :即使是 ...
- Java设计模式(1:软件架构设计七大原则及开闭原则详解)
前言 在日常工作中,我们使用Java语言进行业务开发的时候,或多或少的都会涉及到设计模式,而运用好设计模式对于我而言,又是一个比较大的难题.为了解决.克服这个难题,笔主特别开了这个博客来记录自己学习的 ...
- js动态加载HTML元素时出现的无效的点击事件
项目中列表数据中隐藏着详情数据, 图一: 详情数据是:根据当前行的数据作为参数,通过ajax请求到后台返回的数据,再根据返回的结果动态生成HTML页面 图二: js文件中的这些js的点击事件无效: j ...
- 原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展
原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展 Atomic Layer Deposition (ALD) and Chemical Vapor Deposition (CV ...
- TVM将深度学习模型编译为WebGL
使用TVM将深度学习模型编译为WebGL TVM带有全新的OpenGL / WebGL后端! OpenGL / WebGL后端 TVM已经瞄准了涵盖各种平台的大量后端:CPU,GPU,移动设备等.这次 ...
- MinkowskiNonlinearities非线性
MinkowskiNonlinearities非线性 MinkowskiReLU class MinkowskiEngine.MinkowskiReLU(*args, **kwargs) __init ...
- Python_Selenium 之PO模式的思想、优化思路
一.PO模式思想 PO模式是一种自动化测试设计模式,将页面定位和业务操作分开,也就是把对象的定位和测试脚本分开,从而提供可维护性. PO设计模式基础(页面作为类.元素对象作为属性.元素操作作为方法) ...
- 一文带你走遍Git世界,教会你Git的使用
@ 目录 这篇文章教会Git 1. Git是什么? 1.1 发展历程 1.2 Git是什么? 1.3 Git和SVN 2.Git有什么用? 2.1 代码合并 2.2 代码备份 2.3 代码还原 2.4 ...
- 获取微信公众号的粉丝openid以及用openid获取unionID
第一步获取微信粉丝的openid https://api.weixin.qq.com/cgi-bin/user/get?access_token=access_token access_token这里 ...
- Python基础之:Python的数据结构
目录 简介 列表 列表作为栈使用 列表作为队列使用 列表推导式 del 元组 集合 字典 循环 简介 不管是做科学计算还是编写应用程序,都需要使用到一些基本的数据结构,比如列表,元组,字典等. 本文将 ...