接口测试
软件接口,是指软件不同模块之间交互的接口,我们通常所说的API(Application Programming Interface 应用程序接口),即是软件系统不同模块之间衔接的约定。
接口测试即是对软件各个模块的接口进行的测试。
接口测试(API测试)是指对应用程序编程接口(API)进行验证的一种测试类型。接口测试主要目的是确保API在各种条件下按照预期的方式工作,涵盖了API的功能性、可靠性、安全性和性能等方面。
接口测试流程
拿到一个接口项目之后,先测试业务接口好事先测试单个接口?先测业务接口,确保核心业务正确。
如何测试业务接口?根据业务流程图去梳理业务路径;设计测试用例覆盖每一条业务路径。
需求分析:我们的需求来源于开发人员提供的一个接口文档,我们进行接口文档解析(地址信息,参数信息等待)
设计测试用例
脚本开发:通过工具或者代码来进行脚本的开发
执行脚本
缺陷跟踪
测试报告
URL基础介绍
url:互联网上标准资源的地址,一般称为 统一资源定位符
组成:协议://hostname[:port] / path / [?查询参数1&查询参数2]
示例:http://kdtx-test.itheima.net:8080/contract/details?id=449280106\&pageType=info
http:协议,数据传输的格式,http,https
kdtx-test.itheima.net:域名或者IP,服务器地址
8080:端口:一个应用程序对外访问的唯一标识,常用的80(http)\443(https)。默认端口可以省略
contract/details:资源路径,主机资源的具体地址,包含目录和文件名,用"/"隔开
id=449280106&pageType=info:参数部分,客户端向服务器传递的具体数据。
HTTP协议
HTTP协议:超文本传输协议,基于请求与响应的应用层协议
作用:规定了客户端与服务器之间的信息传递规范,是二者共同遵守的协议
组成:HTTP请求:定义请求数据格式。请求行、请求头、请求体
HTTP响应:定义响应数据格式。状态行、响应头、响应体
HTTP请求-请求行
位置:请求数据的第一行
作用:说明请求方法、访问的资源、协议版本
常用的请求方法:GET:从服务器获取资源;POST:从服务器新建一个资源
PUT:在服务器更新资源 ; DELETE:从服务器删除资源
HTTP请求-请求头
位置:请求数据第二行到空白行之间
作用:通知服务器客户端请求信息
特点:请求头部由键值对组成,每行一对
Content-Type :请求体数据类型.text/html:HTML格式;image/jpeg:jpg图片格式
application/json:JSON数据格式
application/x-www-form-uelencoded:表单默认的提交数据格式。
HTTP请求-请求体
位置:空白行之后
作用:传输数据实体。密码,用户等等
请求体常在POST、PUT方法中使用
常配合的请求头:Content-Type和Content-Length
请求报文中可以没有请求体数据
HTTP响应-状态行
位置:响应数据的第一行
作用:描述服务器处理结果
内容组成:协议版本号、状态码、状态消息
状态码:三位数字组成,第一个数字定义响应类别,1xx:指示信息,2xx:成功,3xx:重定向,4xx:客户端错误,5xx:服务端错误
HTTP响应-响应头
位置:数据第二行到空白行之间
作用:描述客户端要使用的一些附加信息
特点:响应头是由键值对组成,每行一对
HTTP响应-响应体
位置:响应数据空白行之后
服务器返回的数据实体
返回的有图片、json、xml、html等多种类型
接口规范
RESTful:一种网络应用程序的设计风格和开发方式,提供了一组设计原则和约束条件。
定位资源就是要操作的对象
解析接口文档
为什么要进行接口文档解析?
熟悉接口信息,为设计接口用例准备
接口API文档:一般由后端开发编写,用来描述接口信息的文档
如何进行接口文档解析?
(1)分析接口之间的依赖关系
比如购物车接口,需要用户登录,即购物车接口依赖于登录接口
(2)分析接口请求(如:URL、请求方法、请求头、请求参数类型、请求参数等)
(3)分析接口响应(如:响应状态码,响应数据)
测试用例示例: