返回数据与分布式测试模块
Data & Systems / Tutorial 11

测试数据设计与环境治理教程

把“临时找几条数据”升级为可准备、可验证、可清理、可审计的工程资产,让手工测试、自动化和 AI 生成用例都能真正执行。

01

用例能否执行,先看数据是否可信

数据是一等公民

常见失败

用例写着“前置:用户已有 3 条反馈”,执行时却没人知道用哪个账号、怎样创建、状态是什么、测试后如何清理。问题不是少一条 SQL,而是数据准备没有进入用例设计。

一条数据前置必须回答

问题可执行答案
谁的数据专用账号或租户
多少条精确数量,不写“若干”
什么状态待处理、已完成或已作废
怎样创建接口、SQL、脚本或页面
怎样验证创建后查询并断言关键字段
怎样清理按唯一标记回收本次数据
02

按生命周期管理测试数据

需求到回收

测试数据生命周期

设计场景与字段
生成接口/SQL/脚本
使用断言与留痕
清理回收或重置
巡检发现漂移

数据台账

  • 数据集名称、用途、环境和负责人。
  • 创建方式、唯一标记、依赖关系与有效期。
  • 敏感等级、脱敏规则和可访问角色。
  • 清理方式、最近验证时间和当前状态。
03

按场景选择造数方式

快不等于稳

四种常用方式

方式适合风险
页面操作验证真实用户流程、小量数据慢,容易受 UI 变化影响
业务接口批量、稳定地建立业务状态必须同时确认接口没有绕过关键规则
SQL构造查询边界或修复测试环境可能绕过业务逻辑,只在授权环境使用
脚本/数据工厂参数化生成、自动清理和重复执行需要维护字段与业务规则同步
生产环境默认只读。任何写 SQL、批量造数和清理动作都应限定在授权测试环境,并明确影响范围与回退方式。
04

边界数据要围绕业务状态构造

不是只改一个数字

高价值数据组合

场景数据准备验证重点
0 条干净账号或清理脚本空态、统计与分页
1 条唯一记录首条展示、详情关联
恰好满页按排序字段补齐分页边界与稳定排序
唯一性冲突相同业务键两条请求重复校验与幂等
状态边界已完成/已作废记录按钮、接口和数据不可变
并发提交多线程发送相同入参编号唯一、只产生一份业务结果

数据必须服务判定

造出“满页 20 条”只是准备;真正的测试还要说明第 21 条进入哪一页、排序是否稳定、刷新后总数是否一致。

05

用隔离和清理保证可重复

避免互相污染

隔离策略

层级做法
账号/租户每组用例使用独立账号、机构或租户
命名数据带 run_id、用例号或时间批次
事务可以回滚的测试在事务结束后回滚
资源文件、消息和缓存使用独立前缀
并发避免多个任务共享同一业务主键

清理原则

  • 只删除本次 run_id 创建的数据,不用宽泛条件。
  • 先清子表、消息、缓存与文件,再处理主记录。
  • 清理后再次查询,确认没有残留。
  • 清理失败应显示为测试失败或独立告警,不能静默忽略。
06

脱敏要换值不换测试特征

真实但不暴露

脱敏校验

要求检查
不可逆无法从脱敏值反推真实身份
一致性同一实体跨表、跨字段保持可关联
格式有效证件号、手机号等仍通过格式校验
分布保真金额、长度、空值和长尾特征仍能支撑测试
最小权限只有需要的人和系统可以访问样本
把真实姓名统一替换成“张三”会破坏唯一性和关联测试。脱敏后的数据仍应保留长度、格式、重复关系和业务分布。
07

数据准备之后还要验证四层一致

页面到数据库

一致性对照

对照常见问题
列表 ↔ 详情点开后不是同一记录或字段口径不同
页面 ↔ 接口前端缓存、写死或二次计算错误
接口 ↔ 数据库查错表、漏过滤条件、字段转换错误
主表 ↔ 附属表状态更新了,消息或流水没有生成
本系统 ↔ 外部系统全量、增量、时间窗或失败重放不一致

状态变更的固定动作

每次写操作都核对页面、详情、接口、主表和附属表。若存在异步同步,再验证处理中的中间态、最终状态和失败补偿。

08

让数据准备成为自动化的一部分

准备、验证、清理

用例数据四件套

  • 准备:调用哪个接口、SQL 或脚本,参数是什么。
  • 标记:使用唯一 run_id,便于识别和回收。
  • 验证:先证明数据已到位,再执行正式断言。
  • 清理:后置步骤按 run_id 删除,并确认无残留。

AI 生成用例时的约束

不要输出应该输出
前置:已有测试数据调用数据工厂创建 3 条待处理记录并校验编号唯一
准备大量订单按分页大小生成 N 条,N 来自页面配置或需求
使用生产数据测试使用脱敏样本,并说明敏感字段校验方式
09

完成一次可重复的数据方案

练习与检查清单

练习

  1. 为一个状态流转功能列出正常、边界、异常与并发数据。
  2. 分别选择接口、SQL 或脚本造数,并说明原因。
  3. 给每组数据添加 run_id、到位断言和清理步骤。
  4. 验证页面、接口、主表、附属表四层一致。
  5. 模拟同步失败,验证重放、对账与告警。

完成检查

前置数量与状态精确
造数方式可重复
测试数据彼此隔离
清理只作用于本次数据
真实数据已合规脱敏
环境漂移有巡检
跨层一致性有证据