测试数据
事务邮件测试数据,要真实到能暴露问题,也要干净到可以删除
好的样本不是生产数据的复制品,而是一组边界明确、可重复生成、能关联到单次事件的测试事实。
先确定四项原则
测试数据应可识别、可隔离、可重复和可清理。看到一封邮件时,团队应能立即判断它来自哪个环境、哪次触发和哪一版模板。
同时,样本不应包含真实客户资料、生产令牌或可用支付凭据。即使测试系统受保护,也应坚持最小化。
每个测试批次使用独立收件身份
为不同发布、模板或自动化用例分配独立临时地址,可以防止旧邮件满足新断言。地址的生命周期应与测试窗口一致,结束后主动更换或销毁。
需要跨日观察时,可为单一供应商或场景建立转发入口。不要让多人共享的个人邮箱成为所有预发布数据的永久仓库。
用唯一事件编号连接日志和邮件
在允许的模板字段中加入非敏感事件编号,例如环境缩写、日期和随机片段。应用日志、队列任务和邮件正文使用同一编号,排查时便能形成完整路径。
编号不应包含邮箱、姓名或业务密钥。它的作用是关联证据,而不是承载用户身份。
矩阵要覆盖变量边界,而不是堆数量
验证码测试应覆盖正确码、错误码、过期码、重复使用和重发冷却;事务通知应覆盖最短与最长文本、零值与大值、缺失可选字段和不同时区。
多语言模板还要检查主题与正文是否使用同一 locale、长单词是否溢出、日期数字是否符合地区习惯,以及缺失翻译时的回退策略。
| 邮件类型 | 最小正常样本 | 关键边界 |
|---|---|---|
| 验证码 | 六位码 + 有效期 | 过期、重发、重复使用 |
| 订单通知 | 单商品 + 标准金额 | 长名称、零值、多时区 |
| 安全提醒 | 设备 + 时间 + 事件号 | 未知设备、地点缺失 |
| 多语言模板 | 每个支持语言一封 | 回退、长文本、方向性 |
负向样本必须验证用户能否恢复
错误提示不是测试的终点。验证码无效后,用户是否能重发或修改邮箱;模板变量缺失后,任务是否明确失败;附件超限后,是否给出可定位的响应,这些都要检查。
每个负向样本应定义预期状态、可见提示和恢复动作。只断言“失败”会让许多不可用流程看似通过。
清理数据,但保留不含敏感信息的证据
测试结束后销毁临时地址、删除不再需要的别名,并按团队规则清理截图和日志。证据包只需保留模板版本、事件编号、时间、结果和脱敏截图。
如果样本必须跨发布长期保留,应进入受控测试数据仓,而不是依赖 30 天投递记录或个人收件箱。
一份可执行的样本说明
为每个样本写清前置条件、触发动作、变量值、预期主题、预期正文、允许延迟、失败证据和清理动作。另一位成员不询问作者也能复现,说明数据设计才算完成。
使用预发布流程规划器,可以按发布规模和模板类型估算本轮时间,并生成更适合交接的执行顺序。