我的测试学习站TEST LEARNING HUB
开始学习
首页/精华文章/3. 登录功能怎么测才能讲出深度

3. 登录功能怎么测才能讲出深度?

登录功能是面试里最常被问到的业务测试场景。

很多人回答登录测试,只会说正确账号、错误密码、账号为空、密码为空。这个层次太浅,面试官很难判断你是否具备真实项目经验。

一、先说明登录的测试目标

登录不是简单判断能不能进系统。

登录功能的测试目标包括:

  • 合法用户能正常登录;
  • 非法用户不能登录;
  • 登录态能正确生成、保持和失效;
  • 权限和安全控制有效;
  • 异常场景下系统提示合理;
  • 接口、数据库、日志数据一致。

先把目标说清楚,回答就不会散。

二、正常流程要覆盖完整链路

正常登录至少要验证:

  • 输入正确账号和密码;
  • 点击登录后跳转到首页;
  • 用户昵称、头像、角色显示正确;
  • 登录接口返回成功;
  • Token 或 Session 正确生成;
  • 登录日志有记录;
  • 数据库最后登录时间更新。

如果是企业系统,还要关注登录后默认进入哪个组织、哪个角色、哪些菜单可见。

三、异常输入不能只测空值

异常输入可以从这些方面展开:

  • 账号为空;
  • 密码为空;
  • 账号不存在;
  • 密码错误;
  • 账号格式错误;
  • 账号被禁用;
  • 账号未激活;
  • 密码包含特殊字符;
  • 前后空格是否自动处理;
  • 超长输入是否被限制。

这里既有字段校验,也有业务状态校验。

四、验证码和防刷机制要重点关注

如果系统有验证码,要测试:

  • 验证码为空;
  • 验证码错误;
  • 验证码过期;
  • 验证码刷新后旧验证码失效;
  • 连续输错是否触发验证码;
  • 验证码是否可以被重复使用。

如果有密码输错锁定机制,要测试:

  • 连续输错次数;
  • 锁定提示;
  • 锁定时间;
  • 锁定后正确密码是否仍不能登录;
  • 解锁后是否恢复正常。

五、登录态要测保持和失效

很多登录 Bug 不在登录按钮,而在登录态。

需要关注:

  • 刷新页面后是否保持登录;
  • 关闭浏览器再打开是否保持登录;
  • Token 过期后是否跳转登录页;
  • 退出登录后旧 Token 是否失效;
  • 多端登录是否互踢;
  • 修改密码后旧登录态是否失效;
  • 未登录直接访问内部页面是否被拦截。

这些点能明显拉开回答深度。

六、权限和安全不能只靠前端

登录成功后还要看权限是否正确。

比如:

  • 普通用户不能访问管理员菜单;
  • 通过 URL 直接访问无权限页面要被拦截;
  • 调接口访问无权限数据要返回无权限;
  • 退出登录后浏览器回退不能看到敏感页面;
  • 密码不能明文传输或明文存储。

面试时能说到后端权限校验,会比只测页面更专业。

七、接口、数据库、日志怎么验证

登录功能可以补充这些验证点:

  • 抓包查看登录接口请求参数和响应结果;
  • 确认密码不会明文出现在请求或日志中;
  • 查看用户表状态是否正确;
  • 查看登录日志是否记录 IP、时间、设备信息;
  • 查看失败登录是否有安全审计记录。

如果面试官追问“你怎么定位登录失败”,可以说会看接口返回、浏览器控制台、服务端日志和用户状态数据。

八、面试回答模板

可以这样回答:

测登录功能时,我会先覆盖正确账号密码登录的主流程,确认页面跳转、用户信息、菜单权限、Token 生成和登录日志都正常;然后测试账号为空、密码为空、账号不存在、密码错误、账号禁用等异常场景;如果有验证码和输错锁定机制,会验证验证码过期、刷新失效、连续输错锁定和解锁逻辑;同时还会关注登录态保持、Token 过期、退出登录、多端登录、未登录访问拦截和权限绕过;最后结合接口、数据库和日志确认数据一致。

这个答案会比“正确账号错误密码”完整很多。

九、下一步建议

登录是最适合练习测试思维的场景。

建议你把登录按四层准备:

  • 页面输入校验;
  • 业务规则校验;
  • 登录态和权限;
  • 接口、数据库、日志。

配套刷题: