【每日一题】"修改绑定手机号"功能的测试设计

题目:App 提供"修改绑定手机号":用户先验证原手机号(短信验证码),再验证新手机号并完成绑定;原手机号不可用时可走人工申诉。请口述或简答你的测试设计思路与关键测试点。

难度:中级
题型:笔试(简答)

:point_right:参考答案/答题要点:

  1. 主流程与分支:正常修改成功;新号已被其他账号绑定(应拒绝并给出可辨识提示);新号处于注销中/封禁/二次放号;原号不可用走人工申诉(申诉材料校验、审核结果回写、审核期间能否重复提交);用户中途退出/更换手机号重新发起。
  2. 验证码专项:有效期(如 5 分钟,过期后不能再用)、重发间隔与单时段发送上限、错误次数上限后是否锁定、验证码是否绑定当前场景与手机号(不能拿登录场景的码来改绑)、同一手机号并发索取多个码时旧码是否失效、是否可被短信轰炸、验证码回显在日志/接口响应里属于安全问题。
  3. 唯一性与并发:同一账号在两台设备同时提交不同新号;两个账号抢绑同一个号;同一请求重复提交(幂等);改绑事务是否原子,失败要能整体回滚,不能出现"新号已绑、老号还生效"的半成功态。
  4. 状态与安全:改绑成功后原登录态是否失效/踢下线、Token 是否刷新、是否通知新老手机号、下游依赖(一键登录、消息推送、风控名单、实名信息)是否同步;老手机号解绑后不能再用于登录或找回密码;操作审计日志留痕。
  5. 边界与输入:国际区号(+86 与 +1)、前置 0、空格/横线/括号、超长、非数字、复制粘贴带不可见字符、号段合法性校验是前端还是后端(前端绕过是否仍能提交)。
  6. 异常与稳定性:短信通道超时/失败/延迟;DB 主从延迟导致后续读到旧手机号;弱网下重复点击;改绑过程中服务重启。
  7. 兼容:iOS/Android/H5/小程序各端;老版本 App 不支持新流程时的降级与提示。
  8. 回归影响面:登录、找回密码、支付验证、账号注销、客服改密、第三方绑定解绑——这类"账号主数据"变更必须带上下游回归,能主动说出影响面分析是这题最大的加分点。