目录
- 1.接口
- (1)接口概念
- (2)接口类型
- 2、接口风格
- (1)传统风格
- (2)RESTful风格接口
- 3、接口测试
- (1)接口测试是什么
- (2)接口测试原理
- (3)自动化接口测试
- (4)接口测试特点
- 4、使用工具抓取请求数据
- 5、接口测试流程
- (1)复习功能测试流程
- (2)接口测试流程
- (3)接口文档
- (4)接口文档内容-结构
- (5)接口文档解析
- (6)接口测试用例编写
- 6、Postman
1.接口
(1)接口概念
传输数据、交互数据的通道
(2)接口类型
(1)语言划分:Java 、php
(2)协议划分:http 、tcp
(3)范围划分:
-
系统层面
a.内部系统和内部系统
b.内部系统和外部系统
-
程序之间:
函数与函数、方法与方法、模块与模块之间
2、接口风格
(1)传统风格
对用户进行操作的相关接口,包括增删改查
特点:
- 请求方法:只使用get和post即可
- URL不唯一,同一个操作可以对应不同的URL。一个URL只对应一种操作
- 状态码的使用较单一,200最常见
(2)RESTful风格接口
REST:Representational State Transfer表现层状态转化,对同一个数据的不同操作
表现层:数据的不同表现形式(如:图片、文字可以表现统一对象)
特点:
- 每个URL代表一种资源
- 客户端和服务器之间,传递对这种资源的某种表现层
- 客户端通过4个HTTP动词,对服务器端资源进行操作,实现“表现层状态转化”
- 接口之间传递的数据最常用的格式为JSON
3、接口测试
(1)接口测试是什么
对系统或组件之间的接口进行测试,校验数据传递、交换和控制管理过程,以及接口之间的逻辑依赖关系
逻辑依赖:如登录态失效后,使用个人中心页面的url重新打开,会先跳转到登陆页面,登陆成功后才能继续访问个人中心
(2)接口测试原理
使用工具或代码模拟客户端向服务器端发送请求,校验服务器响应是否正确,是否与预期结果一直
a.测试目标:针对服务器
b.怎么测:
工具:postman\jemeter\抓包工具fiddler,charles
代码:python\UnitTest\Requests框架,java
(3)自动化接口测试
借助工具、代码模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致
(4)接口测试特点
- 发现页面操作发现不了的问题。不需要前端页面,不受前端限制,进行测试。
- 实现接口自动化,达到低成本高收益
- 测试可以提前介入,符合质量前移的观念
- 与单元测试不同,接口测试是站在用户角度进行测试
4、使用工具抓取请求数据
5、接口测试流程
(1)复习功能测试流程
(2)接口测试流程
(1)需求分析:主要依据需求文档
(2)接口文档解析:一般由开发人员编写API接口文档
(3)设计测试用例
(4)执行测试:使用接口测试工具或代码
(5)接口缺陷管理与跟踪
(6)生成测试报告
(7)接口自动化持续集成(可选)
(3)接口文档
概念:
又称API文档,一般是由开发人员编写的,用来描述系统所提供接口信息的文档,开发团队都根据这个接口文档进行开发,并需要一直维护和遵守
作用:
- 对前后端通信有帮助
- 项目迭代或人员变更时,方便后期人员查看和维护
- 方便测试人员进行接口测试
(4)接口文档内容-结构
格式:word、pdf、excel、在线文档
加密方式、全局错误码、接口描述、请求URL或资源路径、请求方式、请求参数(请求头、请求体参数说明:参数名、描述、是否必传、默认值、类型、长度)、返回成功(失败)说明【预期结果】
(5)接口文档解析
接口文档解析本质:从接口文档中找出http请求所需要的数据信息(请求方法、URL、请求头、请求体、响应状态码和描述)
(6)接口测试用例编写
业务场景就是多个接口串联起来
6、Postman
(1)可以保存接口请求的历史记录
(2)可以使用测试集Collections可以更有效的管理组织接口
(3)可以在团队之间同步接口数据