ether-docs/06-TESTING/cases/COMPREHENSIVE_TEST_CASES.md

211 lines
7.5 KiB
Markdown

# Ether 智慧物业管理系统 - 综合测试用例
**整理日期**: 2026-03-02
**版本**: v3.0 (完整整合版)
**测试框架**: Puppeteer / Playwright / Vitest
**测试环境**: localhost
---
## 一、测试用例统计总览
### 1.1 按测试类型分类
| 测试类型 | 用例数量 | 测试文件/目录 |
|----------|----------|---------------|
| **E2E测试** | 64+ | tests/*.ts |
| **Playwright单元测试** | 149+ | ether-ui-admin/tests/*.spec.ts |
| **后端单元测试** | 200+ | 各模块src/test/java |
| **API集成测试** | 80+ | docs/07-TESTING/cases |
| **文档用例** | 642+ | docs/07-TESTING/cases/*.md |
| **合计** | **1100+** | - |
### 1.2 按业务模块分类
| 序号 | 业务模块 | E2E用例 | 单元测试 | 文档用例 | 合计 |
|------|----------|---------|---------|----------|------|
| 1 | 登录认证 | 5 | 11 | 16 | 32 |
| 2 | 用户管理 | 3 | 13 | 23 | 39 |
| 3 | 角色权限 | 4 | 13 | 27 | 44 |
| 4 | 项目管理 | 5 | 14 | 25 | 44 |
| 5 | 工单管理 | 10 | 10 | 28 | 48 |
| 6 | 访客管理 | 12 | - | 22 | 34 |
| 7 | 巡检管理 | 11 | 10 | 18 | 39 |
| 8 | 通知公告 | 13 | - | - | 13 |
| 9 | 费用管理 | 8 | 13 | - | 21 |
| 10 | 设备管理 | 8 | 6 | 27 | 41 |
| 11 | 部门管理 | 5 | - | - | 5 |
| 12 | 空间管理 | 7 | - | 10 | 17 |
| 13 | 合同管理 | 2 | - | - | 2 |
| 14 | 投诉建议 | 2 | - | - | 2 |
| 15 | 数据一致性 | - | 12 | - | 12 |
| 16 | 异常恢复 | - | 12 | - | 12 |
| 17 | 并发测试 | - | 5 | - | 5 |
| 18 | 边界测试 | - | 5 | - | 5 |
| 19 | 业务规则 | - | 6 | - | 6 |
| 20 | 报表统计 | 3 | 8 | 24 | 35 |
| **合计** | **20个模块** | **98** | **149** | **230** | **477** |
---
## 二、E2E测试用例详情
### 2.1 tests/ 目录 (Puppeteer)
| 序号 | 业务模块 | 用例数 | 测试文件 | 最后更新 |
|------|----------|--------|----------|----------|
| 1 | 工单管理 | 10 | work-order-e2e-test.ts | 2026-02-22 |
| 2 | 访客管理 | 12 | visitor-e2e-test.ts | 2026-02-22 |
| 3 | 巡检管理 | 11 | inspection-e2e-test.ts | 2026-02-22 |
| 4 | 通知公告 | 13 | notification-e2e-test.ts | 2026-02-22 |
| 5 | 费用管理 | 8+ | fee-e2e-test.ts | 2026-02-22 |
| 6 | 设备管理 | 8+ | equipment-e2e-test.ts | 2026-02-22 |
| 7 | 权限管理 | 10+ | permission-upgrade-e2e-test.ts | 2026-02-27 |
| 8 | 部门管理 | 5+ | department-e2e-test.ts | 2026-02-17 |
| 9 | 空间管理 | 7+ | space-management-optimization-test.ts | 2026-02-18 |
| 10 | 项目管理 | 5+ | project-edit-test.ts | 2026-02-17 |
| **小计** | **10个模块** | **89+** | - | - |
### 2.2 ether-ui-admin/tests/ 目录 (Playwright/Vitest)
| 序号 | 业务模块 | 用例数 | 测试文件 |
|------|----------|--------|----------|
| 1 | 用户管理 | 13 | user.spec.ts |
| 2 | 角色管理 | 13 | role.spec.ts |
| 3 | 认证授权 | 11 | auth.spec.ts |
| 4 | 项目管理 | 14 | project.spec.ts |
| 5 | 工单运营 | 10 | ops/inspection.spec.ts |
| 6 | 设备管理 | 6 | asset/equipment.spec.ts |
| 7 | 费用管理 | 13 | finance/fee.spec.ts |
| 8 | 报表统计 | 8 | report/report-statistics.spec.ts |
| 9 | 数据一致性 | 12 | consistency/data-consistency.spec.ts |
| 10 | 异常恢复 | 12 | recovery/exception-recovery.spec.ts |
| 11 | 业务规则 | 6 | business-rules/business-rules.spec.ts |
| 12 | 并发测试 | 5 | concurrency/concurrency.spec.ts |
| 13 | 边界测试 | 5 | boundary/input-boundary.spec.ts |
| 14 | 权限边界 | 4 | permission/permission-boundary.spec.ts |
| 15 | 集成测试 | 16 | integration.spec.ts |
| **小计** | **15个模块** | **149** | - |
---
## 三、工单管理完整测试用例 (示例)
### 3.1 E2E测试用例
| 用例ID | 用例名称 | 测试步骤 | 期望结果 | 优先级 |
|--------|----------|----------|----------|--------|
| WO-E2E-001 | 登录系统 | 1.打开登录页 2.输入账号密码 3.点击登录 | 登录成功,进入首页 | P0 |
| WO-E2E-002 | 工单列表加载 | 1.进入工单管理 2.等待列表加载 | 显示工单列表 | P0 |
| WO-E2E-003 | 创建工单 | 1.点击新建 2.填写工单信息 3.提交 | 工单创建成功 | P0 |
| WO-E2E-004 | 工单派单 | 1.选择工单 2.选择处理人 3.点击派单 | 派单成功 | P0 |
| WO-E2E-005 | 接单操作 | 1.点击接单按钮 2.确认接单 | 状态变更为已接单 | P0 |
| WO-E2E-006 | 开始处理 | 1.点击开始处理 2.填写处理备注 | 状态变更为处理中 | P0 |
| WO-E2E-007 | 完成工单 | 1.填写处理结果 2.上传照片 3.点击完成 | 状态变更为已完成 | P0 |
| WO-E2E-008 | 满意度评价 | 1.点击评价按钮 2.选择评分 3.填写评价 | 评价成功 | P0 |
| WO-E2E-009 | 工单筛选 | 1.选择状态筛选 2.选择时间范围 | 筛选结果正确 | P1 |
| WO-E2E-010 | 工单导出 | 1.选择导出条件 2.点击导出 | 导出成功 | P1 |
### 3.2 单元测试用例
| 用例ID | 用例名称 | 测试方法 | 期望结果 |
|--------|----------|----------|----------|
| WO-UNIT-001 | 创建工单测试 | createWorkOrder() | 返回创建后的工单 |
| WO-UNIT-002 | 更新工单测试 | updateWorkOrder() | 返回更新后的工单 |
| WO-UNIT-003 | 删除工单测试 | deleteWorkOrder() | 删除成功 |
| WO-UNIT-004 | 查询工单测试 | findById() | 返回工单详情 |
| WO-UNIT-005 | 分页查询测试 | findByPage() | 返回分页数据 |
| WO-UNIT-006 | 派单测试 | assignOrder() | 工单状态正确变更 |
| WO-UNIT-007 | 接单测试 | acceptOrder() | 工单状态正确变更 |
| WO-UNIT-008 | 完成测试 | completeOrder() | 工单状态正确变更 |
| WO-UNIT-009 | 统计测试 | getStatistics() | 返回统计数据 |
| WO-UNIT-010 | 批量操作测试 | batchAssign() | 批量操作成功 |
---
## 四、测试账号
| 角色 | 用户名 | 密码 | 用途 |
|------|--------|------|------|
| 超级管理员 | admin | admin123 | 系统管理 |
| 物业经理 | manager | Manager@123 | 项目管理 |
| 维修人员 | worker_user | Worker@123 | 工单处理 |
| 巡检人员 | inspector | Inspector@123 | 巡检任务 |
| 保安人员 | guard | Guard@123 | 访客管理 |
| 业主 | owner_user | Owner@123 | 业主端 |
| 租户 | tenant_user | Tenant@123 | 业主端 |
---
## 五、执行方式
### 5.1 运行所有E2E测试
```bash
# Puppeteer测试
node tests/run-all-e2e-tests.ts
# Playwright测试
cd ether-ui-admin
npm test
```
### 5.2 运行特定模块测试
```bash
# 工单测试
node tests/work-order-e2e-test.ts
# 访客测试
node tests/visitor-e2e-test.ts
# 巡检测试
node tests/inspection-e2e-test.ts
```
### 5.3 运行后端单元测试
```bash
# 所有模块
mvn test
# 特定模块
cd ether-ops && mvn test
cd ether-auth && mvn test
```
---
## 六、测试覆盖率
### 6.1 需求覆盖
| 模块 | 需求数 | 已覆盖用例 | 覆盖率 |
|------|--------|------------|--------|
| M01 空间与资产管理 | 8 | 32 | 100% |
| M02 设施设备管理 | 9 | 36 | 100% |
| M03 运营调度 | 8 | 48 | 100% |
| M04 巡检管理 | 6 | 30 | 100% |
| M05 访客管理 | 6 | 30 | 100% |
| M06 财务计费 | 10 | 45 | 100% |
| M07 权限与账户 | 8 | 40 | 100% |
| M08 业主端应用 | 10 | 35 | 100% |
| M09 报表统计 | 8 | 24 | 100% |
| M10 第三方集成 | 8 | 16 | 100% |
| **合计** | **81** | **336** | **99%+** |
---
## 七、历史变更记录
| 日期 | 版本 | 变更内容 |
|------|------|----------|
| 2026-03-02 | v3.0 | 完整整合所有测试用例,添加单元测试统计 |
| 2026-02-22 | v2.0 | 整合E2E测试用例 |
| 2026-02-18 | v1.5 | 添加多端集成测试用例 |
| 2026-02-14 | v1.0 | 初始版本 |
---
**文档维护**: 请在修改测试用例后更新本文档