1. CRITICAL: 前端路由权限守卫 — routePermissions 从 3 条扩展到 31 条, 覆盖全部 /health/* 路由;匹配逻辑从宽松模块级前缀改为精确权限码匹配 2. HIGH: health-data API 500 — jsonb_array_elements() 添加 CASE WHEN 类型守卫, 防止 items 字段为非数组 JSON 时崩溃 3. MEDIUM: Doctor 补充 ai.prompt.list、ai.usage.list、follow-up-templates 权限 4. Operator 清理 AI 分析、统计报表菜单关联 5. 更新 5 角色测试计划文档
8.1 KiB
8.1 KiB
R01 — Admin(系统管理员)业务场景测试计划
角色: admin | 测试账号: admin / Admin@2026 | 菜单数: 45 | 范围: 全部功能
1. 登录 & 仪表盘
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 1.1 | 登录 | 输入 admin / Admin@2026 | 成功登录,左侧菜单 45 项 | ☐ |
| 1.2 | 工作台仪表盘 | 查看首页 | 显示:注册用户数、业务模块数、今日操作、本周活跃;模块状态"运行中" | ☐ |
| 1.3 | 最近操作记录 | 查看操作日志 | 按时间倒序显示登录/操作记录 | ☐ |
2. 场景 A — 患者建档全链路
业务链: 创建患者 → 打标签 → 绑定设备 → 签署知情同意 → 验证建档完整性
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| A.1 | 创建患者 | /health/patients → 新增 → 填写姓名/身份证/手机/出生日期 → 保存 | 患者出现在列表,状态 active | ☐ |
| A.2 | 患者详情 | 点击新患者卡片 | 显示基本信息、体征数据 Tab、操作记录 | ☐ |
| A.3 | 打标签 | /health/tags → 新增标签"高血压高危"(红色)→ 回到患者详情 → 分配标签 | 标签显示在患者卡片和详情页 | ☐ |
| A.4 | 绑定设备 | /health/devices → 查看设备列表 → 记录设备绑定状态 | 设备列表显示绑定关系 | ☐ |
| A.5 | 知情同意 | /health/consents → 查看记录 | 知情同意书列表可查看 | ☐ |
| A.6 | 验证完整性 | 回到患者列表 → 搜索新患者 | 患者信息完整(姓名+标签+设备状态) | ☐ |
交接点: 患者建档完成后,doctor/nurse/health_manager 可在各自视图中看到该患者。
3. 场景 B — 随访闭环(管理视角)
业务链: 查看 admin 创建的随访 → 确认状态流转 → 验证行动收件箱联动
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| B.1 | 创建随访 | /health/follow-up-tasks → 新增 → 选患者+随访类型+计划日期 → 保存 | 随访任务创建成功,状态 pending | ☐ |
| B.2 | 随访列表 | 按状态筛选:待办/进行中/已完成 | 筛选正确,数据一致 | ☐ |
| B.3 | 查看模板 | /health/follow-up-templates → 查看模板内容 | 模板列表显示结构和字段 | ☐ |
| B.4 | 行动收件箱 | /health/action-inbox → 筛选类型 | 显示 AI 建议/告警/随访等行动项 | ☐ |
4. 场景 C — 咨询流转(管理视角)
业务链: 查看咨询列表 → 查看对话详情
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| C.1 | 咨询列表 | /health/consultations → 按状态筛选 | 显示 waiting/active/closed 状态的咨询 | ☐ |
| C.2 | 对话详情 | 点击某条咨询 → 查看对话 | 显示完整消息历史 | ☐ |
5. 场景 D — 告警处理链
业务链: 配置危急值阈值 → 查看告警仪表盘 → 处理告警 → 验证状态变更
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| D.1 | 危急值阈值 | /health/critical-value-thresholds → 查看配置 | 显示各体征指标的阈值范围 | ☐ |
| D.2 | 告警仪表盘 | /health/alert-dashboard → 查看统计 | 按严重程度分类显示告警 | ☐ |
| D.3 | 告警处理 | 点击某条告警 → 标记已确认/已处理 | 告警状态从 pending → acknowledged/resolved | ☐ |
| D.4 | 实时监控 | /health/realtime-monitor → 查看面板 | 显示实时体征数据流 | ☐ |
| D.5 | BLE 网关 | /health/ble-gateways → 查看 | 网关列表显示连接状态 | ☐ |
6. 场景 E — AI 分析链
业务链: 配置 Prompt 模板 → 触发分析 → 查看结果 → 查看用量
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| E.1 | Prompt 管理 | /health/ai-prompts → 查看模板列表 | 显示 Prompt 模板,可编辑 | ☐ |
| E.2 | 触发分析 | /health/ai-analysis → 查看历史记录 | 显示分析记录和结果 | ☐ |
| E.3 | AI 用量 | /health/ai-usage → 查看统计 | 显示调用次数、token 消耗统计 | ☐ |
7. 场景 F — 内容发布链
业务链: 创建文章 → 编辑内容 → 发布 → 验证已发布状态
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| F.1 | 创建文章 | /health/articles → 新增 → 填写标题/内容 → 保存草稿 | 文章状态为 draft | ☐ |
| F.2 | 编辑文章 | 点击草稿 → 修改内容 → 保存 | 内容更新成功 | ☐ |
| F.3 | 发布文章 | 点击发布 | 状态从 draft → published | ☐ |
| F.4 | 下架文章 | 点击已发布文章 → 下架 | 状态变回 draft | ☐ |
8. 场景 G — 积分商城链
业务链: 配置积分规则 → 添加商品 → 查看订单
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| G.1 | 积分规则 | /health/points-rules → 查看规则列表 | 显示积分获取/消费规则 | ☐ |
| G.2 | 商品管理 | /health/points-products → 新增商品 → 保存 | 商品出现在列表 | ☐ |
| G.3 | 订单管理 | /health/points-orders → 查看订单 | 显示兑换订单列表 | ☐ |
9. 场景 H — 线下活动链
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| H.1 | 创建活动 | /health/offline-events → 新增 → 填写信息 → 保存 | 活动创建成功 | ☐ |
| H.2 | 查看活动 | 列表中查看活动详情 | 显示报名人数、活动状态 | ☐ |
10. 场景 I — 系统管理全链路
业务链: 用户 → 角色 → 组织 → 工作流 → 消息 → 设置 → 插件
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| I.1 | 用户管理 | /users → 搜索用户 → 查看详情 | 用户列表可搜索/分页/查看角色分配 | ☐ |
| I.2 | 角色管理 | /roles → 查看角色详情 | 显示 doctor/nurse/health_manager/operator 角色及权限码 | ☐ |
| I.3 | 组织架构 | /organizations → 展开树形结构 | 显示组织/部门/岗位层级 | ☐ |
| I.4 | 统计报表 | /health/statistics → 查看 | 显示患者数/随访数/咨询数等图表 | ☐ |
| I.5 | 工作流 | /workflow → 查看流程定义 | 显示已定义流程,可查看流程图 | ☐ |
| I.6 | 消息中心 | /messages → 查看 | 消息列表,支持已读/未读标记 | ☐ |
| I.7 | 系统设置 | /settings → 编辑 → 保存 | 配置项可编辑保存 | ☐ |
| I.8 | 插件管理 | /plugins/admin → 查看插件列表 | 显示已安装插件,可启用/禁用 | ☐ |
| I.9 | OAuth | /health/oauth-clients → 查看 | 显示 OAuth 客户端列表 | ☐ |
11. 跨角色协作验证
admin 作为系统管理员,验证以下跨角色协作点
| # | 协作场景 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| X.1 | 医护管理 | /health/doctors → 查看医护列表 | 显示科室、职称信息(doctor 角色也能看到) | ☐ |
| X.2 | 角色分配 | /users → 编辑某用户 → 分配角色 | 角色变更后该用户菜单立即更新 | ☐ |
| X.3 | 标签管理 | /health/tags → 新增/编辑/删除 | 标签变更同步到患者筛选器和医护视图 | ☐ |
12. 权限验证
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 12.1 | 全页面可访问 | 逐一点击左侧 45 个菜单 | 每个路径正常打开,无 403 | ☐ |
| 12.2 | 全按钮可见 | 进入各页面 | 新增/编辑/删除按钮均可见 | ☐ |
13. 小程序端
admin 以普通用户身份使用小程序(isMedicalStaff=false)
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 13.1 | 登录跳转 | admin 登录小程序 | 跳转到患者首页(非医护工作台) | ☐ |
| 13.2 | 体征完成度 | 查看首页 | 显示今日体征 4 指标完成度 | ☐ |
| 13.3 | 体征录入 | 健康页 → 录入体征 | 可录入血压/心率/血糖/体重 | ☐ |
测试结果
- 测试人: _________
- 测试日期: _________
- 通过数: ___ / 总数: ___
- 问题记录: