Files
wecom_it_smart_desk/docs/03-测试文档/03-功能测试用例/TC-坐席-007-分诊排查系统.md
T
Simon 44e77dcb0e chore(docs): docs/ 目录全面重新编号 + 重组
**重构前**(旧编号 02-11):
- docs/02-产品需求/      → 00 产品规划/PRD
- docs/03-技术架构/      → 01-05 子目录散落
- docs/04-原型设计/      → 01-02 产品设计(HTML 原型)
- docs/05-原型设计/      → screens/
- docs/06-测试素材/      → 02-E2E / 03-功能 / 04-版本测试
- docs/07-项目管理/      → 任务说明书/日报/计划
- docs/08-安全审计/      → 审计报告
- docs/09-堡垒运维/      → toolbox / deploy
- docs/10-项目管理/      → 任务说明书(重复)
- docs/11-历史归档/      → deploy-nas-archived

**重构后**(新编号 00-07,语义化):
- docs/00-产品开发流程与文档管理规范.md
- docs/00-版本迭代总览.md
- docs/01-产品文档/      (PRD/原型/认证/会话/AI 服务/坐席/集成)
- docs/02-技术文档/      (技术方案/架构图/重构记录/前端改造/实现配置)
- docs/03-测试文档/      (E2E/功能用例/版本报告/缺陷单)
- docs/04-运维文档/      (部署运维/运维指南)
- docs/05-运营文档/      (品牌推广/用户手册)
- docs/06-安全审计/      (审计报告)
- docs/07-项目管理/      (任务说明书/日报/计划/看板)

**净收益**:
- 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号)
- 消除 02-产品需求 与 10-项目管理 的编号重叠
- 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录)
- 把运维/安全/项目管理从 0X 散落改为 04/06/07

合计 494 文件 + 78495 行 / - 14076 行
2026-08-03 18:46:55 +08:00

28 KiB
Raw Blame History

测试用例 - 分诊排查系统(排查流程图管理)

REQ编号: REQ-坐席-007 版本: v1.0 日期: 2026-07-28 作者: 宋献 关联文档:

  • PRD01-产品文档/04-坐席工作台/PRD-REQ-坐席-007-分诊排查系统-v1.0.md(内容版本 v1.3,文件名存量保留 v1.0)
  • 原型:01-产品文档/04-坐席工作台/原型-REQ-坐席-007-分诊排查系统-v1.0.htmlv1.3
  • 技术方案:../../../02-技术文档/技术架构/技术方案-REQ-坐席-007-分诊排查系统-v1.0.mdv1.1,部分章节待补全)

测试以 PRD v1.3 为权威验收源;技术方案 v1.1 当前仅完成 §3.1 purpose 字段扩展,§3.2/§3.3/§4.1/§5.1/§6.2/§11 等章节待补齐(见文件末变更记录与第六章说明)。


一、用例汇总

类别 用例数 通过 失败 阻塞
功能测试(模板管理 CRUD 与预览) 6 0 0 0
功能测试(节点编辑与 JSON 高级模式) 2 0 0 0
功能测试(结构校验 · 按 purpose 区分) 2 0 0 0
功能测试(草稿/发布/版本/回滚/停用) 4 0 0 0
功能测试(导入导出) 3 0 0 0
功能测试(操作审计) 2 0 0 0
功能测试(purpose 字段管理) 3 0 0 0
功能测试(问诊模板统一管理 · triage) 1 0 0 0
功能测试(坐席执行:实例/推进/同步/暂停/结束) 7 0 0 0
功能测试(模板选择策略:路由/兜底/切换/单实例) 8 0 0 0
功能测试(员工自助与转人工) 2 0 0 0
功能测试(权限矩阵) 4 0 0 0
接口测试 8 0 0 0
回归测试 2 0 0 0
总计 54 0 0 0

二、功能测试用例

2.1 模板管理 CRUD 与预览(FR-01 / FR-02

TC-ID TC-001
用例名称 列表搜索 · 名称/分类/状态组合筛选
前置条件 1) 登录管理后台(管理员账号)
2) 数据库已有 ≥5 条模板:含 troubleshooting/triage 两类 purpose、多个分类、含已发布/草稿/停用状态
测试步骤 1. 进入"运营配置 / 分诊排查管理"列表页
2. 在名称框输入关键词、分类下拉选一个值、状态选"已发布"
3. 观察返回集合
预期结果 1. 列表仅展示同时满足三个条件的模板
2. 空结果有引导文案,不报错
3. 列表按 purpose 分 Tab,当前 Tab 为 Troubleshooting 时只显示 troubleshooting 模板
测试结果 待测试

TC-ID TC-002
用例名称 新建模板 · 必填基本信息与 purpose
前置条件 管理员账号
测试步骤 1. 点击"新建模板"
2. 编辑器顶部"模板用途"不选择,直接填名称后提交
预期结果 1. 前端提示"请选择模板用途(排查流程/问诊对话)"
2. 后端返回 400 purpose required
3. 不写入数据库
测试结果 待测试

TC-ID TC-003
用例名称 复制模板 · 生成新草稿
前置条件 存在已发布 troubleshooting 模板 T1v1.0
测试步骤 1. 在 T1 行操作点"复制"
2. 确认复制
预期结果 1. 生成一条状态=草稿的新模板 T2
2. T2 复制 T1 的 nodes、分类、说明,version=1 草稿
3. 审计日志新增 action=copytarget_id=T2
测试结果 待测试

TC-ID TC-004
用例名称 编辑模板 · 修改基本信息
前置条件 存在草稿模板 T3
测试步骤 1. 编辑 T3,修改名称、分类、负责人、说明
2. 保存
预期结果 1. 数据库草稿字段更新
2. 审计日志新增 action=updatebefore/after 含变更字段
3. 不影响任何已发布版本快照
测试结果 待测试

TC-ID TC-005
用例名称 双端预览 · 坐席端/员工端呈现
前置条件 存在含节点树的草稿模板
测试步骤 1. 点击"预览"
2. 切换"坐席端"/"员工端"视图
预期结果 1. 坐席端显示完整节点、分支、内部运维说明
2. 员工端隐藏敏感内部说明,只展示易懂步骤
3. 预览不影响草稿内容
测试结果 待测试

TC-ID TC-006
用例名称 归档/停用 · 操作权与可见性
前置条件 存在已发布模板 T4
测试步骤 1. 行操作点"归档"(或"停用"
2. 确认
预期结果 1. 状态变更为归档/停用
2. 执行端不再返回该模板用于新启动
3. 审计日志新增 action=archive/disable
4. 历史执行实例仍可关联原版本快照
测试结果 待测试

2.2 节点编辑与 JSON 高级模式(FR-03)

TC-ID TC-007
用例名称 节点树编辑 · 增删改节点与分支
前置条件 进入草稿模板节点编辑器
测试步骤 1. 新增一个 step 节点,连接前一个节点
2. 新增一个 decision 节点,配置是/否两个分支
3. 保存
预期结果 1. nodes[] 正确生成 root_node_id 与节点 ID 链条
2. 分支连线保存在节点 next 字段
3. 切换 JSON 模式能看到对应结构
测试结果 待测试

TC-ID TC-008
用例名称 JSON 高级模式 · 切换不丢数据
前置条件 已用节点树编辑生成 ≥3 个节点
测试步骤 1. 切到"JSON 高级模式"
2. 确认 JSON 与节点树结构一致
3. 在 JSON 中改一个节点文案,切回节点树
预期结果 1. 两种模式使用同一 Schema
2. 切换不丢数据、不篡改结构
3. 修改在双向同步
测试结果 待测试

2.3 结构校验 · 按 purpose 区分(FR-04

TC-ID TC-009
用例名称 troubleshooting 校验 · 五类违例拒绝发布
前置条件 purpose=troubleshooting 草稿
测试步骤 逐一构造:①无根节点 ②重复节点 ID ③缺失"否"分支 ④存在环路 ⑤无结束节点;每次点击发布
预期结果 1. 每种违例均拒绝发布并定位问题节点/连线
2. 后台返回 422 且 detail 指出具体规则
3. 节点数 ≤100、深度 ≤20 的限制同时校验
测试结果 待测试

TC-ID TC-010
用例名称 triage 校验 · 短结构强约束
前置条件 purpose=triage 草稿
测试步骤 1. 构造节点数=12(超 10)尝试发布
2. 构造深度=5(超 4)尝试发布
3. 构造无结束节点或结束节点 result≠redirect
4. 构造标签不含 triage/intake
预期结果 1. 节点数 >10 拒绝
2. 深度 >4 拒绝
3. 必须含结束节点且 result=redirect 否则拒绝
4. 标签必须包含 triage 或 intake,否则拒绝
5. 校验规则集与 troubleshooting 不同(按 purpose 加载)
测试结果 待测试

2.4 草稿/发布/版本/回滚/停用(FR-05)

TC-ID TC-011
用例名称 发布 · 生成不可变版本快照
前置条件 草稿结构校验通过
测试步骤 1. 点击"发布",填写版本说明
2. 确认
预期结果 1. 生成新版本快照(version=N),状态=已发布
2. 快照不可变,后续修改只能基于它复制新草稿
3. 执行端仅读取已发布且启用版本
测试结果 待测试

TC-ID TC-012
用例名称 回滚 · 历史版本回滚为新草稿
前置条件 模板已有 v1.0、v1.1 两个版本
测试步骤 1. 进入版本历史,对 v1.0 点"回滚"
2. 确认
预期结果 1. 生成新草稿,内容复制自 v1.0
2. 原 v1.0/v1.1 版本仍保留不可变
3. 新草稿发布后产生新版本号(不覆盖历史)
测试结果 待测试

TC-ID TC-013
用例名称 停用 · 禁新启动但老实例可完成
前置条件 已发布模板 T5 有 1 个进行中执行实例
测试步骤 1. 停用 T5
2. 新会话搜模板 T5
预期结果 1. 搜索不返回 T5
2. 进行中实例仍可继续推进至结束
3. 审计日志新增 action=disable
测试结果 待测试

TC-ID TC-014
用例名称 版本隔离 · 执行中会话绑定原版本
前置条件 会话 S1 正在执行 T6 v1.0
测试步骤 1. 管理员发布 T6 v1.1
2. 观察 S1 与新会话 S2
预期结果 1. S1 继续执行 v1.0(实例固定绑定版本快照)
2. S2 新启动使用 v1.1
3. 历史路径不随发布失真
测试结果 待测试

2.5 导入导出(FR-06

TC-ID TC-015
用例名称 单条/全部导出 · 统一 JSON Schema
前置条件 已有已发布模板
测试步骤 1. 单条模板点"导出"
2. 列表页点"全部导出"
预期结果 1. 导出文件符合统一 Schemanodes[] 扁平结构,非 root_node 旧结构)
2. 不含员工个人数据、真实凭据、生产密钥
3. 文件可被重新导入
测试结果 待测试

TC-ID TC-016
用例名称 导入校验 · 错误定位到字段/节点
前置条件 准备一个含结构错误的 JSON(如缺失分支、重复 ID)
测试步骤 1. 点"导入",选择该文件
2. 确认
预期结果 1. 导入失败,错误信息定位到具体字段/节点 ID
2. 不得静默丢弃字段后进入草稿
3. 前端提示可修正后重试
测试结果 待测试

TC-ID TC-017
用例名称 导入缺省 purpose · 默认 troubleshooting
前置条件 准备一个未声明 purpose 的合法模板 JSON
测试步骤 1. 导入该文件
预期结果 1. 系统默认赋 purpose=troubleshooting 进入草稿
2. 草稿编辑器顶部"模板用途"显示"排查流程"
3. 不报错、不静默丢失
测试结果 待测试

2.6 操作审计(FR-07

TC-ID TC-018
用例名称 操作审计 · 全动作留痕
前置条件 完成 TC-002TC-006、TC-011TC-013 部分操作
测试步骤 1. 进入"操作审计"页
2. 按模板、操作者、动作、日期筛选
预期结果 1. 创建/修改/发布/停用/回滚/删除均留痕
2. 每条含 operator、action、target_id、before/after、created_at
3. 可按四维组合查询
测试结果 待测试

TC-ID TC-019
用例名称 purpose 变更审计 · 仅复制场景发生
前置条件 通过 TC-003 复制 troubleshooting 模板并改 purpose=triage
测试步骤 1. 复制后修改用途为新草稿
2. 查看审计
预期结果 1. 审计含 purpose 由 troubleshooting→triage 的变更记录
2. 直接编辑已存在模板试图改 purpose 不产生审计(因为被 400 拒绝,见 TC-021)
3. 审计明确标注"通过复制新建改变用途"
测试结果 待测试

2.7 purpose 字段管理(FR-13

TC-ID TC-020
用例名称 新建强制选 purpose
前置条件 管理员进入新建流程
测试步骤 1. 不选择用途直接提交基本信息
预期结果 1. 前端/后端均拒绝,提示必选
2. 用途选项仅 troubleshooting / triage 两值
3. 默认不预选任何值
测试结果 待测试

TC-ID TC-021
用例名称 事后不可修改 purpose · 返回 400
前置条件 已存在 purpose=troubleshooting 模板 T7
测试步骤 1. 调用编辑接口尝试将 T7.purpose 改为 triage
2. 提交
预期结果 1. 后端返回 400 purpose immutable
2. 提示"请基于此模板复制为另一种用途"
3. 数据库字段不变
测试结果 待测试

TC-ID TC-022
用例名称 列表按 purpose 分 Tab 与筛选
前置条件 同时存在 troubleshooting 与 triage 模板
测试步骤 1. 查看列表 TabTroubleshooting / Triage
2. 切换 Tab
预期结果 1. Troubleshooting Tab 仅显示 troubleshooting 模板
2. Triage Tab 仅显示 triage 模板
3. 表头显示当前模板 purpose 标识,避免误编辑
测试结果 待测试

2.8 问诊模板统一管理(FR-14 / §5.4.8

TC-ID TC-023
用例名称 问诊模板复用同一系统 · 无独立表/页/API
前置条件 系统存在 code=triage_intake 的问诊模板
测试步骤 1. 检查数据库是否存在独立 triage 表
2. 检查前端是否新增"问诊模板管理"独立页面
3. 检查后端是否新增独立问诊 API
预期结果 1. 无独立表,triage 与 troubleshooting 共用模板主表(靠 purpose 区分)
2. 无独立页面,triage 在分诊排查管理内 Triage Tab 维护
3. 无独立 API,复用同一套 CRUD/版本/执行/审计接口
测试结果 待测试

2.9 坐席执行:实例/推进/同步/暂停/结束(FR-08~FR-12

TC-ID TC-024
用例名称 创建会话级执行实例
前置条件 存在已发布启用模板,坐席在会话 S3 中
测试步骤 1. 坐席启动模板
2. 查看实例
预期结果 1. 生成执行实例,绑定 conversation_id、employee_id、agent_id、template_version_id、source
2. 实例状态=running,起始时间记录
3. 状态持久化(非纯前端本地态)
测试结果 待测试

TC-ID TC-025
用例名称 暂停 / 恢复 · 跨班次延续
前置条件 S3 实例 running 在第 3 节点
测试步骤 1. 坐席点"暂停"
2. 重新进入会话点"恢复"
预期结果 1. 实例状态=paused 时可被恢复
2. 恢复后回到第 3 节点,路径完整
3. 跨班次/断线后恢复同一实例
测试结果 待测试

TC-ID TC-026
用例名称 服务端推进合法节点
前置条件 S3 实例在 decision 节点
测试步骤 1. 坐席选择"是"分支
预期结果 1. 后端计算下一个合法节点并推进
2. 分支结果可追溯(写入节点执行日志)
3. 前端展示下一节点
测试结果 待测试

TC-ID TC-027
用例名称 客户端不可跳至非法节点
前置条件 S3 实例在节点 A
测试步骤 1. 尝试直接请求跳到不连通的节点 Z
预期结果 1. 后端拒绝非法跳转(节点 Z 非 A 的合法后继)
2. 返回 400/422,状态不前进
3. 不以客户端本地态为准
测试结果 待测试

TC-ID TC-028
用例名称 双端实时同步 · P95 ≤ 2 秒
前置条件 坐席与员工处于同一执行实例
测试步骤 1. 坐席完成一个节点
2. 测量员工端显示相同进度的时间
预期结果 1. 正常网络下员工端 ≤2 秒内显示相同进度
2. 进度来自服务端推送(WebSocket 双通道)
测试结果 待测试

TC-ID TC-029
用例名称 断线重连 · 从服务端恢复
前置条件 S3 实例在第 4 节点,客户端断线
测试步骤 1. 客户端断线后重连
预期结果 1. 从服务端恢复至第 4 节点
2. 历史路径完整,无重复或跳步
3. 状态以服务端为唯一事实源
测试结果 待测试

TC-ID TC-030
用例名称 结束结果采集 · 必填 + 异常标记
前置条件 S3 实例到达结束节点
测试步骤 1. 不填解决结果直接点结束
2. 正常填"已解决/未解决/转其他流程"结束
3. 异常退出时标记原因
预期结果 1. 未填解决结果时被拒绝(必填)
2. 正常结束写入结果、耗时、备注、终止原因
3. 异常退出可标记原因(如 client_crash
测试结果 待测试

2.10 模板选择策略:路由/兜底/切换/单实例(§5.4)

TC-ID TC-031
用例名称 路由推荐直接启动 · 无二次确认
前置条件 路由层对会话 S4 输出高置信度默认模板
测试步骤 1. 路由给出推荐
2. 观察坐席端
预期结果 1. 默认模板直接启动,不弹"是否确认启动"二次确认
2. 排查栏立即出现(模板名/版本/当前节点/换其他模板入口)
3. 实例 source=ai_recommend
测试结果 待测试

TC-ID TC-032
用例名称 路由低置信度 · 显示提示
前置条件 路由层输出低置信度推荐
测试步骤 1. 路由给出低置信度默认模板
预期结果 1. 默认模板仍直接启动
2. 排查栏顶部显示"推荐置信度低,是否换其他模板?"提示
3. 手动覆盖入口可用
测试结果 待测试

TC-ID TC-033
用例名称 路由无匹配 · 自动启动问诊模板(兜底 B)
前置条件 路由层对会话 S5 无任何排查匹配
测试步骤 1. 路由层触发兜底
2. 观察坐席端
预期结果 1. 后端自动创建 source=triage_fallback 的 triage_intake 实例
2. 排查栏顶部显示"问诊中"标识
3. 问诊模板内容为标准短问题/是-否分支,帮助收敛方向
测试结果 待测试

TC-ID TC-034
用例名称 手动切换模板 · 确认并结束当前实例
前置条件 S4 已有 running 实例(ai_recommend
测试步骤 1. 坐席点"换其他模板"
2. 在确认弹窗点"确定切换"
预期结果 1. 弹窗提示"切换模板将结束当前排查实例并开始新的实例,是否继续?"
2. 旧实例置 cancelledreason=agent_switched_template
3. 新模板创建新实例,旧路径摘要保留在会话归档
4. 取消则保留当前实例
测试结果 待测试

TC-ID TC-035
用例名称 单实例约束 · 同会话拒绝第二个 running
前置条件 S4 已有 running 实例
测试步骤 1. 路由层再次尝试自动启动 ai_recommend 实例
2. 坐席同时尝试手动启动 agent 实例
预期结果 1. 后端校验同一会话存在 running 实例,拒绝新的自动/手动启动(409 或 400)
2. 同一时刻仅一个活跃实例
3. 指标不被多实例污染
测试结果 待测试

TC-ID TC-036
用例名称 问诊结束 · 回到标准模板选择(双轨复位)
前置条件 S5 的 triage_fallback 实例正常结束
测试步骤 1. 坐席结束问诊实例
2. 回到会话区
预期结果 1. 排查栏消失并恢复路由+手动双轨状态
2. 服务端复位路由状态,会话不被卡在兜底分支
3. 路由层可再次推荐新模板
测试结果 待测试

TC-ID TC-037
用例名称 问诊不计入排查指标 · 仅计转化率
前置条件 系统有若干 triage_fallback 实例结束
测试步骤 1. 查询指标 troubleshooting_template_complete_total 与 resolved_total
2. 查询 troubleshooting_template_start_total{source=triage_conversion}
预期结果 1. triage 实例计入 complete_total 与 resolved_total
2. 仅计入 triage_conversion 转化率指标
3. 指标服务层硬编码 source=triage_fallback 排除逻辑生效
测试结果 待测试

TC-ID TC-038
用例名称 跨模板跳转 · 仅坐席发起
前置条件 S4 在 VPN 模板实例中
测试步骤 1. 路由层尝试自动从 VPN 跳到网络模板
2. 坐席手动从 VPN 切到网络模板
预期结果 1. 路由层不自动跨模板跳转(被禁止)
2. 坐席手动切换合法(走 TC-034 确认流程)
3. 跨模板跳转不污染原实例指标
测试结果 待测试

2.11 员工自助与转人工(FR-11 / §6.3 #12

TC-ID TC-039
用例名称 员工转人工 · 携带完整上下文
前置条件 员工在 H5 已完成 3 个节点仍未解决
测试步骤 1. 员工点"转人工"
2. 坐席接入查看
预期结果 1. 坐席收到执行摘要:模板版本、已完成节点、选择路径、员工备注
2. 不要求员工重复已完成步骤
3. 坐席可从当前节点继续或重新选模板
测试结果 待测试

TC-ID TC-040
用例名称 Triage 模板员工始终可见 · 不受部门/角色过滤
前置条件 员工登录 H5,其部门/角色不在任何排查可见范围
测试步骤 1. 员工查询可用模板列表
2. 检查 triage 模板是否在列
预期结果 1. purpose=triage 的模板始终在列表首位可见
2. 不受部门/角色/外部标签过滤影响
3. 作为路由无匹配时的兜底入口始终可用
测试结果 待测试

2.12 权限矩阵(§8.2

TC-ID TC-041
用例名称 越权保护 · 坐席调用创建/发布接口返回 403
前置条件 普通呼叫坐席账号登录
测试步骤 1. 坐席直接调用创建模板 / 发布模板接口
预期结果 1. 返回 403 Forbidden
2. 写入安全日志
3. 不创建/不发布任何内容
测试结果 待测试

TC-ID TC-042
用例名称 并发编辑同草稿 · 后提交者 409
前置条件 两管理员 A、B 同时打开同一草稿
测试步骤 1. A 保存(携带旧 version 号)
2. B 在 A 之后保存(携带同一旧 version 号)
预期结果 1. B 返回 409 Conflict
2. 提示"版本已变更,请刷新或比较差异"
3. 不覆盖 A 的提交
测试结果 待测试

TC-ID TC-043
用例名称 员工可见范围 · 仅已发布 + triage 始终可见
前置条件 员工账号登录
测试步骤 1. 员工查询模板列表(管理端/H5
2. 检查草稿、停用、归档模板是否可见
预期结果 1. 员工只见已发布且启用的 troubleshooting 模板(受可见范围过滤)
2. 但 purpose=triage 模板始终可见(不受过滤)
3. 草稿/停用/归档对员工不可见
测试结果 待测试

TC-ID TC-044
用例名称 审计员查看审计日志
前置条件 审计员账号登录
测试步骤 1. 审计员进入操作审计页
预期结果 1. 可查看全部审计记录
2. 无创建/编辑/发布等操作权限
3. 可按要求按操作者/动作/模板/日期导出
测试结果 待测试

三、接口测试

TC-ID IT-001
端点 GET /api/admin/troubleshooting-templates?purpose=troubleshooting&status=published
测试步骤 1. curl 调用(带管理员 token 与 X-Forwarded-For 白名单头)
2. 检查响应结构
预期结果 1. 200 OK
2. 响应为 {items:[...], total:N}(非裸数组,统一契约)
3. items 仅含 troubleshooting 且已发布
测试结果 待测试

TC-ID IT-002
端点 POST /api/admin/troubleshooting-templates
测试步骤 1. curl 创建未选 purpose 的模板
预期结果 1. 400 purpose required
2. 不入库
测试结果 待测试

TC-ID IT-003
端点 PUT /api/admin/troubleshooting-templates/{id}/publish
测试步骤 1. 对结构校验未通过的草稿调用发布
预期结果 1. 422detail 指出具体结构违例
2. 不生成版本
测试结果 待测试

TC-ID IT-004
端点 GET /api/admin/troubleshooting-templates/{id}/versions
测试步骤 1. 对已发布模板查版本历史
预期结果 1. 200,返回不可变版本快照列表(含 version/说明/发布人/时间)
2. 历史版本不可变
测试结果 待测试

TC-ID IT-005
端点 POST /api/admin/troubleshooting-templates/import
测试步骤 1. 上传含重复节点 ID 的 JSON
预期结果 1. 400/422,错误定位到节点 ID
2. 不静默丢字段进入草稿
测试结果 待测试

TC-ID IT-006
端点 DELETE /api/admin/troubleshooting-templates/{id}
测试步骤 1. 删除已发布模板
预期结果 1. 按产品决策执行归档或硬删(以 PRD §11 开放问题"建议仅归档"为准)
2. 若归档,状态变更而非物理删除
3. 写审计
测试结果 待测试

TC-ID IT-007
端点 GET /api/troubleshooting-templates/available(员工/H5
测试步骤 1. 员工 token 调用可用模板列表
预期结果 1. 200,返回已发布 troubleshooting(受可见范围)+ 始终包含 triage
2. triage 不受部门/角色过滤
测试结果 待测试

TC-ID IT-008
端点 POST /api/troubleshooting-instances/start
测试步骤 1. 对同一会话已存在 running 实例时再次发起启动
预期结果 1. 409(或 400)单实例约束拒绝
2. 不创建第二个活跃实例
测试结果 待测试

四、回归测试

TC-ID RT-001
用例名称 深色表格可读性回归
前置条件 主题 = dark
测试步骤 1. 打开模板列表、版本历史、操作审计等 el-table 视图
2. 检查偶数行、固定列、hover
预期结果 1. 不复现 BUG-通用-001(白底白字)
2. 固定列与普通列底色一致,文字可读
测试结果 待测试

TC-ID RT-002
用例名称 接口契约统一回归({items,total}
前置条件 管理端列表代码已统一消费分页结构
测试步骤 1. 浏览器 console 打开模板列表、版本历史、审计页
2. 检查是否仍把响应当数组 .map()
预期结果 1. 不复现"后端返回 {items,total} 被前端当数组 .map()"的 TypeError
2. 列表正常渲染分页
测试结果 待测试

五、测试完成判定

标准 要求
通过率 功能测试 44 条 + 接口测试 8 条 + 回归 2 条 = 54 条核心用例,100% 通过
阻塞 0
回归 RT-001 / RT-002 必须通过
验收 TC-033(兜底 B/ TC-036(问诊结束复位)/ TC-037(问诊独立指标)/ TC-040(triage 可见性)必须覆盖,验证"一体两面"模型落地
验收 TC-035(单实例约束)/ TC-034(手动切换确认)必须覆盖,验证指标防污染
备注 当前代码为演示型/半成品(后端 Mock、无 DB 持久化、H5 未注册路由、无 RBAC 鉴权),上述用例为目标态验收基线,需阶段 A~D 开发完成后执行

六、变更记录

日期 版本 变更内容 变更人 变更原因 影响范围
2026-07-28 v1.0 初版 54 条用例:覆盖模板管理 CRUD/节点编辑/结构校验/purpose 区分/发布版本/导入导出/审计/坐席执行/路由策略(直接启动·兜底 B·手动切换·单实例)/员工自助/权限矩阵/接口/回归 宋献 配合 PRD v1.3、原型 v1.3 评审通过,补齐独立功能测试用例 分诊排查系统(REQ-坐席-007)全 P0 范围

待办提示

  1. 技术方案 v1.1 仍有 §3.2 节点类型、§3.3 按 purpose 校验、§4.1 DB 表 purpose 列、§5.1 API purpose 过滤、§6.2 状态机 triage_fallback、§11 指标 triage_conversion、变更记录等章节待补全(上次 429 中断)。
  2. 本测试用例以 PRD v1.3 为权威验收源;技术方案补全后,接口用例(IT-*)的端点路径/字段以技术方案为准做一致性复核。
  3. 管理后台菜单"排查流程图管理"建议更名为"分诊排查管理"(PRD §1.2、§7.1),菜单改造属独立任务。