1.自动化测试分类
- UI/界面自动化:针对Web页面的交互逻辑进行自动化验证。
- 接口自动化:直接对系统接口进行自动化测试,不依赖前端界面,效率更高、稳定性更强。
2.技术栈核心组合
课程采用 Python + 5大模块 + 1个框架 的技术方案:
- 核心模块 :
requests(发送接口请求)、YAML(用例配置文件)、JSON Schema(响应数据校验)、logging(日志记录)、allure(生成测试报告) - 测试框架 :
pytest(用例管理与执行)
3.接口的概念与分类
3.1 接口的定义
接口是不同模块/系统间的交互通道,分为两类:
- 程序内部接口:模块与方法、模块与模块之间的交互(如登录模块与发帖模块的调用,发帖前需先调用登录接口校验状态)。
- 系统对外接口:提供给外部系统调用的接口(如APP、第三方平台调用的接口)。
以 HTTP API接口 为核心进行自动化测试(其他常见接口类型:RPC等)。
4.接口测试的核心要点
4.1接口测试的概念
通过不同场景的入参和对应出参,验证接口是否满足功能、安全、性能等要求。
4.2接口测试的关键要素
- 接口说明、调用URL、请求方法(
get/post等) - 请求参数(参数类型、说明)、返回参数(字段含义、校验规则)
- Header与Cookie的区别 :
- Header:存放校验信息(如
user_token),用于验证请求合法性。 - Cookie:用于维持会话状态,服务器先校验Header权限,再处理请求地址与入参。
- Header:存放校验信息(如
4.3接口测试的价值
- 发现前端操作无法暴露的问题(如绕过前端直接调用接口的风险)。
- 验证系统异常处理、安全性与稳定性。
- 接口稳定后,前端迭代不影响后端测试,提升测试效率。
5.前后端校验的一致性
- 前端校验:如网易邮箱注册页面限制账号长度为6-18位,仅用于提升用户体验。
- 后端接口校验:必须同步实现相同的规则(如长度、格式校验),避免恶意请求绕过前端直接攻击接口。