MBE 权限管理系统 - 手动UI测试指南
版本: v1.0
测试环境: Development (https://mbe-dev.hi-maker.com)
创建时间: 2026-01-29
预计测试时间: 60-90分钟
📋 目录
测试前准备
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: 管理员登录
步骤:
- 打开浏览器,访问:
https://mbe-dev.hi-maker.com/admin/login - 输入管理员邮箱:
admin@mbe-test.com - 输入密码:
Test@123456 - 点击"登录"按钮
预期结果:
- ✅ 登录成功,跳转到管理后台首页
- ✅ 页面显示"欢迎,Admin" 或类似欢迎信息
- ✅ 左侧或顶部导航栏显示管理菜单
检查点:
□ 页面URL变为: /admin/ 或 /admin/dashboard
□ 无错误提示
□ 页面加载完整,无白屏
□ 管理员信息显示正确
常见问题:
- ❌ 如果登录失败,检查密码是否正确
- ❌ 如果404错误,检查API服务是否运行
- ❌ 如果白屏,打开F12查看Console错误
第二部分:权限管理界面
Test 2.1: 访问权限管理页面
步骤:
- 在管理后台,找到"权限管理"菜单
- 点击"权限管理"或直接访问:
https://mbe-dev.hi-maker.com/admin/permissions
预期结果:
- ✅ 页面正常加载
- ✅ 显示权限管理界面
- ✅ 包含以下区域:
- 专家权限配置区
- 模型权限配置区
- 用户权限配置区
检查点:
□ 页面标题显示"权限管理"
□ 界面布局清晰,无错位
□ 所有按钮可点击
□ 数据表格正常显示(即使为空)
截图位置: 问题1_权限管理首页.png
Test 2.2: 查看专家列表
步骤:
- 在权限管理页面,找到"专家权限"选项卡
- 点击"刷新"或"同步专家列表"按钮
预期结果:
- ✅ 显示专家列表
- ✅ 每个专家显示:名称、ID、状态
- ✅ 当前应该有21个专家(19个启用 + 2个禁用)
- ⚠️ 注意:其中"日本茶道专家"有2个(使用不同知识库)
实际专家数:
- 总计: 21个
- 启用: 19个
- 禁用: 2个(通用生活助手、心理健康顾问)
- 重复: "日本茶道专家" 出现2次(建议清理其中一个)
检查点:
□ 专家列表非空
□ 每个专家有操作按钮(配置、禁用等)
□ 列表可以滚动
□ 搜索功能可用(如果有)
Test 2.3: 查看模型列表
步骤:
- 点击"模型权限"选项卡
- 查看可用的LLM模型列表
预期结果:
- ✅ 显示模型列表(如GPT-4、Claude等)
- ✅ 每个模型显示:名称、提供商、状态
检查点:
□ 模型列表显示
□ 包含当前配置的模型
□ 每个模型有操作按钮
第三部分:专家权限配置
Test 3.1: 配置专家套餐等级限制
场景: 设置某个专家仅限PRO及以上用户使用
步骤:
- 在专家权限列表中,选择一个专家(如"逻辑学导师")
- 点击"配置权限"或"编辑"按钮
- 在弹出的对话框中:
- 找到"最低套餐要求"选项
- 选择"PRO"
- 点击"保存"
预期结果:
- ✅ 保存成功提示
- ✅ 专家权限列表更新,显示"最低套餐: PRO"
- ✅ 页面无报错
检查点:
□ 对话框正常弹出
□ 表单字段完整显示
□ 保存成功有反馈
□ 列表数据立即更新
API验证 (可选):
# 使用F12 Network查看
请求: POST /admin/api/permissions/experts
响应: 200 OK
Test 3.2: 配置专家黑名单套餐
场景: 设置FREE用户不能使用某个专家
步骤:
- 选择另一个专家(如"AI专家")
- 点击"配置权限"
- 在"套餐黑名单"中勾选"FREE"
- 点击"保存"
预期结果:
- ✅ 保存成功
- ✅ 显示"FREE用户已禁用"
检查点:
□ 黑名单选项可勾选
□ 保存后状态正确显示
□ 可以随时取消黑名单
Test 3.3: 禁用整个专家
场景: 完全禁用某个专家(所有用户都不可用)
步骤:
- 选择一个测试专家
- 点击"禁用"开关或按钮
- 确认禁用操作
预期结果:
- ✅ 专家状态变为"已禁用"
- ✅ 列表中显示禁用标识(灰色或删除线)
检查点:
□ 禁用操作立即生效
□ 可以重新启用
□ 禁用状态清晰可见
第四部分:用户权限配置
Test 4.1: 为FREE用户添加PRO专家白名单
场景: user1是FREE用户,但特别授权使用某个PRO专家
步骤:
- 点击"用户权限"选项卡
- 点击"添加用户权限"或"配置用户"
- 输入用户邮箱:
user1@mbe-test.com - 在"专家白名单"中,选择一个PRO专家(如"逻辑学导师")
- 点击"授权"或"保存"
预期结果:
- ✅ 保存成功
- ✅ 用户权限列表中出现 user1@mbe-test.com
- ✅ 显示已授权的专家
检查点:
□ 用户搜索功能正常
□ 白名单选择正常
□ 保存后列表更新
□ 可以查看用户的完整权限
Test 4.2: 为PRO用户添加专家黑名单
场景: user9是PRO用户,但禁止使用某个专家
步骤:
- 在用户权限页面,搜索:
user9@mbe-test.com - 点击"配置权限"
- 在"专家黑名单"中,选择一个专家
- 点击"禁用"或"保存"
预期结果:
- ✅ 保存成功
- ✅ 黑名单配置生效
检查点:
□ 黑名单配置成功
□ 用户权限详情正确显示
□ 可以随时移除黑名单
Test 4.3: 启用用户限制模式
场景: 设置user2只能使用白名单中的专家,其他全部禁用
步骤:
- 搜索用户:
user2@mbe-test.com - 点击"配置权限"
- 找到"限制模式"开关
- 启用"限制模式"
- 在白名单中添加2-3个允许的专家
- 保存配置
预期结果:
- ✅ 限制模式启用成功
- ✅ 显示"仅白名单专家可用"
- ✅ 白名单专家列表正确
检查点:
□ 限制模式开关可操作
□ 白名单必须配置(否则用户无法使用任何专家)
□ 状态清晰显示
Test 4.4: 查看用户有效权限
场景: 查看某个用户最终的权限结果
步骤:
- 在用户权限列表中,选择 user1@mbe-test.com
- 点击"查看详情"或"有效权限"
- 查看权限计算结果
预期结果:
- ✅ 显示用户的:
- 套餐等级
- 白名单专家
- 黑名单专家
- 限制模式状态
- 最终可用专家列表
检查点:
□ 权限计算逻辑正确
□ 优先级明确(黑名单 > 限制模式 > 白名单 > 套餐)
□ 数据显示完整
第五部分:权限验证
Test 5.1: 验证FREE用户默认权限
步骤:
- 打开新的隐私浏览窗口(或清除Cookie)
- 访问:
https://mbe-dev.hi-maker.com/user/login - 使用FREE用户登录:
user1@mbe-test.com/Test@123456 - 登录后,尝试访问对话页面
- 查看可用的专家列表
预期结果:
- ✅ 只显示FREE套餐可用的专家
- ✅ PRO/ENTERPRISE专家显示"需要升级"或隐藏
- ✅ 之前授权的白名单专家应该可见(如在Test 4.1中授权的)
检查点:
□ FREE用户登录成功
□ 专家列表正确过滤
□ 白名单专家正确显示
□ 无权限的专家正确隐藏或提示
Test 5.2: 验证FREE用户尝试访问PRO专家
步骤:
- 继续使用user1登录状态
- 尝试选择一个PRO专家进行对话(如果界面允许)
- 或直接通过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用户权限
步骤:
- 退出user1,登录PRO用户:
user9@mbe-test.com - 查看可用专家列表
- 尝试使用PRO专家
预期结果:
- ✅ PRO及以下专家全部可用
- ✅ ENTERPRISE专家不可用或提示升级
- ✅ 黑名单专家不可用(如在Test 4.2中配置的)
检查点:
□ PRO权限正常
□ 黑名单生效
□ 专家访问成功
Test 5.4: 验证限制模式用户
步骤:
- 退出,登录user2:
user2@mbe-test.com - 查看可用专家列表
预期结果:
- ✅ 只显示白名单中的2-3个专家(在Test 4.3中配置的)
- ✅ 其他所有专家都不可见或显示"无权限"
检查点:
□ 限制模式严格生效
□ 只有白名单专家可用
□ 其他专家完全不可访问
Test 5.5: 验证ENTERPRISE用户权限
步骤:
- 退出,登录ENTERPRISE用户:
enterprise1@mbe-test.com - 查看可用专家列表
预期结果:
- ✅ 所有专家(除被禁用的)都可用
- ✅ 最高权限,无限制
检查点:
□ 全部专家可用
□ 无权限限制
测试检查清单
核心功能测试
✅ 登录与访问
- 管理员可以登录管理后台
- 权限管理页面可以正常访问
- 页面布局和样式正常
✅ 专家权限配置
- 可以查看专家列表(约24个)
- 可以设置专家最低套餐要求
- 可以配置套餐黑名单
- 可以禁用/启用整个专家
- 配置保存成功且立即生效
✅ 用户权限配置
- 可以搜索用户
- 可以为用户添加专家白名单
- 可以为用户添加专家黑名单
- 可以启用用户限制模式
- 可以查看用户有效权限
✅ 权限验证
- FREE用户只能访问FREE专家
- FREE用户可以访问白名单授权的PRO专家
- PRO用户可以访问PRO及以下专家
- PRO用户被黑名单禁用的专家不可访问
- 限制模式用户只能访问白名单专家
- ENTERPRISE用户可以访问所有专家
边界场景测试
⚠️ 异常场景
- 配置冲突:同一专家既在白名单又在黑名单(黑名单优先)
- 空白名单的限制模式用户(应无法使用任何专家)
- 大量并发用户(性能测试,可选)
- 网络中断后的重连恢复
🔄 操作流程
- 可以撤销已配置的权限
- 可以批量配置权限(如果支持)
- 配置变更立即生效(无需重启)
- 权限变更有操作日志(如果支持)
问题记录模板
问题 #1
严重程度: 🔴 高 / 🟡 中 / 🟢 低
测试编号: Test X.X
问题描述:
简要描述问题现象
复现步骤:
- 步骤1
- 步骤2
- ...
预期结果:
应该发生什么
实际结果:
实际发生了什么
截图/日志:
贴图或错误日志
环境信息:
- 浏览器: 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
测试时长: _____ 分钟
测试结果:
- ✅ 全部通过
- ⚠️ 部分通过(记录问题编号: ______)
- ❌ 未通过(需要修复)
备注:
其他说明或建议
下一步行动:
- 修复发现的问题
- 重新测试失败的项目
- 更新测试报告
- 准备生产环境部署
文档维护: MBE测试团队 | 最后更新: 2026-01-29