teacher.md 33 KB

测试用例 · 成长规划师(Teacher)

关联场景:../user-scenarios/04-teacher.md。对应 e2e:../e2e/roles/teacher/*.spec.js、../e2e/assessment-order-flow.spec.js、../e2e/dan-report-flow.spec.js、../e2e/ai-plan-task-flow.spec.js。

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-01 T-1 认证/双角色 规划师 P0 权限 已分配规划师账号 1. 密码登录 2. 切回家长视角 3. 访问无关家庭数据 进入仪表板;可切回自身家长视角;越权访问无关家庭被拒 AuthController;规划师可切回家长 e2e/roles/teacher/login.spec.js
TC-T-02 T-2 家庭绑定 规划师 P1 功能 家长已生成邀请码 1. 输入邀请码绑定 2. 查看「我的家庭」 家庭出现在列表,可见成员;无效码提示失败;重复绑定幂等 FamilyInviteController e2e/roles/teacher/family-binding.spec.js
TC-T-03 T-3 健康报告 规划师 P0 功能 已绑定家庭与孩子 B 1. 上传募极生物 PDF+选 B 2. 三阶段:上传→解析预览→确认入库 报告进入孩子档案;健康列表可见;识别失败进草稿/未知聚类 报告上传解析;规划师代传 e2e/roles/teacher/dan-report-flow.spec.js
TC-T-04 T-3 报告审核 规划师 P1 功能 有报告草稿(如 id=28) 1. 打开审核队列草稿 2. 确认 草稿确认入库,健康报告列表可见;确认前可取消不入库 报告审核 —
TC-T-05 T-4 方案管理 规划师 P0 功能 有 generated/reviewed/active 方案 1. 打开方案管理页 列表正常渲染(无白屏);函数不报未定义 方案管理;黑盒回归项 e2e/admin-panel.spec.js(参考)
TC-T-06 T-4 方案审核 规划师 P0 功能 家长已提交方案(generated) 1. 对方案 A 点「批准」 状态 generated→reviewed 方案状态机 —
TC-T-07 T-5 方案激活 规划师 P0 功能 方案已 reviewed 1. 点「激活」→确认 2. 激活后查看孩子任务 状态 reviewed→active;生成引导任务+模板任务;孩子 B 出现方案启动任务 激活拆任务 e2e/ai-plan-task-flow.spec.js
TC-T-08 T-5 方案激活·幂等 规划师 P0 异常 方案已 active 1. 对已激活方案再次激活 返回状态异常提示,不重复生成任务(幂等) 幂等约束(黑盒回归) —
TC-T-09 T-6 任务审核 规划师 P1 功能 孩子已提交任务 1. 打开家庭任务列表 2. 审核 通过→孩子得积分;驳回→退回重做;越权审核非绑定家庭被拒 TaskController —
TC-T-10 T-7 测评录入 规划师 P0 功能 家长已支付测评订单(待安排→已预约) 1. 打开测评订单 2. 录入各维度得分 3. 保存 结果可见;触发规则引擎自动生成方案(generated);必填缺失→校验拦截;重复录入覆盖 AssessmentAppointmentController/DanAssessmentController e2e/assessment-order-flow.spec.js
TC-T-11 T-8 成长计划 规划师 P1 功能 已绑定家庭 1. 打开「成长计划」页 列表显示自己创建的计划(childName/状态/时间);不再 400 GrowthPlanController;黑盒回归 e2e/guide-family-list.spec.js(参考)
TC-T-12 T-8 套餐 规划师 P1 功能 套餐素材就绪 1. 创建「专注力提升套餐」含任务项 2. 提交审核 3. 审核通过后购买 上架前提交审核;审核通过后可被市场购买;任务项为空→校验拦截 GuidePackageController —

门禁项

  • TC-T-08(幂等) 与 TC-T-05(无白屏) 为近期修复回归项,必须全部通过,否则不通过。
  • TC-T-10a(权限·确认,既有):非指派测评师 confirm/{id} → 返回「您不是被指派的测评师」,status 不变(TC-DV-05)。
  • TC-T-10b(异常·状态守卫,来自深挖 F2):对已取消/已完成预约再 confirm → 当前仍置 1(非法回退)【缺陷】,期望失败(TC-DV-02)。
  • TC-T-10c(权限·越权取消,来自深挖 F1):cancel/{id} 不接收调用者身份,任何登录用户凭 id 即可取消他人预约【高危缺陷】;期望增加归属校验(TC-DV-01)。
  • 关联深挖:完整缺陷清单与专项用例见 test-cases/deep-dive-assessment-appointment.md。

补齐用例(缺口场景 SC-T-13~22)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-13 SC-T-13 数据隔离 规划师 P1 权限 已绑定家庭 1. 列家庭/成员/报告 2. 越权查非绑定家庭 非绑定家庭统一 403;仅见绑定家庭数据 控制器内 role 检查 —
TC-T-14 SC-T-14 方案编辑 规划师 P1 功能 方案存在 1. 编辑板块/任务项 2. 保存 编辑后状态标记已改;保存生效 方案管理 —
TC-T-15 SC-T-15 套餐任务 规划师 P1 功能 套餐存在 1. 增删任务项 2. 重算 空套餐拦截上架;重算后任务项正确 GuidePackageController —
TC-T-16 SC-T-16 健康总览 规划师 P1 功能 已绑定家庭 1. 家庭仪表板→能量/报告/方案汇总 数据缺失项降级展示不 500 仪表板 —
TC-T-17 SC-T-17 计划进度 规划师 P1 功能 计划存在 1. 计划→任务完成度 进度计算准确;与任务状态一致 GrowthPlanController —
TC-T-18 SC-T-18 批量任务 规划师 P1 功能 多孩子成员 1. 选多成员→批量建任务 部分失败不影响其他成员;各自独立落库 TaskController —
TC-T-19 SC-T-19 消息推送 规划师 P1 功能 已绑定客户 1. 发消息/提醒→客户收到 客户端收到;免打扰设置生效 消息服务 —
TC-T-20 SC-T-20 退出/切换 规划师 P1 功能 已登录 1. 退出→清 token 2. 切回家长 退出清缓存;切回家长视角正常 AuthController —
TC-T-21 SC-T-21 报告对比 规划师 P1 功能 多份报告 1. 多报告对比→差异标注 报告类型一致才可比对;差异清晰标注 报告管理 —
TC-T-22 SC-T-22 方案归档 规划师 P2 功能 方案完成 1. 归档→只读 归档后方案仅可读,不可再编辑/激活 方案管理 —

本轮扩展场景用例(新增 SC-T)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-23 T-23 报告代传/report-proxy 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:上传 PDF+选孩子 → 解析 → 关联孩子档案 2. 观察结果 达成目标:帮客户上传;边界:非绑定家庭拒;识别失败进草稿 报告代传/report-proxy —
TC-T-24 T-24 规划师绑定 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:解绑 → 重绑新家庭 2. 观察结果 达成目标:更换绑定;边界:在途方案/预约处理;非绑定家庭不可操作 规划师绑定 —
TC-T-25 T-25 舌诊情绪识别 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:上传/录入 → 关联报告 2. 观察结果 达成目标:录入识别结果;边界:识别失败回退人工 舌诊情绪识别 —
TC-T-26 T-26 精准营养 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:设目标 → 生成方案 2. 观察结果 达成目标:基于营养目标出方案;边界:目标非法拦截 精准营养 —
TC-T-27 T-27 家庭天盘 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:打开天盘 → 解读 2. 观察结果 达成目标:给家庭看聚合视图并解读;边界:仅绑定家庭可见 家庭天盘 —
TC-T-28 T-28 内容安全 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:AI 生成 → 敏感词/合规检查 → 放行/驳回 2. 观察结果 达成目标:复核 AI 敏感内容;边界:命中即拦截 内容安全 —
TC-T-29 T-29 数据导出(GDPR) 规划师 P1 功能 已登录(默认 规划师);相关前置数据就绪 1. 按场景流程执行:申请 → 生成包 → 下载 2. 观察结果 达成目标:导出客户数据;边界:授权/脱敏;越权拒 数据导出(GDPR) —

异常流用例(派生自正常流)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-01-E T-1 认证/双角色 规划师 P2 异常 已分配规划师账号 1. token 缺失/过期访问规划师接口 2. 非指派家庭直接拼路由访问 3. 模拟登录开关校验 缺失/过期 token 统一 401 跳登录;非绑定家庭路由 403 被拒;模拟登录开关仅在测试环境可开 AuthController;规划师可切回家长 —
TC-T-02-E T-2 家庭绑定 规划师 P2 异常 家长已生成邀请码 1. 邀请码填错/过期(>7天) 2. 重复绑定同一家庭 3. 绑定已注销家庭 错码/过期提示『邀请码无效或已失效』;重复绑定幂等不双建;注销家庭不可绑 FamilyInviteController —
TC-T-03-E T-3 健康报告 规划师 P2 异常 已绑定家庭与孩子 B 1. 上传损坏PDF/非募极/超大 2. 解析超时 3. 选非绑定家庭的孩子 损坏/非募极提示明确(非募极提示请确认募极生物);超大超限提示;解析超时进草稿非500;非绑定孩子 403 报告上传解析;规划师代传 —
TC-T-04-E T-3 报告审核 规划师 P2 异常 有报告草稿(如 id=28) 1. 确认一个已被他人确认/删除的草稿 2. 解析超时草稿点确认 3. 非绑定家庭草稿 已删草稿提示『不存在』;解析中确认提示稍候;非绑定家庭草稿 403 不可操作 报告审核 —
TC-T-05-E T-4 方案管理 规划师 P2 异常 有 generated/reviewed/active 方案 1. 方案列表接口超时 2. 方案含未定义函数引用渲染 3. 空方案列表 列表超时降级提示非500;黑盒回归:函数不再未定义、不白屏;空列表正常占位 方案管理;黑盒回归项 —
TC-T-06-E T-4 方案审核 规划师 P2 异常 家长已提交方案(generated) 1. 对非 generated 态(如已 reviewed)方案再点批准 2. 并发双批准 非 generated 态批准拦截(状态机守卫);并发双批准幂等仅 1 次状态跃迁 方案状态机 —
TC-T-07-E T-5 方案激活 规划师 P2 异常 方案已 reviewed 1. 激活时任务分解服务超时 2. 对已激活方案再激活 3. 激活非 reviewed 方案 超时回滚不残半任务、状态回 reviewed;已激活再激活幂等不重复生成任务;非 reviewed 激活拦截 激活拆任务 —
TC-T-08-E T-5 方案激活·幂等 规划师 P2 异常 方案已 active 1. 对已 active 方案连续点激活两次(并发) 第二次幂等返回现状、不重复生成引导/模板任务;任务数与首次一致 幂等约束(黑盒回归) —
TC-T-09-E T-6 任务审核 规划师 P2 异常 孩子已提交任务 1. 审核非绑定家庭孩子任务 2. 同任务并发双审 3. 超期任务审核 非绑定家庭 403;并发双审幂等仅计 1 次积分;超期任务审核被拒 TaskController —
TC-T-10-E T-7 测评录入 规划师 P2 异常 家长已支付测评订单(待安排→已预约) 1. 必填维度缺失录入 2. 同一订单重复录入 3. 分值越界(>量纲) 4. 非指派规划师 confirm 必填缺失 400 不生成半成品;重复录入覆盖非新增;越界 400 不写脏分;非指派 confirm 返回『您不是被指派测评师』 AssessmentAppointmentController/DanAssessmentController —
TC-T-11-E T-8 成长计划 规划师 P2 异常 已绑定家庭 1. 成长计划列表接口超时 2. 空计划列表 3. 越权查非绑定家庭计划 超时降级非500;空列表正常;非绑定家庭 403 GrowthPlanController;黑盒回归 —
TC-T-12-E T-8 套餐 规划师 P2 异常 套餐素材就绪 1. 提交空任务项套餐上架 2. 套餐审核超时 3. 重复提交同一套餐 空任务项拦截上架;审核超时回退草稿非500;重复提交幂等 GuidePackageController —
TC-T-13-E SC-T-13 数据隔离 规划师 P2 异常 已绑定家庭 1. 直接拼路由查非绑定家庭报告/任务 2. 越权访问并发 非绑定家庭统一 403;不泄露他人数据;并发越权同样 403 控制器内 role 检查 —
TC-T-14-E SC-T-14 方案编辑 规划师 P2 异常 方案存在 1. 编辑已归档方案 2. 编辑非绑定家庭方案 3. 超长文本 归档方案编辑拦截;非绑定家庭 403;超长 400 方案管理 —
TC-T-15-E SC-T-15 套餐任务 规划师 P2 异常 套餐存在 1. 套餐任务重算服务超时 2. 空套餐任务重算 3. 并发增删任务 重算超时降级提示非500;空套餐拦截;并发增删各自生效不丢项 GuidePackageController —
TC-T-16-E SC-T-16 健康总览 规划师 P2 异常 已绑定家庭 1. 仪表板某成员报告/能量数据缺失 2. 接口超时 缺失项降级展示不白屏;超时降级提示非500;仅绑定家庭数据 仪表板 —
TC-T-17-E SC-T-17 计划进度 规划师 P2 异常 计划存在 1. 计划进度接口超时 2. 进度与任务状态不一致时 超时降级非500;进度按任务状态实时计算、一致 GrowthPlanController —
TC-T-18-E SC-T-18 批量任务 规划师 P2 异常 多孩子成员 1. 批量建任务时部分成员失败(如某成员已注销) 2. 并发批量 部分失败不影响其他成员独立落库;并发批量各自独立不串 TaskController —
TC-T-19-E SC-T-19 消息推送 规划师 P2 异常 已绑定客户 1. 推送目标含已注销客户 2. 消息内容含注入 3. 免打扰客户 已注销客户跳过不报错;内容转义不执行脚本;免打扰不推送 消息服务 —
TC-T-20-E SC-T-20 退出/切换 规划师 P2 异常 已登录 1. 退出后旧 token 仍调用 2. 切回家长视角时网络中断 旧 token 失效 401;网络中断退出清缓存、下次需重登;切回家长正常 AuthController —
TC-T-21-E SC-T-21 报告对比 规划师 P2 异常 多份报告 1. 对比不同类型报告(菌群 vs DAN) 2. 对比不存在的报告 id 类型不一致提示不可比;不存在 id 404;差异清晰标注 报告管理 —
TC-T-22-E SC-T-22 方案归档 规划师 P3 异常 方案完成 1. 归档后尝试编辑/激活 2. 归档不存在方案 归档后编辑/激活拦截;不存在 404 方案管理 —

本轮扩展异常流(派生自新增场景)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-23-E T-23 报告代传/report-proxy 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 代传非绑定家庭孩子报告 2. 上传损坏/非募极 3. 识别失败 非绑定家庭 403 拒;损坏/非募极提示明确;识别失败进草稿非500 报告代传/report-proxy —
TC-T-24-E T-24 规划师绑定 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 绑定有在途方案/预约的家庭 2. 绑定非本平台家庭 在途未完成提示先处理;非平台家庭绑定 400 拒 规划师绑定 —
TC-T-25-E T-25 舌诊情绪识别 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 上传非照片/恶意图片(.php) 2. 识别置信度<阈值 类型校验拒绝(.php/.html)不执行;非照片/模糊拒;低置信度提示重拍 舌诊情绪识别 —
TC-T-26-E T-26 精准营养 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 营养目标填负/超上限 2. 目标含 <script> 负/超上限 400『热量需在合理区间』;脚本转义存储不执行 精准营养 —
TC-T-27-E T-27 家庭天盘 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 打开非绑定家庭天盘 2. 某成员数据缺失 非绑定家庭 403;缺失项降级展示不白屏 家庭天盘 —
TC-T-28-E T-28 内容安全 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. AI 生成内容命中敏感词 2. 生成超时 命中即拦截不放行;超时 Fallback 兜底、友好提示非500 内容安全 —
TC-T-29-E T-29 数据导出(GDPR) 规划师 P2 异常 已登录(默认 规划师);相关前置数据就绪 1. 越权导出非绑定家庭数据 2. 1分钟内重复申请 越权导出 403;频次限制提示『导出过于频繁』;敏感字段脱敏 数据导出(GDPR) —

权限流用例(派生自正常流)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-01-P T-1 认证/双角色 规划师 P1 权限 已分配规划师账号 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) AuthController;规划师可切回家长 —
TC-T-02-P T-2 家庭绑定 规划师 P1 权限 家长已生成邀请码 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) FamilyInviteController —
TC-T-03-P T-3 健康报告 规划师 P1 权限 已绑定家庭与孩子 B 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 报告上传解析;规划师代传 —
TC-T-04-P T-3 报告审核 规划师 P1 权限 有报告草稿(如 id=28) 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 报告审核 —
TC-T-05-P T-4 方案管理 规划师 P1 权限 有 generated/reviewed/active 方案 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 方案管理;黑盒回归项 —
TC-T-06-P T-4 方案审核 规划师 P1 权限 家长已提交方案(generated) 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 方案状态机 —
TC-T-07-P T-5 方案激活 规划师 P1 权限 方案已 reviewed 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 激活拆任务 —
TC-T-08-P T-5 方案激活·幂等 规划师 P1 权限 方案已 active 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 幂等约束(黑盒回归) —
TC-T-09-P T-6 任务审核 规划师 P1 权限 孩子已提交任务 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) TaskController —
TC-T-10-P T-7 测评录入 规划师 P1 权限 家长已支付测评订单(待安排→已预约) 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) AssessmentAppointmentController/DanAssessmentController —
TC-T-11-P T-8 成长计划 规划师 P1 权限 已绑定家庭 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) GrowthPlanController;黑盒回归 —
TC-T-12-P T-8 套餐 规划师 P1 权限 套餐素材就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) GuidePackageController —
TC-T-13-P SC-T-13 数据隔离 规划师 P1 权限 已绑定家庭 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 控制器内 role 检查 —
TC-T-14-P SC-T-14 方案编辑 规划师 P1 权限 方案存在 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 方案管理 —
TC-T-15-P SC-T-15 套餐任务 规划师 P1 权限 套餐存在 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) GuidePackageController —
TC-T-16-P SC-T-16 健康总览 规划师 P1 权限 已绑定家庭 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 仪表板 —
TC-T-17-P SC-T-17 计划进度 规划师 P1 权限 计划存在 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) GrowthPlanController —
TC-T-18-P SC-T-18 批量任务 规划师 P1 权限 多孩子成员 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) TaskController —
TC-T-19-P SC-T-19 消息推送 规划师 P1 权限 已绑定客户 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 消息服务 —
TC-T-20-P SC-T-20 退出/切换 规划师 P1 权限 已登录 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) AuthController —
TC-T-21-P SC-T-21 报告对比 规划师 P1 权限 多份报告 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 报告管理 —
TC-T-22-P SC-T-22 方案归档 规划师 P2 权限 方案完成 1. 访问非绑定家庭的数据(报告/任务/方案/订单) 2. 对非指派预约 confirm/cancel 3. 观察 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒(高危越权修复) 方案管理 —

本轮扩展权限流(派生自新增场景)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-23-P T-23 报告代传/report-proxy 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 报告代传/report-proxy —
TC-T-24-P T-24 规划师绑定 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 规划师绑定 —
TC-T-25-P T-25 舌诊情绪识别 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 舌诊情绪识别 —
TC-T-26-P T-26 精准营养 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 精准营养 —
TC-T-27-P T-27 家庭天盘 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 家庭天盘 —
TC-T-28-P T-28 内容安全 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 内容安全 —
TC-T-29-P T-29 数据导出(GDPR) 规划师 P1 权限 已登录(默认 规划师);相关前置数据就绪 1. 访问非绑定家庭的数据(报告/任务/方案/订单);对非指派预约 confirm/cancel 2. 观察拦截 非绑定家庭数据统一 403;confirm/cancel 增加归属校验,非指派调用被拒 数据导出(GDPR) —

五维指标变化专项用例(本轮新增 SC-T-30~32)

完整用户故事见 ../user-scenarios/07-five-dimension.md(ED-10~12)。每条含正常流 + 具体异常流(-E) + 权限流(-P)。

正常流

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-30 SC-T-30 测评/五维 规划师 P1 功能 测评订单已建;规则引擎八类→五维映射已配 1. 录入各维度分(SC-T-07)2. 查五维评分与 generated 方案 八类分→五维刷新;生成 generated 方案;概览/沙盘刷新 AssessmentAppointmentService tests/e2e/dan-report-flow.spec.js
TC-T-31 SC-T-31 维度/手动 规划师 P1 功能 ManualDimensionScoreController 可用;B 当前维度分已知 1. 提交某维度新分 2. 查概览/沙盘与调整痕迹 目标维度覆盖/调整并留痕;概览/沙盘随新值刷新 ManualDimensionScoreController —
TC-T-32 SC-T-32 五维/自评 规划师 P2 功能 FiveDimensionSelfCheckController 可用 1. 提交五维自评 2. 查评分历史 自评微调并叠加;FiveDimensionSelfCheck 留记录;历史可查 FiveDimensionSelfCheckController —

异常流(-E,具体故障注入)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-30-E SC-T-30 测评/五维 规划师 P1 异常 订单已建 + 造"必填缺失""重复录入""分值越界" 1. 必填维度缺失录入 2. 同一订单重复录入 3. 分值>量纲上限 1. 400 不生成半成品 2. 覆盖非新增、无重复记录 3. 越界 400 不写脏分 AssessmentAppointmentService —
TC-T-31-E SC-T-31 维度/手动 规划师 P2 异常 B 维度分已知 + 造"越界""同值重复" 1. 越界分值提交 2. 同值重复提交 1. 400 拦截 2. 幂等无重复痕迹;不影响其他维度(断言) ManualDimensionScoreController —
TC-T-32-E SC-T-32 五维/自评 规划师 P3 异常 自评可用 + 造"分值越界" 1. 自评分值越界提交 400 拦截;不写脏分 FiveDimensionSelfCheckController —

权限流(-P)

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-30-P SC-T-30 测评/五维 规划师 P1 权限 绑定家庭 F2 + 非绑定 F9 1. 规划师 T 录入 F9 成员测评分 非绑定家庭录入 403 AssessmentAppointmentService —
TC-T-31-P SC-T-31 维度/手动 规划师 P1 权限 绑定家庭 F2 + 非绑定 F9 1. T 改 F9 成员维度分 非绑定家庭 403 ManualDimensionScoreController —
TC-T-32-P SC-T-32 五维/自评 规划师 P1 权限 绑定家庭 F2 + 非绑定 F9 1. T 提交 F9 成员自评 非绑定家庭 403 FiveDimensionSelfCheckController —

非功能测试用例(性能 / 兼容 / 安全)

非功能维度:性能(大文件/并发/限流)、兼容(多端/多浏览器/主题)、安全(IDOR/XSS/上传/鉴权/SSRF)。编号后缀 -N 与正常流/异常流(-E)/权限流(-P)并列。

TC 编号 所属场景 模块 角色 优先级 类型 前置条件 测试步骤 预期结果 关联需求/设计 对应 e2e
TC-T-N01 SC-T-03 健康报告 规划师 P1 性能 批量代传 ≥ 10 份 PDF 1. 连续代传报告 2. 观察解析队列 队列不堵;单份 ≤ 30s;失败重试不重复入库 报告解析中台 —
TC-T-N02 SC-T-06 方案审核 规划师 P1 性能 待审核方案 ≥ 50 1. 打开审核列表 2. 翻页/筛选 列表 ≤ 2s;筛选/排序生效 方案状态机 —
TC-T-N03 SC-T-01 绑定家庭 规划师 P2 性能 绑定 ≥ 30 家庭 1. 切换绑定家庭 2. 查数据 切换 ≤ 1.5s;数据隔离不串 绑定家庭 —
TC-T-N04 SC-T-23 报告代传 规划师 P1 兼容 微信小程序/Web 后台 1. 各端代传报告 上传入口一致;解析预览正常 代传入口 —
TC-T-N05 SC-T-03 健康报告 规划师 P0 安全 存在非绑定家庭 F9 1. 用本人 token 请求 F9 报告/方案 返回 403(非绑定家庭越权拦截);不泄露 规划师鉴权 —
TC-T-N06 SC-T-06 方案审核 规划师 P0 安全 抓包 1. 拦截 confirm/cancel 2. 篡改 planId 为其他家庭 服务端归属校验;非法操作 403/拒绝 方案鉴权 —
TC-T-N07 SC-T-25 舌诊录入 规划师 P1 安全 上传含脚本文件名/恶意图片 1. 上传舌诊图(.php/.html) 类型校验拒绝;不执行;存储路径随机化防遍历 上传校验 —
TC-T-N08 SC-T-26 精准营养 规划师 P1 安全 构造长文本/特殊字符营养方案 1. 提交含 <script> 的方案文本 后端转义存储;前端不执行 方案内容安全 —