API 测试为什么要单独限速
接口是业务系统的承压点:一次批量调用可能同时消耗数据库连接、缓存带宽与下游服务配额。接口类测试天然倾向于脚本化与批量执行,如果不设限速与熔断线,很容易造成响应变慢、错误率上升甚至服务不可用。因此 API 测试的授权里必须写明并发、频次与单次批量上限,并约定触发熔断后的处理方式。
基本信息
| 授权范围 | 端点清单与测试账号权限 |
|---|---|
| 限速约定 | 并发数、每秒请求数、单次批量条数 |
| 熔断条件 | 错误率上升或响应时间明显变长即暂停 |
| 窗口约束 | 避开业务高峰,必要时约定测试时段 |
| 记录要求 | 留存请求日志,便于区分测试流量与真实故障 |
典型使用场景
- 对象级授权检查:需要多账号交叉请求,必须限制并发
- 参数枚举类测试:字典遍历容易产生大量请求
- 批量导出与报表接口:单次调用资源消耗大
- 文件上传与转换接口:会占用后端处理队列
- 第三方回调与异步任务:需核对触发频率与重试机制
测试约定示例
测试约定示例
# 并发:不超过 3,单线程顺序请求优先
# 频次:不超过 5 请求/秒,复杂查询之间加 1 秒间隔
# 单次批量:不超过 20 条记录,禁止全量拉取
# 熔断:连续 3 次 5xx 或响应时间超过基线 3 倍即停止
# 上报:触发熔断立即通知对接人并记录时间点限速参数读法
| 参数 | 含义 | 设定依据 |
|---|---|---|
| 并发数 | 同时进行的请求数量 | 按账号配额与后端连接池容量留余量 |
| 频次 | 单位时间请求总数 | 按业务日常峰值的一定比例设定 |
| 单次批量 | 一次请求处理的数据条数 | 按接口分页上限与数据库压力 |
| 熔断阈值 | 停止测试的触发条件 | 以错误率与响应时间为准,提前约定 |
限速线要写进授权与规则文件,而不是凭测试人员现场判断;超出约定即降速或暂停并同步客户。
免登录接口同样受限速约束:未认证的批量请求更容易被边缘设备判定为攻击流量。