用独立地址测
重发、过期与并发
一条地址只测一条路径,注册邮件测试就不会被旧验证码、旧链接和缓存身份干扰。下面把一次性收件箱组织成轻量 QA 矩阵,覆盖正常、异常和多语言场景。
这套流程适合你有权测试的产品环境。它的目标不是批量注册,而是让每个测试身份、每封邮件和每个结果都能一一对应,并在问题出现时快速复现。
1. 开始前先画一张身份矩阵
按路径而不是按测试人员分配地址。正常注册、首次重发、链接过期、语言切换和移动端阅读各使用独立地址;同一路径在不同浏览器上重复时,也应创建新身份。这样即使邮件抵达顺序变化,也不会误把上一轮结果当成当前轮。
在RelayTmp 一次性收件箱中,复制地址后立即把它记到用例行。地址默认有明确倒计时,适合几个小时内结束的联调。若测试会跨越数周或需要同一个公开身份持续收件,应改用长期控制的邮箱或转发别名。
| 用例 | 独立身份 | 关键断言 |
|---|---|---|
| 首次注册 | A 地址 | 一封邮件、代码有效、欢迎页一致 |
| 验证码重发 | B 地址 | 冷却明确、旧码规则符合约定 |
| 确认链接过期 | C 地址 | 过期页可理解且可重新发起 |
| 语言切换 | 每语言一个地址 | 主题、正文、链接目标同语言 |
| 移动端阅读 | D 地址 | 代码、按钮与正文不被裁切 |
2. 先跑一条没有干扰的基准用例
从无登录状态、无自动填充的干净会话开始。提交注册后记录页面反馈与触发时间,不要立刻切换地址,也不要在邮件尚未抵达时修改账号资料。邮件出现后核对发件人、主题、收件人、品牌名称、代码格式和有效期说明。
打开确认链接时检查目标域名与 HTTPS,随后回到原页面确认状态是否同步。再尝试第二次打开同一链接:幂等链接应保持已确认结果,一次性链接应展示明确的已使用状态,而不是模糊的服务器错误。基准用例通过后,再开始重发和过期等破坏性路径。
“邮件能打开”还不够。窄屏下验证码不能折断,主按钮文字不能溢出,深色背景上的说明必须可读,纯文本版本也要保留关键操作地址。
3. 把验证码重发当成状态机测试
第一次发送后不要连续点击。先确认按钮进入 60 秒冷却或产品约定的等待状态,倒计时结束后再触发第二次。记录两封邮件的抵达顺序、代码与有效期,并依次提交旧码和新码。
最需要写清的是服务端规则。若新码生成后旧码立即失效,旧码应得到准确错误;若短时间允许并存,两枚代码的截止时间应分别计算。页面不能只依赖按钮禁用,因为刷新或另一个标签页可能再次触发请求。并发控制应由服务端规则兜底。
- 同一标签页在冷却内重复点击,是否只产生一个任务;
- 刷新页面后,冷却是否仍然存在;
- 两个标签页同时点击,是否出现不可解释的多枚有效码;
- 邮件乱序抵达时,界面是否说明应使用哪一枚;
- 错误次数达到上限后,是否有恢复路径。
4. 在边界两侧测试代码和链接过期
不要只等到“明显过期”再点。先在截止前一分钟验证一次,再在截止后一小段时间验证一次,确认时钟边界与文案一致。测试设备时间不应决定服务端是否接受代码;修改本机时钟后仍被接受,往往说明校验放错了位置。
过期页面要回答接下来怎么办:返回哪里、是否可以重发、是否需要重新填写邮箱。若重发产生新链接,旧链接必须按既定策略失效。临时收件箱自身也有使用期限,因此长时间等待前应先延长邮箱,避免把“测试邮箱过期”误判成“产品链接过期”。
边界测试记录
- 服务端公布或约定的有效期;
- 截止前最后一次成功时间;
- 截止后第一次失败时间;
- 失败页面的错误类型与恢复入口;
- 重发后旧链接是否仍可消费。
5. 多语言测试不只看正文翻译
为每种语言创建独立地址,并在触发前切换产品语言。检查邮件主题、预标题、正文、按钮与页脚是否来自同一语言包;不要接受“主题英文、正文中文”这样的混合结果。日期、时区与数字格式也应符合目标语言习惯。
链接必须保持语言上下文。中文邮件中的确认按钮不应打开英文错误页;重发后的提示也不能退回默认语言。长法语或葡语按钮需要在常见移动宽度下验证,日语正文则要注意不自然的空格与断行。纯文本备用内容不能因为 HTML 模板正常就被忽略。
6. 输出能用于下一轮回归的记录
一份好记录不是截图合集,而是可以重跑的步骤。每行包括前置状态、地址编号、触发动作、预期、实际、四个关键时间与证据链接。失败后重新验证必须使用新地址,除非你测试的正是同一身份恢复流程。
完成后清理测试数据,并把临时地址从任何长期账号恢复设置中移除。一次性邮箱的优势是任务边界清楚;如果测试结束后仍依赖它找回账号,就说明身份策略已经偏离初衷。
创建一个不受旧邮件干扰的身份
复制地址、触发注册、刷新收件箱,把首次结果作为后续异常路径的基准。