如何进行接口测试,接口测试怎么测?接口测试的流程和步骤
1、接口概念:
在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。
2、接口测试的作用:
主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
3、接口的组成:
http — 普通的http请求,默认端口为80
https — 加密的http请求,传输数据更加安全,默认端口为443
ftp — 文件传输协议,主要用来传输文件,默认端口为21
IP(域名):就是指提供接口的系统所部署的服务器地址,可以是直接的IP地址
端口:如果不填端口,都是默认端口,否则需要填写端口号
接口地址:指系统提供的接口在什么位置
接口参数:参数在接口路径后,用“?”来表示路径地址结束,用“&”来区分参数个数
4、常用的请求方式:
SQL
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 在不改动协议的前提下,可增加另外的方法。
5、接口测试的原理:
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程
6、接口测试的重点:
检查数据的交换,传递和控制管理过程,还包括处理的次数
7、接口测试的流程:
需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试
8、测试工具:
1)fiddler:抓取请求
2)postman:模拟客户端通过对fiddler抓取的请求修改并发送到服务端,接收服务器返回的数据及异常来进行验证接口
9、fiddler工具:
9.1安装过程
1)官网主页:https://www.telerik.com/fiddler,下载Fiddler Classic版本
2)下载后打开,进行安装
点击I Agree
修改路径或者默认路径,点击Install
安装完成后点击Close
9.2https配置
1)打开菜单栏:Tools>Options>HTTPS
2)勾选Decrypt HTTPS traffic,及下面两个
3)勾选后如果有弹窗,全部选择“是”。
4)勾选后点击右边的Actions按钮选择**“Trust Root Certificate”**选项,然后全部选择是。
9.3Fiddler 使用
1)开启或关闭抓包功能
Capture Traffic开启状态才能抓包,在“File –> Capture Traffic”。也可以点击左下角Capturing按钮进行开启关闭。
2)Fiddler开始工作后,抓到的数据包就会显示在列表里面,各表头的含义如下:
名称
含义
#
抓取HTTP Request的顺序,从1开始,以此递增
Result
HTTP状态码
Protocol
请求使用的协议,如HTTP/HTTPS/FTP等
Host
请求地址的主机名
URL
请求资源的位置
Body
该请求的大小
Caching
请求的缓存过期时间或者缓存控制值
Content-Type
请求响应的类型
Process
发送此请求的进程:进程ID
Comments
允许用户为此回话添加备注
Custom
允许用户设置自定义值
10、postman工具:
10.1安装过程
1) 官网主页:https://www.postman.com/downloads/, 下载所需版本进行安装即可。
2)安装后注册账号,然后登陆
3)登录后,软件界面如下
10.2界面介绍
1、New,在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。
2、Import,这用于导入集合或环境。有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本。
3、Runner,可以通过Collection Runner执行自动化测试。后续介绍。
4、Open New,打开一个新的标签,Postman窗口或Runner窗口。
5、My Workspace - 可以单独或以团队的形式创建新的工作区。
6、Invite - 通过邀请团队成员在工作空间上进行协同工作。
7、History - 所有秦秋的历史记录,这样可以很容易地跟踪你所做的操作。
8、Collections - 通过创建集合来组织你的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以被复制。
9、Request tab - 这将显示您正在处理的请求的标题。默认对于没有标题的请求会显示“Untitled Request”。
10、HTTP Request - 单击它将显示不同请求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在测试中,最常用的请求是GET和POST。
11、Request URL - 也称为端点,显示API的URL。.
12、Save - 如果对请求进行了更改,必须单击save,这样新更改才不会丢失或覆盖。
13、Params - 在这里将编写请求所需的参数,比如Key - Value。
14、Authorization - 为了访问api,需要适当的授权。它可以是Username、Password、Token等形式。
15、Headers - 请求头信息
16、Body - 请求体信息,一般在POST中才会使用到
17、Pre-request Script - 请求之前 先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试。
18、Tests - 这些脚本是在请求期间执行的。进行测试非常重要,因为它设置检查点来验证响应状态是否正常、检索的数据是否符合预期以及其他测试。
19、Settings - 最新版本的有设置,一般用不到。
一、什么是接口测试
我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试 !
那么接口测试是怎么来测试接口的呢?
接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.
简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。”
300G软件测试自学教程 [全套完整版]
分享一波:测试猿课堂为大家准备了一份总量达300G左右的【软件测试全套自学教程】
包含了完整的课件+PPT+实战项目源码+千套测试模板,内容极其珍贵,千万不要错过:
https://pan.baidu.com/s/10nqKV0Vp23BSgCiCt9EqNA
提取码:3mkj
二、接口测试的好处
通过接口测试,我们可以测试出接口的稳定和正确性, 可以抛开前端的影响,迅速定位到后端的缺陷,提升测试的效率.
通过接口测试, 可以为项目带来高效的缺陷监测和管理能力,可以提到软件的整体质量;
项目越复杂,系统越庞大,接口测试使用的越频繁的效果越明显
三、接口测试的原理
通过模拟客户端 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、生成接口测试报告
测试完成了以后就可以生成测试报告了
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
评论列表
刚好看到这个关于测试接口的文章,本来是想来找找测试接口的工具的
看了这篇文章终于发现自己测试接口出问题的原因在哪了