文章目录
一、接口
接口:系统之间数据交互的通道。
接口测试,测试的对象是服务器。
接口测试中,接口的本质是:函数、方法。

1.1 接口的分类
- 硬件接口 ----- 锁孔、以太网卡、USB 接口、电源接口·····
- 软件接口 ----- 就是前后端共同遵守的一套数据交互的规范(架构师制定接口)
1.2 接口的类型
1、接口测试分类有许多种,按照范围划分:系统之间的接口和程序内部的接口。
- 系统之间的接口:多个内部系统之间的交互,内部系统与外部系统之间的交互。
- 程序内部的接口:方法与方法之间,模块与模块之间的交互。

# 程序接口函数
def eat(something):
print(f'小鸟在吃{something}')
# 使用接口,传递数据
def bird():
eat('苹果')
bird()
2、按协议划分:http、tcp、IP
3、按语言划分:C++、java、php 。。。
1.3 接口的优点和缺点
高效、灵活(灵活的意思就是:_ 扩展性强 _提高内聚性降低了耦合性)(记住)
1、使用接口的优点
- 统一设计标准;
- 前后端开发相对独立;
- 扩展性灵活;
- 前后端都可以使用自己熟悉的技术;
2、不使用接口的缺点
- 研发标准不统一,团队磨合难度高
- 研发周期长
- 可扩展性差
1.4 接口制定
1、接口规范是架构师制定的
2、前端和后端开发时共同参考的依据
二、接口测试
2.1 接口测试原理(重点)
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收响应数据后并进行判断的一个过程(判断是否符合预期)。
- 请求:是否正确,默认请求成功是200(GET),如果请求错误也能返回404、 500等。
- 检查:返回数据的正确性与完整性。
- 安全性:接口一般不会暴露在网上任意被调用,需要做一些限制,比如次数限制。

1、怎么测?
模拟客户端,向服务器发送请求。
2、用什么测?
- 工具:Jmeter、Postman、fiddler
- 代码:python + pyTest框架 + Requests框架
3、测什么?
测试服务器针对客户端请求,回发的响应数据是否与预期结果一致!
- 人眼对比
- 断言
2.2 接口测试实现流程
模拟客户向服务器发送数据,然后查看响应。
要素1: 定位服务器资源(通过 URL 实现: http://www.baidu.com | http://127.0.0.1:8000/资源路径)
要素2: 模拟用户提交数据。
要素3:查看响应的结果是否符合预期。
2.3 接口测试分类
- 类型1:web接口测试(BS 架构)
- 类型2:模块接口测试 (CS 架构)
2.3.1 web接口测试
1、服务器接口测试:是测试浏览器与服务器的接口。
2、外部接口测试
- 就是第三方接口测试
- 举例:比如学校网页添加天气预报和支付功能,把其他公司集成到学校网页。支付接口测试/天气预报接口测试
2.3.2 模块接口测试
越来越少了,因为现在都是把应用部署在云上。
2.4 接口测试的特点
- 测试可以提前介入,提早发现Bug,符合质量控制前移的理念
- 可以发现一些页面操作发现不了的问题。(因为:接口测试 绕过前端界面 )
- 接口测试低成本高效益(底层的一个Bug能够引发上层8个左右Bug,接口测试可以实现自动化)
- 不同于传统的单元测试,接口测试是从用户的角度对系统进行全面的检测
2.5 接口测试的实现方式
1、使用接口测试工具来实现:
- Postman:使用简单、功能较少。
- JMeter:功能完善,上手难度大。
2、通过编写代码来实现:
- Python + Requests框架 + pyTest框架
- Java+HttpClient库
三、自动化接口测试
自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。
接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。
接口自动化测试:是让程序或工具代替人工自动的完成对接口进行测试的一种过程。

被折叠的 条评论
为什么被折叠?



