验证码测试

验证码邮件不只要测“收到了”

发布于 2026 年 8 月。完整用例应连接触发、发送、到达、验证和过期五个事件,并覆盖重发后的旧码行为。

先画出验证码的生命周期

从用户点击发送开始,系统会创建验证码、写入有效期、排队发送并等待校验。只看到邮件到达,只能证明其中一段成功,不能证明验证码与账号、有效期和单次使用规则正确关联。

测试记录至少包含目标邮箱、触发时间、任务 ID、到达时间和验证结果。邮箱地址应使用隔离测试地址,不应混入个人长期收件箱。

成功路径要核对事实一致

邮件里的六位码必须与当前会话匹配,有效期文案要与服务端规则一致。复制粘贴后应只接受纯数字,不因为空格或界面格式造成误判。

验证成功后,流程应进入正确页面,常驻提示不应仍显示“验证码已发送”。同一个码再次使用时应按产品契约拒绝或保持已完成状态,不能新建第二个会话。

重发不是再发一封这么简单

重发按钮应与首发共用冷却,倒计时期间保持禁用并回显剩余秒数。用户返回修改邮箱后,旧地址与新地址的验证码不能交叉使用。

需要明确新码签发后旧码是否立即失效。测试时为两封邮件添加到达顺序和码值记录,避免网络延迟导致后发邮件先到。

过期边界如何测试

过期判断应以服务端时间为准,不要通过修改设备时钟模拟。分别在有效期中段、边界附近和边界之后提交,观察反馈是否明确区分无效、已过期与频率限制。

如果邮件到达时已经接近过期,应比较触发、入队、发送与接收时间。这样才能判断是有效期过短,还是发送队列出现异常延迟。

限流与空邮箱

空邮箱或格式错误必须停留在第一步,不应向后端发码。连续请求达到限制时,界面应给本语言反馈,并保持用户可理解的等待方式。

限流解除后再次发送不能携带旧登录令牌,也不应因为上次退出残留直接跳到验证码步骤。邮箱输入可以从会话恢复,但流程状态必须从公开认证起点开始。

保留最小测试证据

缺陷记录保留模板版本、任务 ID、时间、打码地址和错误反馈即可。有效验证码、完整登录链接与真实身份资料不应长期出现在截图和共享文档。

修复后使用新地址、新编号和新验证码复测,避免误开旧信。确认成功、旧码、过期与限流四组结果后,再关闭测试入口。

继续实测

在首页创建隔离地址,并把唯一用例编号写入邮件主题。