自动化回归测试案例评价标准试图定义不同维度来评价自动化案例的优劣,作为后续我们评判讨论测试框架、测试技术和测试案例编写模式的基础。那什么是好的自动化回归测试案例呢?简而言之,就是投资回报率高的案例,因为案例的回报相对稳定,所以,高投资回报率的测试案例的主要特征就是低成本,而这个成本应该是一个测试案例全生命周期的成本:

测试案例全周期成本 =

初始开发成本

+ 执行成本*e

+ 平均错误定位成本*f

+ 平均重构成本*m

这里:

初始开发成本是指案例开发、调试和优化的成本,其实它主要由使用的测试框架和测试工具来决定;

平均执行成本是指案例执行成本,这个成本主要是由暂用计算资源造成的,

e是指执行次数,应该是千次或万次数量级的;

错误定位成本是指自动化案例执行报错后,发现、定位、解决问题的成本,

f是出现错误的次数,一般应该在几十次数量级;

平均重构成本是指为了应对需求变化而重构案例的平均成本;

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的更多相关文章

  1. jemeter 实现接口自动化回归测试

    jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...

  2. C语言作业评价标准

    C语言作业评价标准 作业内容: 每周作业分为基础作业.挑战作业和预习作业: 基础作业为本周所学内容的巩固: 挑战作业包括但不仅限于所学知识的综合运用: 预习作业为下周所学内容的任务单,要求必须在课前完 ...

  3. ROC曲线-阈值评价标准

    ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性 ...

  4. 关于视觉跟踪中评价标准的相关记录(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 ...

  5. 目标检测评价标准(mAP, 精准度(Precision), 召回率(Recall), 准确率(Accuracy),交除并(IoU))

    1. TP , FP , TN , FN定义 TP(True Positive)是正样本预测为正样本的数量,即与Ground truth区域的IoU>=threshold的预测框 FP(Fals ...

  6. 使用node.js进行API自动化回归测试

    概述 传统的QA自动化测试通常是基于GUI的,比如使用Selenium,模拟用户在界面上操作.但GUI测试的开发.维护成本和运行的稳定性一直是测试界的老大难问题.投入大量的人力物力开发.维护.运行,却 ...

  7. 【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试

    前言 Mock是一个做自动化测试永远绕不过去的话题.本文主要介绍使用标准库net/http/httptest完成HTTP请求的Mock的测试方法. 可能有的小伙伴不太了解mock在实际自动化测试过程中 ...

  8. 基于C#实现的自动化测试框架:发布自动触发自动化回归测试

    接口自动化测试用例完成以后,以前都是发布以后手动运行测试用例.虽然手动运行下脚本也就是一个F5的事情,但是离自动化测试的标准差得很远.这两天有了个大胆的想法,想要实现以下发布时直接触发自动化回归测试用 ...

  9. ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)

    转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...

随机推荐

  1. js/jq宽高的理解与运用

    document:1. 与client相关的宽高document.body.clientWidthdocument.body.clientHeightdocument.body.clientLeftd ...

  2. Codeforces Round #379 (Div. 2) 总结分享

    前言 初入acm的新手,打算在cf混.这几天没有比赛,就做了个最新的Virtual participation.虽然说div2比较简单,但还是被虐得体无完肤...Orz.两个小时,共6道题.最后只AC ...

  3. android: 使用前台服务

    9.5.1    使用前台服务 服务几乎都是在后台运行的,一直以来它都是默默地做着辛苦的工作.但是服务的系统 优先级还是比较低的,当系统出现内存不足的情况时,就有可能会回收掉正在后台运行的服 务.如果 ...

  4. .net下BerkeleyDB操作封装C#版(附单元测试)

        using System; using System.Collections.Generic; using System.IO; using System.Linq; using System ...

  5. Java中long和Long有什么区别 (转载)

    “Long is a class. long is a primitive. That means Long can be null, where long can't. Long can go an ...

  6. Entity Framework 6.x Code Frist For Oracle 实践与注意点

    Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...

  7. Python小游戏之猜数字

    最近师兄师姐毕业,各种酒席,酒席上最常玩的一个游戏就是猜数字,游戏规则如下: 出题人在手机上输入一个0-100之间的数字,其它人轮流猜这个数字,如果你不幸猜中则要罚酒一杯.每次猜数字,出题人都要缩小范 ...

  8. Objective-C在windows开发环境的搭建

    转自 http://www.hdj.me/objective-c-in-windows 安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objecti ...

  9. php中抓取网页内容的代码

    方法一: 使用file_get_contents方法实现 $url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru695114 ...

  10. VirtualBox不能为虚拟电脑 Ubuntu 打开一个新任务

    今天在用Vbox中的Ubuntu系统准备测试Python代码时,Vbox报了一个错误:"不能为虚拟电脑 Ubuntu 打开一个新任务".因为之前用的时候还好好的,也不知道是不是最近 ...