接口测试数据管理
接口测试数据管理:用例自建数据(带随机后缀避免冲突)、用后清理或事务回滚、直连数据库核对副作用、不依赖他人固定数据;批量场景关注数据量与清理成本。目标是让用例自给自足——任何环境重建后都能独立运行。
基本信息
| 造数策略 | 用例内自建,随机后缀防冲突 |
|---|---|
| 清理策略 | 用后删除或事务回滚 |
| 校验方式 | 直连数据库只读核对副作用 |
| 禁止项 | 依赖他人固定数据、写死 ID |
| 批量场景 | 评估数据量与清理成本 |
| 失败处理 | 清理失败记录 ID 与位置,便于补偿 |
| 数据时效 | 临时数据设过期时间,兜底回收 |
自建与清理
自建与清理
suffix = uuid4().hex[:8]
user = create_user(name=f"user-{suffix}")
try:
assert get_user(user["id"])["name"] == user["name"]
finally:
delete_user(user["id"])
# 清理失败时报告创建的 ID,便于人工补偿数据策略对照
| 策略 | 适用场景 | 注意点 |
|---|---|---|
| 随机后缀 | 并发用例防冲突 | 配套按时效清理 |
| 事务回滚 | 关系型单库场景 | 跨服务事务不适用 |
| 工厂造数 | 复杂对象图 | 维护成本需评估 |
| 快照恢复 | 大批量基线数据 | 恢复慢,注意隔离 |
典型使用场景
- 用例开发:把造数与清理写进 fixture 或前置步骤。
- 环境重建:新环境无需导入数据即可跑全量用例。
- 并发执行:随机后缀让用例并行互不干扰。
- 缺陷核对:直连数据库只读核对关键状态。
- 数据治理:定期清理测试数据,控制存储成本。
- 评审检查:把依赖固定数据列为用例评审红线。
- 巡检脚本:定时清理带测试前缀的超期数据。
- 命名规范:测试数据统一后缀与备注,便于识别与清理。
清理失败要能定位:记录创建的 ID 并在报告中输出。
依赖既有固定数据(写死的用户 ID),环境重建即失败。
数据库核对遵循只读原则:避免测试自己把数据改坏。
造数工厂与用例内造数取舍:复用优先,定制场景单独写。