MBE 权限管理系统 - 手动UI测试指南

版本: v1.0
测试环境: Development (https://mbe-dev.hi-maker.com)
创建时间: 2026-01-29
预计测试时间: 60-90分钟


📋 目录

  1. 测试前准备
  2. 测试账号信息
  3. 测试流程
  4. 测试检查清单
  5. 问题记录模板

测试前准备

1. 环境要求

  • ✅ Chrome/Edge 浏览器(最新版本)
  • ✅ 开发者工具(F12)已启用
  • ✅ 网络连接正常
  • ✅ 清空浏览器缓存(推荐)

2. 测试工具

# 准备好以下工具
- 浏览器多个标签页(用于切换账号测试)
- 记事本/笔记工具(记录问题)
- 截图工具(记录异常)

3. 测试数据

所有测试账号密码统一为: Test@123456


测试账号信息

管理员账号

邮箱: admin@mbe-test.com
密码: Test@123456
角色: super_admin
用途: 登录管理后台,配置权限

普通用户账号

套餐等级 邮箱 用途
FREE user1@mbe-test.com 测试免费用户权限
FREE user2@mbe-test.com 测试免费用户权限
PERSONAL user6@mbe-test.com 测试个人版权限
PERSONAL user7@mbe-test.com 测试个人版权限
PRO user9@mbe-test.com 测试专业版权限
PRO user10@mbe-test.com 测试专业版权限
ENTERPRISE enterprise1@mbe-test.com 测试企业版权限

测试流程

第一部分:管理后台登录

Test 1.1: 管理员登录

步骤:

  1. 打开浏览器,访问: https://mbe-dev.hi-maker.com/admin/login
  2. 输入管理员邮箱: admin@mbe-test.com
  3. 输入密码: Test@123456
  4. 点击"登录"按钮

预期结果:

  • ✅ 登录成功,跳转到管理后台首页
  • ✅ 页面显示"欢迎,Admin" 或类似欢迎信息
  • ✅ 左侧或顶部导航栏显示管理菜单

检查点:

□ 页面URL变为: /admin/ 或 /admin/dashboard
□ 无错误提示
□ 页面加载完整,无白屏
□ 管理员信息显示正确

常见问题:

  • ❌ 如果登录失败,检查密码是否正确
  • ❌ 如果404错误,检查API服务是否运行
  • ❌ 如果白屏,打开F12查看Console错误

第二部分:权限管理界面

Test 2.1: 访问权限管理页面

步骤:

  1. 在管理后台,找到"权限管理"菜单
  2. 点击"权限管理"或直接访问: https://mbe-dev.hi-maker.com/admin/permissions

预期结果:

  • ✅ 页面正常加载
  • ✅ 显示权限管理界面
  • ✅ 包含以下区域:
    • 专家权限配置区
    • 模型权限配置区
    • 用户权限配置区

检查点:

□ 页面标题显示"权限管理"
□ 界面布局清晰,无错位
□ 所有按钮可点击
□ 数据表格正常显示(即使为空)

截图位置: 问题1_权限管理首页.png

Test 2.2: 查看专家列表

步骤:

  1. 在权限管理页面,找到"专家权限"选项卡
  2. 点击"刷新"或"同步专家列表"按钮

预期结果:

  • ✅ 显示专家列表
  • ✅ 每个专家显示:名称、ID、状态
  • ✅ 当前应该有21个专家(19个启用 + 2个禁用)
  • ⚠️ 注意:其中"日本茶道专家"有2个(使用不同知识库)

实际专家数:

  • 总计: 21个
  • 启用: 19个
  • 禁用: 2个(通用生活助手、心理健康顾问)
  • 重复: "日本茶道专家" 出现2次(建议清理其中一个)

检查点:

□ 专家列表非空
□ 每个专家有操作按钮(配置、禁用等)
□ 列表可以滚动
□ 搜索功能可用(如果有)

Test 2.3: 查看模型列表

步骤:

  1. 点击"模型权限"选项卡
  2. 查看可用的LLM模型列表

预期结果:

  • ✅ 显示模型列表(如GPT-4、Claude等)
  • ✅ 每个模型显示:名称、提供商、状态

检查点:

□ 模型列表显示
□ 包含当前配置的模型
□ 每个模型有操作按钮

第三部分:专家权限配置

Test 3.1: 配置专家套餐等级限制

场景: 设置某个专家仅限PRO及以上用户使用

步骤:

  1. 在专家权限列表中,选择一个专家(如"逻辑学导师")
  2. 点击"配置权限"或"编辑"按钮
  3. 在弹出的对话框中:
    • 找到"最低套餐要求"选项
    • 选择"PRO"
  4. 点击"保存"

预期结果:

  • ✅ 保存成功提示
  • ✅ 专家权限列表更新,显示"最低套餐: PRO"
  • ✅ 页面无报错

检查点:

□ 对话框正常弹出
□ 表单字段完整显示
□ 保存成功有反馈
□ 列表数据立即更新

API验证 (可选):

# 使用F12 Network查看
请求: POST /admin/api/permissions/experts
响应: 200 OK

Test 3.2: 配置专家黑名单套餐

场景: 设置FREE用户不能使用某个专家

步骤:

  1. 选择另一个专家(如"AI专家")
  2. 点击"配置权限"
  3. 在"套餐黑名单"中勾选"FREE"
  4. 点击"保存"

预期结果:

  • ✅ 保存成功
  • ✅ 显示"FREE用户已禁用"

检查点:

□ 黑名单选项可勾选
□ 保存后状态正确显示
□ 可以随时取消黑名单

Test 3.3: 禁用整个专家

场景: 完全禁用某个专家(所有用户都不可用)

步骤:

  1. 选择一个测试专家
  2. 点击"禁用"开关或按钮
  3. 确认禁用操作

预期结果:

  • ✅ 专家状态变为"已禁用"
  • ✅ 列表中显示禁用标识(灰色或删除线)

检查点:

□ 禁用操作立即生效
□ 可以重新启用
□ 禁用状态清晰可见

第四部分:用户权限配置

Test 4.1: 为FREE用户添加PRO专家白名单

场景: user1是FREE用户,但特别授权使用某个PRO专家

步骤:

  1. 点击"用户权限"选项卡
  2. 点击"添加用户权限"或"配置用户"
  3. 输入用户邮箱: user1@mbe-test.com
  4. 在"专家白名单"中,选择一个PRO专家(如"逻辑学导师")
  5. 点击"授权"或"保存"

预期结果:

  • ✅ 保存成功
  • ✅ 用户权限列表中出现 user1@mbe-test.com
  • ✅ 显示已授权的专家

检查点:

□ 用户搜索功能正常
□ 白名单选择正常
□ 保存后列表更新
□ 可以查看用户的完整权限

Test 4.2: 为PRO用户添加专家黑名单

场景: user9是PRO用户,但禁止使用某个专家

步骤:

  1. 在用户权限页面,搜索: user9@mbe-test.com
  2. 点击"配置权限"
  3. 在"专家黑名单"中,选择一个专家
  4. 点击"禁用"或"保存"

预期结果:

  • ✅ 保存成功
  • ✅ 黑名单配置生效

检查点:

□ 黑名单配置成功
□ 用户权限详情正确显示
□ 可以随时移除黑名单

Test 4.3: 启用用户限制模式

场景: 设置user2只能使用白名单中的专家,其他全部禁用

步骤:

  1. 搜索用户: user2@mbe-test.com
  2. 点击"配置权限"
  3. 找到"限制模式"开关
  4. 启用"限制模式"
  5. 在白名单中添加2-3个允许的专家
  6. 保存配置

预期结果:

  • ✅ 限制模式启用成功
  • ✅ 显示"仅白名单专家可用"
  • ✅ 白名单专家列表正确

检查点:

□ 限制模式开关可操作
□ 白名单必须配置(否则用户无法使用任何专家)
□ 状态清晰显示

Test 4.4: 查看用户有效权限

场景: 查看某个用户最终的权限结果

步骤:

  1. 在用户权限列表中,选择 user1@mbe-test.com
  2. 点击"查看详情"或"有效权限"
  3. 查看权限计算结果

预期结果:

  • ✅ 显示用户的:
    • 套餐等级
    • 白名单专家
    • 黑名单专家
    • 限制模式状态
    • 最终可用专家列表

检查点:

□ 权限计算逻辑正确
□ 优先级明确(黑名单 > 限制模式 > 白名单 > 套餐)
□ 数据显示完整

第五部分:权限验证

Test 5.1: 验证FREE用户默认权限

步骤:

  1. 打开新的隐私浏览窗口(或清除Cookie)
  2. 访问: https://mbe-dev.hi-maker.com/user/login
  3. 使用FREE用户登录: user1@mbe-test.com / Test@123456
  4. 登录后,尝试访问对话页面
  5. 查看可用的专家列表

预期结果:

  • ✅ 只显示FREE套餐可用的专家
  • ✅ PRO/ENTERPRISE专家显示"需要升级"或隐藏
  • 之前授权的白名单专家应该可见(如在Test 4.1中授权的)

检查点:

□ FREE用户登录成功
□ 专家列表正确过滤
□ 白名单专家正确显示
□ 无权限的专家正确隐藏或提示

Test 5.2: 验证FREE用户尝试访问PRO专家

步骤:

  1. 继续使用user1登录状态
  2. 尝试选择一个PRO专家进行对话(如果界面允许)
  3. 或直接通过API测试(使用F12 Console):
fetch('/mcp/analyze', {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    user_input: '你好',
    expert_id: 'logic_tutor',  // 假设这是PRO专家
    device_id: 'test'
  })
})
.then(r => r.json())
.then(console.log)

预期结果:

  • ✅ 如果专家在白名单:成功返回回答
  • ✅ 如果专家不在白名单:返回403或权限错误
  • ✅ 错误提示清晰:"该专家需要PRO套餐"

检查点:

□ 权限验证生效
□ 错误提示友好
□ 白名单授权正常工作

Test 5.3: 验证PRO用户权限

步骤:

  1. 退出user1,登录PRO用户: user9@mbe-test.com
  2. 查看可用专家列表
  3. 尝试使用PRO专家

预期结果:

  • ✅ PRO及以下专家全部可用
  • ✅ ENTERPRISE专家不可用或提示升级
  • 黑名单专家不可用(如在Test 4.2中配置的)

检查点:

□ PRO权限正常
□ 黑名单生效
□ 专家访问成功

Test 5.4: 验证限制模式用户

步骤:

  1. 退出,登录user2: user2@mbe-test.com
  2. 查看可用专家列表

预期结果:

  • 只显示白名单中的2-3个专家(在Test 4.3中配置的)
  • ✅ 其他所有专家都不可见或显示"无权限"

检查点:

□ 限制模式严格生效
□ 只有白名单专家可用
□ 其他专家完全不可访问

Test 5.5: 验证ENTERPRISE用户权限

步骤:

  1. 退出,登录ENTERPRISE用户: enterprise1@mbe-test.com
  2. 查看可用专家列表

预期结果:

  • ✅ 所有专家(除被禁用的)都可用
  • ✅ 最高权限,无限制

检查点:

□ 全部专家可用
□ 无权限限制

测试检查清单

核心功能测试

✅ 登录与访问

  • 管理员可以登录管理后台
  • 权限管理页面可以正常访问
  • 页面布局和样式正常

✅ 专家权限配置

  • 可以查看专家列表(约24个)
  • 可以设置专家最低套餐要求
  • 可以配置套餐黑名单
  • 可以禁用/启用整个专家
  • 配置保存成功且立即生效

✅ 用户权限配置

  • 可以搜索用户
  • 可以为用户添加专家白名单
  • 可以为用户添加专家黑名单
  • 可以启用用户限制模式
  • 可以查看用户有效权限

✅ 权限验证

  • FREE用户只能访问FREE专家
  • FREE用户可以访问白名单授权的PRO专家
  • PRO用户可以访问PRO及以下专家
  • PRO用户被黑名单禁用的专家不可访问
  • 限制模式用户只能访问白名单专家
  • ENTERPRISE用户可以访问所有专家

边界场景测试

⚠️ 异常场景

  • 配置冲突:同一专家既在白名单又在黑名单(黑名单优先)
  • 空白名单的限制模式用户(应无法使用任何专家)
  • 大量并发用户(性能测试,可选)
  • 网络中断后的重连恢复

🔄 操作流程

  • 可以撤销已配置的权限
  • 可以批量配置权限(如果支持)
  • 配置变更立即生效(无需重启)
  • 权限变更有操作日志(如果支持)

问题记录模板

问题 #1

严重程度: 🔴 高 / 🟡 中 / 🟢 低

测试编号: Test X.X

问题描述:

简要描述问题现象

复现步骤:

  1. 步骤1
  2. 步骤2
  3. ...

预期结果:

应该发生什么

实际结果:

实际发生了什么

截图/日志:

贴图或错误日志

环境信息:

  • 浏览器: Chrome 131.x
  • 操作系统: Windows 11
  • 测试时间: 2026-01-29 10:00
  • 用户账号: admin@mbe-test.com

附录

A. 快速命令

# 查看API日志(如果有服务器访问权限)
docker logs mbe-api-dev -f

# 查看数据库中的权限配置
docker exec -it mbe-postgres-dev psql -U mbe -d mbe_dev \
  -c "SELECT * FROM expert_permissions;"
  
docker exec -it mbe-postgres-dev psql -U mbe -d mbe_dev \
  -c "SELECT * FROM user_permissions;"

B. 常见问题排查

问题 可能原因 解决方案
404页面 路由不存在 检查URL拼写,查看API路由配置
401未授权 Token过期 重新登录
403禁止访问 权限不足 确认使用管理员账号
500服务器错误 后端异常 查看服务器日志
白屏/加载慢 网络或前端错误 F12查看Console和Network

C. API端点参考

# 权限管理API(管理员专用)
GET  /admin/api/permissions
GET  /admin/api/permissions/experts
POST /admin/api/permissions/experts
GET  /admin/api/permissions/models
POST /admin/api/permissions/models

# 用户权限API
GET  /admin/api/user-permissions/list
GET  /admin/api/user-permissions/{user_id}
POST /admin/api/user-permissions/{user_id}/grant-expert
POST /admin/api/user-permissions/{user_id}/revoke-expert
POST /admin/api/user-permissions/{user_id}/block-expert
POST /admin/api/user-permissions/{user_id}/restrict-mode

# 专家列表API
GET  /admin/knowledge/expert/list

测试完成确认

测试人: _____________
测试日期: 2026-01-29
测试时长: _____ 分钟

测试结果:

  • ✅ 全部通过
  • ⚠️ 部分通过(记录问题编号: ______)
  • ❌ 未通过(需要修复)

备注:

其他说明或建议

下一步行动:

  1. 修复发现的问题
  2. 重新测试失败的项目
  3. 更新测试报告
  4. 准备生产环境部署

文档维护: MBE测试团队 | 最后更新: 2026-01-29