# 📖 如何测试 Phase 2 - 使用说明

**Phase 2完成日期**：2025-10-13  
**待测试内容**：双模式智能问答系统（全文阅读 + 逐篇精读）

---

## 🎯 测试目标

验证以下功能：
1. ✅ Python微服务（文档提取）
2. ✅ 多格式文档支持（PDF/Docx/Txt）
3. ✅ Token计数和智能管理
4. ✅ 全文阅读模式（35-50篇文献综合分析）
5. ✅ 逐篇精读模式（1-5篇深度分析）
6. ✅ 文献切换和对话历史管理

---

## 📚 测试资料清单

我已经为你准备了**4个测试工具**：

### 1. 🔍 环境检查脚本（推荐第一步）
**文件**：`检查测试环境.bat`  
**用途**：自动检查测试环境是否就绪  
**耗时**：1分钟

**使用方法**：
```bash
# 双击运行
检查测试环境.bat
```

**输出示例**：
```
✅ 通过: 8/10
⚠️  警告: 2/10
❌ 失败: 0/10

🟢 状态: 测试环境完全就绪！
```

---

### 2. ⚡ 快速测试清单（推荐日常使用）
**文件**：`Phase2-快速测试清单.md`  
**用途**：30分钟快速验证核心功能  
**耗时**：30分钟  
**适合场景**：
- 代码更新后的快速验证
- 日常开发测试
- 问题修复后的回归测试

**内容结构**：
```
✅ 启动服务（2分钟）
✅ 准备数据（10分钟）
✅ 核心测试（15分钟）
   - 全文阅读模式（5分钟）
   - 逐篇精读模式（10分钟）
✅ 快速验收（3分钟）
```

---

### 3. 📋 完整测试指南（推荐正式验收）
**文件**：`Phase2-测试指南.md`  
**用途**：90分钟完整功能验证  
**耗时**：60-90分钟  
**适合场景**：
- Phase 2正式验收
- 上线前的完整测试
- 详细的功能测试

**内容结构**：
```
Part 1: 环境准备（10分钟）
Part 2: 服务启动（5分钟）
Part 3: 知识库准备（15-20分钟）
Part 4: 全文阅读模式（15分钟）
   - 8个详细测试用例
Part 5: 逐篇精读模式（20分钟）
   - 8个详细测试用例
Part 6: 端到端场景（15分钟）
   - 3个真实用户场景
Part 7: 问题记录（5分钟）
附录: 常见问题排查
```

---

### 4. 🚀 一键启动脚本（服务启动）
**文件**：`一键启动.bat`  
**用途**：自动启动所有服务  
**耗时**：30秒启动，10秒等待

**启动内容**：
- PostgreSQL容器
- Redis容器
- Python微服务（端口8000）
- Backend服务（端口3001）
- Frontend服务（端口3000）

---

## 🏃 快速开始（5分钟上手）

### Step 1: 检查环境（1分钟）
```bash
# 双击运行
检查测试环境.bat
```
**看到"🟢 测试环境完全就绪"** → 进入Step 2  
**看到"🔴 或 🟡"** → 按照提示修复问题

---

### Step 2: 启动服务（2分钟）
```bash
# 双击运行
一键启动.bat
```
**等待**：30秒，看到3个窗口打开  
**验证**：自动打开浏览器 http://localhost:3000

---

### Step 3: 选择测试方式（2分钟）

#### 方式A：快速测试（30分钟）⭐ 推荐
```bash
# 打开文档
Phase2-快速测试清单.md
```
**特点**：快速、核心功能验证

#### 方式B：完整测试（90分钟）
```bash
# 打开文档
Phase2-测试指南.md
```
**特点**：详细、全面、适合正式验收

---

## 📊 推荐测试流程

### 🎯 首次测试（推荐完整测试）

```mermaid
graph LR
    A[检查环境] --> B[启动服务]
    B --> C[完整测试指南]
    C --> D[记录问题]
    D --> E{有严重问题?}
    E -->|是| F[修复问题]
    E -->|否| G[验收通过]
    F --> A
```

**预计时间**：90-120分钟（含问题修复）

---

### 🔄 日常测试（推荐快速测试）

```mermaid
graph LR
    A[检查环境] --> B[启动服务]
    B --> C[快速测试清单]
    C --> D{测试通过?}
    D -->|是| E[继续开发]
    D -->|否| F[快速修复]
    F --> C
```

**预计时间**：30分钟

---

## 🎯 测试策略建议

### 阶段1：初次验证（第一次测试）
**目标**：全面了解系统功能和稳定性

**步骤**：
1. ✅ 运行环境检查
2. ✅ 使用**完整测试指南**（90分钟）
3. ✅ 记录所有发现的问题
4. ✅ 按优先级修复问题
5. ✅ 重新测试验证

**预期产出**：
- 完整的测试报告
- 问题清单（按优先级）
- 修复计划

---

### 阶段2：问题修复验证（修复后）
**目标**：验证问题是否修复

**步骤**：
1. ✅ 运行环境检查
2. ✅ 针对问题点重新测试
3. ✅ 使用**快速测试清单**回归测试

**预期产出**：
- 问题修复确认
- 回归测试通过

---

### 阶段3：正式验收（准备上线）
**目标**：最终验收决策

**步骤**：
1. ✅ 运行环境检查
2. ✅ 使用**完整测试指南**再次测试
3. ✅ 端到端场景测试
4. ✅ 性能指标验证
5. ✅ 最终验收决策

**验收标准**：
- [ ] 所有核心功能正常
- [ ] 无阻断性问题
- [ ] 性能指标达标
- [ ] 用户体验良好

---

## 🔧 常见场景处理

### 场景1：环境检查失败
**现象**：运行`检查测试环境.bat`后显示🔴

**处理步骤**：
1. 查看哪些检查项标记为❌
2. 按照提示安装缺失的软件
3. 重新运行检查脚本
4. 直到显示🟢才能继续测试

**常见问题**：
- Docker未启动 → 启动Docker Desktop
- Python未安装 → 安装Python 3.11+
- 虚拟环境缺失 → `cd extraction_service && .\install.bat`

---

### 场景2：服务启动失败
**现象**：一键启动后某个服务报错

**处理步骤**：
1. 查看报错的服务窗口
2. 记录错误信息
3. 查看测试指南"附录A：常见问题排查"
4. 按照排查步骤解决

**常见问题**：
- 端口被占用 → 关闭占用程序或重启电脑
- 依赖未安装 → 运行`npm install`或`pip install`
- 数据库连接失败 → 检查Docker容器状态

---

### 场景3：功能测试失败
**现象**：某个功能不工作或报错

**处理步骤**：
1. 在测试文档中记录具体问题
2. 截图保存关键错误
3. 记录复现步骤
4. 查看浏览器Console（F12）的错误信息
5. 提交问题清单

**问题记录模板**：
```
问题描述：____________
复现步骤：
  1. ____________
  2. ____________
预期结果：____________
实际结果：____________
截图：[附件]
Console错误：____________
```

---

## 📝 测试记录管理

### 建议的文档结构

创建一个测试记录文件夹：
```
AIclinicalresearch/
├── 测试记录/
│   ├── 2025-10-13-首次测试.md
│   ├── 2025-10-14-问题修复验证.md
│   ├── 2025-10-15-正式验收.md
│   └── 问题清单.md
```

### 问题清单模板

```markdown
# Phase 2 问题清单

## 🔴 严重问题（阻断性）
1. [问题描述] - [状态：待修复/已修复] - [负责人]

## 🟡 中等问题（影响使用）
1. [问题描述] - [状态：待修复/已修复] - [负责人]

## 🟢 轻微问题（不影响主流程）
1. [问题描述] - [状态：待修复/已修复] - [负责人]
```

---

## 🎊 测试完成后

### ✅ 如果验收通过

**恭喜！Phase 2验收通过！** 🎉

**下一步选择**：

#### 选项A：开发Phase 3（批处理模式）⭐ 推荐
- **时间**：1-2天
- **价值**：完善知识库功能闭环
- **任务**：批量文献处理、结果汇总、导出功能

#### 选项B：开发里程碑2（11个智能体）
- **时间**：2-3周
- **价值**：产品功能完整度大幅提升
- **任务**：开发其余11个专业智能体

**建议**：先完成Phase 3（1-2天），再进入里程碑2

---

### ⚠️ 如果有问题需要修复

**不要慌！**按照以下步骤处理：

1. **问题分类**
   - 将问题分为：严重、中等、轻微
   
2. **优先级排序**
   - 严重问题：立即修复
   - 中等问题：尽快修复
   - 轻微问题：可延后

3. **修复计划**
   - 为每个问题分配修复时间
   - 预估总修复时间
   
4. **修复后验证**
   - 使用快速测试清单回归测试
   - 确认问题已解决

---

## 📞 需要帮助？

### 测试过程中遇到问题

1. **查看测试指南的"附录A：常见问题排查"**
2. **查看Console错误信息（F12）**
3. **记录详细的问题描述和截图**
4. **整理问题清单待Review**

### 不确定如何判断测试结果

**参考标准**：
- ✅ **通过**：功能正常工作，无错误
- ⚠️ **有条件通过**：功能基本工作，有小问题但不影响主流程
- ❌ **不通过**：功能无法工作或有严重错误

---

## 📚 相关文档索引

### Phase 2开发文档
- [Phase2-最终技术方案.md](./docs/05-每日进度/Phase2-最终技术方案.md)
- [Phase2-完成报告.md](./docs/05-每日进度/Phase2-完成报告.md)
- [Phase2-最终总结.md](./docs/05-每日进度/Phase2-最终总结.md)

### 测试文档
- [Phase2-测试指南.md](./Phase2-测试指南.md) - 完整版
- [Phase2-快速测试清单.md](./Phase2-快速测试清单.md) - 快速版

### 开发计划文档
- [开发里程碑.md](./docs/04-开发计划/开发里程碑.md)

---

## 🎯 总结

### 测试工具选择

| 场景 | 推荐工具 | 耗时 |
|------|---------|------|
| 首次测试 | 完整测试指南 | 90分钟 |
| 日常开发测试 | 快速测试清单 | 30分钟 |
| 问题修复后 | 快速测试清单 | 30分钟 |
| 正式验收 | 完整测试指南 | 90分钟 |
| 环境检查 | 环境检查脚本 | 1分钟 |

### 测试流程建议

```
第1次: 环境检查 → 完整测试 → 记录问题
第2次: 环境检查 → 快速测试 → 验证修复
第3次: 环境检查 → 完整测试 → 最终验收
```

---

**准备好了吗？立即开始测试！** 🚀

1. 运行 `检查测试环境.bat`
2. 运行 `一键启动.bat`
3. 打开 `Phase2-快速测试清单.md` 或 `Phase2-测试指南.md`
4. 开始测试！

**祝测试顺利！** 🎉









