接口测试,一篇搞定

news2024/11/20 13:20:17

大多数人对于接口测试都觉得是一种高大上的测试,觉得学会接口测试就可以从小白测试员,变成了高级测试员,但其实接口测试只是测试的基础内容


什么是接口

接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。

人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。
在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。

接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。

你要买一俩车,你不用知道车在工厂里面需要什么原理,怎么构造模型,怎么制作,你只要到能找到窗口,给出你要买车的信号,窗口返回给你一个车的相关信息的信号。接口也是这样,你不用理解程序内部是怎么样的,你只要理解你给出请求从而得到的请求是正确的,即你发出A的数据,必须得到B的返回,而不是C。

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

华测教育软件测试进阶全套视频教程(2023全网最新版,软件测试进阶自学必备)

为什么要做接口测试

在了解为什么要接口测试之前,我们需要了解以下几点:1.越底层,越稳定。2.越底层,越高效。3.越底层,越低成本。4.越底层,越难实施。
接口测试测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。就如同之前的买车时,我们需要确定你给出的是买车信号,返回的是相关车辆信息,而不是买房信息。

接口测试的模板

在这里插入图片描述接口的构成 

在这里插入图片描述

请求协议:

http — 普通的http请求,默认端口为80
https — 加密的http请求,传输数据更加安全,默认端口为443
ftp — 文件传输协议,主要用来传输文件,默认端口为21
请求IP:就是指提供接口的系统所部署的服务器地址,可以是直接的IP地址,也可以是域名

请求端口:如果不填端口,都是默认端口,否则需要填写端口号

接口路径:指系统提供的接口在什么位置

接口参数:参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数,

http中的常用请求方式

这个请求方式,作为一位测试人员,不需要担心不知道该项目请求方式是什么,一般情况是在开发文档中有具体的说明请求方式是什么,不过我们有时候需要有自我的判断这个地方用什么接口合适,比如输入密码的地方一定要用post方法,绝对不能用get的方法。

序号 方法 描述

	1	GET	请求指定的页面信息,并返回实体主体。
	2	HEAD	类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
	3	POST	向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
	4	PUT	从客户端向服务器传送的数据取代指定的文档的内容。
	5	DELETE	请求服务器删除指定的页面。
	6	CONNECT	HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
	7	OPTIONS	允许客户端查看服务器的性能。
	8	TRACE	回显服务器收到的请求,主要用于测试或诊断。
	9	PATCH	实体中包含一个表,表中说明与该URI所表示的原内容的区别。
	10	MOVE	请求服务器将指定的页面移至另一个网络地址。
	11	COPY	请求服务器将指定的页面拷贝至另一个网络地址。
	12	LINK	请求服务器建立链接关系。
	13	UNLINK	断开链接关系。
	14	WRAPPED	允许客户端发送经过封装的请求。
	15	Extension-mothed	在不改动协议的前提下,可增加另外的方法。

接口测试的重点

目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;

重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;

核心:持续集成是接口测试的核心;

优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);

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

接口测试质量评估标准

业务功能覆盖是否完整
业务规则覆盖是否完整
参数验证是否达到要求(边界、业务规则)
接口异常场景覆盖是否完整
接口覆盖率是否达到要求
代码覆盖率是否达到要求
性能指标是否满足要求
安全指标是否满足要求
接口模拟测试

接口:https://api.apiopen.top/getWangYiNews

请求类型:POST

在线测试:https://www.sojson.com/httpRequest/

软件测试:postman、jemter(这两个后期出专门的使用教程)

1、输入相应的数据

在这里插入图片描述

2、获取的数据进行分析

这一块是表头,一般情况不需要特别记住,只要了解就可以了,注意返回的状态码是否是正确的,有一些时候需要注意加载的时间

在这里插入图片描述

这一块内容为表主体,也就是我们查看返回的数据是否正确。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512171300590.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hzazIxNQ==,size_16,color_FFFFFF,t_70)

HTTP状态码列表

状态码	状态码英文名称	中文描述
100	Continue	继续。客户端应继续其请求
101	Switching Protocols	切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
 
200	OK	请求成功。一般用于GET与POST请求
201	Created	已创建。成功请求并创建了新的资源
202	Accepted	已接受。已经接受请求,但未处理完成
203	Non-Authoritative Information	非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204	No Content	无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205	Reset Content	重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206	Partial Content	部分内容。服务器成功处理了部分GET请求
 
300	Multiple Choices	多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301	Moved Permanently	永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302	Found	临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303	See Other	查看其它地址。与301类似。使用GET和POST请求查看
304	Not Modified	未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305	Use Proxy	使用代理。所请求的资源必须通过代理访问
306	Unused	已经被废弃的HTTP状态码
307	Temporary Redirect	临时重定向。与302类似。使用GET请求重定向
 
400	Bad Request	客户端请求的语法错误,服务器无法理解
401	Unauthorized	请求要求用户的身份认证
402	Payment Required	保留,将来使用
403	Forbidden	服务器理解请求客户端的请求,但是拒绝执行此请求
404	Not Found	服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405	Method Not Allowed	客户端请求中的方法被禁止
406	Not Acceptable	服务器无法根据客户端请求的内容特性完成请求
407	Proxy Authentication Required	请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408	Request Time-out	服务器等待客户端发送的请求时间过长,超时
409	Conflict	服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410	Gone	客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411	Length Required	服务器无法处理客户端发送的不带Content-Length的请求信息
412	Precondition Failed	客户端请求信息的先决条件错误
413	Request Entity Too Large	由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414	Request-URI Too Large	请求的URI过长(URI通常为网址),服务器无法处理
415	Unsupported Media Type	服务器无法处理请求附带的媒体格式
416	Requested range not satisfiable	客户端请求的范围无效
417	Expectation Failed	服务器无法满足Expect的请求头信息
 
500	Internal Server Error	服务器内部错误,无法完成请求
501	Not Implemented	服务器不支持请求的功能,无法完成请求
502	Bad Gateway	作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503	Service Unavailable	由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504	Gateway Time-out	充当网关或代理的服务器,未及时从远端服务器获取请求
505	HTTP Version not supported	服务器不支持请

写在最后

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

Java List Set Map

一、List 1.1 ArrayList 1.2 LinkedList 二、Set 2.1 HashSet 2.2 TreeSet 2.3 LinkedHashSet 三、Map 3.1 HashMap 3.2 TreeMap 3.3 LinkedHashMap 四、对比 类型底层结构重复null值场景备注查询删除新增ListArrayList动态数组可允许快速随机访问元素0(1)0(n)尾部增加0&a…

MFC 重绘static控件,使用png、jpg图片贴图

MFC实现static静态文件贴图png,底部有完整工程链接免费下载 一、添加变量 二、使用CPngStatic类型添加对应的m_sta1类变量 三、在init初始化代码内增加加载图片代码 四、最终效果 参考按钮实现添加GDI 按钮贴图实现 VS2015完整工程下载 下载链接

一文读懂防火墙基本原理

你们好,我的网工朋友。 今天想和你聊聊防火墙。防火墙是啥?表意自然是防止火灾发生时,火势烧到其它区域,使用由防火材料砌的墙。 后来这个词语引入到了网络中,把从外向内的网络入侵行为看做是火灾,防止这种…

SHCTF 2023 新生赛 Web 题解

Web [WEEK1]babyRCE 源码过滤了cat 空格 我们使用${IFS}替换空格 和转义获得flag [WEEK1]飞机大战 源码js发现unicode编码 \u005a\u006d\u0078\u0068\u005a\u0033\u0074\u006a\u0059\u006a\u0045\u007a\u004d\u007a\u0067\u0030\u005a\u0069\u0030\u0031\u0059\u006d\u0045…

ElasticSearch 高级查询语法Query DSL实战

ES高级查询Query DSL ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL(Domain Specified Language 领域专用语言) , Query DSL是利用Rest API传递JSON格式的请求体(RequestBody)数据与ES进行交互,这种方式的丰富查…

chorme安装esay scholar及chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案

问题描述 如题,博主想安装easy scholar用于查询论文的分区,结果安装了半天一直出现chrome 无法从该网站添加应用、扩展程序和用户脚本解决方案的问题。 解决方案 先从这个网址下载:https://www.easyscholar.cc/download 然后对下载好的文…

一文详解防御DDoS攻击的几大有效办法

伴随互联网的飞速发展,网络安全问题变得越来越突出,其中最常见的就是DDoS攻击,也就是分布式拒绝服务攻击。DDoS攻击者利用计算机或其他设备的协作,以发送大量请求的方式导致目标超负荷,导致不能正常运转或“宕机”。以…

python:使用Scikit-image对遥感影像进行形态学轮廓特征提取(contour)

作者:CSDN @ _养乐多_ 在本博客中,我们将介绍如何使用Scikit-Image来进行形态学轮廓特征提取(contour),并且提供一个示例代码,演示了如何在单波段遥感图像上应用这些方法。 形态学轮廓特征提取是一种用于图像处理和分析的技术,旨在检测和描述图像中的对象的边界或外围…

rem设置 vscode设置rem 适配 px转rem

1、下载安装 2、 二、 如果代码里面设置 就按代码里面来 -- 20 代码: // 基准大小 const baseSize 20 // 设置 rem 函数 function setRem() {// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。const scale document.documentElement.clientWidth / …

联合分析专题--解密多组学联合分析在中药方向的研究思路

研究必要性 中药主要由植物药(根、茎、叶、果)、动物药(内脏、皮、骨、器官等)和矿物药组成。因植物药占中药的大多数,所以中药也称中草药。中药基因组学的理解,侧重于中药本身,主要包括中药转…

SOP8封装 NV080C芯片在智能洗碗机的应用

根据天猫研究所的数据显示,精致和智能,已成为当代年轻人居家生活消费新趋势。随着人均收入的增长,伴随着年轻人越来越追求生活的仪式感、精致感,新兴的智能家居产品已慢慢成为年轻人居家必备的“刚需”。洗碗机、智能马桶等产品受…

2016 款北京现代悦纳车换挡冲击、加速无力

一、故障现象 一辆2016款北京现代悦纳车,搭载G4LC发动机和A6GF1-2自动变速器,累计行驶里程约为17.9万km。车主反映,从P挡切换到R挡或D挡时,存在换挡冲击,行驶中加速无力,且发动机故障灯异常点亮&#xff08…

git教程(2)---远程仓库操作

git教程---远程仓库 远程操作创建远程仓库克隆远程仓库HTTPSSSH 向远程仓库推送拉取远程仓库.gitignore文件给git指令起别名IssuesPull Requests 标签管理操作标签推送标签 多人协作场景一场景二 开发模型Git分支设计规范使用Gitee的DevOps平台体验项目开发流程 远程操作 创建…

Access 数据源配置

将数据文件mdb下载到本地电脑;建议不要放在有中文名的路径下打开>控制面板>所有控制面板项>管理工具>ODBC数据源(32位)进行数据源配置 用户DNS>添加>选择 Driver do Microsoft Access(*.mdb)项 对话框填写数据源名为 “bookdb” 选择m…

一文了解Elasticsearch

数据分类 数据按数据结构分类主要有三种:结构化数据、半结构化数据和非结构化数据。 结构化数据 结构化数据具有明确定义数据模型和格式的数据类型。 特点: 数据具有固定的结构和模式。 数据项明确定义数据类型和长度。 适合用于数据查询、过滤和分…

winserver

Windows server 的安装: 密钥网上可搜索 一个密钥可以多人使用 设置软盘 的启动时连接 配置网络: 需要设置一个静态IP地址: 活动目录的安装: 安装完成 进行初始化配置 才可以打开活动目录的服务 将服务器提升为域服务器 公司要求的根域名…

百川智能发布大模型Baichuan2-192K,一次可输入35万字超越Claude2

10月30日,百川智能发布Baichuan2-192K大模型。其上下文窗口长度高达192K,是目前全球最长的上下文窗口。Baichuan2-192K能够处理约35万个汉字,是目前支持长上下文窗口最优秀大模型Claude2(支持100K上下文窗口,实测约8万…

iZotope RX 10(音频修复和增强工具)

iZotope RX 10是一款音频修复和增强软件,主要特点包括: 声音修复:iZotope RX 10可以去除不良噪音、杂音、吱吱声等,使音频变得更加清晰干净。音频增强:iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等…

微信小程序的育儿早教知识科普交流系统

本毕业设计的内容是设计并且实现一个基于微信小程序的育儿科普系统。采用MYSQL为数据库开发平台,SSM框架,育儿科普系统的功能已基本实现,主要用户、启蒙早教、早教类型、课程类型、育儿课程、注意事项、交流会、交流会报名等。 针对育儿科普…

电动汽车常说的CTP/CTB/CTC技术都有什么玄机?

“没有新词汇,不叫发布会”。随着电动汽车行业的迅速发展,许多专业到让人不明觉厉的“新词汇”也开始频频跃入大众视野。比如车企们在介绍电池时常说的CTP,CTB和CTC,就让人感到一头雾水。 它们究竟是什么?有什么作用&…