接口测试怎么测?接口测试的流程和步骤(超详细)

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨

一、什么是接口测试

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试 !

那么接口测试是怎么来测试接口的呢?

接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.

简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。”

二、接口测试的好处

  • 通过接口测试,我们可以测试出接口的稳定和正确性,可以抛开前端的影响,迅速定位到后端的缺陷,提升测试的效率。
  • 通过接口测试, 可以为项目带来高效的缺陷监测和管理能力,可以提到软件的整体质量;
  • 项目越复杂,系统越庞大,接口测试使用的越频繁的效果越明显

三、接口测试的原理

通过模拟客户端 or Web浏览器向服务器发送请求,服务器接收请求后对接收到的数据做处理,同时向客户端返回应答,我们模拟的客户端,接收到返回的数据后再对数据进行判断 ,如何判断呢?

1、判断请求: 是否正确, 系统默认的请求成功,会返回200状态码, 假如请求错误返回400, 404, 500等状态码

2、判断数据: 返回数据的正确性与完整性

3、判断安全性: 接口一般不会随意暴露在网上被其他人任意调用,一般我们会对接口做出一些限制,比如请求次数、请求频率限制等等

简单来说:找个能联网的工具根据接口文档,向接口服务器发送请求,获取响应,检查响应是否符合接口文档的规范

四、接口测试测试工具

接口测试需要模拟客户端发送请求获取响应,所以我们就需要一个能够发送请求获取响应的工具,也就是联网工具:

通过工具来进行接口测试

最知名的就是postman,当然还有restclient之类的 。当然也可以用jmeter,jmeter也可以用来做接口性能测试,当然我们也可以通过编写脚本(代码)进行接口测试。

一般我们使用python语言中最流行的联网库requests !

五、如何做好接口测试

接口测试要遵循一些要点:

  • 测试接口的功能实现,检查不同参数的数据请求时,接口返回的数据与预期结果也就是接口文档的规范的一致性。
  • 测试接口的健壮性(容错性),比如说传递的数据类型是错误或者传递空数据,特殊字符等与接口规范不符的能否正常处理.
  • 测试接口参数的边界值,比如说传递的数据超出了接口规范的规定的范围,或者数据足够大或者为负数时能否正常处理
  • 测试接口的性能,接口处理和响应数据的时间,并发性等等,当然这牵扯到代码实现的优化,需要与开发人员沟通
  • 测试接口的安全性,比如登录的用户名密码等敏感数据是否明文显示,需要权限的接口是否暴露在外面

​六、接口测试流程

1、分析接口文档和需求文档

分析接口文档或者需求文档一般会去找测试点,那么接口测试的测试点我们一般从几种方向去找

  • 功能性测试点
  • 性能测试点
  • 安全性测试点

2、编写接口测试计划

测试计划就是功能测试计划基本一样就是知名的5w1h了

1) why——为什么要进行接口测试; 2) what—测试接口包括哪些; 3) when—测试接口不同阶段的起止时间; 4) where—相应接口文档,接口缺陷的存放位置,测试环境等; 5) who—项目有关人员组成,哪些接口分配给哪些人; 6) how—使用哪些测试工具以及测试方法进行测试。

3、编写接口测试用例

测试用例就是根据具体的哪个接口来编写,一般会分为单接口和多接口两种场景来编写测试用例

1) 单接口场景的测试

正向数据:也就是能正常发送请求,正常获取响应的数据,一般我们从三个方面去组织:

  • 所有必填参数
  • 全部参数(必填参数+选填参数)
  • 参数组合(必填参数+某些选填参数)

反向测试:用不属于规定范围的数据区发送请求检查服务器能否正常处理

异常数据:数据为空,长度过多或者过少(边界值外),类型不符(需要数字类型传递str类型),错误的数据

异常的参数:不传参数,少传参数,多传参数,传递错误的参数

异常的业务数据:结合业务功能考虑输出的各种异常返回情况

2) 多接口场景的测试

业务场景功能测试(站在用户角度考虑常用的使用场景)

多业务场景功能测试主要是测试接口之间数据依赖

4、接口测试执行

根据设计的测试用例就可以执行测试用例当然执行的方式有几种

1. 使用postman之类的工具,一个一个进行测试,这种方式我们叫做手工测试

2. 使用jmeter之类的有自动化功能方式进行测试,这种叫做工具自动化测试

3. 我们可以自己编写测试脚本,使用测试脚本自动加载测试,这种就是自动化测试了

5、生成接口测试报告

测试完成了以后就可以生成测试报告了

接口测试流程

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

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

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

相关文章

<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…

HCS-华为云Stack-FusionSphere

HCS-华为云Stack-FusionSphere FusionSphere是华为面向多行业客户推出的云操作系统解决方案。 FusionSphere基于开放的OpenStack架构,并针对企业云计算数据中心场景进行设计和优化,提供了强大的虚拟化功能和资源池管理能力、丰富的云基础服务组件和工具…

栈和队列的动态实现(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

【LeetCode】112. 路径总和(简单)——代码随想录算法训练营Day18

题目链接:112. 路径总和 题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则&…

ENVI下基于知识决策树提取地表覆盖信息

基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单的数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用的多源数据。 决策树分类主要的工作是获取规则,本文介绍使用CART算法…

第17章_反射机制(理解Class类并获取Class实例,类的加载与ClassLoader的理解,反射的基本应用,读取注解信息,体会反射的动态性)

文章目录 第17章_反射机制本章专题与脉络1. 反射(Reflection)的概念1.1 反射的出现背景1.2 反射概述1.3 Java反射机制研究及应用1.4 反射相关的主要API1.5 反射的优缺点 2. 理解Class类并获取Class实例2.1 理解Class2.1.1 理论上2.1.2 内存结构上 2.2 获取Class类的实例(四种方…

每日一题——LeetCode1346.检查整数及其两倍数是否存在

方法一 循环查找 用indexOf查找每个元素的两倍是否存在在数组中&#xff0c;找到了就直接return true&#xff0c;循环结束还没找到就return false var checkIfExist function(arr) {for(let i0;i<arr.length;i){let index arr.indexOf(arr[i]*2)if(index>0 &&…

小土堆pytorch学习笔记003 | 下载数据集dataset 及报错处理

目录 1、下载数据集 2、展示数据集里面的内容 3、DataLoader 的使用 例子&#xff1a; 结果展示&#xff1a; 1、下载数据集 # 数据集import torchvisiontrain_set torchvision.datasets.CIFAR10(root"./test10_dataset", trainTrue, downloadTrue) test_set …

CAD-autolisp(二)——选择集、命令行设置对话框、符号表

目录 一、选择集1.1 选择集的创建1.2 选择集的编辑1.3 操作选择集 二、命令行设置对话框2.1 设置图层2.2 加载线型2.3 设置字体样式2.4 设置标注样式&#xff08;了解即可&#xff09; 三、符号表3.1 简介3.2 符号表查找3.2 符号表删改增 一、选择集 定义&#xff1a;批量选择…

基于springboot+vue的校园资料分享平台(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

VS如何打包环境

以VS2005为例子,做好的软件需要发给客户现场升级,有时候总是因为系统,环境变量不同导致软件不能正常运行打开,这也是程序员非常头疼的问题,今天我们就一起看下打包环境变量. 这样我们的环境变量就打包到setup中了,目标机台安装即可!!!

Neo4j 国内镜像下载与安装

Neo4j 5.x 简体中文版指南 社区版&#xff1a;https://neo4j.com/download-center/#community 链接地址&#xff08;Linux版&#xff09;&#xff1a;https://neo4j.com/artifact.php?nameneo4j-community-3.5.13-unix.tar.gz 链接地址&#xff08;Windows&#xff09;&#x…