# 测试框架优化需求规范 ## 📊 项目元数据 **项目名称**: Novalon管理系统测试框架优化 **规范版本**: v1.0 **创建日期**: 2026-03-23 **需求模糊度**: 0.15 (≤ 0.2 ✅) **规范状态**: 已冻结,不可变更 --- ## 🎯 核心目标 **主要目标**: 基于UAT评估报告优先级,全面优化测试框架,实现从"部分就绪"到"完全就绪"的转变 **成功标准**: - UAT准备度从60/100提升到90+/100 - 测试执行成功率从20%提升到95%+ - 测试覆盖率达到80%+ - CI/CD集成测试自动化率达到100% --- ## 📋 需求优先级矩阵 ### P0 - 关键阻塞问题 (必须立即解决) #### 需求ID: REQ-P0-001 **标题**: 修复前端Vite服务挂起问题 **来源**: UAT评估报告 - 关键阻塞问题 **业务价值**: 🔴 严重 - 阻塞所有前端E2E测试 **技术复杂度**: 中等 **预计工作量**: 2-4小时 **验收标准**: - [ ] 前端Vite服务能够正常响应HTTP请求 - [ ] curl访问localhost:3001成功返回200状态码 - [ ] Vite进程状态为正常运行状态(S或R) - [ ] 简单的页面测试能够通过 - [ ] 服务重启后保持稳定 **技术方案**: 1. 停止所有挂起的Vite进程 2. 使用nohup或screen重新启动服务 3. 配置进程监控和自动重启机制 4. 建立服务健康检查脚本 **依赖关系**: 无前置依赖 --- ### P1 - 高优先级优化 (1周内完成) #### 需求ID: REQ-P1-001 **标题**: 扩展测试覆盖 - 审计功能 **来源**: 用户需求 **业务价值**: 🟡 高 - 核心业务功能 **技术复杂度**: 中等 **预计工作量**: 1-2天 **验收标准**: - [ ] 审计日志查看功能E2E测试覆盖 - [ ] 操作记录查询功能测试 - [ ] 审计日志导出功能测试 - [ ] 审计权限验证测试 - [ ] 测试通过率≥95% **测试场景**: 1. 管理员查看所有审计日志 2. 普通用户查看自己的操作记录 3. 按时间范围筛选审计日志 4. 按操作类型筛选审计日志 5. 导出审计日志为Excel/CSV 6. 验证审计权限控制 **依赖关系**: 依赖REQ-P0-001 --- #### 需求ID: REQ-P1-002 **标题**: 扩展测试覆盖 - 文件管理 **来源**: 用户需求 **业务价值**: 🟡 高 - 核心业务功能 **技术复杂度**: 中等 **预计工作量**: 1-2天 **验收标准**: - [ ] 文件上传功能E2E测试覆盖 - [ ] 文件下载功能测试 - [ ] 文件删除功能测试 - [ ] 文件权限验证测试 - [ ] 大文件上传测试(>10MB) - [ ] 测试通过率≥95% **测试场景**: 1. 上传各种格式文件(图片、文档、压缩包) 2. 下载已上传文件 3. 删除自己的文件 4. 管理员删除任意文件 5. 验证文件权限控制 6. 大文件上传稳定性测试 **依赖关系**: 依赖REQ-P0-001 --- #### 需求ID: REQ-P1-003 **标题**: 扩展测试覆盖 - 系统配置 **来源**: 用户需求 **业务价值**: 🟡 高 - 系统管理核心功能 **技术复杂度**: 中等 **预计工作量**: 1-2天 **验收标准**: - [ ] 系统参数配置E2E测试覆盖 - [ ] 字典管理功能测试 - [ ] 配置修改权限验证测试 - [ ] 配置生效验证测试 - [ ] 测试通过率≥95% **测试场景**: 1. 管理员修改系统参数 2. 查看系统配置历史 3. 字典数据增删改查 4. 验证配置权限控制 5. 验证配置修改后生效 **依赖关系**: 依赖REQ-P0-001 --- #### 需求ID: REQ-P1-004 **标题**: 扩展测试覆盖 - 通知功能 **来源**: 用户需求 **业务价值**: 🟡 高 - 用户沟通核心功能 **技术复杂度**: 中等 **预计工作量**: 1-2天 **验收标准**: - [ ] 通知公告发布E2E测试覆盖 - [ ] 通知查看功能测试 - [ ] 通知状态管理测试 - [ ] 通知权限验证测试 - [ ] 测试通过率≥95% **测试场景**: 1. 管理员发布系统公告 2. 用户查看未读通知 3. 标记通知为已读 4. 删除过期通知 5. 验证通知权限控制 **依赖关系**: 依赖REQ-P0-001 --- #### 需求ID: REQ-P1-005 **标题**: 优化测试稳定性 **来源**: UAT评估报告建议 **业务价值**: 🟡 高 - 提升测试可靠性 **技术复杂度**: 中等 **预计工作量**: 2-3天 **验收标准**: - [ ] 测试执行成功率从当前水平提升到95%+ - [ ] 测试超时问题解决 - [ ] 测试重试机制优化 - [ ] 测试数据隔离完善 - [ ] 测试环境稳定性提升 **优化方向**: 1. 优化Playwright等待策略 2. 改进测试数据管理 3. 增强错误处理和恢复 4. 优化测试并行执行 5. 建立测试环境健康检查 **依赖关系**: 依赖REQ-P0-001 --- ### P2 - 中优先级集成 (2周内完成) #### 需求ID: REQ-P2-001 **标题**: 集成到CI/CD - Woodpecker CI **来源**: 用户需求 **业务价值**: 🟢 中 - 自动化质量保障 **技术复杂度**: 中等 **预计工作量**: 3-5天 **验收标准**: - [ ] Woodpecker CI配置完善E2E测试 - [ ] 每次PR自动运行E2E测试 - [ ] 每日定时运行完整测试套件 - [ ] 测试失败阻止合并 - [ ] 测试报告自动生成和通知 - [ ] 测试执行时间≤15分钟 **集成策略**: 1. 扩展现有Woodpecker配置 2. 配置测试环境自动启动 3. 设置测试质量门禁 4. 集成测试报告和通知 5. 优化测试执行效率 **依赖关系**: 依赖REQ-P1-001至REQ-P1-005 --- #### 需求ID: REQ-P2-002 **标题**: 性能测试 - API性能 **来源**: 用户需求 **业务价值**: 🟢 中 - 系统性能保障 **技术复杂度**: 中等 **预计工作量**: 2-3天 **验收标准**: - [ ] 核心API响应时间P95<500ms - [ ] API吞吐量≥100 req/s - [ ] 并发用户数≥50 - [ ] 错误率<1% - [ ] 性能测试集成到CI/CD **测试指标**: 1. 登录API性能 2. 用户查询API性能 3. 数据CRUD API性能 4. 权限验证API性能 5. 文件上传下载API性能 **依赖关系**: 依赖REQ-P2-001 --- #### 需求ID: REQ-P2-003 **标题**: 性能测试 - 前端性能 **来源**: 用户需求 **业务价值**: 🟢 中 - 用户体验保障 **技术复杂度**: 中等 **预计工作量**: 2-3天 **验收标准**: - [ ] 首屏加载时间<2s - [ ] 页面交互响应时间<100ms - [ ] 路由切换时间<500ms - [ ] Lighthouse性能评分≥90 - [ ] 前端性能监控建立 **测试指标**: 1. 首屏加载性能 2. 页面渲染性能 3. 资源加载性能 4. 用户交互响应 5. 内存使用情况 **依赖关系**: 依赖REQ-P0-001, REQ-P2-001 --- #### 需求ID: REQ-P2-004 **标题**: 性能测试 - 数据库性能 **来源**: 用户需求 **业务价值**: 🟢 中 - 数据处理性能保障 **技术复杂度**: 中等 **预计工作量**: 2-3天 **验收标准**: - [ ] 查询响应时间P95<200ms - [ ] 写入操作响应时间<100ms - [ ] 数据库连接池利用率<80% - [ ] 慢查询数量<5/小时 - [ ] 数据库性能监控建立 **测试指标**: 1. 复杂查询性能 2. 批量操作性能 3. 事务处理性能 4. 索引效果验证 5. 连接池性能 **依赖关系**: 依赖REQ-P2-002 --- #### 需求ID: REQ-P2-005 **标题**: 性能测试 - 并发压力 **来源**: 用户需求 **业务价值**: 🟢 中 - 系统稳定性保障 **技术复杂度**: 高 **预计工作量**: 3-4天 **验收标准**: - [ ] 支持100并发用户 - [ ] 系统错误率<1% - [ ] 响应时间P95<1s - [ ] 系统资源使用率<80% - [ ] 压力测试自动化 **测试场景**: 1. 用户登录并发测试 2. 数据查询并发测试 3. 数据写入并发测试 4. 文件上传并发测试 5. 长时间稳定性测试 **依赖关系**: 依赖REQ-P2-002, REQ-P2-004 --- ### P3 - 低优先级增强 (1月内完成) #### 需求ID: REQ-P3-001 **标题**: 测试报告和可视化 **来源**: 质量保障最佳实践 **业务价值**: 🔵 低 - 提升测试可见性 **技术复杂度**: 低 **预计工作量**: 1-2天 **验收标准**: - [ ] 测试报告门户建立 - [ ] 测试趋势分析图表 - [ ] 测试覆盖率可视化 - [ ] 缺陷统计和分析 - [ ] 实时测试状态监控 **依赖关系**: 依赖REQ-P2-001 --- #### 需求ID: REQ-P3-002 **标题**: 测试数据管理优化 **来源**: 测试框架维护需求 **业务价值**: 🔵 低 - 提升测试维护性 **技术复杂度**: 低 **预计工作量**: 1-2天 **验收标准**: - [ ] 测试数据生成器完善 - [ ] 测试数据清理机制 - [ ] 测试数据版本管理 - [ ] 测试环境数据隔离 - [ ] 测试数据文档完善 **依赖关系**: 依赖REQ-P1-005 --- ## 🏗️ 技术架构 ### 测试框架架构 ``` ┌─────────────────────────────────────────────────────────┐ │ CI/CD层 (Woodpecker) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ 单元测试 │ │ 集成测试 │ │ E2E测试 │ │性能测试 │ │ │ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 测试执行层 (Playwright) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ API测试 │ │ UI测试 │ │ 性能测试 │ │安全测试 │ │ │ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ Page Object Model层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ LoginPage│ │UserPage │ │AuditPage │ │FilePage │ │ │ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 测试数据层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ Fixtures │ │TestData │ │APIClient │ │Utils │ │ │ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 被测系统 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │ │ │ 前端应用 │ │后端API │ │数据库 │ │文件存储 │ │ │ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │ └─────────────────────────────────────────────────────────┘ ``` ### 技术栈 | 层级 | 技术 | 版本 | 用途 | |------|------|------|------| | CI/CD | Woodpecker CI | Latest | 持续集成流水线 | | 测试框架 | Playwright | 1.40+ | E2E测试框架 | | 语言 | TypeScript | 5.0+ | 测试代码编写 | | 性能测试 | k6 | Latest | 性能和压力测试 | | 报告 | HTML/JSON | - | 测试报告生成 | | 容器化 | Docker | Latest | 测试环境隔离 | --- ## 📊 质量指标 ### 测试覆盖率目标 | 指标 | 当前值 | 目标值 | 测量方法 | |------|--------|--------|----------| | E2E测试覆盖率 | 20% | 80%+ | 业务场景覆盖数/总场景数 | | API测试覆盖率 | 60% | 95%+ | API端点覆盖数/总端点数 | | 代码覆盖率 | 40% | 80%+ | Jacoco/Vitest覆盖率报告 | | 测试通过率 | 20% | 95%+ | 测试执行结果统计 | | 测试执行时间 | N/A | ≤15min | CI/CD执行时间统计 | ### 性能指标目标 | 指标 | 目标值 | 测量方法 | |------|--------|----------| | API响应时间P95 | <500ms | k6性能测试 | | 前端首屏加载 | <2s | Lighthouse/Playwright | | 数据库查询P95 | <200ms | 数据库性能监控 | | 并发用户数 | ≥100 | k6压力测试 | | 系统错误率 | <1% | 测试执行统计 | --- ## 🗓️ 实施计划 ### 第1周:关键问题修复 **目标**: 解决P0阻塞问题,建立稳定测试基础 **任务**: - Day 1-2: 修复前端Vite服务挂起问题 (REQ-P0-001) - Day 3-4: 验证测试环境稳定性 - Day 5: 执行现有测试套件,建立基线 **交付物**: - 前端服务稳定运行 - 测试环境健康检查脚本 - 测试基线报告 --- ### 第2周:测试覆盖扩展 **目标**: 完成P1测试覆盖扩展任务 **任务**: - Day 1-2: 审计功能测试 (REQ-P1-001) - Day 3-4: 文件管理测试 (REQ-P1-002) - Day 5: 系统配置测试 (REQ-P1-003) **交付物**: - 审计功能E2E测试套件 - 文件管理E2E测试套件 - 系统配置E2E测试套件 --- ### 第3周:测试覆盖扩展(续) **目标**: 完成剩余P1任务和测试稳定性优化 **任务**: - Day 1-2: 通知功能测试 (REQ-P1-004) - Day 3-5: 测试稳定性优化 (REQ-P1-005) **交付物**: - 通知功能E2E测试套件 - 测试稳定性优化报告 - 测试执行成功率≥95% --- ### 第4周:CI/CD集成 **目标**: 完成P2 CI/CD集成任务 **任务**: - Day 1-3: Woodpecker CI集成 (REQ-P2-001) - Day 4-5: CI/CD流水线验证 **交付物**: - 完整的CI/CD测试流水线 - 自动化测试执行 - 测试质量门禁 --- ### 第5-6周:性能测试 **目标**: 完成P2性能测试任务 **任务**: - Week 5: API性能和数据库性能测试 (REQ-P2-002, REQ-P2-004) - Week 6: 前端性能和并发压力测试 (REQ-P2-003, REQ-P2-005) **交付物**: - API性能测试报告 - 数据库性能测试报告 - 前端性能测试报告 - 并发压力测试报告 --- ### 第7-8周:增强和优化 **目标**: 完成P3增强任务和整体优化 **任务**: - Week 7: 测试报告和可视化 (REQ-P3-001) - Week 8: 测试数据管理优化 (REQ-P3-002) **交付物**: - 测试报告门户 - 测试趋势分析 - 测试数据管理文档 --- ## 🎯 验收标准 ### 总体验收标准 **必须满足**: - [ ] UAT准备度≥90/100 - [ ] 测试执行成功率≥95% - [ ] E2E测试覆盖率≥80% - [ ] CI/CD集成测试自动化率100% - [ ] 所有P0和P1需求完成 **期望满足**: - [ ] 测试执行时间≤15分钟 - [ ] 性能指标全部达标 - [ ] 测试报告门户可用 - [ ] 测试文档完善 --- ## 🚨 风险和缓解措施 ### 高风险项 | 风险 | 影响 | 概率 | 缓解措施 | |------|------|------|----------| | 前端服务稳定性问题 | 高 | 中 | 使用Docker容器化,建立监控 | | 测试环境配置复杂 | 中 | 高 | 建立标准化环境,使用Docker | | 测试数据管理困难 | 中 | 中 | 完善测试数据生成器 | | CI/CD集成复杂度 | 中 | 低 | 分阶段集成,充分测试 | ### 应急预案 **前端服务再次挂起**: 1. 使用生产构建进行测试 2. 使用Docker容器运行前端 3. 建立备用测试环境 **测试执行超时**: 1. 优化测试等待策略 2. 增加测试超时时间 3. 分割大型测试套件 --- ## 📝 附录 ### 术语表 | 术语 | 定义 | |------|------| | E2E测试 | 端到端测试,模拟真实用户操作流程 | | UAT | 用户验收测试,验证系统是否满足业务需求 | | POM | Page Object Model,页面对象模式,测试设计模式 | | CI/CD | 持续集成/持续部署,自动化软件开发实践 | | Woodpecker CI | 开源CI/CD平台 | ### 参考资料 - [Playwright官方文档](https://playwright.dev/) - [Woodpecker CI文档](https://woodpecker-ci.org/) - [k6性能测试文档](https://k6.io/) - [UAT评估报告](./UAT_READINESS_ASSESSMENT.md) - [E2E测试指南](./E2E_TESTING_GUIDE.md) --- **规范变更历史**: | 版本 | 日期 | 变更内容 | 作者 | |------|------|----------|------| | v1.0 | 2026-03-23 | 初始版本创建 | 张翔 | --- **规范状态**: 🟢 已冻结,不可变更 **下一步行动**: 进入执行阶段(Run Phase)