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

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.hqwc.cn/news/293874.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web架构师编辑器内容-改进字体下拉菜单

前面说到我们可以通过面板配置来更新画布上面的一些属性&#xff0c;如果我们有这样一个需求&#xff1a;在右侧面板配置里面需要查看字体的样式效果我们应该怎么做呢&#xff1f; 我们一开始字体的渲染&#xff1a; const fontFamilyArr [{value: "SimSun","…

freeswitch on debian docker

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 因为centos系统期限的原因&#xff0c;尝试在debian的docker上使用fs。 环境 docker engine&#xff1a;Version 24.0.6 debian docker&#xff1a;bullseye 11.8 freeswitch&#xff1a;v1.10.7 Debian准备 目前…

半导体晶圆制造SAP:助力推动新时代科技创新

随着科技的迅猛发展&#xff0c;半导体行业成为了推动各行各业进步的重要力量。而半导体晶圆制造作为半导体产业链的核心环节&#xff0c;其效率和质量的提升对于整个行业的发展起着决定性的作用。在这个高度竞争的行业中&#xff0c;如何提升制造过程的效率、降低成本&#xf…

MySQL——Ubuntu20使用deb安装MySQL远程连接数据库服务器

MySQL的下载和安装 1. 下载 进入MySQL官网进行下载&#xff1a;MySQL官网下载地址 下载的文件默认放到Home/Downloads目录下 我这里选择了跟 系统版本及CPU架构对应 8.0.26 Ubuntu20.04 x86_64bit 版本进行了下载&#xff1a;mysql-server_8.0.26-1ubuntu20.04_amd64.deb-b…

【深度学习】DataComp论文,数据集介绍,大数据模型的数据集介绍

参考&#xff1a; https://laion.ai/blog/datacomp/ 论文&#xff1a;https://arxiv.org/abs/2304.14108 文章目录 论文报告的一些内容datacomp-1B 数据质量比lainon2B要好不同规模数据有多少数据数据处理数据来源 论文报告的一些内容 摘要 多模态数据集是近期如CLIP、Stable …

【Matlab in VSCode】在VSCode中编辑MATLAB文件

【Matlab in VSCode】在VSCode中编辑MATLAB文件 1.安装插件 插件&#xff1a;在vscode拓展商店下载 MATLABMatlab in VSCode 其他&#xff1a;Windows环境MATLAB2019bpython3.7.9 2.插件配置 MATLAB插件下载后不用配置。 Matlab in VSCode需要进行相应的配置。 Windows…

从CTF中学习自增构造webshell

FLAG&#xff1a;那天晚上和你聊了很久&#xff0c;手机烫的和心脏一样 专研方向: 代码审计&#xff0c;Crypto 每日emo&#xff1a;天一亮&#xff0c;时间就不属于我了 从CTF中学习自增构造webshell 前言1.异或2.自增3.取反青少年CTF之ezbypass 前言 今天写了几道代码审计的…

.net core webapi 大文件上传到wwwroot文件夹

1.配置staticfiles(program文件中) app.UseStaticFiles();2.在wwwroot下创建upload文件夹 3.返回结果封装 namespace webapi;/// <summary> /// 统一数据响应格式 /// </summary> public class Results<T> {/// <summary>/// 自定义的响应码&#xff…

LeetCode394.字符串解码

这道题有点像我之前写过的一道题有效的括号&#xff08;不只是栈&#xff09;-CSDN博客 但是比那道题要难&#xff0c;但用的方法是一样的&#xff0c;就是用栈的先进后出进行括号匹配&#xff0c;所以有写过之前那道题&#xff0c;这道题按照这个思路走我就写出了如下屎山代码…

【Amazon 实验①】Amazon WAF功能增强之实验环境准备

文章目录 1. 实验介绍2. 实验环境准备 1. 实验介绍 在真实的网络空间中&#xff0c;攻击者会使用大量广泛分布的僵尸网络、肉机等发起对目标的攻击。 其来源分布一般比较分散&#xff0c;因此难以简单防范。 本实验联合使用有多种AWS服务&#xff1a;Cloudfront、 Lambdaedge…

Python 将RTF文件转为Word 、PDF、HTML

RTF也称富文本格式&#xff0c;是一种具有良好兼容性的文档格式&#xff0c;可以在不同的操作系统和应用程序之间进行交换和共享。有时出于不同项目的需求&#xff0c;我们可能需要将RTF文件转为其他格式。本文将介如何通过简单的Python代码将RTF文件转换为Word Doc/Docx、PDF、…

mysql 23-2day 数据库查询(DQL)

目录 数据库查询(DQL)环境&#xff1a;准备一个表格作为查询环境查看数据根据要求查看数据运算查询as 可以修改字段名字 进行查询查询所有部门拼接两个字段查询 2017年入职的员工一个是空null 一个是空白查询 NULL集合排序查询查看有那些组通配符正则查询函数 数据库查询(DQL) …