怎样做好接口自动化测试?

news2024/11/16 9:35:31

今天介绍一下在接口自动化测试相关实践中总结到的一些经验。

接口自动化测试的目的

自动化测试的主要目的是用来回归测试的,当代码有变化时,有可能影响不应该变化的逻辑,这个时候为了确认这种情况,就需要进行回归测试。有时候回归测试的范围比较大,如果全由人工的测试,一次两次还可以接受,如果每次都这样做,人力成本不说,反反复复执行相同测试用例的测试人员也会抱怨。

通过接口自动化测试可以实现手工测试不容易做的验证,比如验证接口中大量数据的排序,多字段的比较,如果都通过手工来做,效率问题不可接受。

手工很难充分验证的功能逻辑,一些异常、极限的场景,通过手工很难构造,此时如果我们了解接口的内部逻辑,通过使用脚本有目的的构造这样的场景来触发接口的内部逻辑,从而对这些逻辑进行验证测试,相对来说是很容易的。

采用定时的针对线上接口的自动化测试,能启动一定的监控作用,当接口功能出现问题时,通过定时的巡检测试就可以及时发现。

接口自动化测试需要掌握的技能

首先就是对于业务要有相当程度的理解,如果要设计好的接口自动化测试用例,一定要对业务有着深刻的理解,因为接口自动化的前期会有一定的投入,如果我们可以将有限的投入聚焦业务中的核心功能点,会有事半功倍的效果。

其次是拥有设计功能测试用例所用到的测试设计基本功,自动化测试和功能测试一样,同样不可穷举、不能做到足够的充分测试,那么就需要经过一定的测试分析,来选择最有效的测试用例。

最后是有一些代码能力,架构设计能力。

接口自动化测试需要注意什么

由于开展接口自动化测试有一定的成本,所以编写接口自动化测试用例,实际上要有一个权衡的。

如果测试用例写得很细,我们测试了接口中每个功能点甚至是每一条分支路径都有涵盖,那么就会特别依赖被测代码的逻辑,如果被测代码逻辑稍微有点变化,测试用例可能就会执行失败。

如果我们的测试用例验证的内容没那么细的话,那有可能即使被测代码逻辑有变动,但是测试用例执行不容易失败,这时就有可能遗漏由于代码变动产生的真的bug。

所以开展自动化测试要找到一个平衡点,尤其是要注意和其他层面的测试相互配合,比如单元测试、UI自动化测试、人工测试等。我们可以事先定义出一套分层测试的规范,即哪些逻辑应该有接口自动化测试保证,哪些逻辑要由UI自动化测试保证,哪些逻辑要由人工测试保证。我们在进行不同层面的测试时,就能互相配合,达到一个较高的测试覆盖率。这个规范没有统一的标准,也是根据自己团队的实际业务、资源、人力等因素来设定的。

最后,接口自动化测试用例其实也是有生命周期的,从产生到修改、再到废弃。自动化测试用例只要在生命周期内才能发挥价值,所以我们要尽可能的延长它的生命周期,还要尽可能的降低case的产生成本和修改成本,所以整个自动化测试用例就要进行管理。说到管理,我们就不得不谈谈度量了。关于自动化测试的度量指标列举了一些供大家参考:

  • case总数量
  • case变更量
  • 代码覆盖率
  • 投入人力
  • 单个/所有case执行次数
  • 单个/所有case发现问题数
  • 人工参与的回归测试投入情况

当我们开展自动化测试时,就需要通过分析上述指标,以及这些指标一段时间内的趋势,来调整自动化测试方案和策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1106779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于W5500网卡使用过程的部分问题记录

某个项目中用到了W5500这种自带网络协议栈的网卡芯片,由于该项目开发时间很紧,就临时网上买了一些模块拼凑到了一套系统,经过验证果真这种拼积木的方法只能用在学生实验开发中,真不能拿来做工程应用,硬件太不稳定很容易…

VMware添加Ubuntu虚拟机-Ubuntu系统的安装-物联网开发

一、前言 在物联网开发中,我们需要使用Linux系统或Ubuntu系统,最近我将会分享一些关于Ubuntu系统的知识和指令,并归纳到我的Ubuntu系统开发与维护专题,希望能给大家在物联网开发中提供帮助。 本文我们讲述使用VMware 16 Pro添加Ub…

给cmd控制台程序 套壳 美化

给cmd控制台程序套壳美化,可以获取程序的标准输出和报错信息。 # _*_ coding: utf-8 _*_ """ 控制台程序启动器,杜绝黑窗口。 Time: 2023/10/18 15:28 Author: Jyun Version: V 0.1 File: main.py Blog: https://ctrlcv.…

计算机缺失pasmutility.dll怎么办,三步解决pasmutility.dll缺失

pasmutility.dll文件是windows系统中重要的dll文件,电脑一旦缺失dll文件就会导致电脑无法正常运行,同时还会唐初电脑缺失pasmutility.dll文件的提示窗口,非常影响电脑运行,那么出现计算机缺失pasmutility.dll该怎么办呢&#xff1…

为什么引入SVG文件,给它定义属性不生效原理分析

背景&#xff1a; 我使用antd 的Icon组件引入SVG图片&#xff0c;但给svg图片定义styles样式时&#xff0c;不生效&#xff0c;为什么呢&#xff1f; 我们平时用antd组件库的 < ArrowRightOutlined style{{color: red }}>时为什么会生效呢&#xff0c;但我图一这样定义就…

保护隐私就是在保护自己!如何在Android上更改应用程序权限

如果你关心隐私&#xff0c;知道如何在Android上更改应用程序权限将成为一项非常重要的技能。即使是最好的安卓应用程序也可以对手机的功能和数据进行广泛的访问&#xff0c;因此准确控制它们的使用范围会有所帮助。 一旦你在手机上加载了应用程序&#xff0c;你可能会注意到它…

Unity中Shader的Pass的复用

文章目录 前言一、怎么实现Pass的复用1、给需要引用的Pass给定特定的名字2、在需要引用 Pass 的Shader中&#xff0c;在Pass的平行位置使用 UsePass "ShaderPath PassName" 二、实现一个没被遮挡的部分显示模型原本的样子&#xff0c;遮挡部分显示模型的XRay效果1、…

一篇文章带你搞懂 单调栈 是怎么回事

首先我们要搞懂什么时候使用单调栈&#xff1f; 当我们需要找到 左边或右边 第一个 比自己大的数 或者 比自己小的数 时就要使用单调栈 单调栈实际上就是一个栈&#xff0c;他的作用就是存储我们遍历过的数字。当我们遍历数组的时候&#xff0c;遍历到后面的数组后并不知道前…

ARM 堆栈寻址类型区分

文章目录 堆栈指向分类堆栈指向数据分类满递增与满递减空递增与空递减 堆栈指向分类 根据堆栈指针的指向的方向不同&#xff0c;可以划分为向上生成型和向下生成型。 向上生成型&#xff1a; 随着数据的入栈&#xff0c;堆栈的指针逐渐增大&#xff0c;称为&#xff1a;递增…

数据结构中的七大排序(Java实现)

目录 一、直接插入排序 二、希尔排序 三、直接选择排序 四、堆排序 五、冒泡排序 六、快速排序 七、归并排序 一、直接插入排序 思想&#xff1a; 定义i下标之前的元素全部已经有序&#xff0c;遍历一遍要排序的数组&#xff0c;把i下标前的元素全部进行排序&#xff0…

Python 爬虫入门:常见工具介绍

接着我的上一篇文章《网页爬虫完全指南》&#xff0c;这篇文章将涵盖几乎所有的 Python 网页爬取工具。我们从最基本的开始讲起&#xff0c;逐步涉及到当前最前沿的技术&#xff0c;并且对它们的利弊进行分析。 当然&#xff0c;我们不能全面地介绍每个工具&#xff0c;但这篇…

C++string类重要函数模拟实现

为了和C标准库区分&#xff0c;以下代码除主函数外均在namespace空间 目录 一.成员 二、带参构造函数 三、拷贝构造函数和赋值运算符重载 四、析构函数 五、重要成员函数实现 1. c_str函数 2. operator[]重载 3. size函数和capacity函数 4.reverse函数 5. push_back和…

plink分析100个性状的批量gwas分析

大家好&#xff0c;我是邓飞。 GWAS分析时&#xff0c;3~5个性状是正常操作&#xff0c;要分析100个性状呢&#xff0c;手动修改参数&#xff0c;工作量是够了&#xff0c;但是程序员的修养体现在哪里了&#xff1f;&#xff1f;&#xff1f; 如果还是按照每个性状一个文件夹…

Jetpack:012-Jetpack中的弹出菜单

文章目录 1. 概念介绍2. 使用方法2.1 DropdownMenu2.2 DropdownMenuItem 3. 示例代码3.1 代码和注释3.2 代码难点3.3 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中标题栏相关的内容&#xff0c;本章回中主要 弹出菜单。闲话休提&#xff0c;让我们一起Talk Android …

Appium+python+unittest搭建UI自动化框架!

阅读本小节&#xff0c;需要读者具备如下前提条件&#xff1a; 1. 掌握一种编程语言基础&#xff0c;如java、python等。 2. 掌握一种单元测试框架&#xff0c;如java语言的testng框架、python的unittest框架。 3. 掌握目前主流的UI测试框架&#xff0c;移动端APP测试框架Appiu…

智能化巡检系统哪家好?巡检系统可以为企业单位带来什么便利?

设备点检是设备维修策略中预防维修的一个重要手段。在很多单位内也得到了广泛的应用&#xff0c;但是实施效果均不太理想&#xff0c;弄虚作假的情况时常存在。尽管现在是人手一机的时代&#xff0c;但仍然有不少企业以纸笔抄录作为点检模式&#xff0c;这样就容易存在一系列的…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider

滑动条组件&#xff0c;通常用于快速调节设置值&#xff0c;如音量调节、亮度调节等应用场景。该组件从API Version 7开始支持。无子组件 一、接口 Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direction?: Ax…

如何确定IP地址的具体位置?

IP地址通过几种方法帮助确定具体位置&#xff0c;尽管它们的准确性和精度因不同的情况而异。以下是几种确定具体位置的主要方法&#xff1a; 地理IP数据库&#xff1a;这是最常用的方法之一&#xff0c;它使用IP地址和地理位置数据的映射来确定用户的位置。这些数据库存储了大量…

节省工时超 1500人/天,国泰基金探索金融业人机协同新业态

“十四五”时期是我国经济实现从高速增长转变为高质量发展的关键历史时期&#xff0c;“十四五”规划向金融行业提出了数字化转型与科技监管的新要求。在新一轮科技革命和产业变革趋势下&#xff0c;新一代信息技术与金融行业融合加速&#xff0c;金融行业面临着监管要求与自身…

coreldraw2018零售版最新下载步骤

安装前一定要先退出杀毒软件&#xff1a;360杀毒、360安全卫士、腾讯管家等。 第一步&#xff1a;打开安装包 CorelDRAW2018版win下载如下:https://wm.makeding.com/iclk/?zoneid55678 CorelDRAW2018版mac下载如下:https://wm.makeding.com/iclk/?zoneid55679 第二步&…