总目录
接口测试基础
概念
-
接口定义
系统或组件之间的交互点
-
分类
系统之间、程序内部之间
-
原理
模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
-
特点
- 测试可以提前介入,提早发现Bug,符合质量控制前移的理念
- 可以发现一些页面操作发现不了的问题
- 接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)
- 不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测
-
实现方式
- 使用接口测试工具来实现(比如:JMeter、Postman)
- 通过编写代码来实现(比如:Python + Requests)
-
接口自动化测试
是让程序或工具代替人工自动的完成对接口进行测试的一种过程。
HTTP规范
接口规范
-
传统接口风格
-
RESTful接口规范
-
RESTful特点
- 每一个URL代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化";
- 接口之间传递的数据最常用格式为JSON。
-
常用的HTTP动词有下面四个:
- GET:从服务器获取资源(一项或多项)
- POST:在服务器新建一个资源
- PUT:在服务器更新资源(客户端提供改变后的完整资源)
- DELETE:从服务器删除资源
接口测试流程
-
需求分析
主要依据需求文档
-
接口文档解析
一般是由开发人员编写接口文档(API文档)
-
设计测试用例
-
执行测试
使用接口测试工具实现
通过编写代码实现
-
接口缺陷管理与跟踪
-
生成测试报告
-
接口自动化持续集成(可选)
项目环境说明
- 前端:以Node.js为核心的Vue.js前端技术生态架构
- 后端:
- SpringBoot+SpringCloud+SpringMVC+SpringData (Spring全家桶)
- MySQL + Redis + RabbitMQ
接口文档解析
-
什么是接口文档
接口文档:又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。 大家都根据这个接口文档进行开发,并需要一直维护和遵守。
-
接口文档内容
-
基本信息
接口名称、请求方法、请求路径、接口描述
-
请求参数
请求头
请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注) -
返回数据
不同情况的响应状态码
响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)
-
-
例子
接口用例设计
-
测试点
-
接口用例方法和思路
功能测试:验证接口功能是否按照接口文档实现(输入+处理+输出)-
单接口测试
-
正向功能:(通过性测试)
仅必填参数
全部参数
参数组合
-
反向测试:(异常测试)
参数异常:无参、少参、多参、错误参数
数据异常:数据为空、长度不符、类型不符、错误数据
业务数据异常:结合业务功能考虑输出的各种异常返回情况
-
-
多接口测试:业务场景功能测试(站在用户角度考虑常用的使用场景)
- 接口之间数据依赖
-
-
单接口测试
-
场景测试