Files
wecom_it_smart_desk/docs/03-测试文档/03-功能测试用例/TC-REQ-用户-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

187 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试用例 - H5 自助诊断面板优化
> **REQ 编号**: REQ-用户-007
> **版本**: v1.0
> **日期**: 2026-07-29
> **作者**: 宋献 (Simon) + Duckula
> **状态**: 🟡 待评审(基于 PRD v1.0-Frozen + 技术方案 v1.0
> **关联文档**:
> - **PRD(冻结)**`docs/01-产品文档/05-用户端H5/PRD-REQ-用户-007-自助诊断面板优化-v1.0.md`
> - **技术方案**`docs/02-技术文档/技术架构/技术方案-REQ-用户-007-自助诊断面板优化-v1.0.md`
> - **任务说明书**:`docs/07-项目管理/任务说明书/任务说明书-REQ-用户-007-自助诊断面板优化.md`
> - **原型图**`docs/01-产品文档/05-用户端H5/原型-REQ-用户-007-自助诊断面板优化-v1.0.html`
---
## 一、基本信息
| 项目 | 内容 |
|------|------|
| **用例集名称** | TC-REQ-用户-007 H5 自助诊断面板优化 |
| **关联 PRD** | REQ-用户-007 v1.0-Frozen7 项决策已冻结) |
| **用例总数** | 50 条(8 大类) |
| **优先级分布** | P0 14 条 / P1 22 条 / P2 14 条 |
| **关联决策** | 必须 100% 覆盖 PRD 7 项核心决策 |
| **自动化目标** | 单元测试 100% 自动化 / E2E 关键路径自动化 / 边界场景手动验证 |
## 二、测试范围
### 2.1 In-scope
- SelfDiagnosis.vue 新增 totalBadge computedwarn/fail 拆分 + 0 异常达标动画)
- 标题栏徽章 5 种状态(分级/含 fail/旧版兼容/达标动画/静态正常)
- 6 Tab 横向并排标签页(激活态 + 异常 Tab 双层下划线)
- ChatView.vue 移动端 toggle 切换(仅 isMobile=true 显示)
- QueueWaiting.vue 新增 showPosition prop
- RightPanel.vue queue-header-v3 合并位置/LV/分
- 异常 + 接入混合 M1 双角标并存
- Tab 切换只显示当前 Tab 数据(行为已天然,需 e2e 验证)
### 2.2 Out-of-scope
- 诊断数据源接入(SIEM/IDS、联软代理等 → 2026-Q4
- 触达 0 异常时的自助解决率统计
- 移动端右栏个性化配置(折叠状态本地记忆)
- 诊断结果 NLP 摘要
## 三、测试环境
| 项 | 配置 |
|----|------|
| **前端** | Vue 3 / TypeScript / Vitest |
| **E2E** | agent-browserPlaywright |
| **浏览器** | Chrome / Edge / Safari 最新版 |
| **设备** | 桌面端(≥500px/ iPhone iOS Safari 14+ / Android Chrome 8+ |
| **屏宽** | 320px / 375px / 720px / 1920px |
| **环境** | dev → staging → 生产 |
## 四、用例分类规则
| 前缀 | 模块 | 用例数 |
|------|------|--------|
| TC-001 | 异常徽章 5 种状态(决策 ①) | 10 |
| TC-002 | 6 Tab 横向并排(决策 ②) | 8 |
| TC-003 | 移动端 toggle 切换(决策 ⑤) | 8 |
| TC-004 | queue 标题栏合并(决策 ⑥) | 6 |
| TC-005 | Tab 切换只显示当前项(决策 ④) | 4 |
| TC-006 | 异常 + 接入混合 M1(决策 ⑦) | 4 |
| TC-007 | 接入中角标位置(决策 ③) | 4 |
| TC-008 | 跨浏览器/跨设备兼容性 | 6 |
| **合计** | | **50** |
---
## 五、详细用例
### TC-001 异常徽章 5 种状态(决策 ①,10 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-001-01 | 0 异常显示"✓ 全部正常"绿色 | P0 | Mock 全部正常 | 1. 打开自助诊断<br>2. 验证 6 Tab 都无异常<br>3. 不点击任何项 | 标题栏显示绿色徽章 "✓ 全部正常" |
| TC-001-02 | 5 warning 显示 `5W · 0F` 分级 | P0 | Mock 5W·0F | 同上 | 标题栏显示红色徽章 `5W · 0F`(左 5W 暖黄字 + 右 0F 粉字) |
| TC-001-03 | 2W + 1F 含 fail 样例 | P0 | Mock 2W·1F | 1. 模拟 2 warning + 1 fail | 标题栏显示 `2W · 1F` |
| TC-001-04 | 0 异常达标动画触发 | P0 | 5W 状态 → 模拟清零 | 1. 起始 5W<br>2. 模拟清除所有异常 | 触发"✓ 今日安全"绿色脉冲动画,3 秒后渐隐 |
| TC-001-05 | 达标动画渐隐后显示静态"✓ 全部正常" | P1 | TC-001-04 | 等待 3 秒 | 动画停止,显示静态绿色徽章 "✓ 全部正常" |
| TC-001-06 | 异常徽章 hover 提示 | P1 | 5W 状态 | 1. 鼠标悬停徽章 | 提示:"共 5 个待处理异常:5 警告 0 失败" |
| TC-001-07 | 一键诊断按钮联动 | P1 | 5W 状态 | 1. 验证"一键诊断"按钮 | 按钮 disabled(因为有异常),hover 提示"建议先处理后再批量诊断" |
| TC-001-08 | 0 异常时一键诊断可点击 | P1 | 0 异常状态 | 1. 验证"一键诊断"按钮 | 按钮可点击,无 disable |
| TC-001-09 | 徽章实时刷新(WS 推送) | P0 | 起始 5W | 1. 模拟 1 个异常被处理 | 徽章立即从 `5W · 0F` 变为 `4W · 0F`< 200ms |
| TC-001-10 | 旧版单数字徽章(兼容) | P2 | config 设置 showLegacy=true | 1. 启用兼容模式 | 显示 `!5` 单数字徽章(已锁定为可选关闭) |
### TC-002 6 Tab 横向并排(决策 ②,8 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-002-01 | 6 Tab 文字精简版渲染 | P0 | 默认 Mock | 1. 打开自助诊断 | 6 Tab 显示"网络 / 账号 / 设备 / 系统软件 / 安全 / 合规" |
| TC-002-02 | 默认激活 Tab"网络" | P0 | 默认 | 1. 打开自助诊断 | "网络" Tab 文字加粗 + 底部蓝色下划线 |
| TC-002-03 | 异常 Tab 双层下划线 | P0 | Mock 5W·0F | 1. 验证 4 个异常 Tab | 账号/设备/系统软件/合规 Tab 底部红色半透明线 + 蓝色下划线(双层) |
| TC-002-04 | Tab 切换激活态变化 | P0 | 默认 | 1. 点击"账号" Tab | 账号 Tab 变蓝色下划线 + 文字加粗;网络 Tab 失去激活态 |
| TC-002-05 | 切换 Tab 内容区更新 | P0 | 默认 | 1. 点击"设备" Tab | 内容区显示设备相关诊断项/风险项 |
| TC-002-06 | 异常 Tab 数字徽章渲染 | P0 | Mock 5W·0F | 1. 验证 4 个异常 Tab | 账号 Tab 显示红色 1,设备 Tab 显示红色 1,系统软件 Tab 显示红色 2,合规 Tab 显示红色 1 |
| TC-002-07 | 桌面端 720px 6 Tab 等分布局 | P1 | 浏览器 720px | 1. 打开自助诊断 | 6 Tab flex 等分,每个约 120px 宽 |
| TC-002-08 | 桌面端 375px 6 Tab 全部放下 | P1 | 浏览器 375px | 1. 打开自助诊断 | 6 Tab 全部显示无横向滚动(每个约 62px) |
### TC-003 移动端 toggle 切换(决策 ⑤,8 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-003-01 | 移动端 <500px 默认显示左对话 | P0 | 浏览器 375px | 1. 打开页面 | 显示左对话(聊天窗口),右栏隐藏 |
| TC-003-02 | 移动端 toggle 按钮显示 | P0 | 375px | 1. 验证顶部 | 顶部出现"💬 对话 / 🩺 信息"双按钮(按钮高度 36px) |
| TC-003-03 | 默认激活态为"💬 对话" | P0 | 375px | 1. 验证按钮 | "💬 对话"按钮蓝底白字,"🩺 信息"灰底 |
| TC-003-04 | 点击"🩺 信息"切换到右栏 | P0 | TC-003-03 | 1. 点击"🩺 信息"按钮 | 显示右栏(手风琴 + 智能推荐 + 排队),按钮变"🩺 信息"激活态 |
| TC-003-05 | 点击"💬 对话"切回左对话 | P0 | TC-003-04 | 1. 点击"💬 对话"按钮 | 显示左对话,按钮变"💬 对话"激活态 |
| TC-003-06 | 切换后左对话滚动位置保留 | P0 | 375px | 1. 滚动对话到底部<br>2. 切换到右栏<br>3. 切换回左对话 | 左对话滚动位置保留(仍显示原位置) |
| TC-003-07 | 切换后输入栏文本保留 | P0 | 375px | 1. 在输入栏输入"测试"<br>2. 切换到右栏<br>3. 切换回左对话 | 输入栏文本"测试"保留 |
| TC-003-08 | 桌面端 ≥500px 不显示 toggle 按钮 | P0 | 浏览器 720px | 1. 打开页面 | 顶部无 toggle 按钮,双栏正常显示 |
### TC-004 queue 标题栏合并(决策 ⑥,6 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-004-01 | 标题栏显示位置 #5 | P0 | Mock 排队中 | 1. 展开排队区 | 标题栏显示 "#5 前面4人"(蓝色徽章) |
| TC-004-02 | 标题栏显示 LV.3 | P0 | Mock 积分等级 | 同上 | 标题栏显示 "LV.3"(灰色 tag |
| TC-004-03 | 标题栏显示 120 分 | P0 | Mock 120 分 | 同上 | 标题栏显示 "120分"(粗体) |
| TC-004-04 | queue-content 不重复显示位置卡片 | P0 | TC-004-01 | 1. 验证展开内容 | 内容区只有答题区,无独立位置卡片 |
| TC-004-05 | 整体高度压缩 ~40px | P1 | 前后对比 | 1. 测量高度 | 比 v2.0 减少约 40px |
| TC-004-06 | 窄屏(<360px)标题栏换行 | P1 | 浏览器 320px | 1. 打开排队区 | 标题栏内联三件套自动换行(flex-wrap: wrap |
### TC-005 Tab 切换只显示当前项(决策 ④,4 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-005-01 | 切到"网络" Tab 只显示网络项 | P0 | Mock 6 Tab 数据 | 1. 点击"网络" Tab | 内容区只显示网络相关诊断项(连通性/DNS/网关/代理/VPN/文件共享) |
| TC-005-02 | 切到"账号" Tab 只显示账号项 | P0 | 同上 | 1. 点击"账号" Tab | 内容区只显示账号相关风险项(域账号/零信任/云盘/邮箱) |
| TC-005-03 | 切到"系统软件" Tab 只显示系统项 | P0 | 同上 | 1. 点击"系统软件" Tab | 内容区只显示系统相关(系统补丁/高危软件/邮件客户端/打印机) |
| TC-005-04 | 切 Tab 时总徽章不变 | P0 | 5W·0F | 1. 反复切 Tab | 总徽章始终是 `5W·0F`(不会因为切 Tab 而变化) |
### TC-006 异常 + 接入混合 M1(决策 ⑦,4 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-006-01 | "安全" Tab 1 异常 + 2 接入显示 `安全 1•2` | P0 | Mock 安全 Tab: 1W + 2pending | 1. 打开自助诊断 | "安全" Tab 显示红色数字徽章 1 + 灰色斜体小角标 2 |
| TC-006-02 | 双角标视觉区隔 | P1 | TC-006-01 | 1. 视觉验证 | 红色 vs 灰色、标准字体 vs 斜体明显区分 |
| TC-006-03 | 异常 + 接入混合不影响总徽章 | P0 | Mock 安全 Tab: 1W + 2pending | 1. 验证总徽章 | 总徽章显示 `1W · 0F`(仅含 1 异常,2 接入不计入) |
| TC-006-04 | 切换到"安全" Tab 内容区 | P0 | TC-006-01 | 1. 点击"安全" Tab | 内容区显示 4 项:1 异常(红色)+ 2 接入(灰色接入中 tag)+ 1 正常 |
### TC-007 接入中角标位置(决策 ③,4 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-007-01 | 接入中角标位于 Tab 文字右侧 | P0 | Mock 0 异常 + 2 接入 | 1. 打开自助诊断 | "安全" Tab 文字后挂灰色斜体小角标 `•2` |
| TC-007-02 | 接入中行内 tag 显示"接入中" | P0 | 同上 | 1. 点击"安全" Tab | 风险项后面显示灰色"接入中" tag |
| TC-007-03 | 接入中项不计入异常数 | P0 | 同上 | 1. 验证总徽章 | 总徽章显示 `0W · 0F`2 接入不计入) |
| TC-007-04 | 接入中角标颜色 | P1 | 同上 | 1. 视觉验证 | 灰色 + 斜体 + 小号(与红数字徽章明显区隔) |
### TC-008 跨浏览器/跨设备兼容性(6 条)
| ID | 标题 | 优先级 | 前置 | 步骤 | 预期 |
|----|------|--------|------|------|------|
| TC-008-01 | Chrome 最新版(桌面 1920px | P0 | desktop | 1. 打开自助诊断 | 6 Tab 全部正常显示,徽章无样式错乱 |
| TC-008-02 | Safari 最新版(macOS 1920px | P0 | macOS | 同上 | 同上 |
| TC-008-03 | iPhone iOS Safari 14+375px | P0 | iPhone | 1. 打开页面 | toggle 按钮正常显示 + 切换流畅 |
| TC-008-04 | Android Chrome 8+360px | P0 | Android | 1. 打开页面 | toggle 按钮正常显示 + 6 Tab 横向并排 |
| TC-008-05 | iPad 720px(横屏) | P1 | iPad | 1. 打开页面 | 双栏正常,6 Tab 等分布局 |
| TC-008-06 | 极窄屏 320px(旧 iPhone SE | P1 | 旧 iPhone | 1. 打开自助诊断 | 6 Tab 横向并排无错乱(移动端不渲染右栏) |
## 六、风险与回滚
| 风险 | 等级 | 缓解措施 |
|------|------|---------|
| 移动端 toggle 切换导致左对话状态丢失 | 高 | v-show 切换(不卸载 DOM),保留输入文本 |
| 异常徽章实时刷新失败 | 中 | 保留最后一次已知状态 |
| 0 异常达标动画在低端机上卡顿 | 低 | 关闭动画降级为静态"✓ 全部正常" |
| queue 标题栏换行后样式错乱 | 低 | flex-wrap: wrap + gap 控间距 |
## 七、关联文档
- **PRD**`docs/01-产品文档/05-用户端H5/PRD-REQ-用户-007-自助诊断面板优化-v1.0.md`
- **技术方案**`docs/02-技术文档/技术架构/技术方案-REQ-用户-007-自助诊断面板优化-v1.0.md`
- **任务说明书**`docs/07-项目管理/任务说明书/任务说明书-REQ-用户-007-自助诊断面板优化.md`
- **原型图**`docs/01-产品文档/05-用户端H5/原型-REQ-用户-007-自助诊断面板优化-v1.0.html`
## 八、变更日志
| 版本 | 日期 | 变更内容 | 作者 |
|------|------|---------|------|
| v1.0 | 2026-07-29 12:45 | 初版:基于 PRD v1.0-Frozen + 技术方案 v1.0,给出 50 条用例 / 8 大类 / P0 14 + P1 22 + P2 14 | Duckula + 宋献 |