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

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.rhkb.cn/news/175625.html

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

相关文章

【23真题】邮电之首!扩招15倍!专业课难度骤降!

今天分享的是23年北京邮电大学804的信号与系统试题及解析。 本套试卷难度分析&#xff1a;北邮804在22年只招生6人&#xff0c;23年拟招生87人&#xff0c;扩招近15倍&#xff01;22年北京邮电大学804考研真题&#xff0c;我也发布过&#xff0c;若有需要&#xff0c;戳这里自…

墨者学院 身份认证失效漏洞实战

一、题目信息 二、漏洞利用 1.通过抓包&#xff0c;抓取test登录信息 发现card_id号以及一些回显的账号密码信息 搜索了一下这个id&#xff0c;发现是测试的头像 2.修改id号 分析请求包的逻辑&#xff0c;发现是请求了头像资源后再去请求头像id的详情包&#xff0c;所以根据…

怎么监控钉钉聊天记录内容(监控钉钉聊天记录的3种形式)

企业沟通工具的普及&#xff0c;越来越多的企业开始使用钉钉作为内部沟通工具。然而&#xff0c;对于企业管理者来说&#xff0c;如何监控钉钉聊天记录内容成为了一个重要的问题。本文将介绍几种方法&#xff0c;帮助企业管理者实现监控钉钉聊天记录内容的目的。 一、钉钉自带功…

【多线程面试题十七】、如果不使用synchronized和Lock,如何保证线程安全?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;如果不使用synchronized…

GZ035 5G组网与运维赛题第4套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项&#xff08;高职组&#xff09; 赛题第4套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通&#xff08;35分&#xff09; 子任务1&#xff1a;5G公共网络部署与调试&#xff08;15分&#xff09; 子…

MATLAB | 万圣节来画个简单的可爱鬼叭!

万圣节要到啦一起来画个可爱鬼吧~ 代码比较的短&#xff1a; 完整代码 figure(Units,normalized,Position,[.2,.1,.52,.72]); axgca;hold on;axis off; ax.DataAspectRatio[1,1,1]; ax.YDirreverse; ax.XLim[0,100]; ax.YLim[0,100]; [X,Y]meshgrid(linspace(0,1,200)); Zsq…

提高小程序SEO 排名,9招优化技巧!

在当今移动互联网时代&#xff0c;小程序已经成为企业必不可少的一种营销手段&#xff0c;而如何让用户能够更容易地找到自己的小程序&#xff0c;就需要进行SEO优化&#xff0c;提升小程序的排名&#xff0c;本文将 为大家介绍9个小程序SEO优化技巧&#xff0c;帮助您的小程序…

贝叶斯神经网络用于学习曲线的概率预测【ICLR 2017】

论文下载地址&#xff1a;Excellent-Paper-For-Daily-Reading/hyper-parameters at main 类别&#xff1a;超参数 时间&#xff1a;2023/10/30 摘要 面对不同的神经网络结构、超参数和训练协议&#xff0c;通常需要检查生成学习曲线&#xff0c;以快速终止超参数设置不佳的…

c++ pcl 选取点云某一点反馈XYZ坐标的代码

看了看以前的代码&#xff0c;有一小段代码很有意思&#xff0c;是关于pcl点云处理的。 如有帮助&#xff0c;点赞收藏关注&#xff01;&#xff01;&#xff01; 读取点云数据&#xff0c;想可视化点云数据&#xff0c;并根据选择&#xff0c;实时显示点云的空间坐标数值。 接…

分享大数据分析师前景怎么样? 从事行业有哪些?

数据分析师发展前景和待遇怎么样&#xff1f;有前途吗&#xff1f;好找工作吗&#xff1f;根据某招聘网数据显示&#xff0c;当前市场表现为&#xff1a; 2023年较2022年同期对比增长160%&#xff0c;2022年较2021年下降了46%。 工资待遇&#xff1a;2023年较2022年下降了2…

使用 kube-downscaler 降低Kubernetes集群成本

新钛云服已累计为您分享772篇技术干货 介绍 Kube-downscaler 是一款开源工具&#xff0c;允许用户定义 Kubernetes 中 pod 资源自动缩减的时间。这有助于通过减少非高峰时段的资源使用量来降低基础设施成本。 在本文中&#xff0c;我们将详细介绍 kube-downscaler 的功能、安装…

《算法通关村—队列基本特征和实现问题解析》

《算法通关村—队列基本特征和实现问题解析》 队列的基本特征 队列&#xff08;Queue&#xff09;是一种常见的数据结构&#xff0c;具有以下基本特征&#xff1a; 先进先出&#xff08;FIFO&#xff09;&#xff1a;队列中的元素按照它们被添加到队列的顺序排列&#xff0c;…

UIAlertController 修改 title 或 message 样式相关

UIAlertController 文字换行后默认对齐方式为居中,若想调整其相关样式属性可以借鉴如下方式进行修改,具体实现方式 code 如下: NSString *msg "1、注销≠退出登录;\n注销:对不再使用的账号进行清空移除;注销后,App中数据将全部丢失,不可再找回;\n2、注销后,与账号相关的…

第三方软件测评选择远程测试好还是现场测试好?

如今许多软件企业在软件开发过程完成之后&#xff0c;会将软件测试工作交由第三方软件测评机构来进行&#xff0c;那么做第三方软件测试时&#xff0c;远程测试和现场测试哪个更好呢?我想这是许多软件企业都十分关注的问题&#xff0c;今天卓码软件测评小编将对以上问题作出简…

Linux rm命令:删除文件或目录

当 Linux 系统使用很长时间之后&#xff0c;可能会有一些已经没用的文件&#xff08;即垃圾&#xff09;&#xff0c;这些文件不但会消耗宝贵的硬盘资源&#xff0c;还是降低系统的运行效率&#xff0c;因此需要及时地清理。 rm 是强大的删除命令&#xff0c;它可以永久性地删除…

天软特色因子看板(2023.10 第13期)

该因子看板跟踪天软特色因子A05005(近一月单笔流涌金额占比(%)&#xff0c;该因子为近一个月单笔流通金额占比因&#xff0c;用以刻画股票在收盘时&#xff0c;主力资金在总交易金额中所占的比重。 今日为该因子跟踪第11期&#xff0c;跟踪其在SW801150 (申万医药生物) 中的表现…

如何通过会员营销数字化推动精准营销与用户忠诚度培养?

营销策略的制定和实施对于企业的成功至关重要&#xff0c;而会员数字化营销系统将通过用户画像、会员标签等重要功能&#xff0c;推动企业提高用户忠诚度培养。目前市面上有哪些热门的会员营销功能&#xff1f; 一、用户画像&#xff1a;让营销更精准 用户画像是一种通过收集和…

Hadoop学习总结(搭建Hadoop集群(伪分布式模式))

如果前面有搭建过Hadoop集群完全分布式模式&#xff0c;现在搭建Hadoop伪分布式模式可以选择直接克隆完全分布式模式中的主节点(hadoop001)。以下是在搭建过完全分布式模式下的Hadoop集群的情况进行 伪分布式模式下的Hadoop功能与完全分布式模式下的Hadoop功能相同。 一、克隆…

电脑不显示桌面?盘点4个正确操作!

“我的电脑一打开后完全加载不出来桌面&#xff0c;现在我也不知道怎么办&#xff0c;有没有比较了解电脑的大佬可以分享一下经验呀&#xff1f;” 有时候我们使用电脑时可能会遇到桌面上所有的应用程序都消失了甚至桌面不显示的情况。如果电脑不显示桌面我们可能就很难进行下一…

ToLua使用原生C#List和Dictionary

ToLua是使用原生C#List 介绍Lua中使用原生ListC#调用luaLua中操作打印测试如下 Lua中使用原生DictionaryC#调用luaLua中操作打印测试如下 介绍 当你用ToLua时C#和Lua之间肯定是会互相调用的&#xff0c;那么lua里面使用List和Dictionary肯定是必然的&#xff0c;在C#中可以调用…