3. 登录功能怎么测才能讲出深度?
登录功能是面试里最常被问到的业务测试场景。
很多人回答登录测试,只会说正确账号、错误密码、账号为空、密码为空。这个层次太浅,面试官很难判断你是否具备真实项目经验。
一、先说明登录的测试目标
登录不是简单判断能不能进系统。
登录功能的测试目标包括:
- 合法用户能正常登录;
- 非法用户不能登录;
- 登录态能正确生成、保持和失效;
- 权限和安全控制有效;
- 异常场景下系统提示合理;
- 接口、数据库、日志数据一致。
先把目标说清楚,回答就不会散。
二、正常流程要覆盖完整链路
正常登录至少要验证:
- 输入正确账号和密码;
- 点击登录后跳转到首页;
- 用户昵称、头像、角色显示正确;
- 登录接口返回成功;
- Token 或 Session 正确生成;
- 登录日志有记录;
- 数据库最后登录时间更新。
如果是企业系统,还要关注登录后默认进入哪个组织、哪个角色、哪些菜单可见。
三、异常输入不能只测空值
异常输入可以从这些方面展开:
- 账号为空;
- 密码为空;
- 账号不存在;
- 密码错误;
- 账号格式错误;
- 账号被禁用;
- 账号未激活;
- 密码包含特殊字符;
- 前后空格是否自动处理;
- 超长输入是否被限制。
这里既有字段校验,也有业务状态校验。
四、验证码和防刷机制要重点关注
如果系统有验证码,要测试:
- 验证码为空;
- 验证码错误;
- 验证码过期;
- 验证码刷新后旧验证码失效;
- 连续输错是否触发验证码;
- 验证码是否可以被重复使用。
如果有密码输错锁定机制,要测试:
- 连续输错次数;
- 锁定提示;
- 锁定时间;
- 锁定后正确密码是否仍不能登录;
- 解锁后是否恢复正常。
五、登录态要测保持和失效
很多登录 Bug 不在登录按钮,而在登录态。
需要关注:
- 刷新页面后是否保持登录;
- 关闭浏览器再打开是否保持登录;
- Token 过期后是否跳转登录页;
- 退出登录后旧 Token 是否失效;
- 多端登录是否互踢;
- 修改密码后旧登录态是否失效;
- 未登录直接访问内部页面是否被拦截。
这些点能明显拉开回答深度。
六、权限和安全不能只靠前端
登录成功后还要看权限是否正确。
比如:
- 普通用户不能访问管理员菜单;
- 通过 URL 直接访问无权限页面要被拦截;
- 调接口访问无权限数据要返回无权限;
- 退出登录后浏览器回退不能看到敏感页面;
- 密码不能明文传输或明文存储。
面试时能说到后端权限校验,会比只测页面更专业。
七、接口、数据库、日志怎么验证
登录功能可以补充这些验证点:
- 抓包查看登录接口请求参数和响应结果;
- 确认密码不会明文出现在请求或日志中;
- 查看用户表状态是否正确;
- 查看登录日志是否记录 IP、时间、设备信息;
- 查看失败登录是否有安全审计记录。
如果面试官追问“你怎么定位登录失败”,可以说会看接口返回、浏览器控制台、服务端日志和用户状态数据。
八、面试回答模板
可以这样回答:
测登录功能时,我会先覆盖正确账号密码登录的主流程,确认页面跳转、用户信息、菜单权限、Token 生成和登录日志都正常;然后测试账号为空、密码为空、账号不存在、密码错误、账号禁用等异常场景;如果有验证码和输错锁定机制,会验证验证码过期、刷新失效、连续输错锁定和解锁逻辑;同时还会关注登录态保持、Token 过期、退出登录、多端登录、未登录访问拦截和权限绕过;最后结合接口、数据库和日志确认数据一致。
这个答案会比“正确账号错误密码”完整很多。
九、下一步建议
登录是最适合练习测试思维的场景。
建议你把登录按四层准备:
- 页面输入校验;
- 业务规则校验;
- 登录态和权限;
- 接口、数据库、日志。
配套刷题:

