测试面试题 手机号验证码登录测试用例
以下是针对 **手机号+验证码登录** 功能的详细测试用例设计,覆盖功能、界面、兼容性、安全性和性能等方面:
---
### **一、功能测试**
1. **手机号输入框验证**
- 用例1:输入正确的11位国内手机号(如13800138000),检查是否允许通过。
- 用例2:输入非手机号(如字母、特殊字符、空格),检查是否提示“请输入正确手机号”。
- 用例3:输入不足11位或超长号码(如138001380),检查是否提示错误。
- 用例4:输入国际手机号(如+8613800138000),检查是否支持格式。
2. **验证码发送与接收**
- 用例5:点击“获取验证码”按钮,检查是否触发短信发送且按钮变为“60秒后重试”。
- 用例6:未输入手机号直接点击“获取验证码”,检查是否提示“请输入手机号”。
- 用例7:验证码发送后,检查手机是否收到正确格式的短信(如6位数字)。
- 用例8:连续多次点击“获取验证码”,检查是否限制频率(如每分钟1次)。
3. **验证码输入框验证**
- 用例9:输入正确的6位验证码,检查是否允许登录。
- 用例10:输入错误验证码(如123456),检查是否提示“验证码错误”。
- 用例11:输入不足6位或超长验证码,检查是否禁止提交。
- 用例12:验证码超时(如5分钟后),检查是否提示“验证码已过期”。
4. **登录流程**
- 用例13:正确手机号+正确验证码,检查是否跳转至登录后页面。
- 用例14:正确手机号+错误验证码,检查是否阻止登录并提示。
- 用例15:未注册手机号+验证码,检查是否提示“该手机号未注册”或自动注册(根据需求)。
---
### **二、界面与交互测试**
1. **UI显示**
- 用例16:检查手机号、验证码输入框的占位文字是否清晰(如“请输入手机号”)。
- 用例17:验证码按钮禁用状态是否明确(如灰色不可点击)。
- 用例18:错误提示信息是否醒目(如红色文字或Toast提示)。
2. **用户体验**
- 用例19:输入手机号后,键盘是否自动切换为数字键盘。
- 用例20:验证码输入后是否自动触发登录(根据需求)。
- 用例21:登录加载状态是否显示(如旋转图标)。
---
### **三、兼容性测试**
1. **设备与系统**
- 用例22:安卓/iOS不同版本(如Android 12/iOS 16)下功能是否正常。
- 用例23:不同屏幕尺寸(如全面屏、小屏手机)下界面是否适配。
2. **网络环境**
- 用例24:弱网(3G)下验证码发送与接收是否正常。
- 用例25:网络切换(WiFi→4G)时登录流程是否中断。
---
### **四、安全性测试**
1. **防恶意行为**
- 用例26:短时间内高频发送验证码(如10次/分钟),检查是否限制并触发风控。
- 用例27:验证码是否在日志或前端代码中明文泄露。
- 用例28:验证码有效期是否合理(如5分钟失效)。
2. **数据安全**
- 用例29:登录成功后,检查本地是否存储敏感信息(如明文手机号)。
- 用例30:接口传输是否加密(HTTPS)。
---
### **五、性能测试**
1. **压力测试**
- 用例31:模拟1000用户并发获取验证码,检查服务器响应时间(应<2秒)。
- 用例32:验证码短信服务商接口是否稳定(如腾讯云、阿里云)。
2. **稳定性**
- 用例33:连续登录10次,检查是否有内存泄漏或卡顿。
---
### **六、异常场景测试**
1. **极端情况**
- 用例34:输入框粘贴超长文本(如1000字符),检查是否截断或崩溃。
- 用例35:验证码发送后修改手机号,检查是否提示“手机号已变更”。
2. **服务异常**
- 用例36:短信服务商不可用时,检查是否降级(如语音验证码或备用通道)。
- 用例37:服务器返回500错误时,前端是否友好提示。
---
### **七、其他测试**
1. **多语言与地区**
- 用例38:切换至英文环境,检查提示文案是否翻译(如“Verification code error”)。
- 用例39:国外手机号(如+1 6505551234)是否支持。
2. **埋点与日志**
- 用例40:验证码发送、登录成功/失败是否记录埋点数据。
---
通过以上用例,可全面覆盖手机号+验证码登录的核心功能及潜在风险点。实际测试时需根据具体业务需求调整(如是否支持自动注册、第三方短信服务商要求等)。