389 lines
11 KiB
Markdown
389 lines
11 KiB
Markdown
# 盘古用户平台 - 软件测试计划
|
||
|
||
---
|
||
|
||
| 文档信息 | 内容 |
|
||
|---------|------|
|
||
| **文档版本** | V1.0 |
|
||
| **项目名称** | 盘古用户平台(Pangu User Platform) |
|
||
| **编写人** | 软件测试专家 |
|
||
| **创建日期** | 2026-02-01 |
|
||
| **测试类型** | 功能测试 + 性能测试 |
|
||
|
||
---
|
||
|
||
## 一、测试概述
|
||
|
||
### 1.1 测试目标
|
||
|
||
本测试计划旨在全面验证盘古用户平台的功能完整性、系统性能和稳定性,确保系统达到生产环境部署标准。
|
||
|
||
**核心目标**:
|
||
1. 验证所有业务功能正确性(功能测试)
|
||
2. 评估系统性能指标(性能测试)
|
||
3. 发现并记录系统缺陷
|
||
4. 提供数据支持部署决策
|
||
|
||
### 1.2 测试范围
|
||
|
||
#### 包含范围
|
||
|
||
**功能测试**:
|
||
- ✅ 学校管理模块(完整CRUD)
|
||
- ✅ 会员管理模块(完整CRUD)
|
||
- ✅ 学生管理模块(完整CRUD)
|
||
- ✅ 应用管理模块(完整CRUD)
|
||
- ✅ 基础数据模块(区域、年级、班级、学科)
|
||
- ✅ 业务流程测试(学生绑定、批量导入等)
|
||
|
||
**性能测试**:
|
||
- ✅ API响应时间测试
|
||
- ✅ 并发用户测试
|
||
- ✅ 数据库查询性能
|
||
- ✅ 系统资源占用
|
||
|
||
#### 不包含范围
|
||
|
||
- ❌ 安全渗透测试(后续专项测试)
|
||
- ❌ 兼容性测试(限定环境)
|
||
- ❌ 移动端H5测试(暂未开发)
|
||
- ❌ 小程序测试(暂未开发)
|
||
|
||
### 1.3 测试环境
|
||
|
||
| 环境组件 | 配置 | 说明 |
|
||
|---------|------|------|
|
||
| **操作系统** | macOS 25.2.0 / CentOS 7+ | 开发/生产环境 |
|
||
| **Java** | JDK 17 | LTS版本 |
|
||
| **Spring Boot** | 2.7.18 | 应用框架 |
|
||
| **数据库** | MySQL 8.0 | 8.148.25.55:3306 |
|
||
| **后端服务** | localhost:8080 | API服务 |
|
||
| **前端服务** | localhost:3000 | Vue应用 |
|
||
| **测试工具** | curl, ab, JMeter | 性能测试 |
|
||
|
||
### 1.4 测试数据
|
||
|
||
**真实数据库数据**:
|
||
- 数据库:`pguser-db`
|
||
- 12张业务表
|
||
- 真实测试数据(非Mock)
|
||
|
||
---
|
||
|
||
## 二、测试策略
|
||
|
||
### 2.1 功能测试策略
|
||
|
||
#### 测试方法
|
||
|
||
1. **黑盒测试**
|
||
- 基于需求文档验证功能
|
||
- 边界值测试
|
||
- 等价类划分
|
||
|
||
2. **接口测试**
|
||
- REST API接口测试
|
||
- 参数验证测试
|
||
- 错误处理测试
|
||
|
||
3. **业务流程测试**
|
||
- 端到端业务流程
|
||
- 数据一致性验证
|
||
|
||
#### 测试优先级
|
||
|
||
| 优先级 | 测试内容 | 覆盖率目标 |
|
||
|--------|---------|:----------:|
|
||
| **P0** | 核心CRUD操作 | 100% |
|
||
| **P1** | 业务流程 | 100% |
|
||
| **P2** | 边界场景 | 80% |
|
||
| **P3** | 异常场景 | 60% |
|
||
|
||
### 2.2 性能测试策略
|
||
|
||
#### 测试方法
|
||
|
||
1. **响应时间测试**
|
||
- 单接口响应时间
|
||
- 平均响应时间
|
||
- 95分位响应时间
|
||
|
||
2. **并发测试**
|
||
- 模拟多用户并发访问
|
||
- 测试系统吞吐量
|
||
- 观察资源占用
|
||
|
||
3. **压力测试**
|
||
- 逐步增加负载
|
||
- 找到系统瓶颈
|
||
- 评估系统极限
|
||
|
||
#### 性能指标
|
||
|
||
| 指标 | 目标值 | 优秀值 |
|
||
|------|--------|--------|
|
||
| API响应时间 | ≤500ms | ≤200ms |
|
||
| 列表查询 | ≤300ms | ≤150ms |
|
||
| 详情查询 | ≤200ms | ≤100ms |
|
||
| 新增/编辑 | ≤500ms | ≤200ms |
|
||
| 并发用户 | ≥50 | ≥100 |
|
||
| TPS | ≥100 | ≥200 |
|
||
|
||
---
|
||
|
||
## 三、功能测试计划
|
||
|
||
### 3.1 学校管理模块测试
|
||
|
||
| 测试项 | 测试场景 | 预期结果 | 优先级 |
|
||
|--------|---------|---------|:------:|
|
||
| 学校列表查询 | 分页查询、条件筛选 | 返回正确数据 | P0 |
|
||
| 学校树形结构 | 按区域展示学校树 | 树形结构正确 | P0 |
|
||
| 学校详情查询 | 根据ID查询 | 返回完整信息 | P0 |
|
||
| 新增学校 | 提交完整信息 | 创建成功,生成编码 | P0 |
|
||
| 编辑学校 | 修改学校信息 | 更新成功 | P0 |
|
||
| 删除学校 | 软删除学校 | 标记删除 | P0 |
|
||
| 挂载年级 | 为学校挂载年级 | 关联成功 | P1 |
|
||
| 挂载班级 | 为年级挂载班级 | 关联成功 | P1 |
|
||
| 学校编码唯一性 | 重复编码 | 拒绝创建 | P2 |
|
||
| 数据权限 | 跨区域访问 | 权限控制 | P1 |
|
||
|
||
### 3.2 会员管理模块测试
|
||
|
||
| 测试项 | 测试场景 | 预期结果 | 优先级 |
|
||
|--------|---------|---------|:------:|
|
||
| 会员列表查询 | 分页查询、关键词搜索 | 返回正确数据 | P0 |
|
||
| 会员详情查询 | 查看会员完整信息 | 包含绑定学生 | P0 |
|
||
| 新增会员 | 创建新会员 | 生成会员编号 | P0 |
|
||
| 编辑会员 | 修改会员信息 | 更新成功 | P0 |
|
||
| 删除会员 | 软删除会员 | 检查学生绑定 | P0 |
|
||
| 重置密码 | 重置会员密码 | 生成新密码 | P1 |
|
||
| 切换状态 | 启用/停用会员 | 状态更新 | P1 |
|
||
| 绑定学生 | 会员绑定学生 | 关联成功 | P1 |
|
||
| 解绑学生 | 解除学生绑定 | 解绑成功 | P1 |
|
||
| 手机号唯一性 | 重复手机号 | 拒绝创建 | P2 |
|
||
|
||
### 3.3 学生管理模块测试
|
||
|
||
| 测试项 | 测试场景 | 预期结果 | 优先级 |
|
||
|--------|---------|---------|:------:|
|
||
| 学生列表查询 | 分页查询、多条件筛选 | 返回正确数据 | P0 |
|
||
| 学生详情查询 | 查看学生完整信息 | 包含会员信息 | P0 |
|
||
| 新增学生 | 创建新学生(无会员) | 创建成功 | P0 |
|
||
| 编辑学生 | 修改学生信息 | 更新成功 | P0 |
|
||
| 删除学生 | 软删除学生 | 解除会员绑定 | P0 |
|
||
| 学号唯一性 | 检查学号重复 | 正确验证 | P2 |
|
||
| 批量导入 | Excel导入学生 | 批量创建 | P1 |
|
||
| 下载模板 | 下载导入模板 | 获取Excel | P1 |
|
||
| 批量导出 | 导出学生数据 | 生成Excel | P1 |
|
||
|
||
### 3.4 应用管理模块测试
|
||
|
||
| 测试项 | 测试场景 | 预期结果 | 优先级 |
|
||
|--------|---------|---------|:------:|
|
||
| 应用列表查询 | 查询所有应用 | 返回正确数据 | P0 |
|
||
| 应用详情查询 | 查看应用完整信息 | 包含授权接口 | P0 |
|
||
| 新增应用 | 创建新应用 | 生成密钥 | P0 |
|
||
| 编辑应用 | 修改应用信息 | 更新成功 | P0 |
|
||
| 删除应用 | 软删除应用 | 标记删除 | P0 |
|
||
| 重置密钥 | 重新生成密钥 | 生成新密钥 | P1 |
|
||
| API授权 | 授权接口给应用 | 关联成功 | P1 |
|
||
| API接口列表 | 查看可授权接口 | 返回字典 | P1 |
|
||
|
||
### 3.5 基础数据模块测试
|
||
|
||
| 测试项 | 测试场景 | 预期结果 | 优先级 |
|
||
|--------|---------|---------|:------:|
|
||
| 区域列表 | 树形查询区域 | 省市区结构 | P0 |
|
||
| 年级列表 | 查询所有年级 | 返回字典 | P0 |
|
||
| 班级列表 | 查询所有班级 | 返回字典 | P0 |
|
||
| 学科列表 | 查询所有学科 | 返回字典 | P0 |
|
||
|
||
---
|
||
|
||
## 四、性能测试计划
|
||
|
||
### 4.1 响应时间测试
|
||
|
||
**测试接口**:
|
||
1. 学校列表查询(/api/school/list)
|
||
2. 会员列表查询(/api/member/list)
|
||
3. 学生列表查询(/api/student/list)
|
||
4. 学校详情查询(/api/school/{id})
|
||
5. 新增学生(/api/student POST)
|
||
|
||
**测试方法**:
|
||
- 单次请求响应时间
|
||
- 连续10次请求平均响应时间
|
||
- 记录最小值、最大值、平均值
|
||
|
||
### 4.2 并发测试
|
||
|
||
**测试场景**:
|
||
- 模拟10个并发用户
|
||
- 模拟50个并发用户
|
||
- 模拟100个并发用户
|
||
|
||
**测试接口**:
|
||
- 学校列表查询(高频接口)
|
||
- 学生列表查询(高频接口)
|
||
|
||
**观察指标**:
|
||
- 请求成功率
|
||
- 平均响应时间
|
||
- CPU使用率
|
||
- 内存使用率
|
||
|
||
### 4.3 压力测试
|
||
|
||
**测试方法**:
|
||
- 逐步增加并发数(10, 20, 50, 100, 200)
|
||
- 每个级别持续60秒
|
||
- 记录系统表现
|
||
|
||
**观察指标**:
|
||
- 系统瓶颈点
|
||
- 最大并发数
|
||
- 错误率变化
|
||
- 响应时间变化
|
||
|
||
---
|
||
|
||
## 五、测试工具
|
||
|
||
### 5.1 功能测试工具
|
||
|
||
| 工具 | 用途 | 说明 |
|
||
|------|------|------|
|
||
| curl | API接口测试 | 命令行HTTP客户端 |
|
||
| Shell脚本 | 批量测试 | 自动化测试脚本 |
|
||
| Postman | 接口调试 | 可选GUI工具 |
|
||
|
||
### 5.2 性能测试工具
|
||
|
||
| 工具 | 用途 | 说明 |
|
||
|------|------|------|
|
||
| curl | 响应时间测试 | -w参数测量时间 |
|
||
| ab (Apache Bench) | 并发测试 | Apache自带工具 |
|
||
| wrk | 压力测试 | 高性能HTTP基准测试 |
|
||
| top/htop | 资源监控 | 系统资源监控 |
|
||
|
||
---
|
||
|
||
## 六、测试进度计划
|
||
|
||
### 6.1 测试阶段
|
||
|
||
| 阶段 | 时间 | 内容 | 负责人 |
|
||
|------|------|------|--------|
|
||
| **测试计划** | 0.5小时 | 制定测试计划 | 测试专家 |
|
||
| **环境准备** | 0.5小时 | 验证测试环境 | 测试专家 |
|
||
| **功能测试** | 2小时 | 执行功能测试 | 测试专家 |
|
||
| **性能测试** | 1.5小时 | 执行性能测试 | 测试专家 |
|
||
| **缺陷修复** | 按需 | 修复发现的问题 | 开发团队 |
|
||
| **回归测试** | 1小时 | 验证修复效果 | 测试专家 |
|
||
| **测试报告** | 1小时 | 编写测试报告 | 测试专家 |
|
||
|
||
### 6.2 里程碑
|
||
|
||
| 里程碑 | 完成标准 | 预期日期 |
|
||
|--------|---------|----------|
|
||
| 测试计划完成 | 测试计划评审通过 | 2026-02-01 |
|
||
| 功能测试完成 | 100%用例执行完成 | 2026-02-01 |
|
||
| 性能测试完成 | 所有性能指标达标 | 2026-02-01 |
|
||
| 测试报告完成 | 测试报告提交审核 | 2026-02-01 |
|
||
|
||
---
|
||
|
||
## 七、测试交付物
|
||
|
||
### 7.1 必须交付
|
||
|
||
1. ✅ 软件测试计划(本文档)
|
||
2. ⏳ 功能测试用例清单
|
||
3. ⏳ 功能测试执行记录
|
||
4. ⏳ 性能测试报告
|
||
5. ⏳ 缺陷列表(如有)
|
||
6. ⏳ 最终测试报告
|
||
|
||
### 7.2 可选交付
|
||
|
||
1. 测试数据说明
|
||
2. 自动化测试脚本
|
||
3. 性能测试数据图表
|
||
|
||
---
|
||
|
||
## 八、风险与应对
|
||
|
||
### 8.1 测试风险
|
||
|
||
| 风险 | 影响 | 概率 | 应对措施 |
|
||
|------|------|:----:|---------|
|
||
| 测试环境不稳定 | 高 | 低 | 提前验证环境 |
|
||
| 测试数据不完整 | 中 | 中 | 准备完整测试数据 |
|
||
| 时间不足 | 中 | 低 | 优先测试P0用例 |
|
||
| 工具不可用 | 低 | 低 | 准备备用工具 |
|
||
|
||
### 8.2 通过标准
|
||
|
||
**功能测试通过标准**:
|
||
- ✅ P0用例通过率:100%
|
||
- ✅ P1用例通过率:≥95%
|
||
- ✅ P2用例通过率:≥80%
|
||
- ✅ 无阻塞性缺陷
|
||
|
||
**性能测试通过标准**:
|
||
- ✅ API平均响应时间:≤500ms
|
||
- ✅ 并发50用户:成功率≥99%
|
||
- ✅ 系统资源占用:合理范围
|
||
- ✅ 无性能瓶颈
|
||
|
||
---
|
||
|
||
## 九、附录
|
||
|
||
### 9.1 测试用例模板
|
||
|
||
```
|
||
测试用例ID: TC_MODULE_001
|
||
测试项: 功能名称
|
||
前置条件: 系统状态、测试数据
|
||
测试步骤:
|
||
1. 操作步骤1
|
||
2. 操作步骤2
|
||
3. 操作步骤3
|
||
预期结果: 期望的系统响应
|
||
实际结果: (执行后填写)
|
||
测试结果: PASS/FAIL
|
||
备注: 其他说明
|
||
```
|
||
|
||
### 9.2 缺陷报告模板
|
||
|
||
```
|
||
缺陷ID: BUG_001
|
||
缺陷标题: 简短描述
|
||
严重程度: 阻塞/严重/一般/轻微
|
||
优先级: P0/P1/P2/P3
|
||
发现阶段: 功能测试/性能测试
|
||
重现步骤:
|
||
1. 步骤1
|
||
2. 步骤2
|
||
预期结果: 期望行为
|
||
实际结果: 实际行为
|
||
附件: 截图/日志
|
||
```
|
||
|
||
---
|
||
|
||
**测试计划编制人**:软件测试专家
|
||
**审核人**:待审核
|
||
**批准人**:待批准
|
||
**版本**:V1.0
|
||
**日期**:2026-02-01
|
||
|
||
---
|
||
|
||
*本测试计划将指导盘古用户平台的全面测试工作,确保系统质量达到生产环境部署标准。*
|