先画出验证码的生命周期
从用户点击发送开始,系统会创建验证码、写入有效期、排队发送并等待校验。只看到邮件到达,只能证明其中一段成功,不能证明验证码与账号、有效期和单次使用规则正确关联。
测试记录至少包含目标邮箱、触发时间、任务 ID、到达时间和验证结果。邮箱地址应使用隔离测试地址,不应混入个人长期收件箱。
成功路径要核对事实一致
邮件里的六位码必须与当前会话匹配,有效期文案要与服务端规则一致。复制粘贴后应只接受纯数字,不因为空格或界面格式造成误判。
验证成功后,流程应进入正确页面,常驻提示不应仍显示“验证码已发送”。同一个码再次使用时应按产品契约拒绝或保持已完成状态,不能新建第二个会话。
重发不是再发一封这么简单
重发按钮应与首发共用冷却,倒计时期间保持禁用并回显剩余秒数。用户返回修改邮箱后,旧地址与新地址的验证码不能交叉使用。
需要明确新码签发后旧码是否立即失效。测试时为两封邮件添加到达顺序和码值记录,避免网络延迟导致后发邮件先到。
过期边界如何测试
过期判断应以服务端时间为准,不要通过修改设备时钟模拟。分别在有效期中段、边界附近和边界之后提交,观察反馈是否明确区分无效、已过期与频率限制。
如果邮件到达时已经接近过期,应比较触发、入队、发送与接收时间。这样才能判断是有效期过短,还是发送队列出现异常延迟。
限流与空邮箱
空邮箱或格式错误必须停留在第一步,不应向后端发码。连续请求达到限制时,界面应给本语言反馈,并保持用户可理解的等待方式。
限流解除后再次发送不能携带旧登录令牌,也不应因为上次退出残留直接跳到验证码步骤。邮箱输入可以从会话恢复,但流程状态必须从公开认证起点开始。
保留最小测试证据
缺陷记录保留模板版本、任务 ID、时间、打码地址和错误反馈即可。有效验证码、完整登录链接与真实身份资料不应长期出现在截图和共享文档。
修复后使用新地址、新编号和新验证码复测,避免误开旧信。确认成功、旧码、过期与限流四组结果后,再关闭测试入口。