# E2E测试执行规范 ## 1. 概述 ### 1.1 目标 执行Ether智慧物业管理平台全部E2E测试用例,记录问题、解决方案和复测结果。 ### 1.2 范围 - 管理端Web测试 - API接口测试 - 边界条件测试 - 并发操作测试 - 业务规则测试 - 权限边界测试 ### 1.3 环境 - 后端服务: Gateway(8080), Auth(8081), MDM(8082), OPS(8083), Finance(8085) - 前端服务: http://localhost:5175 - 数据库: PostgreSQL (ether_mdm, ether_auth, ether_ops, ether_finance) - 测试框架: Playwright --- ## 2. 测试执行流程 ### 2.1 前置条件检查 | 检查项 | 命令 | 预期结果 | |--------|------|----------| | PostgreSQL运行 | `pg_isready -h localhost` | accepting connections | | RabbitMQ运行 | `curl localhost:15672/api/overview` | 200 OK | | Nacos运行 | `curl localhost:8848/nacos/v1/console/health/readiness` | UP | | 后端服务运行 | `curl localhost:8080/actuator/health` | {"status":"UP"} | | 前端服务运行 | `curl localhost:5175` | 200 OK | ### 2.2 测试数据准备 ```sql -- 执行测试数据准备脚本 \i docs/08-DATABASE/e2e-test-data.sql ``` ### 2.3 测试执行顺序 1. **第一阶段**: 基础功能测试(登录、用户、角色、项目) 2. **第二阶段**: 业务模块测试(工单、空间节点、业主、设备) 3. **第三阶段**: 边界条件测试(输入验证、SQL注入) 4. **第四阶段**: 并发操作测试(多人同时操作) 5. **第五阶段**: 业务规则测试(状态流转、权限控制) 6. **第六阶段**: 权限边界测试(菜单、按钮、API权限) --- ## 3. 问题记录模板 ### 3.1 问题记录格式 ```markdown ## 问题 #N: [问题标题] ### 基本信息 - **发现时间**: YYYY-MM-DD HH:mm:ss - **测试用例**: TC-XXX-XXX - **测试文件**: tests/xxx.spec.ts - **严重程度**: P0(阻塞)/P1(严重)/P2(一般)/P3(轻微) ### 问题描述 [详细描述问题现象] ### 问题原因 [分析问题根本原因] ### 影响范围 - [ ] 单一模块 - [ ] 多个模块 - [ ] 全系统 ### 解决方案 [详细描述解决方案] ### 修复文件 - [文件路径1]: [修改内容] - [文件路径2]: [修改内容] ### 复测结果 - **复测时间**: YYYY-MM-DD HH:mm:ss - **复测状态**: ✅ 通过 / ❌ 失败 - **复测说明**: [说明] ### 同类问题检查 - [ ] 已检查其他模块是否存在类似问题 - [ ] 已更新相关测试用例 - [ ] 已添加预防措施 ``` --- ## 4. 测试用例清单 ### 4.1 基础功能测试 (49个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-001 | 登录页面正确显示 | e2e/login.spec.ts | P0 | | TC-002 | 超级管理员登录成功 | e2e/login.spec.ts | P0 | | TC-003 | 错误密码登录失败 | e2e/login.spec.ts | P0 | | TC-004~010 | API健康检查 | e2e/login.spec.ts | P0 | | TC-USER-001~023 | 用户管理测试 | tests/user.spec.ts | P1 | | TC-ROLE-001~014 | 角色管理测试 | tests/role.spec.ts | P1 | | TC-PROJ-001~023 | 项目管理测试 | tests/project.spec.ts | P1 | ### 4.2 业务模块测试 (40个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-ADMIN-WORK-001~010 | 工单管理测试 | e2e/work-order.spec.ts | P1 | | TC-MDM-SPACE-001~010 | 空间节点测试 | tests/mdm/space-node.spec.ts | P1 | | TC-MDM-OWNER-001~005 | 业主管理测试 | tests/mdm/space-node.spec.ts | P1 | | TC-MDM-CONTRACT-001~005 | 合同管理测试 | tests/mdm/space-node.spec.ts | P1 | | TC-MDM-VISITOR-001~005 | 访客管理测试 | tests/mdm/space-node.spec.ts | P1 | | TC-OPS-INSP-001~006 | 巡检管理测试 | tests/ops/inspection.spec.ts | P1 | | TC-OPS-ANN-001~004 | 公告管理测试 | tests/ops/inspection.spec.ts | P1 | | TC-OPS-COMP-001~005 | 投诉建议测试 | tests/ops/inspection.spec.ts | P1 | ### 4.3 边界条件测试 (15个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-BOUND-U001~U010 | 用户管理边界测试 | tests/boundary/input-boundary.spec.ts | P1 | | TC-BOUND-W001~W004 | 工单管理边界测试 | tests/boundary/input-boundary.spec.ts | P1 | | TC-BOUND-F001~F003 | 财务计费边界测试 | tests/boundary/input-boundary.spec.ts | P1 | | TC-BOUND-G001~G002 | 通用边界测试 | tests/boundary/input-boundary.spec.ts | P0 | ### 4.4 并发操作测试 (7个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-CONC-001 | 多人同时接单测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-002 | 并发创建工单测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-003 | 并发修改同一工单测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-004 | 并发登录同一账号测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-005 | 并发创建用户测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-006 | 并发创建空间节点测试 | tests/concurrency/concurrency.spec.ts | P1 | | TC-CONC-007 | 并发创建收费项目测试 | tests/concurrency/concurrency.spec.ts | P1 | ### 4.5 业务规则测试 (10个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-RULE-W001~W002 | 工单状态规则测试 | tests/business-rules/business-rules.spec.ts | P1 | | TC-RULE-U001~U003 | 用户规则测试 | tests/business-rules/business-rules.spec.ts | P1 | | TC-RULE-F001~F003 | 财务规则测试 | tests/business-rules/business-rules.spec.ts | P1 | | TC-RULE-S001 | 空间节点规则测试 | tests/business-rules/business-rules.spec.ts | P1 | | TC-RULE-E001 | 设备规则测试 | tests/business-rules/business-rules.spec.ts | P1 | ### 4.6 权限边界测试 (27个) | 编号 | 测试用例 | 文件 | 优先级 | |------|----------|------|--------| | TC-PERM-001~002 | 菜单权限测试 | tests/permission/permission-boundary.spec.ts | P1 | | TC-PERM-003~005 | 按钮权限测试 | tests/permission/permission-boundary.spec.ts | P1 | | TC-PERM-006~008 | API权限测试 | tests/permission/permission-boundary.spec.ts | P1 | | TC-PERM-009~011 | 数据权限测试 | tests/permission/permission-boundary.spec.ts | P1 | | TC-PERM-012~013 | 角色权限测试 | tests/permission/permission-boundary.spec.ts | P1 | | TC-PERM-014~015 | Token权限测试 | tests/permission/permission-boundary.spec.ts | P0 | --- ## 5. 验收标准 ### 5.1 测试通过标准 | 指标 | 目标值 | 说明 | |------|--------|------| | 测试通过率 | ≥ 95% | 通过用例数/总用例数 | | P0用例通过率 | 100% | 阻塞问题必须全部解决 | | P1用例通过率 | ≥ 95% | 严重问题允许少量延期 | | 无跳过用例 | 100% | 所有用例必须执行 | ### 5.2 问题分级标准 | 级别 | 定义 | 处理时限 | |------|------|----------| | P0 | 阻塞测试执行,系统无法运行 | 立即修复 | | P1 | 核心功能异常,影响业务流程 | 24小时内 | | P2 | 一般功能异常,有替代方案 | 3天内 | | P3 | 轻微问题,不影响使用 | 下版本 | --- ## 6. 风险与应对 ### 6.1 已知风险 | 风险 | 影响 | 应对措施 | |------|------|----------| | 服务启动超时 | 测试无法执行 | 增加等待时间,检查日志 | | 测试数据冲突 | 测试结果不准确 | 使用唯一标识,清理数据 | | 并发测试不稳定 | 结果不可预测 | 多次运行取稳定结果 | ### 6.2 回归测试触发条件 - 修复任何P0/P1问题后 - 修改API接口后 - 修改权限配置后 - 修改数据库结构后 --- ## 7. 输出物 ### 7.1 测试报告 - 测试执行报告 (test-report.md) - 问题清单 (issues.md) - 测试覆盖率报告 (coverage-report.md) ### 7.2 修复记录 - 代码修改记录 - 配置修改记录 - 数据修改记录