目录
1 接口概念
1-1接口定义
是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互。(简单来说:系统与系统之间,组件与组件之间,数据传递交互的通道)
1-2 接口类型
按照协议划分:http、tcp、IP
按照语言划分:C++、java、php、...
按照范围划分:系统之间的接口和程序内部的接口
系统之间:
内部系统与内部系统之间的交互
内部系统与外部系统之间的交互
程序之间:
方法与方法之间的交互
模块与模块之间的交互
2 接口测试
2-1 定义-原理-特点-实现方式
2-1- 1定义
对系统或组件之间的接口进行测试,校验传递的数据正确性和逻辑依赖关系的正确性。
2-1-2 原理
接口测试,主要针对的测试目标 --- 服务器
怎么测:模拟客户端,向服务器发送请求
用什么测:
工具:fiddler、postman、jemter
代码:python+UnitTest框架+Requests框架
测什么:测试 服务器针对客户端请求,回发的响应数据是否预期结果一致
人眼对比
断言
2-1-3 特点
2-1-4 实现方式
工具:fiddler、postman、jemter
代码:python+UnitTest框架+Requests框架
2-1-5 自动化接口测试
借助工具、代码,模拟客户端发送请求给服务器,借助断言自动判断 预期结果与实际结果 是否一致!
2-2 接口风格
2-2-1 传统风格
特点:
- 请求方法:只使用get和post即可
- URL不唯一。同一个操作可以对应不同的URL
- 状态码的使用比较单一,200最常见
2-2-2 RESTful风格
表达的就是resful为啥提出来,原因是http本质就是对资源的各种操作,资源用uri表示,操作用method表示,但很多应用都是把操作放到uri表示,那method有fuck意义?
特点:
1. 每个URL代表一种资源
2.客户端和服务器之间,传递这种资源的某种表现层
表现层:数据的不同表现形式(如:图片、文字表现同一个数据对象)
3.客户端通过四个http动词(get、post、delete、put),对服务器端资源进行操作,实现"表现测状态转化"
4.接口之间传递的数据最常用格式为json
2-3 接口测试流程
2-4 接口测试的测试点
2-4-1 功能测试
单接口功能:
手工测试中的单个业务模块,一般对应一个接口
登录业务 --》 登录接口
加入购物车业务 --》加入购物车接口
订单业务 --》订单接口
支付业务 --》 支付接口
借助工具、代码,绕开前端界面,组织接口所需的数据,展开接口测试
业务场景功能:
按照用户实际使用场景。梳理接口业务场景
组织业务场景时,一般只需做正向 测试即可(与手工一致)
一般建议用最少的用例覆盖最多的业务场景
登录-搜索商品-加购物车-下单-支付-评价
2-5 设计方法与思路
与手工设计相同之处:
手工测试 对应的 功能测试点,与接口测试对应的功能 完全一致
与手工设计不同之处: