# 学生管理模块 - 测试用例 --- | 文档信息 | 内容 | |---------|------| | **文档版本** | V1.0 | | **项目名称** | 盘古用户平台(Pangu User Platform) | | **模块名称** | 学生管理模块 | | **编写团队** | pangu | | **创建日期** | 2026-01-31 | --- ## 1. 测试范围 ### 1.1 测试功能 | 功能编号 | 功能名称 | 测试类型 | |---------|---------|----------| | STU-001 | 学生列表查询 | 功能测试、性能测试 | | STU-002 | 学校树筛选 | 功能测试 | | STU-003 | 新增学生 | 功能测试 | | STU-004 | 编辑学生 | 功能测试 | | STU-005 | 删除学生 | 功能测试 | | STU-006 | 批量导入 | 功能测试、性能测试 | | STU-007 | 下载导入模板 | 功能测试 | | AUTH | 数据权限 | 功能测试 | ### 1.2 测试环境 | 环境 | 说明 | |------|------| | 浏览器 | Chrome 最新版本 | | 分辨率 | 1920x1080 | | 前端 | http://localhost:3000 | | 后端 | http://localhost:8080 | --- ## 2. 学生列表查询测试用例 ### TC-001 进入学生管理页面 | 项目 | 内容 | |------|------| | **用例编号** | TC-001 | | **用例名称** | 进入学生管理页面 | | **优先级** | P0 | | **前置条件** | 用户已登录系统 | | **测试步骤** | 1. 点击左侧菜单"学生管理" | | **预期结果** | 1. 页面正确跳转到学生管理页面
2. 左侧显示学校树
3. 右侧显示学生列表表格
4. 表格显示学生数据 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-002 学生列表分页 | 项目 | 内容 | |------|------| | **用例编号** | TC-002 | | **用例名称** | 学生列表分页 | | **优先级** | P0 | | **前置条件** | 已进入学生管理页面,数据量>10条 | | **测试步骤** | 1. 查看分页组件
2. 点击第2页
3. 修改每页条数为20 | | **预期结果** | 1. 分页组件显示总条数
2. 切换页码后数据刷新
3. 修改每页条数后数据刷新 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-003 按姓名搜索学生 | 项目 | 内容 | |------|------| | **用例编号** | TC-003 | | **用例名称** | 按姓名搜索学生 | | **优先级** | P0 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 在姓名输入框输入"张"
2. 点击查询按钮 | | **预期结果** | 列表仅显示姓名包含"张"的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-004 按学号搜索学生 | 项目 | 内容 | |------|------| | **用例编号** | TC-004 | | **用例名称** | 按学号搜索学生 | | **优先级** | P1 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 在学号输入框输入"STU20260001"
2. 点击查询按钮 | | **预期结果** | 列表仅显示学号为"STU20260001"的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-005 按性别筛选学生 | 项目 | 内容 | |------|------| | **用例编号** | TC-005 | | **用例名称** | 按性别筛选学生 | | **优先级** | P1 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 在性别下拉框选择"男"
2. 点击查询按钮 | | **预期结果** | 列表仅显示性别为"男"的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-006 组合条件搜索 | 项目 | 内容 | |------|------| | **用例编号** | TC-006 | | **用例名称** | 组合条件搜索 | | **优先级** | P1 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 输入姓名"张"
2. 选择性别"男"
3. 选择学科"语文"
4. 点击查询按钮 | | **预期结果** | 列表显示同时满足所有条件的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-007 重置搜索条件 | 项目 | 内容 | |------|------| | **用例编号** | TC-007 | | **用例名称** | 重置搜索条件 | | **优先级** | P1 | | **前置条件** | 已输入搜索条件 | | **测试步骤** | 1. 点击重置按钮 | | **预期结果** | 1. 所有搜索条件清空
2. 列表显示全部数据 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 3. 学校树筛选测试用例 ### TC-008 学校树正常显示 | 项目 | 内容 | |------|------| | **用例编号** | TC-008 | | **用例名称** | 学校树正常显示 | | **优先级** | P0 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 查看左侧学校树 | | **预期结果** | 1. 显示学校列表
2. 每个学校下显示年级
3. 每个年级下显示班级
4. 树形结构正确 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-009 点击学校节点筛选 | 项目 | 内容 | |------|------| | **用例编号** | TC-009 | | **用例名称** | 点击学校节点筛选 | | **优先级** | P0 | | **前置条件** | 学校树正常显示 | | **测试步骤** | 1. 点击"武汉市第一中学"节点 | | **预期结果** | 右侧列表仅显示该学校的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-010 点击年级节点筛选 | 项目 | 内容 | |------|------| | **用例编号** | TC-010 | | **用例名称** | 点击年级节点筛选 | | **优先级** | P0 | | **前置条件** | 学校树正常显示 | | **测试步骤** | 1. 展开"武汉市第一中学"
2. 点击"七年级"节点 | | **预期结果** | 右侧列表仅显示该学校该年级的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-011 点击班级节点筛选 | 项目 | 内容 | |------|------| | **用例编号** | TC-011 | | **用例名称** | 点击班级节点筛选 | | **优先级** | P0 | | **前置条件** | 学校树正常显示 | | **测试步骤** | 1. 展开"武汉市第一中学" > "七年级"
2. 点击"1班"节点 | | **预期结果** | 右侧列表仅显示该班级的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-012 学校树搜索过滤 | 项目 | 内容 | |------|------| | **用例编号** | TC-012 | | **用例名称** | 学校树搜索过滤 | | **优先级** | P1 | | **前置条件** | 学校树正常显示 | | **测试步骤** | 1. 在学校树搜索框输入"第一" | | **预期结果** | 树形列表仅显示名称包含"第一"的学校 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 4. 新增学生测试用例 ### TC-013 打开新增弹窗 | 项目 | 内容 | |------|------| | **用例编号** | TC-013 | | **用例名称** | 打开新增弹窗 | | **优先级** | P0 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 点击"新增"按钮 | | **预期结果** | 1. 弹出新增学生弹窗
2. 表单为空
3. 显示所有必填项 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-014 新增学生-必填校验 | 项目 | 内容 | |------|------| | **用例编号** | TC-014 | | **用例名称** | 新增学生-必填校验 | | **优先级** | P0 | | **前置条件** | 已打开新增弹窗 | | **测试步骤** | 1. 不填写任何信息
2. 点击确定按钮 | | **预期结果** | 1. 提示"学生姓名不能为空"
2. 提示"请选择区域"
3. 提示"请选择学校"
4. 提示"请选择归属用户" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-015 新增学生-区域级联选择 | 项目 | 内容 | |------|------| | **用例编号** | TC-015 | | **用例名称** | 新增学生-区域级联选择 | | **优先级** | P0 | | **前置条件** | 已打开新增弹窗 | | **测试步骤** | 1. 点击区域选择器
2. 选择"湖北省" > "武汉市" > "武昌区" | | **预期结果** | 1. 区域级联正确
2. 学校下拉框加载该区域的学校 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-016 新增学生-学校年级班级联动 | 项目 | 内容 | |------|------| | **用例编号** | TC-016 | | **用例名称** | 新增学生-学校年级班级联动 | | **优先级** | P0 | | **前置条件** | 已选择区域 | | **测试步骤** | 1. 选择学校"武汉市第一中学"
2. 查看年级下拉框
3. 选择年级"七年级"
4. 查看班级下拉框 | | **预期结果** | 1. 年级下拉框加载该学校的年级
2. 班级下拉框加载该年级的班级 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-017 新增学生-归属用户搜索 | 项目 | 内容 | |------|------| | **用例编号** | TC-017 | | **用例名称** | 新增学生-归属用户搜索 | | **优先级** | P0 | | **前置条件** | 已打开新增弹窗 | | **测试步骤** | 1. 在归属用户输入框输入手机号"138"
2. 等待搜索结果 | | **预期结果** | 下拉列表显示手机号包含"138"的会员 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-018 新增学生-成功提交 | 项目 | 内容 | |------|------| | **用例编号** | TC-018 | | **用例名称** | 新增学生-成功提交 | | **优先级** | P0 | | **前置条件** | 已打开新增弹窗 | | **测试步骤** | 1. 填写学生姓名"测试学生"
2. 填写学号"TEST001"
3. 选择性别"男"
4. 选择区域"湖北省-武汉市-武昌区"
5. 选择学校"武汉市第一中学"
6. 选择年级"七年级"
7. 选择班级"1班"
8. 选择归属用户
9. 点击确定按钮 | | **预期结果** | 1. 提示"新增成功"
2. 弹窗关闭
3. 列表刷新,显示新增的学生 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-019 新增学生-学号重复校验 | 项目 | 内容 | |------|------| | **用例编号** | TC-019 | | **用例名称** | 新增学生-学号重复校验 | | **优先级** | P0 | | **前置条件** | 系统已存在学号"STU20260001" | | **测试步骤** | 1. 填写所有必填信息
2. 学号填写"STU20260001"
3. 点击确定按钮 | | **预期结果** | 提示"学号已存在" | | **实际结果** | | | **测试状态** | 待测试 | --- ## 5. 编辑学生测试用例 ### TC-020 打开编辑弹窗 | 项目 | 内容 | |------|------| | **用例编号** | TC-020 | | **用例名称** | 打开编辑弹窗 | | **优先级** | P0 | | **前置条件** | 列表中有学生数据 | | **测试步骤** | 1. 点击某学生的"编辑"按钮 | | **预期结果** | 1. 弹出编辑学生弹窗
2. 表单回显该学生信息
3. 区域、学校、年级、班级正确回显 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-021 编辑学生-修改信息 | 项目 | 内容 | |------|------| | **用例编号** | TC-021 | | **用例名称** | 编辑学生-修改信息 | | **优先级** | P0 | | **前置条件** | 已打开编辑弹窗 | | **测试步骤** | 1. 修改学生姓名为"修改后姓名"
2. 修改性别
3. 点击确定按钮 | | **预期结果** | 1. 提示"修改成功"
2. 弹窗关闭
3. 列表刷新,显示修改后的信息 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-022 编辑学生-取消编辑 | 项目 | 内容 | |------|------| | **用例编号** | TC-022 | | **用例名称** | 编辑学生-取消编辑 | | **优先级** | P1 | | **前置条件** | 已打开编辑弹窗并修改信息 | | **测试步骤** | 1. 点击取消按钮 | | **预期结果** | 1. 弹窗关闭
2. 数据未保存 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 6. 删除学生测试用例 ### TC-023 删除学生-确认删除 | 项目 | 内容 | |------|------| | **用例编号** | TC-023 | | **用例名称** | 删除学生-确认删除 | | **优先级** | P0 | | **前置条件** | 列表中有学生数据 | | **测试步骤** | 1. 点击某学生的"删除"按钮
2. 在确认弹窗点击"确定" | | **预期结果** | 1. 弹出确认提示框
2. 点击确定后提示"删除成功"
3. 列表刷新,该学生不再显示 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-024 删除学生-取消删除 | 项目 | 内容 | |------|------| | **用例编号** | TC-024 | | **用例名称** | 删除学生-取消删除 | | **优先级** | P1 | | **前置条件** | 列表中有学生数据 | | **测试步骤** | 1. 点击某学生的"删除"按钮
2. 在确认弹窗点击"取消" | | **预期结果** | 1. 弹出确认提示框
2. 点击取消后弹窗关闭
3. 数据未删除 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 7. 批量导入测试用例 ### TC-025 打开导入弹窗 | 项目 | 内容 | |------|------| | **用例编号** | TC-025 | | **用例名称** | 打开导入弹窗 | | **优先级** | P0 | | **前置条件** | 已进入学生管理页面 | | **测试步骤** | 1. 点击"批量导入"按钮 | | **预期结果** | 1. 弹出导入弹窗
2. 显示步骤引导
3. 当前为第一步"下载模板" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-026 下载导入模板 | 项目 | 内容 | |------|------| | **用例编号** | TC-026 | | **用例名称** | 下载导入模板 | | **优先级** | P0 | | **前置条件** | 已打开导入弹窗 | | **测试步骤** | 1. 点击"下载导入模板"按钮 | | **预期结果** | 1. 浏览器下载Excel文件
2. 文件名为"学生导入模板.xlsx"
3. 模板包含所有字段列 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-027 上传正确格式文件 | 项目 | 内容 | |------|------| | **用例编号** | TC-027 | | **用例名称** | 上传正确格式文件 | | **优先级** | P0 | | **前置条件** | 已进入第二步"上传文件" | | **测试步骤** | 1. 准备正确格式的Excel文件
2. 拖拽或点击上传文件
3. 点击"开始导入" | | **预期结果** | 1. 文件上传成功
2. 进入第三步"导入结果"
3. 显示成功数量和失败数量 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-028 上传错误格式文件 | 项目 | 内容 | |------|------| | **用例编号** | TC-028 | | **用例名称** | 上传错误格式文件 | | **优先级** | P0 | | **前置条件** | 已进入第二步"上传文件" | | **测试步骤** | 1. 上传非Excel文件(如.txt)
2. 点击"开始导入" | | **预期结果** | 提示"只支持上传Excel文件" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-029 导入-必填字段为空 | 项目 | 内容 | |------|------| | **用例编号** | TC-029 | | **用例名称** | 导入-必填字段为空 | | **优先级** | P0 | | **前置条件** | 准备Excel文件,某行姓名为空 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入" | | **预期结果** | 1. 该行导入失败
2. 失败原因显示"姓名不能为空" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-030 导入-学号重复 | 项目 | 内容 | |------|------| | **用例编号** | TC-030 | | **用例名称** | 导入-学号重复 | | **优先级** | P0 | | **前置条件** | 准备Excel文件,包含系统已存在的学号 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入" | | **预期结果** | 1. 该行导入失败
2. 失败原因显示"学号已存在" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-031 导入-学校信息不匹配 | 项目 | 内容 | |------|------| | **用例编号** | TC-031 | | **用例名称** | 导入-学校信息不匹配 | | **优先级** | P0 | | **前置条件** | 准备Excel文件,学校名称不存在 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入" | | **预期结果** | 1. 该行导入失败
2. 失败原因显示"学校信息不存在" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-032 导入-手机号已存在(挂载) | 项目 | 内容 | |------|------| | **用例编号** | TC-032 | | **用例名称** | 导入-手机号已存在(挂载到已有会员) | | **优先级** | P0 | | **前置条件** | 准备Excel文件,用户手机号在系统中已存在 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入" | | **预期结果** | 1. 导入成功
2. 学生关联到已有会员 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-033 导入-手机号不存在(自动创建会员) | 项目 | 内容 | |------|------| | **用例编号** | TC-033 | | **用例名称** | 导入-手机号不存在(自动创建会员) | | **优先级** | P0 | | **前置条件** | 准备Excel文件,用户手机号在系统中不存在 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入"
3. 检查会员管理模块 | | **预期结果** | 1. 导入成功
2. 自动创建家长会员
3. 会员初始密码为123456 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-034 导入-超过1000条数据 | 项目 | 内容 | |------|------| | **用例编号** | TC-034 | | **用例名称** | 导入-超过1000条数据 | | **优先级** | P1 | | **前置条件** | 准备超过1000条数据的Excel文件 | | **测试步骤** | 1. 上传文件
2. 点击"开始导入" | | **预期结果** | 提示"单次导入数据量不能超过1000条" | | **实际结果** | | | **测试状态** | 待测试 | --- ## 8. 数据权限测试用例 ### TC-035 超级管理员-查看所有数据 | 项目 | 内容 | |------|------| | **用例编号** | TC-035 | | **用例名称** | 超级管理员-查看所有数据 | | **优先级** | P0 | | **前置条件** | 以超级管理员账号登录 | | **测试步骤** | 1. 进入学生管理页面 | | **预期结果** | 可以查看所有学生数据,不受区域/学校限制 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-036 分公司用户-只看所属区域数据 | 项目 | 内容 | |------|------| | **用例编号** | TC-036 | | **用例名称** | 分公司用户-只看所属区域数据 | | **优先级** | P0 | | **前置条件** | 以分公司用户账号登录(如武汉分公司) | | **测试步骤** | 1. 进入学生管理页面 | | **预期结果** | 只能查看武汉市区域的学生数据 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-037 学校用户-只看本校数据 | 项目 | 内容 | |------|------| | **用例编号** | TC-037 | | **用例名称** | 学校用户-只看本校数据 | | **优先级** | P0 | | **前置条件** | 以学校用户账号登录(如武汉市第一中学) | | **测试步骤** | 1. 进入学生管理页面 | | **预期结果** | 只能查看武汉市第一中学的学生数据 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 9. 界面交互测试用例 ### TC-038 表格手机号脱敏显示 | 项目 | 内容 | |------|------| | **用例编号** | TC-038 | | **用例名称** | 表格手机号脱敏显示 | | **优先级** | P1 | | **前置条件** | 列表中有学生数据 | | **测试步骤** | 1. 查看用户手机号列 | | **预期结果** | 手机号显示为脱敏格式,如"138****5678" | | **实际结果** | | | **测试状态** | 待测试 | ### TC-039 表格长文本省略显示 | 项目 | 内容 | |------|------| | **用例编号** | TC-039 | | **用例名称** | 表格长文本省略显示 | | **优先级** | P1 | | **前置条件** | 列表中有地区路径较长的数据 | | **测试步骤** | 1. 查看地区列
2. 鼠标悬停在地区文本上 | | **预期结果** | 1. 长文本省略显示
2. 鼠标悬停显示完整内容 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-040 表格性别Tag显示 | 项目 | 内容 | |------|------| | **用例编号** | TC-040 | | **用例名称** | 表格性别Tag显示 | | **优先级** | P1 | | **前置条件** | 列表中有不同性别的学生 | | **测试步骤** | 1. 查看性别列 | | **预期结果** | 1. 男-蓝色Tag
2. 女-红色Tag
3. 未知-灰色Tag | | **实际结果** | | | **测试状态** | 待测试 | --- ## 10. 性能测试用例 ### TC-041 列表查询性能 | 项目 | 内容 | |------|------| | **用例编号** | TC-041 | | **用例名称** | 列表查询性能 | | **优先级** | P1 | | **前置条件** | 数据库有1万条学生数据 | | **测试步骤** | 1. 进入学生管理页面
2. 记录接口响应时间 | | **预期结果** | 响应时间 ≤ 500ms | | **实际结果** | | | **测试状态** | 待测试 | ### TC-042 批量导入1000条数据性能 | 项目 | 内容 | |------|------| | **用例编号** | TC-042 | | **用例名称** | 批量导入1000条数据性能 | | **优先级** | P1 | | **前置条件** | 准备1000条数据的Excel文件 | | **测试步骤** | 1. 上传文件并导入
2. 记录导入完成时间 | | **预期结果** | 导入完成时间 ≤ 30秒 | | **实际结果** | | | **测试状态** | 待测试 | ### TC-043 学校树加载性能 | 项目 | 内容 | |------|------| | **用例编号** | TC-043 | | **用例名称** | 学校树加载性能 | | **优先级** | P1 | | **前置条件** | 系统有100所学校数据 | | **测试步骤** | 1. 进入学生管理页面
2. 记录学校树加载时间 | | **预期结果** | 加载完成时间 ≤ 1秒 | | **实际结果** | | | **测试状态** | 待测试 | --- ## 11. 测试结果汇总 ### 11.1 测试统计 | 类别 | 用例数 | 通过 | 失败 | 阻塞 | 未执行 | |------|:------:|:----:|:----:|:----:|:------:| | 列表查询 | 7 | | | | 7 | | 学校树筛选 | 5 | | | | 5 | | 新增学生 | 7 | | | | 7 | | 编辑学生 | 3 | | | | 3 | | 删除学生 | 2 | | | | 2 | | 批量导入 | 10 | | | | 10 | | 数据权限 | 3 | | | | 3 | | 界面交互 | 3 | | | | 3 | | 性能测试 | 3 | | | | 3 | | **合计** | **43** | **0** | **0** | **0** | **43** | ### 11.2 测试结论 | 项目 | 结论 | |------|------| | 测试轮次 | | | 测试日期 | | | 测试人员 | | | 通过率 | | | 结论 | | --- *文档结束*