自动化回归测试案例评价标准 MeRest
自动化回归测试案例评价标准试图定义不同维度来评价自动化案例的优劣,作为后续我们评判讨论测试框架、测试技术和测试案例编写模式的基础。那什么是好的自动化回归测试案例呢?简而言之,就是投资回报率高的案例,因为案例的回报相对稳定,所以,高投资回报率的测试案例的主要特征就是低成本,而这个成本应该是一个测试案例全生命周期的成本:
测试案例全周期成本 =
初始开发成本
+ 执行成本*e
+ 平均错误定位成本*f
+ 平均重构成本*m
这里:
l 初始开发成本是指案例开发、调试和优化的成本,其实它主要由使用的测试框架和测试工具来决定;
l 平均执行成本是指案例执行成本,这个成本主要是由暂用计算资源造成的,
l e是指执行次数,应该是千次或万次数量级的;
l 错误定位成本是指自动化案例执行报错后,发现、定位、解决问题的成本,
l f是出现错误的次数,一般应该在几十次数量级;
l 平均重构成本是指为了应对需求变化而重构案例的平均成本;
l m是重构的次数,一般可能是几十次数量级的,视相关需求变更频繁程度。
有了上面的成本模型,我们就可以讨论一下自动化回归测试案例的评价标准(MeReST标准):
1. Maintainable(可维护性),主要指标(Should):案例应易于维护和扩展,可以应对未来的需求变化;在测试案例全周期成本中,对一个正常案例而言,总重构成本会是大头,因此,测试案例的可维护性至关重要;
2. Efficient(高效性),次要指标(Could):案例应尽可能在最短时间内守护尽量多的风险点;提升案例的高效性,有利于减少测试案例的数量,在不过分影响其他指标的前提下,尽量用更少地案例来覆盖同样的风险点,有助于减少测试案例集总成本;
3. Readable(易读性),主要指标(Should):案例应该简单,易于理解;易读性在案例开发阶段,会影响案例沟通、交流的难度,影响初始开发成本,更重要的是,它也是影响重构成本的重要因素,因为,维护测试案例的人很可能已经不是最初开发案例的人了,能够重构的前提是看得懂;
4. Easy-to-use(易用性),次要指标(Could):案例对测试人员而言,应该非常易于使用,例如,易于调试,出现问题易于定位,可以方便重跑失败案例等;这个指标可以在一定程度上影响开发成本,错误定位成本和重构成本;
5. Sensitive(敏感性),必备(Must):案例的目标是守护关键需求,防范特定风险,因此,案例必须具备足够的风险敏感性,在出现问题时,必须给出预警。永远不失败的测试案例不是好案例;敏感性其实就是案例的最低功能要求,不具备足够的风险敏感性案例就是无效案例,例如,没有assert或仅仅assert函数返回值的单元测试案例都是不够敏感的案例;
6. Trustable(可靠性),必备(Must):案例应尽量避免由于案例原因造成的随机失败,案例失败最好就意味着对应系统存在问题;可靠性这个指标非常重要,因为,如果案例不可靠,出现随机失败,这会极大增加出现错误的次数,从而传导到测试案例总成本。
分析清楚了MeRest原则,下面我们就可以讨论测试框架、测试技术和测试案例编写模式了。
自动化回归测试案例评价标准 MeRest的更多相关文章
- jemeter 实现接口自动化回归测试
jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...
- C语言作业评价标准
C语言作业评价标准 作业内容: 每周作业分为基础作业.挑战作业和预习作业: 基础作业为本周所学内容的巩固: 挑战作业包括但不仅限于所学知识的综合运用: 预习作业为下周所学内容的任务单,要求必须在课前完 ...
- ROC曲线-阈值评价标准
ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性 ...
- 关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset)
关于视觉跟踪中评价标准的相关记录(The Evaluation of Visual Tracking Results on OTB-100 Dataset) 2018-01-22 21:49:17 ...
- 目标检测评价标准(mAP, 精准度(Precision), 召回率(Recall), 准确率(Accuracy),交除并(IoU))
1. TP , FP , TN , FN定义 TP(True Positive)是正样本预测为正样本的数量,即与Ground truth区域的IoU>=threshold的预测框 FP(Fals ...
- 使用node.js进行API自动化回归测试
概述 传统的QA自动化测试通常是基于GUI的,比如使用Selenium,模拟用户在界面上操作.但GUI测试的开发.维护成本和运行的稳定性一直是测试界的老大难问题.投入大量的人力物力开发.维护.运行,却 ...
- 【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
前言 Mock是一个做自动化测试永远绕不过去的话题.本文主要介绍使用标准库net/http/httptest完成HTTP请求的Mock的测试方法. 可能有的小伙伴不太了解mock在实际自动化测试过程中 ...
- 基于C#实现的自动化测试框架:发布自动触发自动化回归测试
接口自动化测试用例完成以后,以前都是发布以后手动运行测试用例.虽然手动运行下脚本也就是一个F5的事情,但是离自动化测试的标准差得很远.这两天有了个大胆的想法,想要实现以下发布时直接触发自动化回归测试用 ...
- ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)
转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...
随机推荐
- ESXi5 中克隆Linux虚拟主机的网络配置
虚拟化技术果然非常方便,尤其是windows主机,克隆后在网络管理中改一下IP即可. 但对于Linux来说就有点麻烦,只修改IP还不行,还有MAC地址,网卡指定等,这个规程对应新手来说没有大半天搞不定 ...
- J2EE学习笔记-第二章(Web应用初步)
首先要理解一些概念的词语,到底这些是什么(当我读懂了后,会逐一填补完整,现在我真的有点混淆) web组件-相当于功能性的组件,就像是零件,汽车的轮胎,汽车的门,所有组件组合后,才能成为一辆车,有时候也 ...
- 通过反射获取Android通知栏高度
public static int getStatusBarHeight(Context context){ Class<?> c = null; Object obj = null; F ...
- 初始zookeeper与集群搭建实例
zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...
- BZOJ 3732: Network 最小生成树 倍增
3732: Network 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3732 Description 给你N个点的无向图 (1 &l ...
- oracle 判断中文函数
create or replace function func_chinese( p_str in varchar2, -- 输入的字符串 p_code in varchar ...
- Linux实现ftp账号同时访问两个目录方法
在做项目时,客户需要FTP同时访问两个目录,要清楚,在建FTP时,都是一个用户对应一个目录,当FTP用户登录后,就只访问当前目录,如果需要访问到其他目录,得另想办法.刚开始以为使用链接可以实现这个功能 ...
- Tomcat抛出异常:ClientAbortException: java.net.SocketException: Connection
在做一个小网站的时候,写了一个通过servlet实现文件下载功能的页面.当我点击超级练级,弹出下载对话框,点击保存正常下载,不会出现任何问题,当我我点击取消,服务器端就出现如下提示: ClientAb ...
- Jenkins FTP 上传
需要插件:FTP publisher plugin 进入 Jenkins / 系统管理 / 系统设置 找到 FTP repository hosts,新增一个,编辑好,保存 打开 Jenkins / ...
- swift 如何删除subviews
scrollView.subviews.map { (var view) -> () in if (view is UIButton) { view.removeFromSuperview() ...