接口测试Day1:深入理解接口测试的概念与概览
接口测试Day1:深入理解接口测试的概念与概览
Valyn前言
接口测试的学习与总结
接口测试
接口测试理论
接口:系统之间数据交互的通道
接口测试:校验接口响应数据与预期数据是否一致
接口测试价值:
- 测试页面测试发现不了的问题
- 符合质量控制前移理念
- 测试成本低,效益高
接口测试的实现方法:
- 工具
- Postman
- JMeter
- 代码
- Python + Requests
- Java + HttpClient
HTTP 协议
HTTP:超文本传输协议,基于请求与响应的应用层协议
HTTP协议特点:
- 客户端/服务器模式(C/S)
- 简单快速
- 灵活
- 无连接
- 无状态
URL组成:
1 | 协议://hostname[:port]/path/[?查询参数1&查询参数2] |
说明:
- URL:(Uniform Resource Locator)统一资源定位符,网络资源地址
- HTTP使用URL来建立连接和传输数据
HTTP请求—定义请求数据格式 :
请求行,请求头,请求体
HTTP响应—定义响应数据格式
状态行、响应头、响应体
HTTP请求-请求行
- 位置:请求数据第一行
- 作用:说明请求的方法,访问的资源,HTTP协议版本
1 | GET https://valyn.vercel.app/ |
常用请求方法:
- GET:从服务器获取资源
- POST:在服务器新建一个资源
- PUT:在服务器更新资源
- DELETE:从服务器删除资源
HTTP请求-请求头
- 位置:第二行到空白行之间
- 作用:通知服务器客户端请求信息(可以为空)
- 特点: 请求头部由键值对组成,每行一对
Content-Type:请求数据的类型
- text/html: HTML格式
- text/plain:纯文本格式
- image/jpeg:jpg图片格式
- application/json: JSON数据格式
- application/x-www-form-urlencoded: 表单默认的提交数据格式
- multipart/form-data: 在表单中进行文件上传时使用
HTTP请求-请求体
- 位置:空白行之后的内容
- 作用:传输数据的实体(可以为空)
- 请求体常在POST、PUT方法中使用
- 常配合的请求头:Content-Type和Content-Length
HTTP响应-响应行
- 位置:响应数据第一行
- 作用:描述服务器处理结果
- 内容:状态行由协议版本号、状态码、状态消息组成
1 | 200 OK |
状态码三位数字组成,第一个数字定义响应类别:
- 1xx:指示信息
- 2xx:成功
- 3xx:重定向
- 4xx:客户端错误
- 5xx:服务器端错误
HTTP响应-响应头
- 位置:第二行到空白行之间
- 作用:描述客户端要使用的一些附加信息
- 特点:响应头由键值对组成,每行一对
1 | 200 OK |
HTTP响应-响应体
- 位置:空白行之后的内容
- 作用:服务器返回的数据实体
- 特点:有图片、json、xml、html等多种类型
1 | 200 OK |
接口规范和测试流程
传统接口风格
举例:对用户进行操作的相关接口,包括增删改查
操作 | 请求方式 | URL | 成功状态码 |
---|---|---|---|
查询某个用户 | GET/POST | http://127.0.0.1:8080/myweb/user/getById?id=1 | 200 |
查询所有用户 | GET/POST | http://127.0.0.1:8080/myweb/user/getUserList | 200 |
添加用户 | POST | http://127.0.0.1:8080/myweb/user/addUser | 200 |
修改用户 | POST | http://127.0.0.1:8080/myweb/user/updateUser | 200 |
删除用户 | GET/POST | http://127.0.0.1:8080/myweb/user/deleteUser?id=1 | 200 |
RESTful
RESTful是一种网络应用程序的设计风格和开发方式,并不是必须要遵守的标准,只是提供了一组设计原则和约束条件
操作 | 请求方式 | URL | 成功状态码 |
---|---|---|---|
查询某个用户 | GET | http://127.0.0.1:8080/myweb/users/1 | 200 |
查询所有用户 | GET | http://127.0.0.1:8080/myweb/users | 200 |
添加用户 | POST | http://127.0.0.1:8080/myweb/users | 200 |
修改用户 | PUT | http://127.0.0.1:8080/myweb/users/1 | 200 |
删除用户 | DELETE | http://127.0.0.1:8080/myweb/users/1 | 200 |
提供了一套统一遵守的规范,方便团队配合,提高工作效率
接口API设计规范
特点: 面向资源
请求 API 的 URL 用来定位资源(名词表示)
通过标准HTTP方法对资源CRUD
利用HTTP状态码返回状态信息
传统风格和RESTful对比
接口规范 | 请求方式 | URL | 状态码 |
---|---|---|---|
传统风格 | 使用GRET/POST完成增删改查 | url定义资源和操作的混合 | 遵循HTTP协议状态码定义 |
RESTful | 遵循HTTP协议方法定义 | URL仅定位资源,不包含对资源的操作 | 遵循HTTP协议状态码定义 |
接口测试流程
- 需求分析
- 接口文档编写
- 设计测试用例
- 执行测试用例
- 缺陷管理
- 编写测试报告
接口文档解析
接口解析
为什么要进行接口解析?
- 熟悉接口的相关信息,为设计接口用例准备
接口解析要关注的核心要素?
请求报文:请求方法/请求路径/请求数据
响应报文:响应状态码/响应数据
接口文档:又称为API文档,是由后端开发编写,用来描述接口信息的文档。
为什么要写接口文档?
- 协同:团队人员工作协同配合
- 约束:项目更新修改同步维护
后记
无
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果