Files
wecom_it_smart_desk/docs/06-测试质量/testing-测试/登录功能测试用例-20260706.md
T

4.2 KiB
Raw Blame History

登录功能测试用例

版本: v1.0 | 日期: 2026-07-06 | 状态: 待执行 依据文档: PRD v1.2 §4.5 身份认证与统一入口 测试环境: 本地开发环境


1. 测试范围

模块 接口 说明
企微免密登录 /api/auth_wecom/jsdk-login 企微JS-SDK免认证登录
账号密码登录 /api/agents/login 坐席/管理员账号密码+OTP登录
MFA验证 /api/mfa/verify OTP验证码验证

2. 前置条件

2.1 测试账号

角色 user_id 密码 MFA状态 说明
坐席 sxn admin123 已绑定 IT支持组组长
管理员 sxn admin123 已绑定 同上,具有admin权限
普通员工 test_user - 未绑定 仅user角色

2.2 环境要求

  • 后端服务运行在 http://127.0.0.1:8000
  • 前端服务:坐席端 http://127.0.0.1:5177,管理后台 http://127.0.0.1:5178
  • Redis 服务正常运行
  • PostgreSQL/SQLite 数据库正常运行

3. 测试用例

3.1 企微免密登录 (/jsdk-login)

TC_ID 测试场景 前置条件 测试步骤 预期结果 实际结果 状态
JSDK-01 企微用户具有坐席角色,免密登录 user_id 具有 agent 角色 1. 前端调用 jsdk-login 传入 userid
2. 后端查询角色列表
返回 token 和 roles=["agent"] 待测试
JSDK-02 企微用户具有管理员角色,免密登录 user_id 具有 admin 角色 同上 返回 token 和 roles=["admin"] 待测试
JSDK-03 企微用户具有坐席+管理员角色 user_id 同时具有 agent 和 admin 同上 返回 token 和 roles=["admin","agent"] 待测试
JSDK-04 企微用户仅具有user角色 user_id 只有 user 角色 同上 返回 403 错误:"您没有坐席或管理员权限" 待测试
JSDK-05 企微用户无任何角色 user_id 不在 user_roles 表 同上 返回 403 错误 待测试

3.2 账号密码登录 (/agents/login)

TC_ID 测试场景 前置条件 测试步骤 预期结果 实际结果 状态
PWD-01 正确账号密码+OTP登录 坐席账号、已绑定MFA 1. 输入正确账号密码
2. 点击登录
3. 输入正确OTP
返回 token,进入工作台 待测试
PWD-02 正确账号密码+错误OTP 坐席账号、已绑定MFA 1. 输入正确账号密码
2. 点击登录
3. 输入错误OTP
返回错误:"OTP验证码错误" 待测试
PWD-03 正确账号密码+无OTP 坐席账号、已绑定MFA 1. 输入正确账号密码
2. 点击登录(不输入OTP
返回 require_otp: true,提示输入OTP 待测试
PWD-04 错误账号 不存在的账号 输入错误的user_id 返回错误:"用户不存在" 待测试
PWD-05 错误密码 正确的user_id,错误密码 输入错误的password 返回错误:"本地密码错误" 待测试
PWD-06 账号密码登录(未绑定MFA 坐席账号、未绑定MFA 输入正确的账号密码 直接返回 token,无需OTP 待测试

3.3 MFA 验证

TC_ID 测试场景 前置条件 测试步骤 预期结果 实际结果 状态
MFA-01 正确OTP验证码 已绑定MFA的坐席 调用 /api/mfa/verify 返回验证成功 待测试
MFA-02 错误OTP验证码 已绑定MFA的坐席 输入错误的OTP 返回验证失败 待测试
MFA-03 已验证状态(30分钟内) 之前已通过OTP验证 再次调用需要MFA的接口 无需再次OTP 待测试

4. 执行记录

执行日期 测试人员 环境 备注
2026-07-06 本地开发环境 首轮测试

5. 缺陷记录

缺陷ID 对应TC 描述 严重程度 状态

6. 修订历史

版本 日期 变更内容 修改人
v1.0 2026-07-06 初始版本 Claude