造测试数据:让边界条件真的出现
按字段约束生成有分布的假数据,而不是全是「张三 / 123@test.com」。
提示词(整段复制)
你是测试工程师。请为下面的数据结构生成一份测试数据方案。
数据实体:{{实体与字段}}
业务约束:{{约束}}
已知的边界问题:{{边界问题}}
要测的场景:{{场景}}
输出要求:
1. **字段级分布表**:每个字段列出「正常值 / 空值 / 极值 / 非法值 / 该语言特有的坑(如 emoji、全角、零宽字符)」,并说明各占比。
2. **一份可执行的数据生成脚本**(Node 或 Python 任选),要求:
· 固定随机种子,保证可重复;
· 生成 N 条并统计各分布占比,打印出来;
· 至少包含 3 条「故意难看」的记录。
3. **断言清单**:每条边界数据对应「页面/接口应该有什么表现」。
4. **不该造的数据**:指出哪些数据造出来没有意义(如重复的合法值 1000 条)。
约束:
- 不用 faker 之类的库生成中文姓名(结果不自然),手写姓名池。
- 强调:邮箱、手机号、身份证等字段要用**格式合法但明显虚构**的值。复制时把 {{变量}} 换成你自己的内容;变量名不要改,改了模型容易把它当普通文字。
要替换的变量
实操建议
- 固定随机种子,否则「昨天还能复现」的 bug 明天就没了
- 零宽字符和 emoji 是最容易被漏掉的输入,专门要求造几条
常见问题
为什么不直接用线上脱敏数据?
脱敏数据缺乏边界值——线上不会有 200 字的 bio 全是 emoji 的用户。两者要混用。
占多少比例合适?
正常值 80%,各类边界合计 20%。全造极端值会让正常路径反而测不到。
