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 测试数据准备
-- 执行测试数据准备脚本
\i docs/08-DATABASE/e2e-test-data.sql
2.3 测试执行顺序
- 第一阶段: 基础功能测试(登录、用户、角色、项目)
- 第二阶段: 业务模块测试(工单、空间节点、业主、设备)
- 第三阶段: 边界条件测试(输入验证、SQL注入)
- 第四阶段: 并发操作测试(多人同时操作)
- 第五阶段: 业务规则测试(状态流转、权限控制)
- 第六阶段: 权限边界测试(菜单、按钮、API权限)
3. 问题记录模板
3.1 问题记录格式
## 问题 #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 修复记录