223 lines
7.6 KiB
Markdown
223 lines
7.6 KiB
Markdown
# 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 修复记录
|
||
|
||
- 代码修改记录
|
||
- 配置修改记录
|
||
- 数据修改记录
|