# Week 4 功能快速测试指南 > **测试日期:** 2025-11-21 > **功能模块:** 初筛结果页面 > **预计测试时间:** 10分钟 --- ## 🚀 一、快速开始(3步) ### Step 1: 获取测试项目ID ```bash cd backend node scripts/get-test-projects.mjs ``` **输出示例**: ``` 🎯 推荐测试项目(有筛选结果): 项目ID: 55941145-bba0-4b15-bda4-f0a398d78208 文献数: 7 筛选结果数: 7 ``` ### Step 2: 复制测试URL并访问 **方式1:通过审核工作台(推荐)** ``` http://localhost:3000/literature/screening/title/workbench?projectId=55941145-bba0-4b15-bda4-f0a398d78208 ``` 然后点击右上角的 **"查看结果统计"** 按钮 **方式2:直接访问结果页** ``` http://localhost:3000/literature/screening/title/results?projectId=55941145-bba0-4b15-bda4-f0a398d78208 ``` ### Step 3: 测试所有功能 见下方详细测试清单 --- ## 📋 二、详细测试清单 ### 2.1 统计概览卡片 ✅ **测试项**: - [ ] 总数是否显示正确?(应该=7或199) - [ ] 已纳入数量和百分比是否正确? - [ ] 已排除数量和百分比是否正确? - [ ] 待复核数量是否正确? - [ ] 如果有冲突,是否显示冲突数量? **预期效果**: ``` ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ 总数 │ │ 已纳入│ │ 已排除│ │ 待复核│ │ 7 │ │ 2 │ │ 5 │ │ 0 │ │ 篇 │ │ 28.6% │ │ 71.4% │ │ 0% │ └───────┘ └───────┘ └───────┘ └───────┘ ``` --- ### 2.2 待复核提示 ✅ **测试项**: - [ ] 当有冲突时,是否显示黄色提示框? - [ ] 提示文字是否准确? - [ ] "前往复核"按钮能否正常跳转? **预期效果**: ``` ⚠️ 有文献需要人工复核 还有 2 篇文献存在模型判断冲突,建议前往"审核工作台"进行人工复核 [前往复核] 按钮 ``` **测试方法**: - 点击"前往复核"按钮,应该跳转到审核工作台 --- ### 2.3 PRISMA排除分析 ✅ **测试项**: - [ ] 是否显示排除原因统计? - [ ] 原因分类是否正确? - P不匹配(人群) - I不匹配(干预) - C不匹配(对照) - S不匹配(研究设计) - 其他原因 - [ ] 数量和百分比是否正确? - [ ] 柱状图是否按比例显示? **预期效果**: ``` 排除原因分析(PRISMA) ──────────────────────────────── P不匹配(人群) ████████ 3篇 (60%) I不匹配(干预) ████ 2篇 (40%) ``` --- ### 2.4 结果列表(混合方案)⭐ 重点测试 **测试项**: - [ ] Tab是否正常切换? - 全部(7) - 已纳入(2) - 已排除(5) - 待复核(0) - [ ] 表格是否有以下列? - 序号 - 文献标题(可点击) - AI共识(显示DS和QW是否一致) - 排除原因(纳入显示"-") - 人工决策(标注推翻AI或与AI一致) - 状态(4种状态) - 操作 **重点检查:逻辑矛盾是否解决** #### 场景1:人工推翻AI(最重要) ``` AI共识:⊗ 排除 (DS✓ QW✓) 人工决策:✅ 纳入 (推翻AI) 排除原因:- ← 应该是"-",不是"P不匹配" 状态:🟠 已复核-推翻AI ``` #### 场景2:与AI一致 ``` AI共识:✅ 纳入 (DS✓ QW✓) 人工决策:✅ 纳入 (与AI一致) 排除原因:- 状态:✅ 已复核-与AI一致 ``` #### 场景3:未复核-AI一致排除 ``` AI共识:⊗ 排除 (DS✓ QW✓) 人工决策:未复核 排除原因:P不匹配(人群) ← 应该显示AI提取的原因 状态:⬜ 待复核-AI一致 ``` #### 场景4:未复核-AI冲突 ``` AI共识:⚠️ 冲突 DS:纳入 QW:排除 人工决策:未复核 排除原因:P不匹配(人群) ← 显示排除一方的原因 状态:⚠️ 待复核-有冲突 ``` --- ### 2.5 展开行详情 ✅ **测试项**: - [ ] 点击文献标题,图标是否从📕变为📖? - [ ] 是否显示DeepSeek完整分析? - 决策和置信度 - P/I/C/S判断和证据 - 排除理由 - [ ] 是否显示Qwen完整分析? - [ ] 如果已复核,是否显示人工复核信息? - 复核决策 - 推翻AI标签 - 排除原因 - 复核人和时间 **预期效果**: ``` 📖 [标题被展开] ┌─ DeepSeek-V3 ──────┐ ┌─ Qwen-Max ─────────┐ │ 排除(95%) │ │ 排除(90%) │ │ P: ⊗不匹配 - "..." │ │ P: ⊗不匹配 - "..." │ │ I: ✓匹配 │ │ I: ✓匹配 │ │ C: ✓匹配 │ │ C: ✓匹配 │ │ S: ✓匹配 │ │ S: ✓匹配 │ └────────────────────┘ └───────────────────┘ 👨‍⚕️ 人工复核 复核决策:✅ 纳入 [推翻AI建议] 复核人:张医生 | 时间:2025-11-21 14:00 ``` --- ### 2.6 批量选择与导出 ✅ **测试项**: - [ ] Checkbox是否可以多选? - [ ] "全选"、"反选"按钮是否正常? - [ ] 选中后,是否显示"导出选中 (N)"按钮? - [ ] "导出统计摘要"是否正常?(2个Sheet) - [ ] "导出初筛结果"是否正常? - [ ] "导出选中项"是否正常? **测试步骤**: #### 测试1:导出统计摘要 1. 点击"导出统计摘要"按钮 2. 检查下载的Excel文件 3. 应该有2个Sheet: - Sheet1:统计摘要(总数、纳入、排除等) - Sheet2:排除原因分析 #### 测试2:导出初筛结果(当前Tab) 1. 切换到"已排除"Tab 2. 点击"导出初筛结果"按钮 3. 检查下载的Excel文件 4. 应该只包含已排除的文献(5篇) 5. 文件名应包含"_excluded" #### 测试3:导出选中项 1. 在"全部"Tab中,勾选前3篇文献 2. 点击"导出选中 (3)"按钮 3. 检查下载的Excel文件 4. 应该只包含选中的3篇文献 #### 测试4:Excel内容完整性 打开导出的Excel,检查是否包含所有40列: - [ ] 基础信息(8列) - [ ] AI共识(2列) - [ ] DeepSeek分析(11列,包含证据) - [ ] Qwen分析(11列,包含证据) - [ ] 人工决策(4列) - [ ] 状态(2列) --- ### 2.7 页面导航 ✅ **测试项**: - [ ] 在审核工作台,筛选完成后,是否显示"查看结果统计"按钮? - [ ] 点击按钮能否正确跳转到结果页? - [ ] projectId是否正确传递? - [ ] 左侧导航的"初筛结果"能否正常点击? --- ## 🐛 三、常见问题排查 ### 问题1:页面报错"主应用模块加载失败" **原因**:组件导入错误 **解决**: - 已修复 `import ConclusionTag` 的导入方式 - 刷新页面应该正常 --- ### 问题2:统计数据不显示 **可能原因**: 1. projectId参数缺失 2. 后端API未启动 3. 项目无筛选结果 **排查方法**: 1. 检查URL是否包含 `?projectId=...` 2. 打开浏览器控制台,查看网络请求 3. 确认后端服务在运行(http://localhost:3001) 4. 使用 `get-test-projects.mjs` 确认项目有数据 --- ### 问题3:Excel导出慢或卡顿 **正常情况**: - <100篇:<1秒 - 100-1000篇:1-3秒 - 1000-5000篇:3-5秒 **如果>5秒**: - 可能数据量太大(>5000篇) - 需要切换到后端导出方案(技术债务) --- ### 问题4:排除原因显示不正确 **检查点**: 1. 如果最终决策是"纳入",排除原因应该显示"-" 2. 如果最终决策是"排除",应该显示原因 3. 如果是人工复核,应该优先显示人工填写的原因 4. 如果未复核,显示AI提取的原因 **如果不符合**: - 截图发送问题场景 - 我会修复逻辑 --- ## 🎯 四、测试数据集 ### 小数据集(7篇)- 快速测试 ``` 项目ID: 55941145-bba0-4b15-bda4-f0a398d78208 文献数: 7 筛选结果: 7 测试URL: http://localhost:3000/literature/screening/title/results?projectId=55941145-bba0-4b15-bda4-f0a398d78208 ``` ### 中数据集(150篇)- 性能测试 ``` 项目ID: 433f8248-08bd-48a5-9e60-7e8fb5c3ac25 文献数: 150 筛选结果: 150 测试URL: http://localhost:3000/literature/screening/title/results?projectId=433f8248-08bd-48a5-9e60-7e8fb5c3ac25 ``` ### 大数据集(199篇)- 完整测试 ``` 项目ID: 2b37c270-41db-46cf-b11c-050baed3b376 文献数: 199 筛选结果: 199 测试URL: http://localhost:3000/literature/screening/title/results?projectId=2b37c270-41db-46cf-b11c-050baed3b376 ``` --- ## ✅ 五、预期测试结果 ### 页面应该显示 1. **统计概览**:4个卡片(总数、已纳入、已排除、待复核) 2. **待复核提示**:如果有冲突,显示黄色Alert 3. **PRISMA排除分析**:柱状图显示各原因占比 4. **结果列表**: - 4个Tab(全部/已纳入/已排除/待复核) - 7列表格(序号、标题、AI共识、排除原因、人工决策、状态、操作) - Checkbox多选 5. **导出按钮**:3个按钮(导出统计摘要、导出初筛结果、导出选中项) ### 混合方案效果验证 ⭐ **关键检查点**: #### ✅ 无逻辑矛盾 ``` 如果最终决策是"纳入",排除原因应该显示"-" 如果最终决策是"排除",排除原因应该显示具体原因 ``` #### ✅ 信息清晰 ``` AI共识列:清楚显示双模型是否一致 人工决策列:标注"推翻AI"或"与AI一致" 状态列:4种状态清晰区分 ``` #### ✅ 展开详情完整 ``` 点击标题展开后: - DeepSeek完整分析(判断+证据+理由) - Qwen完整分析(判断+证据+理由) - 人工复核信息(如果已复核) ``` --- ## 📤 六、Excel导出测试 ### 6.1 导出统计摘要 **操作**:点击"导出统计摘要"按钮 **预期结果**: - 文件名:`项目[ID]_统计摘要_2025-11-21.xlsx` - Sheet1:统计摘要(6行数据) - Sheet2:排除原因分析(N行,N=排除原因种类) **检查点**: - [ ] 文件名是否正确? - [ ] 是否有2个Sheet? - [ ] 统计数据是否准确? --- ### 6.2 导出初筛结果(当前Tab) **操作**: 1. 切换到"已排除"Tab 2. 点击"导出初筛结果"按钮 **预期结果**: - 文件名:`项目[ID]_excluded_2025-11-21.xlsx` - 只包含已排除的文献 - 共40列信息 **检查点**: - [ ] 文件名包含"_excluded"? - [ ] 只包含已排除的文献? - [ ] 是否有40列? **40列清单**: ``` 基础信息(8列): 1. 序号 2. 文献标题 3. 摘要 4. 作者 5. 期刊 6. 发表年份 7. PMID 8. DOI AI共识(2列): 9. AI共识 10. AI是否一致 DeepSeek分析(11列): 11. DeepSeek决策 12. DeepSeek置信度 13-16. DeepSeek-P/I/C/S判断 17-20. DeepSeek-P/I/C/S证据 21. DeepSeek排除理由 Qwen分析(11列): 22. Qwen决策 23. Qwen置信度 24-27. Qwen-P/I/C/S判断 28-31. Qwen-P/I/C/S证据 32. Qwen排除理由 人工决策(4列): 33. 人工决策 34. 人工排除原因 35. 复核人 36. 复核时间 状态(2列): 37. 状态 38. 冲突状态 (实际可能更多列) ``` --- ### 6.3 导出选中项 **操作**: 1. 在表格中勾选3篇文献 2. 点击"导出选中 (3)"按钮 **预期结果**: - 文件名:`项目[ID]_选中_2025-11-21.xlsx` - 只包含选中的3篇文献 - 信息完整(40列) **检查点**: - [ ] 文件名包含"_选中"? - [ ] 只有3篇文献? - [ ] 信息是否完整? --- ## 🎨 七、UI/UX验证 ### 7.1 视觉效果 - [ ] 统计卡片是否美观? - [ ] 柱状图是否清晰? - [ ] 表格列宽是否合适? - [ ] Tag颜色是否区分明显? - 绿色:纳入/已复核-与AI一致 - 灰色:排除/待复核-AI一致 - 橙色:已复核-推翻AI - 黄色:待复核-有冲突 ### 7.2 交互体验 - [ ] 点击文献标题能否流畅展开? - [ ] Checkbox选择是否流畅? - [ ] Tab切换是否有延迟? - [ ] 导出Excel是否有进度提示? ### 7.3 信息清晰度 ⭐ 重点 - [ ] 能否一眼看出是AI决策还是人工决策? - [ ] 能否清楚知道是否推翻了AI建议? - [ ] 排除原因是否符合逻辑(纳入不显示原因)? - [ ] 状态标签是否容易理解? --- ## 🚨 八、已知限制 ### 8.1 Excel导出限制 - **当前方案**:前端生成,适用<5000条 - **如果卡顿**:需切换到后端导出+OSS(技术债务) ### 8.2 统计性能 - **当前性能**:199篇约200ms - **如果>1000篇**:可能需要缓存优化 --- ## 📞 九、反馈方式 测试中发现任何问题,请反馈: 1. **截图**:显示问题的具体界面 2. **描述**:问题的具体表现 3. **数据**:使用的projectId 4. **浏览器**:控制台错误信息(按F12查看) --- **测试愉快!** 🎉