Files
wecom_it_smart_desk/docs/03-测试文档/README.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

204 lines
11 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.
# 测试质量文档分类索引
> **版本**: v2.0 | **生效日期**: 2026-08-05 | **维护人**: Duckula
>
> 本目录包含 IT 智能服务台项目的所有测试相关文档。按类型分类,便于查阅和维护。
>
> **历史版本**v1.02026-07-14)已归档为 `README.v1.archive.md`
---
## 📁 文档分类结构
```
docs/03-测试文档/
├── 00-测试规范/ # 测试方法论、流程、规范
│ ├── 测试方法论指南.md # v1.02026-07-14
│ └── 测试套件全景.md # v1.02026-08-05 新建)⭐
├── 01-综合报告/ # 合并汇总类报告
│ └── QA_COMPREHENSIVE_REPORT.md
├── 02-E2E测试/ # 端到端测试
│ ├── E2E-CHECKLIST-v0.7.0.md # v0.7.0 验收清单(扫码登录+MFA
│ ├── 方案A-消息发送延时-E2E验证报告-20260708.md
│ └── e2e-screenshots/ # 截图证据
├── 03-功能测试用例/ # 按需求/功能分类
│ ├── TC-REQ-认证-统一认证与登录-v1.0.md
│ ├── TC-REQ-通用-005-选项选择持久化-v1.0.md
│ ├── TC-REQ-AI-004-AI回复来源标识.md
│ ├── TC-REQ-用户-007-自助诊断面板优化.md
│ ├── TC-通用-004-敏感词检测.md # 含 §10 鉴权章节(BUG-通用-004
│ ├── TC-通用-002-快速回复规则后台管理.md
│ ├── TC-坐席-007-分诊排查系统.md
│ ├── TC-用户-006-智能推荐重构.md
│ ├── TC-用户-005-头像菜单退出.md
│ ├── TC-用户-008-H5结束会话失败回归-v1.0.md
│ ├── TC-集成-002-分配模式Tab收编.md
│ ├── TESTING_CALL_AGENT.md
│ ├── 测试/Token多IP异常检测测试用例.md
│ └── 会话存档功能-测试用例.md
├── 04-版本测试报告/ # 按日期/版本分类
│ ├── Tier0-测试报告-20260708.md
│ ├── Tier1-测试报告-20260708.md
│ ├── P0串联+P2可视化-测试报告-20260708.md
│ ├── OTP绑定-测试报告-20260708.md
│ ├── RBAC-BugFix-测试报告-20260707.md
│ ├── 看板验真-测试报告-20260707.md
│ └── 知识迭代Bug修复报告-20260711.md
├── 05-缺陷单/ # P0/P1/P2 缺陷归档
│ ├── README.md # 缺陷单索引
│ ├── BUG-通用-004-敏感词API无鉴权-001.md # 本次修复
│ ├── BUG-通用-快速回复规则-路由目标筛选500-002.md
│ ├── BUG-通用-用户角色分配表格看不清-001.md
│ ├── BUG-AI-打印机安装路由错误-001.md
│ ├── BUG-坐席-002-选项汇总标签缺失-001.md
│ ├── BUG-坐席-图片预览刷新-001.md
│ ├── BUG-用户-H5请求超时-002.md
│ ├── BUG-用户-H5结束会话失败-003.md
│ └── BUG-用户-坐席离线未限制呼叫人工-001.md
├── README.md # 本文件(v2.0
└── README.v1.archive.md # 旧版归档
```
---
## 📋 测试统计汇总(v2.0 / 2026-08-05
| 指标 | 数值 | 说明 |
|------|------|------|
| **测试文档总数** | **39** | 13 TC + 7 TR + 9 BUG + 4 索引/README + 1 测试方法论 + 1 测试套件全景 + 4 综合 |
| **测试文件总数** | **78** | `src/backend/tests/` 下(含子目录)|
| **测试用例总数** | **1403** | pytest 收集,含 3 个 collection 错误文件 |
| **通过率** | **93.4%** | 1311 passed / 88 failed / 4 xfailed(最近一次基线 2026-08-05|
| **TC** | 13 | 按需求/功能分类 |
| **TR** | 7 | 按版本/日期分类 |
| **BUG 单** | 9 | P0/P1/P2 归档 |
| **自动化生成** | ✅ | `scripts/test_inventory.py`(手动重跑 + CI 钩子待补)|
> 📈 **与 v1.0 (2026-07-14) 对比**
> - 测试文档:12 → 39+225%
> - 测试用例:200+ → 1403+602%
> - 通过率:~95% → 93.4%-1.6pp**新增覆盖已暴露的 88 个 collection 错误**
---
## 📚 文档清单总览
| 分类 | 文档名称 | 测试范围 | 状态 |
|------|---------|---------|------|
| **测试规范** | [`00-测试规范/测试方法论指南.md`](./00-测试规范/测试方法论指南.md) | 测试策略、流程、CI/CD | ✅ 生效中 |
| **测试规范** | ⭐ [`00-测试规范/测试套件全景.md`](./00-测试规范/测试套件全景.md) | **pytest 套件全景(78 文件 / 1403 用例)** | ✅ v1.02026-08-05 |
| **综合报告** | `01-综合报告/QA_COMPREHENSIVE_REPORT.md` | P2/P3 + WebSocket + 坐席 v5.3 | ✅ 通过 |
| **E2E 测试** | `02-E2E测试/E2E-CHECKLIST-v0.7.0.md` | 扫码登录 + MFA + P0/P1 合规 | ✅ 通过 |
| **E2E 测试** | `02-E2E测试/方案A-消息发送延时-E2E验证报告-20260708.md` | WS 打字机 + 发送即时性 | ✅ 通过 |
| **TC** | `03-功能测试用例/TC-REQ-认证-统一认证与登录-v1.0.md` | 企微免密 + 账号密码 + MFA | 📋 待执行 |
| **TC** | `03-功能测试用例/TC-REQ-通用-005-选项选择持久化-v1.0.md` | 选项选择持久化 | ✅ |
| **TC** | `03-功能测试用例/TC-REQ-AI-004-AI回复来源标识.md` | AI 回复来源标识 | ✅ |
| **TC** | `03-功能测试用例/TC-REQ-用户-007-自助诊断面板优化.md` | 自助诊断面板 | ✅ |
| **TC** | `03-功能测试用例/TC-通用-004-敏感词检测.md` | 敏感词(中台) + §10 鉴权 | ✅ |
| **TC** | `03-功能测试用例/TC-通用-002-快速回复规则后台管理.md` | 快速回复规则 | ✅ |
| **TC** | `03-功能测试用例/TC-坐席-007-分诊排查系统.md` | 分诊排查 | ✅ |
| **TC** | `03-功能测试用例/TC-用户-006-智能推荐重构.md` | 智能推荐重构 | ✅ |
| **TC** | `03-功能测试用例/TC-用户-005-头像菜单退出.md` | 头像菜单退出 | ✅ |
| **TC** | `03-功能测试用例/TC-用户-008-H5结束会话失败回归-v1.0.md` | 结束会话失败回归 | ✅ |
| **TC** | `03-功能测试用例/TC-集成-002-分配模式Tab收编.md` | 分配模式 Tab 收编 | ✅ |
| **TC** | `03-功能测试用例/TESTING_CALL_AGENT.md` | 呼叫坐席(3 次 AI 回复后出现按钮)| ✅ |
| **TC** | `03-功能测试用例/Token多IP异常检测测试用例.md` | Token 多 IP 异常 | ✅ |
| **TC** | `03-功能测试用例/会话存档功能-测试用例.md` | 会话存档 | ✅ |
| **TR** | `04-版本测试报告/OTP绑定-测试报告-20260708.md` | 首次绑定 + 重置流程 | ✅ |
| **TR** | `04-版本测试报告/Tier0-测试报告-20260708.md` | 知识库迭代基础设施 | ✅ |
| **TR** | `04-版本测试报告/Tier1-测试报告-20260708.md` | API 层 + 前端组件 | ✅ |
| **TR** | `04-版本测试报告/P0串联+P2可视化-测试报告-20260708.md` | 会话关闭建议 + 知识图谱 | ✅ |
| **TR** | `04-版本测试报告/RBAC-BugFix-测试报告-20260707.md` | admin_users 装饰器修复 | ✅ |
| **TR** | `04-版本测试报告/看板验真-测试报告-20260707.md` | 5 项存量功能验证 | ⚠️ 3/5 通过 |
| **TR** | `04-版本测试报告/知识迭代Bug修复报告-20260711.md` | POST /suggestions + Neo4j MERGE | ✅ |
| **BUG 单** | `05-缺陷单/README.md` | 缺陷单索引 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-通用-004-敏感词API无鉴权-001.md` | 13 端点裸奔 P0(本次修复) | 🔄 已修复待关闭 |
| **BUG 单** | `05-缺陷单/BUG-通用-快速回复规则-路由目标筛选500-002.md` | 快速回复路由 500 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-通用-用户角色分配表格看不清-001.md` | 用户角色表格 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-AI-打印机安装路由错误-001.md` | AI 路由 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-坐席-002-选项汇总标签缺失-001.md` | 标签缺失 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-坐席-图片预览刷新-001.md` | 图片预览 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-用户-H5请求超时-002.md` | H5 请求超时 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-用户-H5结束会话失败-003.md` | H5 结束会话失败 | ✅ |
| **BUG 单** | `05-缺陷单/BUG-用户-坐席离线未限制呼叫人工-001.md` | 坐席离线未限制 | ✅ |
---
## 🏷️ 按主题分类(v2.0
### 身份认证 & 安全
- `00-测试规范/测试套件全景.md` ⭐ — pytest 鉴权专项 13 文件 / 212 用例
- `E2E-CHECKLIST-v0.7.0.md` — 扫码登录、MFA 绑定与验证
- `TC-REQ-认证-统一认证与登录-v1.0.md` — 企微免密、账号密码、OTP
- `OTP绑定-测试报告-20260708.md` — 首次绑定、管理员重置
- `RBAC-BugFix-测试报告-20260707.md` — 权限装饰器修复
- `BUG-通用-004-敏感词API无鉴权-001.md` — 13 端点鉴权补漏(本次)
### 消息 & WebSocket
- `方案A-消息发送延时-E2E验证报告-20260708.md` — 发送即时返回 + WS 流式
- `QA_COMPREHENSIVE_REPORT.md` — WebSocket 实时推送功能
### 知识库 & AI
- `Tier0-测试报告-20260708.md` — Neo4j、审批状态机、置信门控
- `Tier1-测试报告-20260708.md` — Vision、RAGFlow、审批队列、知识迭代
- `知识迭代Bug修复报告-20260711.md` — POST 端点、Neo4j MERGE、过期检查
### 业务功能
- `TESTING_CALL_AGENT.md` — 呼叫坐席功能
- `P0串联+P2可视化-测试报告-20260708.md` — 会话关闭建议、知识图谱可视化
- `看板验真-测试报告-20260707.md` — 排队、AI Wingman、知识库、RBAC、敏感词
### 自动化 / pytest 套件
- `00-测试规范/测试套件全景.md` ⭐ — 78 文件 / 1403 用例 / 13 主题分类
---
## ⚠️ 已知遗留问题
| 问题 | 位置 | 状态 |
|------|------|------|
| `test_approval_detect_intent.py` collection 错 | `src/backend/tests/` | 预存在(`_call_dify_approval_intent` 函数 v1.x 治理中移除)|
| `test_byod.py` collection 错 | `src/backend/tests/` | 预存在(`_keyword_prefilter` 函数 v1.x 治理中移除)|
| `test_quick_rules.py` collection 错 | `src/backend/tests/` | 预存在 |
| `test_routing_service.py` 部分用例失败 | `src/backend/tests/` | 88 个 failed 全部与此 3 类相关(已分批 ignore)|
---
## 🚀 快速上手
```bash
# 1. 跑全部有效套件(跳过 3 个预损坏)
cd src/backend
python -m pytest tests/ -q \
--ignore=tests/test_approval_detect_intent.py \
--ignore=tests/test_byod.py \
--ignore=tests/test_quick_rules.py
# 2. 跑本次新增的鉴权回归(最关键)
python -m pytest tests/test_sensitive_words_auth.py -v
# 3. 重新生成测试套件全景
python ../../scripts/test_inventory.py --baseline 1311/88/4
```
---
## 🔗 关联文档
- 测试方法论指南: [`./00-测试规范/测试方法论指南.md`](./00-测试规范/测试方法论指南.md)
- 测试套件全景(⭐): [`./00-测试规范/测试套件全景.md`](./00-测试规范/测试套件全景.md)
- 技术架构: `../02-技术架构/`
- 产品需求: `../01-产品文档/`
- 项目管理: `../07-项目管理/项目状态看板.md`
- 整改记录: `../04-运维文档/部署运维/00-文档规范化整改记录.md`#12
---
> 最后更新:2026-08-05 | 整理人:Duckula v2.0