什么是接口自动化测试?接口自动化测试的目的是什么?

news2025/1/17 14:12:58

1、什么是接口测试

接口测试是对系统或组件之间的接口的测试。主要用于检测外部系统与系统间以及内部各个子系统间的交互点。测试重点是检查数据交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2、接口测试的目的

1> 尽早介入软件测试流程,降低修复成本。分层进行多轮测试可以过滤出更多问题。

2> 接口测试的核心是持续集成。对接口进行自动化便于服务监控、回归测试及冒烟测试,保持平台稳定,提升用户体验。

3、接口测试所需条件

满足一下几点:1> 业务流:了解系统及内部各个组件之间的业务逻辑交互。

2> 数据流:了解接口的I/O(input/output:输入/输出)。

3> 协议:包括HTTP协议、TCP/IP协议。

4> 常用工具:jmeter、soapUI、postman、YApi等。

5> 数据库:增删改查(接口GET、POST、PUT等都是对数据的增删改查)。

6> 接口文档:一般是开发提供。

4、接口测试的流程图

5、接口自动化测试

5.1、如何开展

1> 调试单个接口,保证单个接口的正确和通畅。

2> 明确数据流,业务流。

3> 将N个接口测试脚本串起来,执行即可。

注意,别想太多太复杂,先把最基础最简单的做起来,就成功一大半了。定时任务、自动化测试报告、自动发邮件钉钉等功能,这些都是不断累积优化的过程。接口自动化测试落地,才是我们首先需要考虑的!

5.2、开展之前需要知道

1> 被测对象包含几个页面?

2> 每个页面涉及几个接口?

3> 分别在哪一步调用?

4> 每个接口包含哪些字段?

5> 各个字段对应数据库哪张表?

6> 每个表中各个字段是什么意思?

7> 各个接口对表产生了怎样的操作?

5.3、接口测试用例编写

通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)。

接口用例分为单接口用例和场景用例两种。单接口用例从单个接口的功能和参数出发,每个参数都是一个交互点,结合业务,通过不同的参数组合来编写用例。场景用例以用户实际场景,通过多个接口的连续调用来模拟业务流程。一般来说,由于接口的主要使用对象为前端或其他模块的开发人员,接口测试应以业务场景为主。

接口测用例一般应包括编号、模块、用例标题、预置条件(数据准备)、步骤(请求方法、接口地址、请求数据、期望响应)等。以下为一种接口测用例模板。

编号模块用例标题请求方法接口地址请求数据数据准备SQL期望响应
001用户模块新用户注册POST/api/user/reg/{
"name": "张三",
"password": "123456"
}
DELETE FROM user WHERE name="张三";{
"code": "100000",
"msg": "成功",
"data": {
"name": "张三",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
}
002用户模块新用户注册并登录POST/api/user/reg/{
"name": "张三",
"password": "123456"
}
DELETE FROM user WHERE name="张三";{
"code": "100000",
"msg": "成功",
"data": {
"name": "张三",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
}
POST/api/user/login/name=张三&password=123456<h1>登录成功</h1>

001和002分别展示了一条单接口用例和接口常用用例,这里使用了不同的书写格式来表达JSON和传统表单URL编码格式,也可以单独增加一列来声明接口数据类型。也可以添加用例优先级、数据清理SQL、实际响应、用例执行状态等信息。

5.4、接口用例设计

接口用例设计应确保对变动代码达到一定的覆盖率(比如分支覆盖率100%),对于专职的服务端测试人员来说,接口测试是介于白盒和黑盒之间的灰盒测试。在服务端提测后,通过在Git上Changes和Review代码来明确代码的业务逻辑,对相应代码逻辑设计响应的用例以达到指定覆盖率。
对服务端提测前或纯黑盒的接口用例来说,可以参考以下几点。
1> 首先应核对接口功能是否覆盖了需求中所有的功能点和场景。
2> 由于请求接口必须使用指定的参数和规定的格式,接口文档是接口测试的必要条件,如果没有,需要跟相应的开发沟通了解接口请求方式,参数,格式,鉴权方式等必要信息。
3> 接口测试用例应至少覆盖所有的响应结果。
4> 注意接口的字段,返回值类型是否与前端约定的一致。
5> 注意边界值及负数的验证。
6> 注意接口重复请求、并发请求及数据量较多的请求。
7> 注意用户场景(多接口联动)的验证。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

ubuntu(18.04) 安装 blast 并在php中调用

1、下载 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast/LATEST/2、解压&#xff0c;配置环境变量 tar zvxf ncbi-blast-2.14.1-x64-linux.tar.gz解压后改名为 blast 配置环境变量&#xff0c;可以不配置 使用的时候直接绝对路径使用&#xff08;本次使用绝对路径&am…

我用好说 AI 做二次元人设

你有没有想过自己做一部原创作品&#xff1f; 就像开发《星露谷物语》那样&#xff0c;自己把控作品的 角色、故事、载体、宣传 等方方面面&#xff0c;让 idea 不再只是灵光一闪。 以前是 “万事开头难”&#xff0c;可能第一步都举步维艰。但现在有了 AI 就不同了&#xff…

iOS 系统获取 Bundle ID、平台公钥、签名 MD5 值的指引

1. 获取 Bundle ID&#xff1a;使用 APP 对应的 IOS 开发者账号登录 Developer 控制台&#xff0c;找到下图标识符&#xff08;英文&#xff09;&#xff0c;单击进入 Certificates,Identifiers&Profiles 页面。 2. 在 Certificates,Identifiers&Profiles 页面&#xf…

Playwright已经是目前最好的测试自动化工具了吗?

作者观点&#xff1a;很长时间以来&#xff0c;Selenium是QA工程师寻求测试自动化解决方案的首选测试框架。它能够测试任何浏览器&#xff08;这在IE浏览器的统治时期尤其重要&#xff09;和任何平台。然而&#xff0c;现在看来&#xff0c;那个时代已经过去了。 今天&#xf…

Origin科研绘图与学术图表绘制从入门到精通

目录 前言 1. PDF基线的绘制 2. XRD图的绘制 3. 点线图的绘制 4. 如何快速掌握Orign 前言 Hello小伙伴好&#xff0c;最近在忙于三篇小论文&#xff0c;在大量的处理数据和画图中。对于一篇好的学术论文图是不可缺少的&#xff0c;可以说如果你的数据平平无奇&#xff…

【JavaEE初阶】 认识文件与Java中操作文件

文章目录 &#x1f334;认识文件&#x1f6a9;树型结构组织和目录&#x1f6a9;文件路径&#xff08;Path&#xff09;&#x1f6a9;知识扩展 &#x1f38d;Java 中操作文件&#x1f6a9;File 概述&#x1f4cc;属性&#x1f4cc;构造方法&#x1f4cc;方法 &#x1f6a9;File使…

LIS检验科信息管理系统源码 标本核收、采集检验结果、书写检验报告、质量控制

LIS检验科信息管理系统源码 LIS是采用软件解决数据接收方式的医疗系统之一&#xff0c;强化了病人从开检验单检验&#xff0c;到最后检验报告的各项步骤&#xff0c;更替代了以前的缓慢、不可靠的纯手工数据接收方式&#xff0c;使得医疗检验的步骤更有条理、效率更高、检验结果…

一致性哈希揭秘,深入解析其工作原理

前言 在进行一致性哈希介绍前&#xff0c;先思考2个问题&#xff1a; 什么是Hash一致性Hash和Hash的关系是什么 对于第一个问题Hash的定义 Hash也成散列&#xff0c;基本原理就是把任意长度的输入&#xff0c;通过hash算法变成固定长度的输出。 对于第二个问题&#xff0c…

关于 MapboxGL 在 Vue 中的简单使用

前言问题 关于我为什么使用了 在线的 js引入方法&#xff0c;而不是使用 npm 直接下载依赖问题&#xff0c;之前有一篇文章讲过原因&#xff1a;关于 Vue-iClient-MapboxGL 的使用注意事项 网上提供的 vue-iclient-mapboxgl 比较多&#xff0c;但是我这里使用的是 iclient-su…

win11系统msvcp120.dll丢失的解决方法,亲测有效的详细方法

在计算机使用过程中&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“msvcp120.dll丢失”这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题&#xff0c;我们需要采取一些修复措施。本文将介绍五个修复msvcp120.dll丢失的方法&#xff0c;帮助大…

Linux 虚拟内存参数配置

一、问题出发点 Jun 1 10:30:21 audit1 kernel: swapper: page allocation failure. order:1, mode:0x20 Jun 1 10:30:21 audit1 kernel: Pid: 0, comm: swapper Tainted: G --------------- T 2.6.32-431.20.3.el6.x86_64 #1 Jun 1 10:30:21 audit1 kernel: Call Trace: Jun …

Vue+element el-date-picker 时间日期选择器设置默认值,选择框不显示问题(已解决)

时间选择器默认值的问题 显示的时候如果用下面的方式赋值将不会显示出来&#xff1a; this.deviceFormData.time[0] that.$filterArray.formatDatehh(start);this.deviceFormData.time[1] that.$filterArray.formatDateEnd(end);实际上是有数据的&#xff0c;但是不会显示出…

18、SpringCloud -- 沙箱环境测试支付宝支付

目录 沙箱环境测试支付宝支付下载安装密钥:安装:生成密钥:沙箱环境配置支付宝SDK配置下载SDK&DEMO支付宝SDK导入支付宝SDK配置配置tomcat访问端口占用问题:解决方法:1、旧版沙箱配置-成功旧版沙箱自定义密钥2、新版沙箱配置-失败测试:1、点击付款2、模拟登录买家的账…

租赁小程序定制开发-让租赁业务更加高效

租赁小程序&#xff0c;让租赁变得更加方便。你可以在平台上找到各种商品&#xff0c;从生活用品到设备&#xff0c;只需简单的搜索和预订操作。而且&#xff0c;支付也可以在线完成&#xff0c;无需到店付款。当租赁期满&#xff0c;商品可以方便地归还&#xff0c;同时&#…

成都优优聚:外卖代运营服务:助力餐饮业腾飞!

随着互联网的快速发展&#xff0c;外卖行业逐渐成为了人们日常生活中不可或缺的一部分。而在这个领域中&#xff0c;外卖代运营服务正逐渐崭露头角&#xff0c;成为助力餐饮业腾飞的强大引擎。本文将为你详细解析外卖代运营服务的优势、现状及未来发展趋势&#xff0c;让你在外…

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

基础介绍kube-beach介绍kube-beach 下载百度网盘下载wget下载 kube-beach安装kube-beach使用基础参数示例结果说明 基础介绍 为了保证集群以及容器应用的安全&#xff0c;Kubernetes 提供了多种安全机制&#xff0c;限制容器的行为&#xff0c;减少容器和集群的攻击面&#xf…

【Docker】从命名空间和路由角度探究Docker的bridge网络

桥接网络是Docker的默认网络模式。在桥接网络中&#xff0c;Docker会为每个容器创建一个虚拟网络接口&#xff0c;并为容器分配一个IP地址。容器可以通过桥接网络与主机和其他容器进行通信&#xff0c;也能暴露端口供外部访问。 容器之间的通信原理 首先我们创建两个容器&…

【数据结构初阶】十一、归并排序(比较排序)的讲解和实现(递归版本 + 非递归版本 -- C语言实现)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【数据结构初阶】十、快速排序(比较排序)讲解和实现 &#xff08;三种递归快排版本 非递归快排版本 -- C语言实现&#xff09;-CSDN博客 常见排序算法的实现&#xff08;续上期&a…

自考02378《信息资源管理》第二章信息化规划与组织——思维导图

备战2024年04月自考科目02378《信息资源管理》第二章信息化规划与组织 思维导图如下&#xff1a; 以上便是本文的全部内容了&#xff0c;不知道对你有没有帮助呢。 我会认真写好每一篇文章&#xff0c;一直努力下去&#xff01;

网络基础-4

链路聚合技术 根据灵活性地增加网络设备之间的带宽供给增强网络设备之间连接的可靠性节约成本 链路聚合 是将两个或更多数据信道结合成一个单个的信道&#xff0c;该信道以一个单个的更高带宽的逻辑链路出现。链路聚合一般用来连接一个或多个带宽需求大的设备&#xff0c;例…