# 盘古用户平台 - 软件测试计划 --- | 文档信息 | 内容 | |---------|------| | **文档版本** | 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 --- *本测试计划将指导盘古用户平台的全面测试工作,确保系统质量达到生产环境部署标准。*