测试数据合成是什么
测试数据合成指按测试目标生成或准备数据:覆盖边界值、等价类、组合场景与真实业务分布,且保证可复现、可清理。数据是测试有效性的隐性瓶颈——用例写得再好,数据不覆盖边界或分布失真,缺陷照样漏。合成数据还要考虑合规:生产数据必须脱敏,批量生成要可追溯来源。
基本信息
| 生成方法 | 手工构造、脚本批量生成、基于生产脱敏、随机生成加种子 |
|---|---|
| 覆盖目标 | 边界值、异常值、空值、超长值、组合场景、业务真实分布 |
| 可复现要求 | 固定随机种子与生成规则,失败能原样复现 |
| 合规要求 | 生产数据脱敏后方可使用,个人信息最小化 |
| 生命周期 | 生成、隔离、清理三个环节都要有脚本或流程 |
| 常见载体 | SQL 脚本、工厂函数、数据生成工具、专属测试账号体系 |
典型使用场景
- 边界场景验证:金额上下限、长度极值、时间跨零点等数据定点构造。
- 批量功能测试:分页、批处理、报表需要达到数据量级才暴露问题。
- 性能测试:按生产分布造数,避免空库压测得出虚假结论。
- 异常路径:构造脏数据、断档数据验证系统的容错与提示。
- 回归自动化:为自动化用例封装可重复的造数与清理逻辑。
数据来源与取舍
| 来源 | 优势 | 风险 |
|---|---|---|
| 手工构造 | 精确覆盖边界 | 规模受限,易过时 |
| 脚本生成 | 可复现、可批量化 | 分布可能失真 |
| 生产脱敏 | 分布真实 | 脱敏不彻底有合规风险 |
| 随机生成 | 发现意外组合 | 不可复现则无法复盘 |
数据要跟用例一起版本化:散落在个人电脑里的造数脚本等于不存在。
生产数据直接用是红线:个人信息、账号、交易记录必须脱敏并最小化使用。
测试完要清理:残留数据互相干扰,下一轮测试结论失真。