11 KiB
11 KiB
盘古用户平台 - 软件测试计划
| 文档信息 | 内容 |
|---|---|
| 文档版本 | V1.0 |
| 项目名称 | 盘古用户平台(Pangu User Platform) |
| 编写人 | 软件测试专家 |
| 创建日期 | 2026-02-01 |
| 测试类型 | 功能测试 + 性能测试 |
一、测试概述
1.1 测试目标
本测试计划旨在全面验证盘古用户平台的功能完整性、系统性能和稳定性,确保系统达到生产环境部署标准。
核心目标:
- 验证所有业务功能正确性(功能测试)
- 评估系统性能指标(性能测试)
- 发现并记录系统缺陷
- 提供数据支持部署决策
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 功能测试策略
测试方法
-
黑盒测试
- 基于需求文档验证功能
- 边界值测试
- 等价类划分
-
接口测试
- REST API接口测试
- 参数验证测试
- 错误处理测试
-
业务流程测试
- 端到端业务流程
- 数据一致性验证
测试优先级
| 优先级 | 测试内容 | 覆盖率目标 |
|---|---|---|
| P0 | 核心CRUD操作 | 100% |
| P1 | 业务流程 | 100% |
| P2 | 边界场景 | 80% |
| P3 | 异常场景 | 60% |
2.2 性能测试策略
测试方法
-
响应时间测试
- 单接口响应时间
- 平均响应时间
- 95分位响应时间
-
并发测试
- 模拟多用户并发访问
- 测试系统吞吐量
- 观察资源占用
-
压力测试
- 逐步增加负载
- 找到系统瓶颈
- 评估系统极限
性能指标
| 指标 | 目标值 | 优秀值 |
|---|---|---|
| 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 响应时间测试
测试接口:
- 学校列表查询(/api/school/list)
- 会员列表查询(/api/member/list)
- 学生列表查询(/api/student/list)
- 学校详情查询(/api/school/{id})
- 新增学生(/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 必须交付
- ✅ 软件测试计划(本文档)
- ⏳ 功能测试用例清单
- ⏳ 功能测试执行记录
- ⏳ 性能测试报告
- ⏳ 缺陷列表(如有)
- ⏳ 最终测试报告
7.2 可选交付
- 测试数据说明
- 自动化测试脚本
- 性能测试数据图表
八、风险与应对
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
本测试计划将指导盘古用户平台的全面测试工作,确保系统质量达到生产环境部署标准。