pangu-user-platform/docs/05-模块技术方案/学生管理/05-测试用例.md

666 lines
21 KiB
Markdown
Raw Permalink Normal View History

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