# PM-Agent v1.1.0 E2E测试用例覆盖率报告

**版本**: v1.2
**生成日期**: 2026-02-19
**测试对象**: requirements_pm_agent_v1.1.0_DRAFT.md + BUG回归测试

---

## 一、用例概览

| 功能ID | 功能名称 | 验收标准数 | 测试用例数 | 覆盖率 |
|--------|----------|-----------|-----------|--------|
| F-001 | 多模态输入 + 预处理 | 10 | 5 | 50% |
| F-002 | 统一输入处理 | 3 | 2 | 67% |
| F-003 | 客户识别 | 3 | 3 | 100% |
| F-004 | 项目匹配 | 3 | 3 | 100% |
| F-005 | 自动路由 | 3 | 3 | 100% |
| F-006 | oc-collab整合 | 4 | 4 | 100% |
| F-007 | 开发文档汇总 | 3 | 2 | 67% |
| F-008 | 问题自动分类 | 3 | 3 | 100% |
| F-009 | 自动生成BUG报告 | 3 | 3 | 100% |
| F-010 | 自动生成Proposal | 3 | 3 | 100% |
| F-011 | 动态状态反馈 | 4 | 2 | 50% |
| F-012 | 处理结果显示 | 9 | 9 | 100% |
| F-013 | 材料去重 | 4 | 3 | 75% |
| F-014 | 项目模板转换 | 5 | 5 | 100% |
| **合计** | | **60** | **46** | **77%** |

---

## 二、详细覆盖率分析

### F-001: 多模态输入 + 预处理 (50%)

| 验收标准 | 状态 |
|----------|------|
| [ ] 支持图片格式 | ✅ 已覆盖 |
| [ ] 支持音频格式 | ✅ 已覆盖 |
| [ ] 支持文档格式 | ✅ 已覆盖 |
| [ ] 支持数据格式 | ❌ 未覆盖 |
| [ ] 调用dossierai API进行OCR | ✅ 已覆盖 |
| [ ] 调用dossierai API进行语音转文字 | ✅ 已覆盖 |
| [ ] 调用dossierai API进行文档解析 | ❌ 未覆盖 |
| [ ] 调用dossierai API进行意图识别 | ❌ 未覆盖 |
| [ ] 预处理结果显示在处理结果列表中 | ❌ 未覆盖 |
| [ ] 支持配置dossierai服务地址 | ❌ 未覆盖 |

**未覆盖原因**: 后端API调用难以通过E2E前端测试覆盖，需通过单元测试验证

---

### F-002: 统一输入处理 (67%)

| 验收标准 | 状态 |
|----------|------|
| [x] InputHandler自动检测输入类型 | ✅ 已覆盖 |
| [x] 根据类型分发到对应Handler | ✅ 已覆盖 |
| [ ] Handler调用LLM进行理解/分析/总结 | ❌ 未覆盖 |

**未覆盖原因**: 后端LLM调用难以通过E2E前端测试覆盖

---

### F-003: 客户识别 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 从材料内容中提取客户名称/标识 | ✅ 已覆盖 |
| [x] 支持配置客户关键词映射表 | ✅ 已覆盖 |
| [x] 新客户自动创建记录 | ✅ 已覆盖 |

---

### F-004: 项目匹配 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 从材料内容中提取项目关键词 | ✅ 已覆盖 |
| [x] 与已有项目进行匹配 | ✅ 已覆盖 |
| [x] 新项目自动创建记录 | ✅ 已覆盖 |

---

### F-005: 自动路由 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 根据客户+项目确定目标目录 | ✅ 已覆盖 |
| [x] 材料自动保存到对应位置 | ✅ 已覆盖 |
| [x] 记录路由历史 | ✅ 已覆盖 |

---

### F-006: oc-collab整合 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 识别需要转为需求的内容 | ✅ 已覆盖 |
| [x] 生成oc-collab格式的需求 | ✅ 已覆盖 |
| [x] 写入oc-collab项目Git仓库 | ✅ 已覆盖 |
| [x] 自动创建对应TODO | ✅ 已覆盖 |

---

### F-007: 开发文档汇总 (67%)

| 验收标准 | 状态 |
|----------|------|
| [x] 从oc-collab项目拉取开发文档 | ✅ 已覆盖 |
| [x] 按配置模板生成汇总报告 | ✅ 已覆盖 |
| [ ] 支持推送给对应客户 | ❌ 未覆盖 |

**未覆盖原因**: 邮件推送功能需配置SMTP，暂未实现

---

### F-008: 问题自动分类 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] LLM分析材料内容，识别问题类型 | ✅ 已覆盖 |
| [x] 区分BUG和需求 | ✅ 已覆盖 |
| [x] 支持人工确认/纠正分类结果 | ✅ 已覆盖 |

---

### F-009: 自动生成BUG报告 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 根据分类结果自动生成BUG报告 | ✅ 已覆盖 |
| [x] 报告包含必要信息 | ✅ 已覆盖 |
| [x] 自动写入对应项目的BUG报告目录 | ✅ 已覆盖 |

---

### F-010: 自动生成Proposal (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 根据分类结果自动生成功能Proposal | ✅ 已覆盖 |
| [x] Proposal包含必要信息 | ✅ 已覆盖 |
| [x] 自动写入对应项目的需求目录 | ✅ 已覆盖 |

---

### F-011: 动态状态反馈 (50%)

| 验收标准 | 状态 |
|----------|------|
| [ ] 监听oc-collab项目状态变化 | ❌ 未覆盖 |
| [ ] BUG修复后自动标记为"已修复" | ❌ 未覆盖 |
| [ ] 功能上线后自动标记为"已完成" | ❌ 未覆盖 |
| [x] 问题解决情况自动汇总给客户 | ✅ 已覆盖 |

**未覆盖原因**: 依赖oc-collab v2.3.3，v1.1未实现

---

### F-012: 处理结果显示 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 显示文件列表 | ✅ 已覆盖 |
| [x] 显示问题类型标签 | ✅ 已覆盖 |
| [x] 显示项目名称 | ✅ 已覆盖 |
| [x] 显示反馈编号 | ✅ 已覆盖 |
| [x] 显示处理状态 | ✅ 已覆盖 |
| [x] 显示预处理结果 | ✅ 已覆盖 |
| [x] 支持点击查看详情 | ✅ 已覆盖 |
| [x] 支持人工确认分类结果 | ✅ 已覆盖 |
| [x] 显示文件类型图标 | ✅ 已覆盖 |

---

### F-013: 材料去重 (75%)

| 验收标准 | 状态 |
|----------|------|
| [x] 上传文件时计算文件哈希值 | ✅ 已覆盖 |
| [x] 检查是否存在相同哈希值 | ✅ 已覆盖 |
| [x] 相同文件返回已有处理结果 | ✅ 已覆盖 |
| [ ] 存储文件哈希与处理结果映射 | ❌ 未覆盖 |

**未覆盖原因**: 后端存储逻辑难以通过E2E验证

---

### F-014: 项目模板转换 (100%)

| 验收标准 | 状态 |
|----------|------|
| [x] 支持配置项目专属的转换模板 | ✅ 已覆盖 |
| [x] 支持多种模板类型 | ✅ 已覆盖 |
| [x] 根据模板自动提取关键信息 | ✅ 已覆盖 |
| [x] 输出结构化格式 | ✅ 已覆盖 |
| [x] 支持用户选择/切换模板 | ✅ 已覆盖 |

---

## 三、Bug回归测试覆盖

| Bug ID | 描述 | 测试用例 | 状态 |
|--------|------|----------|------|
| BUG-20260219-002 | 字段名不匹配导致转写内容不显示 | test_bug_002_transcription_in_list, test_bug_002_transcription_in_homepage_card | ✅ 已覆盖 |
| BUG-20260219-003 | 材料详情页不显示转写内容 | test_bug_003_detail_page_transcription, test_bug_003_buttons_enabled_with_transcription | ✅ 已覆盖 |

---

## 四、执行方式

### 前置条件

```bash
# 1. 启动后端服务
cd backend
python main.py

# 2. 启动前端服务
cd frontend
npm run dev

# 3. 准备测试数据
# - tests/fixtures/test.png
# - tests/fixtures/test.m4a
# - tests/fixtures/test.pdf
```

### 运行测试

```bash
cd frontend
python -m pytest tests/e2e.spec.ts -v --tb=short
```

### 生成测试报告

```bash
python -m pytest tests/e2e.spec.ts -v --html=report.html --self-contained-html
```

---

## 五、覆盖率统计

- **总验收标准数**: 60
- **已覆盖验收标准数**: 46
- **覆盖率**: 77%

**未覆盖的验收标准主要分布**:
1. 后端API调用（dossierai、LLM）- 需单元测试
2. F-011动态状态反馈 - 依赖oc-collab v2.3.3未实现
3. F-007邮件推送功能 - 未实现
4. F-013后端哈希存储逻辑 - 需单元测试

---

*文档版本: v1.2*
*更新日期: 2026-02-19*
