什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~

news/2024/5/18 20:54:04/文章来源:https://blog.csdn.net/LYJbao/article/details/133973573

目录

1、接口是什么?

2、接口的类型

3、接口测试初识

3.1、什么是接口测试

3.2、原理

3.3、特点

3.4、什么是自动化接口测试

4、接口测试流程

5、传统风格接口与RESTful风格接口

6、接口文档

6.1、什么是接口文档

 6.2、接口文档作用

6.3、展现形式

6.4、结构

7、接口用例设计

7.1、为什么要编写接口用例

7.2、接口测试用例文档的10要素

7.3、接口测试的测试点(测试维度)

7.4、接口测试用例设计与手工测试设计不同之处


1、接口是什么?

        接口其实就是系统与系统之间、组件与组件之间,数据传递交互的通道。

        我们结合下图来看:


2、接口的类型

  • 按协议划分:http、tcp、ip....
  • 按语言划分:java、c++、php .....
  • 按范围划分:系统之间、程序之间

说明:什么是系统之间:

        系统之间就是内部系统与内部系统之间 或 内部系统与外部系统之间。内外之间,举例说明:我们现在支付大部分都是微信支付宝了,所以在涉及到支付相关时,都需要与微信或支付宝建立一个连接,能够支持用户支付,如下:

说明:什么是程序之间:

        程序之间,其实就是方法与方法之间的、函数与函数之间的、模块与模块之间的~


3、接口测试初识

3.1、什么是接口测试

        接口测试:就是对系统或组件之间的接口进行测试,校验传递的数据正确性和逻辑依赖关系的正确性。

3.2、原理

  • 接口测试,主要针对的测试目标——服务器
  • 怎么测:模拟客户端,向服务器发送请求
  • 用什么测:工具(postman、fiddler、jmeter)、代码:Python / Java
  • 测试什么:测试 服务器针对客户端请求,回发的响应数据是否与预期结果一致【观察 或 断言】

小结:接口测试就是通过模拟客户端与服务器之间的通信,验证接口的功能、性能、安全性。 

3.3、特点

  • 符合质量控制前移的理念
  • 可以发现一些页面操作发现不了的问题
  • 接口测试低成本高效益
  • 接口测试是从用户的角度对系统进行检测

3.4、什么是自动化接口测试

        自动化接口测试:就是我们借助工具、代码,来模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致~  


4、接口测试流程

  • 分析需求,产品会给一个需求文档
  • 开发后续会写一个接口文档
  • 测试人员根据接口文档来编写接口测试用例
  • 执行测试用例
  • 提交、跟踪缺陷
  • 生成测试报告
  • 接口自动化持续集成【不一定都有这一步】

5、传统风格接口与RESTful风格接口

对http不熟悉的伙伴,可以先看看这篇文章,回顾一下:http://t.csdnimg.cn/QfDsv

传统风格接口的特点:

  • 请求方法,只使用get和post方法
  • URL不唯一。同一个操作可以对应不同的URL
  • 状态码的使用比较单一。最常见:200

例如:

RESTful风格接口的特点:

  •  每一个URL代表一种资源
  • 客户端和服务器之间,传递这种资源的某种表现层(表现层:数据的不同表现形式,如:图片、文字表现同一个数据对象)
  • 客户端通过4个HTTP动词(get、post、delete、put),对服务器端资源进行操作,实现“表现层状态转化”
  • 接口之间传递的数据最常用格式为JSON

例如:

 


6、接口文档

6.1、什么是接口文档

        由开发人员编写,描述接口信息的文档。

        开发团队按接口文档进行开发工作,并要一直遵守 

 6.2、接口文档作用

  • 能够让前端开发与后端开发人员更好的配合,提高工作效率
  • 项目迭代或者项目人员更迭时,方便后期人员查看和维护
  • 方便测试人员进行接口测试

6.3、展现形式

  • word文档
  • Excel表格
  • pdf文档

6.4、结构

(1)、基本信息

  • 资源路径(协议和域名在“系统信息”中)
  • 请求方法
  • 接口描述

(2)、请求参数

  • 请求头----例:Content-Type  描述请求体的数据类型
  • 请求体------实现该接口使用的数据及对应类型

(3)、返回数据

  •  状态码200
  • 错误码(自定义状态码)  【码值 + 描述信息】

7、接口用例设计

7.1、为什么要编写接口用例

  • 防止测试点漏测。条理清晰
  • 方便分配工作,评估工作量和时间

7.2、接口测试用例文档的10要素

  • 编号
  • 用例名称
  • 模块
  • 优先级
  • 预置条件
  • 请求方法
  • URL
  • 请求头
  • 请求体
  • 预期结果

7.3、接口测试的测试点(测试维度)

说明:

  • 接口——功能测试——单接口功能:1.手工测试中的单个业务模块,一般对应一个接口,例如:登录业务对应登录接口;支付业务对应支付接口; 2.借助工具、代码。绕开前端界面,组织接口所需要的数据,展开接口测试
  • 接口——功能测试——业务场景功能:1.先按照用户实际使用场景,来梳理接口业务场景;2.组织业务场景时,一般是只需要做正向测试即可(正向测试设计就是试图验证软件是工作的,即软件的功能是按照预先设计的执行的,以正向思维,针对系统的所有功能,逐个验证其正确性;反向测试设计就是认为软件有错的情况下去测试这个软件。);3.一般建议是使用最少的用例覆盖最多的业务场景
  • 性能测试:可看这篇文章:http://t.csdnimg.cn/kBGxd    ,也可继续关注博主,后面会更新性能测试更详细的知识及使用~
  • 安全测试——攻击安全:这个不需要咱们来做,一般是由专业的安全工程师来做~
  • 安全测试——业务安全:1.敏感数据是否加密 ;2.SQL注入相关

7.4、接口测试用例设计与手工测试设计不同之处

        接口测试用例设计与手工测试设计相同之处:需要设计的功能点与手工测试对应的功能是完全一致的~

        不同之处:

  • 手工测试是测写入到输入框中的数据是否正确;接口测试是测 参数对应的参数值是否正确
  • 接口测试不单可以对参数值进行检查,还可以针对参数本身进行测试(可设计正向参数,也可反向参数~)

好啦,本期先到这里了,关于接口的如何使用工具操作,如何使用代码实现自动化,后面会持续更新~

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

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

相关文章

formData对象打印不出来

用el-upload上传图片 以流的形式传给后台 所以用formData对象带数据 let formData new FormData() formData.append(name,monkey7) console.log(formData) 明明已经把数据append进去了 console.log在控制台却打印不出 后来发现他得用formData.get("xxx"…

最全的图床集合(国内外,站长必备)

“heosu每月不定时更新嗷,防止错过消息推送,建议小伙伴添加到星标⭐喔” 为了减少服务器的压力不少站长还是选择图床存放图片的。所以就搜集一些比较好用的免费的图床(收费的在最后标出)以及我目前在用的图床。 为什么需要图床&am…

Linux系统CH347应用—SPI功能

Linux/安卓系统使用CH347转接SPI功能有三种应用方式: 1. 使用CH34X_MPHSI_Master总线驱动为系统扩展原生SPI Master,此方式无需进行单独的应用层编程; 2. 使用CH341PAR_LINUX字符设备驱动,此方式需要配合使用厂商提供的库文件&a…

【springcloud-config】配置中心客户端导入依赖spring-cloud-config-server后,maven一直爆红问题解决

问题描述 配置中心客户端导入了 spring-cloud-config-server 后&#xff0c;导入依赖爆红&#xff1b; 解决办法&#xff1a; 参考官网中文文档&#xff1a;spring-cloud -config 配置中心 中文文档 补充导入 spring-config-starter-config 配置即可 <!--springcloud-c…

跨境商城源码可以支持多种营销推广方式吗?

一、多种营销推广方式的重要性 跨境商城源码作为现代电商领域的重要工具&#xff0c;其支持多种营销推广方式对于吸引用户、增加销量以及提升品牌影响力都至关重要。通过采用多种营销推广方式&#xff0c;商家可以全方位地宣传和推广产品&#xff0c;吸引更多的潜在顾客&#x…

JS多选答题时,选项互斥时的情况

在做答题类的项目时&#xff0c;应该会比较常见多选题选相互斥的问题&#xff0c;例如&#xff1a; 你喜欢什么颜色&#xff1f;&#xff08;&#xff09;A、红色B、紫色C、蓝色D、灰色E、均无如该题&#xff0c;当选择选项E时&#xff0c;明显与其他选项互斥。这个时候经常会…

SAP 公司间销售

一、 概述 很多项目中&#xff0c;特别是集团型公司&#xff0c;生产总部在某地&#xff0c;但是在各个省会城市&#xff0c;乃至国外都有相应的贸易公司&#xff0c;特别是国外&#xff0c;此时贸易公司接到客户采购订单&#xff0c;但是贸易公司没有库存&#xff0c;甚至没有…

Zoho Mail荣登福布斯小型企业企业邮箱排行榜

在过去的数十载里&#xff0c;电子邮件已成为电子通信领域中不可或缺的一环&#xff0c;而在未来的岁月里&#xff0c;它有望继续在全球范围内普及应用。尽管如今市场上有许多免费的企业邮箱供用户和企业选用&#xff0c;但其中许多产品在特定场景下的专业化功能尚显不足&#…

selenium多窗口、多iframe切换、alert切换

多标签/多窗口之间的切换 场景&#xff1a; 在页面操作过程中有时候点击某个链接会弹出新的窗口&#xff0c;这时就需要切换到新打开的窗口上进行操作。这种情况下&#xff0c;需要识别多标签或窗口的情况。 操作方法&#xff1a; switch_to.window()方法&#xff1a;切换窗口…

如何高效的开展app的性能测试?

APP性能测试是什么 从网上查了一下&#xff0c;貌似也没什么特别的定义&#xff0c;我这边根据自己的经验给出一个自己的定义&#xff0c;如有巧合纯属雷同。 客户端性能测试就是&#xff0c;从业务和用户的角度出发&#xff0c;设计合理且有效的性能测试场景&#xff0c;制定…

js给一段话,遇到的第一个括号处加上换行符

list.forEach((item,index0)>{const productName item.name;const index productName.indexOf(&#xff08;);if (index -1) {return productName;}const before productName.slice(0, index);const after productName.slice(index);item.namebefore \n after;});

吃透Spring源码分析专题

想说的话 本人在互联网摸爬滚打至今(23年)6年了&#xff0c;平时有写博客的习惯&#xff0c;这个习惯是从大学的时候开始的&#xff0c;目前主要关注java领域相关的技术&#xff0c;python也有涉及&#xff0c;写Spring专题是因为Spring确实很重要&#xff0c;在目前这个开发模…

【C++】二叉树进阶 -- 详解

一、二叉搜索树概念 二叉搜索树 又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点…

AI驱动的图纸数据提取

推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 你是否曾经需要组合来自两个不同来源&#xff08;例如图像和文本&#xff09;的对象数据&#xff1f; 我们在工作的过程中经常面临这样的挑战。 在这里&#xff0c;我们展示了技术绘图领域的一个示例。 此类图纸用于许多领…

Python数据挖掘 | 升级版自动查核酸

&#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初阶、C…

Mac电脑怎么在Dock窗口预览,Dock窗口预览工具DockView功能介绍

DockView是一款Mac电脑上的软件&#xff0c;它可以增强Dock的功能&#xff0c;让用户更方便地管理和切换应用程序。 DockView的主要功能是在 DockQ&#xff0c;栏上显示每个窗口的缩略图&#xff0c;并提供了一些相关的操作选项。当用户将鼠标悬停在Dock栏上的应用程序图标上时…

硬件信息查看工具 EtreCheckpro mac中文版功能介绍

etrecheckpro mac中文版是一款专业的硬件信息查看工具&#xff0c;它能够快速的检测Mac电脑的软硬件信息&#xff0c;加强用户对自己计算机的了解&#xff0c;EtreCheckPro for Mac下载首先会对电脑的软硬件信息进行扫描收集&#xff0c;之后才会显示出来。EtreCheck Mac版报告…

解决:无法打开Zotero数据库

在实验室电脑上面下载了Zotero和坚果云&#xff0c;一系列操作下来&#xff0c;我的笔记本上无法打开Zotero数据库了&#xff01;显示下面的界面&#xff1a; 于是网上找解决方法 1.https://www.zhihu.com/question/519740718 2.https://devpress.csdn.net/awstech/64e7311b…

服务器数据恢复-raid0硬盘故障导致服务器崩溃的数据恢复案例

服务器故障&分析&#xff1a; 某公司一台服务器&#xff0c;共2块磁盘组建了一组raid0磁盘阵列。RAID0阵列中有1块硬盘出现故障离线&#xff0c;导致服务器崩溃。 通过和用户方的沟通&#xff0c;北亚企安数据恢复工程师初步判断&#xff1a;故障服务器中出现故障离线的硬盘…

C语言里的static变量其他语言是看不上还是学不去?

C语言里的static变量其他语言是看不上还是学不去? static变量在C语言中被用于具有静态存储期的局部变量或全局变量。它有以下几个特点&#xff1a; 1. 静态存储期&#xff1a;static变量在程序执行时分配内存&#xff0c;直到程序结束才会释放&#xff0c;其生命周期与程序的…