# 盘古用户平台 - 基础数据模块测试用例文档 --- | 文档信息 | 内容 | | -------- | --------------------------- | | **文档版本** | V1.0 | | **项目名称** | 盘古用户平台(Pangu User Platform) | | **模块名称** | 基础数据管理-测试用例 | | **编写团队** | pangu | | **创建日期** | 2026-01-31 | --- ## 1. 测试范围 | 测试模块 | 测试功能 | 测试方法 | | ---- | ---------------- | ----------- | | 年级管理 | 列表查询、新增、编辑、删除 | 功能测试、边界测试 | | 班级管理 | 列表查询、新增、编辑、删除 | 功能测试、边界测试 | | 学科管理 | 列表查询、新增、编辑、删除 | 功能测试、边界测试 | | 区域管理 | 树形展示、新增、编辑、删除、下级 | 功能测试、边界测试 | --- ## 2. 测试环境 | 环境项 | 配置 | | ------ | ---------------------------------- | | 测试环境 | 开发环境 / 测试环境 | | 浏览器 | Chrome 最新版 | | 测试账号 | admin / admin123(超级管理员) | | 前端地址 | http://localhost:3000 | | 后端地址 | http://localhost:8080 | --- ## 3. 年级管理测试用例 ### 3.1 列表查询 | 用例编号 | TC-GRD-001 | |---------|-----------| | **用例名称** | 年级列表-默认查询 | | **前置条件** | 1. 已登录管理后台
2. 数据库有年级数据 | | **测试步骤** | 1. 点击左侧菜单"基础数据" → "年级管理" | | **预期结果** | 1. 页面正常加载
2. 显示年级列表数据
3. 分页组件显示正确的总数 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-002 | |---------|-----------| | **用例名称** | 年级列表-按名称搜索 | | **前置条件** | 1. 已进入年级管理页面
2. 存在"一年级"数据 | | **测试步骤** | 1. 在年级名称输入框输入"一年级"
2. 点击"搜索"按钮 | | **预期结果** | 1. 列表只显示包含"一年级"的数据
2. 总数更新为匹配条数 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-003 | |---------|-----------| | **用例名称** | 年级列表-按状态筛选 | | **前置条件** | 1. 已进入年级管理页面
2. 存在启用和停用状态的数据 | | **测试步骤** | 1. 在状态下拉框选择"正常"
2. 点击"搜索"按钮 | | **预期结果** | 1. 列表只显示状态为"正常"的数据
2. 状态列显示绿色"正常"标签 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-004 | |---------|-----------| | **用例名称** | 年级列表-重置搜索 | | **前置条件** | 1. 已进入年级管理页面
2. 已输入搜索条件 | | **测试步骤** | 1. 输入年级名称和选择状态
2. 点击"重置"按钮 | | **预期结果** | 1. 搜索条件清空
2. 列表恢复显示全部数据 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-005 | |---------|-----------| | **用例名称** | 年级列表-分页功能 | | **前置条件** | 1. 已进入年级管理页面
2. 数据总数超过10条 | | **测试步骤** | 1. 点击第2页
2. 修改每页显示条数为20 | | **预期结果** | 1. 切换页码后显示对应页数据
2. 修改条数后重新加载 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 3.2 新增年级 | 用例编号 | TC-GRD-006 | |---------|-----------| | **用例名称** | 新增年级-正常新增 | | **前置条件** | 1. 已进入年级管理页面 | | **测试步骤** | 1. 点击"新增"按钮
2. 输入年级名称"学前班"
3. 设置排序为0
4. 状态保持"正常"
5. 点击"确定"按钮 | | **预期结果** | 1. 弹窗关闭
2. 提示"新增成功"
3. 列表刷新显示新数据
4. 年级编码自动生成 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-007 | |---------|-----------| | **用例名称** | 新增年级-名称必填校验 | | **前置条件** | 1. 已打开新增年级弹窗 | | **测试步骤** | 1. 不输入年级名称
2. 点击"确定"按钮 | | **预期结果** | 1. 表单校验失败
2. 年级名称输入框下方显示"请输入年级名称" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-008 | |---------|-----------| | **用例名称** | 新增年级-名称重复校验 | | **前置条件** | 1. 已打开新增年级弹窗
2. 已存在"一年级" | | **测试步骤** | 1. 输入年级名称"一年级"
2. 点击"确定"按钮 | | **预期结果** | 1. 提示"年级名称已存在"
2. 弹窗不关闭 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-009 | |---------|-----------| | **用例名称** | 新增年级-取消新增 | | **前置条件** | 1. 已打开新增年级弹窗
2. 已输入部分内容 | | **测试步骤** | 1. 输入年级名称
2. 点击"取消"按钮 | | **预期结果** | 1. 弹窗关闭
2. 列表数据不变 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-010 | |---------|-----------| | **用例名称** | 新增年级-编码自动生成 | | **前置条件** | 1. 已打开新增年级弹窗 | | **测试步骤** | 1. 查看年级编码输入框 | | **预期结果** | 1. 年级编码显示"(自动生成)"或已有编码
2. 年级编码输入框为禁用状态 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 3.3 编辑年级 | 用例编号 | TC-GRD-011 | |---------|-----------| | **用例名称** | 编辑年级-正常编辑 | | **前置条件** | 1. 已进入年级管理页面
2. 列表有可编辑数据 | | **测试步骤** | 1. 点击某行"编辑"按钮
2. 修改年级名称
3. 点击"确定"按钮 | | **预期结果** | 1. 弹窗关闭
2. 提示"修改成功"
3. 列表显示修改后的数据 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-012 | |---------|-----------| | **用例名称** | 编辑年级-回显数据 | | **前置条件** | 1. 已进入年级管理页面 | | **测试步骤** | 1. 点击某行"编辑"按钮 | | **预期结果** | 1. 弹窗标题为"编辑年级"
2. 表单正确回显原数据
3. 年级编码不可编辑 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-013 | |---------|-----------| | **用例名称** | 编辑年级-修改状态 | | **前置条件** | 1. 已打开编辑年级弹窗 | | **测试步骤** | 1. 将状态从"正常"切换为"停用"
2. 点击"确定"按钮 | | **预期结果** | 1. 修改成功
2. 列表状态列显示红色"停用"标签 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 3.4 删除年级 | 用例编号 | TC-GRD-014 | |---------|-----------| | **用例名称** | 删除年级-正常删除 | | **前置条件** | 1. 已进入年级管理页面
2. 有未被学校使用的年级 | | **测试步骤** | 1. 点击某行"删除"按钮
2. 在确认弹窗点击"确定" | | **预期结果** | 1. 提示"删除成功"
2. 列表不再显示该年级 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-015 | |---------|-----------| | **用例名称** | 删除年级-取消删除 | | **前置条件** | 1. 已进入年级管理页面 | | **测试步骤** | 1. 点击某行"删除"按钮
2. 在确认弹窗点击"取消" | | **预期结果** | 1. 确认弹窗关闭
2. 数据保持不变 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-GRD-016 | |---------|-----------| | **用例名称** | 删除年级-被学校引用 | | **前置条件** | 1. 已进入年级管理页面
2. 有被学校使用的年级(如七年级已挂在某学校下) | | **测试步骤** | 1. 点击被引用年级的"删除"按钮
2. 在确认弹窗点击"确定" | | **预期结果** | 1. 提示"该年级已被学校使用,不能删除"
2. 数据保持不变 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | --- ## 4. 班级管理测试用例 ### 4.1 列表查询 | 用例编号 | TC-CLS-001 | |---------|-----------| | **用例名称** | 班级列表-默认查询 | | **前置条件** | 1. 已登录管理后台
2. 数据库有班级数据 | | **测试步骤** | 1. 点击左侧菜单"基础数据" → "班级管理" | | **预期结果** | 1. 页面正常加载
2. 显示班级列表数据 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-CLS-002 | |---------|-----------| | **用例名称** | 班级列表-按名称搜索 | | **前置条件** | 1. 已进入班级管理页面
2. 存在"1班"数据 | | **测试步骤** | 1. 在班级名称输入框输入"1班"
2. 点击"搜索"按钮 | | **预期结果** | 1. 列表只显示包含"1班"的数据 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 4.2 新增班级 | 用例编号 | TC-CLS-003 | |---------|-----------| | **用例名称** | 新增班级-正常新增 | | **前置条件** | 1. 已进入班级管理页面 | | **测试步骤** | 1. 点击"新增"按钮
2. 输入班级名称"11班"
3. 设置排序
4. 点击"确定"按钮 | | **预期结果** | 1. 新增成功
2. 列表显示新班级 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-CLS-004 | |---------|-----------| | **用例名称** | 新增班级-名称重复校验 | | **前置条件** | 1. 已打开新增班级弹窗
2. 已存在"1班" | | **测试步骤** | 1. 输入班级名称"1班"
2. 点击"确定"按钮 | | **预期结果** | 1. 提示"班级名称已存在" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 4.3 删除班级 | 用例编号 | TC-CLS-005 | |---------|-----------| | **用例名称** | 删除班级-被学校引用 | | **前置条件** | 1. 有被学校使用的班级 | | **测试步骤** | 1. 点击被引用班级的"删除"按钮
2. 确认删除 | | **预期结果** | 1. 提示"该班级已被学校使用,不能删除" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | --- ## 5. 学科管理测试用例 ### 5.1 列表查询 | 用例编号 | TC-SUB-001 | |---------|-----------| | **用例名称** | 学科列表-默认查询 | | **前置条件** | 1. 已登录管理后台
2. 数据库有学科数据 | | **测试步骤** | 1. 点击左侧菜单"基础数据" → "学科管理" | | **预期结果** | 1. 显示学科列表数据
2. 包含语文、数学等预置学科 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 5.2 新增学科 | 用例编号 | TC-SUB-002 | |---------|-----------| | **用例名称** | 新增学科-正常新增 | | **前置条件** | 1. 已进入学科管理页面 | | **测试步骤** | 1. 点击"新增"按钮
2. 输入学科名称"信息技术"
3. 点击"确定"按钮 | | **预期结果** | 1. 新增成功
2. 编码自动生成 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 5.3 删除学科 | 用例编号 | TC-SUB-003 | |---------|-----------| | **用例名称** | 删除学科-被学生引用 | | **前置条件** | 1. 有被学生使用的学科 | | **测试步骤** | 1. 点击被引用学科的"删除"按钮
2. 确认删除 | | **预期结果** | 1. 提示"该学科已被学生使用,不能删除" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | --- ## 6. 区域管理测试用例 ### 6.1 树形展示 | 用例编号 | TC-REG-001 | |---------|-----------| | **用例名称** | 区域树-默认展示 | | **前置条件** | 1. 已登录管理后台
2. 数据库有区域数据 | | **测试步骤** | 1. 点击左侧菜单"基础数据" → "区域管理" | | **预期结果** | 1. 显示树形区域表格
2. 顶级节点有展开/折叠箭头
3. 层级正确显示(省/市/区县) | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-002 | |---------|-----------| | **用例名称** | 区域树-展开全部 | | **前置条件** | 1. 已进入区域管理页面
2. 有多级区域数据 | | **测试步骤** | 1. 点击"展开全部"按钮 | | **预期结果** | 1. 所有层级节点全部展开
2. 按钮文字变为"折叠全部" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-003 | |---------|-----------| | **用例名称** | 区域树-折叠全部 | | **前置条件** | 1. 已展开区域树 | | **测试步骤** | 1. 点击"折叠全部"按钮 | | **预期结果** | 1. 所有子节点折叠
2. 只显示顶级节点 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-004 | |---------|-----------| | **用例名称** | 区域树-层级标签 | | **前置条件** | 1. 已进入区域管理页面 | | **测试步骤** | 1. 观察层级列显示 | | **预期结果** | 1. 省级显示蓝色"省"标签
2. 市级显示绿色"市"标签
3. 区级显示灰色"区/县"标签 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 6.2 新增区域 | 用例编号 | TC-REG-005 | |---------|-----------| | **用例名称** | 新增区域-新增省级 | | **前置条件** | 1. 已进入区域管理页面 | | **测试步骤** | 1. 点击"新增"按钮
2. 输入区域名称"浙江"
3. 点击"确定"按钮 | | **预期结果** | 1. 新增成功
2. 列表显示新省级区域
3. 编码格式为REGxx | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-006 | |---------|-----------| | **用例名称** | 新增区域-新增下级 | | **前置条件** | 1. 已进入区域管理页面
2. 存在省级区域 | | **测试步骤** | 1. 点击某省级区域的"新增下级"按钮
2. 观察弹窗内容
3. 输入区域名称
4. 点击"确定"按钮 | | **预期结果** | 1. 弹窗标题为"新增下级区域"
2. 上级区域自动带入父级名称
3. 新增成功后挂在父级下面 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-007 | |---------|-----------| | **用例名称** | 新增区域-区级无新增下级 | | **前置条件** | 1. 已进入区域管理页面
2. 存在区级区域 | | **测试步骤** | 1. 观察区级区域的操作列 | | **预期结果** | 1. 区级区域操作列没有"新增下级"按钮
2. 只有"编辑"和"删除"按钮 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 6.3 编辑区域 | 用例编号 | TC-REG-008 | |---------|-----------| | **用例名称** | 编辑区域-正常编辑 | | **前置条件** | 1. 已进入区域管理页面 | | **测试步骤** | 1. 点击某区域"编辑"按钮
2. 修改区域名称
3. 点击"确定"按钮 | | **预期结果** | 1. 编辑成功
2. 列表显示修改后的名称 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-009 | |---------|-----------| | **用例名称** | 编辑区域-编码不可修改 | | **前置条件** | 1. 已打开编辑区域弹窗 | | **测试步骤** | 1. 观察区域编码输入框 | | **预期结果** | 1. 区域编码输入框为禁用状态
2. 无法修改编码 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | ### 6.4 删除区域 | 用例编号 | TC-REG-010 | |---------|-----------| | **用例名称** | 删除区域-有子级不能删除 | | **前置条件** | 1. 已进入区域管理页面
2. 存在有子区域的区域(如湖北省) | | **测试步骤** | 1. 点击有子级区域的"删除"按钮 | | **预期结果** | 1. 提示"存在下级区域,不能删除"
2. 不弹出确认框 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-011 | |---------|-----------| | **用例名称** | 删除区域-被学校引用 | | **前置条件** | 1. 有被学校使用的区域(无子级) | | **测试步骤** | 1. 点击被引用区域的"删除"按钮
2. 确认删除 | | **预期结果** | 1. 提示"该区域已被学校使用,不能删除" | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-REG-012 | |---------|-----------| | **用例名称** | 删除区域-正常删除 | | **前置条件** | 1. 有无子级且未被学校使用的区域 | | **测试步骤** | 1. 点击区域的"删除"按钮
2. 确认删除 | | **预期结果** | 1. 删除成功
2. 区域从树中移除 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | --- ## 7. 权限测试用例 | 用例编号 | TC-AUTH-001 | |---------|-----------| | **用例名称** | 权限-超级管理员访问区域管理 | | **前置条件** | 1. 以超级管理员账号登录 | | **测试步骤** | 1. 访问区域管理页面 | | **预期结果** | 1. 可正常访问
2. 可执行增删改操作 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-AUTH-002 | |---------|-----------| | **用例名称** | 权限-分公司用户访问区域管理 | | **前置条件** | 1. 以分公司用户账号登录 | | **测试步骤** | 1. 尝试访问区域管理页面 | | **预期结果** | 1. 菜单中没有"区域管理"选项
2. 直接访问路由提示无权限 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-AUTH-003 | |---------|-----------| | **用例名称** | 权限-分公司用户访问年级管理 | | **前置条件** | 1. 以分公司用户账号登录 | | **测试步骤** | 1. 访问年级管理页面 | | **预期结果** | 1. 可正常访问
2. 可执行增删改操作 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | | 用例编号 | TC-AUTH-004 | |---------|-----------| | **用例名称** | 权限-学校用户无基础数据权限 | | **前置条件** | 1. 以学校用户账号登录 | | **测试步骤** | 1. 查看菜单列表 | | **预期结果** | 1. 菜单中没有"基础数据"菜单项 | | **测试结果** | □通过 □不通过 | | **测试人员** | | | **测试日期** | | --- ## 8. 接口测试用例 ### 8.1 年级接口测试 | 用例编号 | TC-API-GRD-001 | |---------|-----------| | **用例名称** | 年级列表接口 | | **接口地址** | GET /api/grade/list | | **请求参数** | gradeName=一年级&status=0&pageNum=1&pageSize=10 | | **预期响应** | code=200, total>0, rows包含匹配数据 | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-API-GRD-002 | |---------|-----------| | **用例名称** | 新增年级接口-缺少必填项 | | **接口地址** | POST /api/grade | | **请求参数** | {"orderNum": 1, "status": "0"} | | **预期响应** | code=400, msg包含"年级名称不能为空" | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-API-GRD-003 | |---------|-----------| | **用例名称** | 删除年级接口-被引用 | | **接口地址** | DELETE /api/grade/7 | | **前置条件** | gradeId=7(七年级)已被学校使用 | | **预期响应** | code=500, msg="该年级已被学校使用,不能删除" | | **测试结果** | □通过 □不通过 | ### 8.2 区域接口测试 | 用例编号 | TC-API-REG-001 | |---------|-----------| | **用例名称** | 区域树接口 | | **接口地址** | GET /api/region/tree | | **预期响应** | code=200, data为树形数组结构 | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-API-REG-002 | |---------|-----------| | **用例名称** | 新增区域接口-新增下级 | | **接口地址** | POST /api/region | | **请求参数** | {"parentId": 1, "regionName": "宜昌", "orderNum": 3} | | **预期响应** | code=200, 区域level=2, ancestors="0,1" | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-API-REG-003 | |---------|-----------| | **用例名称** | 删除区域接口-有子级 | | **接口地址** | DELETE /api/region/1 | | **前置条件** | regionId=1(湖北)有子区域 | | **预期响应** | code=500, msg="存在下级区域,不能删除" | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-API-REG-004 | |---------|-----------| | **用例名称** | 删除区域接口-被学校引用 | | **接口地址** | DELETE /api/region/111 | | **前置条件** | regionId=111(武昌区)有学校使用 | | **预期响应** | code=500, msg="该区域已被学校使用,不能删除" | | **测试结果** | □通过 □不通过 | --- ## 9. 性能测试用例 | 用例编号 | TC-PERF-001 | |---------|-----------| | **用例名称** | 区域树查询性能 | | **测试场景** | 100条区域数据时查询区域树 | | **性能指标** | 响应时间 ≤ 200ms | | **测试方法** | 使用Postman或JMeter测试接口响应时间 | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-PERF-002 | |---------|-----------| | **用例名称** | 区域树缓存命中 | | **测试场景** | 连续请求区域树接口 | | **性能指标** | 第二次请求响应时间 ≤ 50ms | | **测试方法** | 连续发送两次请求,对比响应时间 | | **测试结果** | □通过 □不通过 | | 用例编号 | TC-PERF-003 | |---------|-----------| | **用例名称** | 年级列表分页查询性能 | | **测试场景** | 1000条年级数据时分页查询 | | **性能指标** | 响应时间 ≤ 200ms | | **测试方法** | 导入1000条测试数据后测试 | | **测试结果** | □通过 □不通过 | --- ## 10. 测试总结 ### 10.1 测试统计 | 模块 | 用例总数 | 通过数 | 未通过数 | 通过率 | | ---- | ---- | --- | ---- | --- | | 年级管理 | 16 | | | | | 班级管理 | 5 | | | | | 学科管理 | 3 | | | | | 区域管理 | 12 | | | | | 权限测试 | 4 | | | | | 接口测试 | 7 | | | | | 性能测试 | 3 | | | | | **合计** | **50** | | | | ### 10.2 遗留问题 | 序号 | 问题描述 | 严重程度 | 处理状态 | 备注 | | --- | ---- | ---- | ---- | --- | | 1 | | | | | | 2 | | | | | ### 10.3 测试结论 □ 测试通过,可以发布 □ 测试通过,遗留问题不影响主流程 □ 测试不通过,需修复后重新测试 --- ## 审核签字 | 角色 | 姓名 | 日期 | 签字 | | ---- | --- | --- | --- | | 测试负责人 | | | | | 开发负责人 | | | | | 产品负责人 | | | | --- *文档结束*