647 lines
21 KiB
Markdown
647 lines
21 KiB
Markdown
|
|
# 会员管理模块 - 测试用例
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
| 文档信息 | 内容 |
|
|||
|
|
|---------|------|
|
|||
|
|
| **文档版本** | V1.0 |
|
|||
|
|
| **模块名称** | 会员管理模块 - 测试用例 |
|
|||
|
|
| **编写团队** | pangu |
|
|||
|
|
| **创建日期** | 2026-01-31 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 测试范围
|
|||
|
|
|
|||
|
|
### 1.1 测试模块
|
|||
|
|
|
|||
|
|
- 会员列表查询
|
|||
|
|
- 会员新增
|
|||
|
|
- 会员编辑
|
|||
|
|
- 会员删除
|
|||
|
|
- 重置密码
|
|||
|
|
- 状态切换
|
|||
|
|
- 学生绑定/解绑
|
|||
|
|
- 数据权限
|
|||
|
|
|
|||
|
|
### 1.2 测试类型
|
|||
|
|
|
|||
|
|
| 测试类型 | 说明 |
|
|||
|
|
|---------|------|
|
|||
|
|
| 功能测试 | 验证功能是否符合需求 |
|
|||
|
|
| 接口测试 | 验证API接口正确性 |
|
|||
|
|
| 边界测试 | 验证边界条件处理 |
|
|||
|
|
| 异常测试 | 验证异常情况处理 |
|
|||
|
|
| 权限测试 | 验证权限控制 |
|
|||
|
|
| 性能测试 | 验证性能指标 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 功能测试用例
|
|||
|
|
|
|||
|
|
### 2.1 会员列表查询
|
|||
|
|
|
|||
|
|
#### TC-MEM-001 正常查询会员列表
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-001 |
|
|||
|
|
| **用例名称** | 正常查询会员列表 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 用户具有 user:member:list 权限<br>3. 数据库中存在会员数据 |
|
|||
|
|
| **测试步骤** | 1. 进入会员管理页面<br>2. 不输入任何搜索条件<br>3. 点击搜索按钮 |
|
|||
|
|
| **预期结果** | 1. 页面正常加载<br>2. 表格显示会员列表<br>3. 分页信息正确显示 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-002 按手机号查询
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-002 |
|
|||
|
|
| **用例名称** | 按手机号查询会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 数据库中存在手机号为 13812345678 的会员 |
|
|||
|
|
| **测试步骤** | 1. 在手机号输入框输入"138"<br>2. 点击搜索按钮 |
|
|||
|
|
| **预期结果** | 1. 列表显示手机号包含"138"的会员<br>2. 手机号以脱敏形式显示(138****5678) |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-003 按身份类型查询
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-003 |
|
|||
|
|
| **用例名称** | 按身份类型查询会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 数据库中存在家长和教师类型的会员 |
|
|||
|
|
| **测试步骤** | 1. 在身份类型下拉框选择"教师"<br>2. 点击搜索按钮 |
|
|||
|
|
| **预期结果** | 1. 列表只显示身份类型为"教师"的会员<br>2. 身份类型列显示"教师"标签 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-004 按注册时间范围查询
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-004 |
|
|||
|
|
| **用例名称** | 按注册时间范围查询 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 数据库中存在不同注册时间的会员 |
|
|||
|
|
| **测试步骤** | 1. 选择注册时间范围为"2026-01-01"至"2026-01-31"<br>2. 点击搜索按钮 |
|
|||
|
|
| **预期结果** | 列表只显示注册时间在2026年1月份的会员 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-005 组合条件查询
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-005 |
|
|||
|
|
| **用例名称** | 组合条件查询 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 用户已登录后台 |
|
|||
|
|
| **测试步骤** | 1. 输入手机号"138"<br>2. 选择身份类型"教师"<br>3. 选择状态"正常"<br>4. 点击搜索 |
|
|||
|
|
| **预期结果** | 列表显示同时满足所有条件的会员 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-006 重置搜索条件
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-006 |
|
|||
|
|
| **用例名称** | 重置搜索条件 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 用户已输入搜索条件 |
|
|||
|
|
| **测试步骤** | 1. 输入各种搜索条件<br>2. 点击重置按钮 |
|
|||
|
|
| **预期结果** | 1. 所有搜索条件清空<br>2. 列表显示全部数据(分页) |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.2 会员新增
|
|||
|
|
|
|||
|
|
#### TC-MEM-010 新增家长会员-必填项
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-010 |
|
|||
|
|
| **用例名称** | 新增家长会员-仅填必填项 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 用户具有 user:member:add 权限 |
|
|||
|
|
| **测试步骤** | 1. 点击新增按钮<br>2. 输入手机号"13912345678"<br>3. 选择身份类型"家长"<br>4. 点击保存 |
|
|||
|
|
| **预期结果** | 1. 提示"新增成功"<br>2. 返回列表页<br>3. 列表中显示新增的会员<br>4. 会员编号自动生成(JS+时间戳)<br>5. 昵称自动生成 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-011 新增家长会员-全部字段
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-011 |
|
|||
|
|
| **用例名称** | 新增家长会员-填写全部字段 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 用户已登录后台 |
|
|||
|
|
| **测试步骤** | 1. 点击新增按钮<br>2. 输入手机号"13922345678"<br>3. 输入昵称"张三家长"<br>4. 选择性别"男"<br>5. 选择出生日期<br>6. 选择身份类型"家长"<br>7. 点击保存 |
|
|||
|
|
| **预期结果** | 1. 提示"新增成功"<br>2. 所有字段正确保存 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-012 新增教师会员-完整信息
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-012 |
|
|||
|
|
| **用例名称** | 新增教师会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 用户已登录后台<br>2. 系统中存在学校数据 |
|
|||
|
|
| **测试步骤** | 1. 点击新增按钮<br>2. 输入手机号"13932345678"<br>3. 输入昵称"李老师"<br>4. 选择身份类型"教师"<br>5. 选择所属区域<br>6. 选择所属学校<br>7. 选择所属年级<br>8. 选择所属班级<br>9. 点击保存 |
|
|||
|
|
| **预期结果** | 1. 提示"新增成功"<br>2. 教师信息正确保存 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-013 新增教师-缺少学校信息
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-013 |
|
|||
|
|
| **用例名称** | 新增教师会员-缺少学校信息 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 用户已登录后台 |
|
|||
|
|
| **测试步骤** | 1. 点击新增按钮<br>2. 输入手机号<br>3. 选择身份类型"教师"<br>4. 不选择学校信息<br>5. 点击保存 |
|
|||
|
|
| **预期结果** | 提示"请选择所属区域/学校/年级/班级" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-014 手机号格式校验
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-014 |
|
|||
|
|
| **用例名称** | 手机号格式校验 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 用户已登录后台 |
|
|||
|
|
| **测试数据** | 错误手机号:12345678901、1381234567、138123456789、abcdefghijk |
|
|||
|
|
| **测试步骤** | 1. 输入错误格式的手机号<br>2. 触发校验 |
|
|||
|
|
| **预期结果** | 提示"请输入正确的手机号" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-015 手机号唯一性校验
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-015 |
|
|||
|
|
| **用例名称** | 手机号唯一性校验 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 数据库中已存在手机号为 13812345678 的会员 |
|
|||
|
|
| **测试步骤** | 1. 点击新增<br>2. 输入已存在的手机号"13812345678"<br>3. 点击保存 |
|
|||
|
|
| **预期结果** | 提示"手机号已存在" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-016 新增时绑定学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-016 |
|
|||
|
|
| **用例名称** | 新增会员时绑定学生 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 系统中存在未绑定的学生 |
|
|||
|
|
| **测试步骤** | 1. 新增家长会员<br>2. 点击绑定学生<br>3. 选择学生<br>4. 确认绑定<br>5. 保存会员 |
|
|||
|
|
| **预期结果** | 1. 会员创建成功<br>2. 学生绑定成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.3 会员编辑
|
|||
|
|
|
|||
|
|
#### TC-MEM-020 编辑基本信息
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-020 |
|
|||
|
|
| **用例名称** | 编辑会员基本信息 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 数据库中存在会员数据 |
|
|||
|
|
| **测试步骤** | 1. 在列表中点击编辑<br>2. 修改昵称、性别、出生日期<br>3. 点击保存 |
|
|||
|
|
| **预期结果** | 1. 提示"修改成功"<br>2. 信息正确更新 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-021 编辑-修改手机号
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-021 |
|
|||
|
|
| **用例名称** | 修改会员手机号 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 数据库中存在会员数据 |
|
|||
|
|
| **测试步骤** | 1. 点击编辑<br>2. 修改手机号为新的有效手机号<br>3. 点击保存 |
|
|||
|
|
| **预期结果** | 1. 手机号更新成功<br>2. 唯一性校验通过 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-022 编辑-修改为已存在手机号
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-022 |
|
|||
|
|
| **用例名称** | 修改为已存在的手机号 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在两个会员,手机号分别为A和B |
|
|||
|
|
| **测试步骤** | 1. 编辑会员A<br>2. 将手机号改为会员B的手机号<br>3. 点击保存 |
|
|||
|
|
| **预期结果** | 提示"手机号已存在" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-023 身份类型切换-家长改教师
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-023 |
|
|||
|
|
| **用例名称** | 身份类型切换-家长改教师 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在身份类型为家长的会员 |
|
|||
|
|
| **测试步骤** | 1. 编辑家长会员<br>2. 将身份类型改为"教师"<br>3. 观察表单变化<br>4. 填写学校信息<br>5. 保存 |
|
|||
|
|
| **预期结果** | 1. 切换后显示教师信息区域<br>2. 要求填写学校相关信息<br>3. 保存成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-024 身份类型切换-教师改家长
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-024 |
|
|||
|
|
| **用例名称** | 身份类型切换-教师改家长 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在身份类型为教师的会员 |
|
|||
|
|
| **测试步骤** | 1. 编辑教师会员<br>2. 将身份类型改为"家长"<br>3. 观察表单变化<br>4. 保存 |
|
|||
|
|
| **预期结果** | 1. 切换后隐藏教师信息区域<br>2. 学校信息被清空<br>3. 保存成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.4 会员删除
|
|||
|
|
|
|||
|
|
#### TC-MEM-030 删除无绑定会员
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-030 |
|
|||
|
|
| **用例名称** | 删除无绑定学生的会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在未绑定学生的会员 |
|
|||
|
|
| **测试步骤** | 1. 在列表中点击删除<br>2. 确认删除 |
|
|||
|
|
| **预期结果** | 1. 提示"删除成功"<br>2. 会员从列表消失(软删除) |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-031 删除有绑定会员
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-031 |
|
|||
|
|
| **用例名称** | 删除已绑定学生的会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在已绑定学生的会员 |
|
|||
|
|
| **测试步骤** | 1. 在列表中点击删除<br>2. 确认删除 |
|
|||
|
|
| **预期结果** | 提示"该会员已绑定学生,请先解绑学生后再删除" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-032 删除确认取消
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-032 |
|
|||
|
|
| **用例名称** | 删除确认取消 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 存在会员数据 |
|
|||
|
|
| **测试步骤** | 1. 点击删除<br>2. 在确认弹窗点击取消 |
|
|||
|
|
| **预期结果** | 会员未被删除 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.5 重置密码
|
|||
|
|
|
|||
|
|
#### TC-MEM-040 重置密码成功
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-040 |
|
|||
|
|
| **用例名称** | 重置密码成功 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在会员数据 |
|
|||
|
|
| **测试步骤** | 1. 在列表中点击重置密码<br>2. 确认操作 |
|
|||
|
|
| **预期结果** | 1. 弹窗显示新密码<br>2. 新密码为8位随机字符 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-041 复制新密码
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-041 |
|
|||
|
|
| **用例名称** | 复制新密码 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 已重置密码,弹窗显示中 |
|
|||
|
|
| **测试步骤** | 1. 点击复制按钮 |
|
|||
|
|
| **预期结果** | 1. 提示"复制成功"<br>2. 密码已复制到剪贴板 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-042 新密码可登录
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-042 |
|
|||
|
|
| **用例名称** | 使用新密码登录 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 已重置密码并记录新密码 |
|
|||
|
|
| **测试步骤** | 1. 使用会员手机号和新密码登录移动端 |
|
|||
|
|
| **预期结果** | 登录成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.6 状态切换
|
|||
|
|
|
|||
|
|
#### TC-MEM-050 禁用会员
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-050 |
|
|||
|
|
| **用例名称** | 禁用会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在状态为"正常"的会员 |
|
|||
|
|
| **测试步骤** | 1. 点击状态开关,关闭<br>2. 确认操作 |
|
|||
|
|
| **预期结果** | 1. 状态变为"停用"<br>2. 提示操作成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-051 启用会员
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-051 |
|
|||
|
|
| **用例名称** | 启用会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在状态为"停用"的会员 |
|
|||
|
|
| **测试步骤** | 1. 点击状态开关,开启<br>2. 确认操作 |
|
|||
|
|
| **预期结果** | 1. 状态变为"正常"<br>2. 提示操作成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-052 禁用会员无法登录
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-052 |
|
|||
|
|
| **用例名称** | 禁用会员无法登录 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 会员已被禁用 |
|
|||
|
|
| **测试步骤** | 1. 使用被禁用会员的手机号和密码登录 |
|
|||
|
|
| **预期结果** | 提示"账号已被禁用" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.7 学生绑定
|
|||
|
|
|
|||
|
|
#### TC-MEM-060 家长绑定学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-060 |
|
|||
|
|
| **用例名称** | 家长绑定任意学生 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 存在家长会员<br>2. 存在未绑定的学生 |
|
|||
|
|
| **测试步骤** | 1. 编辑家长会员<br>2. 点击绑定学生<br>3. 选择任意学生<br>4. 确认绑定 |
|
|||
|
|
| **预期结果** | 1. 学生列表显示在会员下<br>2. 绑定成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-061 教师绑定本校学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-061 |
|
|||
|
|
| **用例名称** | 教师绑定本校学生 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 存在教师会员(属于学校A)<br>2. 存在学校A的学生 |
|
|||
|
|
| **测试步骤** | 1. 编辑教师会员<br>2. 点击绑定学生<br>3. 选择本校学生<br>4. 确认绑定 |
|
|||
|
|
| **预期结果** | 绑定成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-062 教师绑定非本校学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-062 |
|
|||
|
|
| **用例名称** | 教师绑定非本校学生(失败) |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 1. 存在教师会员(属于学校A)<br>2. 存在学校B的学生 |
|
|||
|
|
| **测试步骤** | 1. 编辑教师会员<br>2. 尝试绑定学校B的学生 |
|
|||
|
|
| **预期结果** | 1. 学生选择弹窗只显示本校学生<br>2. 或提示"教师只能绑定本校学生" |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-063 解绑学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-063 |
|
|||
|
|
| **用例名称** | 解绑学生 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 存在已绑定学生的会员 |
|
|||
|
|
| **测试步骤** | 1. 编辑会员<br>2. 点击学生列表中的解绑按钮<br>3. 确认解绑 |
|
|||
|
|
| **预期结果** | 1. 学生从列表中移除<br>2. 解绑成功 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-064 绑定多个学生
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-064 |
|
|||
|
|
| **用例名称** | 绑定多个学生 |
|
|||
|
|
| **优先级** | P1 |
|
|||
|
|
| **前置条件** | 存在家长会员和多个学生 |
|
|||
|
|
| **测试步骤** | 1. 编辑家长会员<br>2. 多次绑定不同学生 |
|
|||
|
|
| **预期结果** | 可以绑定多个学生 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.8 数据权限测试
|
|||
|
|
|
|||
|
|
#### TC-MEM-070 超级管理员查看全部
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-070 |
|
|||
|
|
| **用例名称** | 超级管理员查看全部会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 使用超级管理员账号登录 |
|
|||
|
|
| **测试步骤** | 进入会员管理页面查看列表 |
|
|||
|
|
| **预期结果** | 显示所有会员数据 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-071 分公司用户查看区域会员
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-071 |
|
|||
|
|
| **用例名称** | 分公司用户查看所属区域会员 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 使用分公司用户账号登录(如武汉分公司) |
|
|||
|
|
| **测试步骤** | 进入会员管理页面查看列表 |
|
|||
|
|
| **预期结果** | 只显示武汉区域的会员 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
#### TC-MEM-072 学校用户查看本校教师
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| **用例编号** | TC-MEM-072 |
|
|||
|
|
| **用例名称** | 学校用户查看本校教师 |
|
|||
|
|
| **优先级** | P0 |
|
|||
|
|
| **前置条件** | 使用学校用户账号登录(如武汉一中) |
|
|||
|
|
| **测试步骤** | 进入会员管理页面查看列表 |
|
|||
|
|
| **预期结果** | 只显示武汉一中的教师会员 |
|
|||
|
|
| **实际结果** | |
|
|||
|
|
| **测试状态** | 待测试 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 接口测试用例
|
|||
|
|
|
|||
|
|
### 3.1 查询会员列表接口
|
|||
|
|
|
|||
|
|
| 用例编号 | 接口 | 请求参数 | 预期响应 |
|
|||
|
|
|---------|------|---------|---------|
|
|||
|
|
| API-001 | GET /member/list | pageNum=1&pageSize=10 | code=200, 返回列表数据 |
|
|||
|
|
| API-002 | GET /member/list | phone=138 | 返回手机号包含138的会员 |
|
|||
|
|
| API-003 | GET /member/list | identityType=2 | 返回教师会员 |
|
|||
|
|
| API-004 | GET /member/list | status=1 | 返回停用会员 |
|
|||
|
|
|
|||
|
|
### 3.2 新增会员接口
|
|||
|
|
|
|||
|
|
| 用例编号 | 接口 | 请求参数 | 预期响应 |
|
|||
|
|
|---------|------|---------|---------|
|
|||
|
|
| API-010 | POST /member | {phone:"13912345678", identityType:"1"} | code=200 |
|
|||
|
|
| API-011 | POST /member | {phone:"", identityType:"1"} | code=400, msg="手机号不能为空" |
|
|||
|
|
| API-012 | POST /member | {phone:"123", identityType:"1"} | code=400, msg="手机号格式不正确" |
|
|||
|
|
| API-013 | POST /member | {phone:"13812345678", identityType:"2"} | code=400, msg="请选择所属区域" |
|
|||
|
|
|
|||
|
|
### 3.3 重置密码接口
|
|||
|
|
|
|||
|
|
| 用例编号 | 接口 | 请求参数 | 预期响应 |
|
|||
|
|
|---------|------|---------|---------|
|
|||
|
|
| API-020 | PUT /member/resetPwd/1 | - | code=200, password存在 |
|
|||
|
|
| API-021 | PUT /member/resetPwd/999999 | - | code=500, msg="会员不存在" |
|
|||
|
|
|
|||
|
|
### 3.4 删除会员接口
|
|||
|
|
|
|||
|
|
| 用例编号 | 接口 | 请求参数 | 预期响应 |
|
|||
|
|
|---------|------|---------|---------|
|
|||
|
|
| API-030 | DELETE /member/1 | - | code=200(无绑定学生时) |
|
|||
|
|
| API-031 | DELETE /member/2 | - | code=500, msg="请先解绑学生"(有绑定学生时) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 边界测试
|
|||
|
|
|
|||
|
|
### 4.1 字段长度测试
|
|||
|
|
|
|||
|
|
| 用例编号 | 字段 | 测试值 | 预期结果 |
|
|||
|
|
|---------|------|--------|---------|
|
|||
|
|
| BT-001 | 手机号 | 10位数字 | 提示格式错误 |
|
|||
|
|
| BT-002 | 手机号 | 12位数字 | 提示格式错误 |
|
|||
|
|
| BT-003 | 昵称 | 50个字符 | 保存成功 |
|
|||
|
|
| BT-004 | 昵称 | 51个字符 | 截断或提示超长 |
|
|||
|
|
|
|||
|
|
### 4.2 分页边界测试
|
|||
|
|
|
|||
|
|
| 用例编号 | 测试场景 | 预期结果 |
|
|||
|
|
|---------|---------|---------|
|
|||
|
|
| BT-010 | pageNum=0 | 默认为第1页 |
|
|||
|
|
| BT-011 | pageSize=0 | 默认为10条 |
|
|||
|
|
| BT-012 | pageNum超过总页数 | 返回空列表 |
|
|||
|
|
| BT-013 | 无数据时查询 | 返回空列表,total=0 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 性能测试
|
|||
|
|
|
|||
|
|
### 5.1 响应时间测试
|
|||
|
|
|
|||
|
|
| 用例编号 | 测试场景 | 性能指标 |
|
|||
|
|
|---------|---------|---------|
|
|||
|
|
| PT-001 | 列表查询(10万条数据) | ≤ 500ms |
|
|||
|
|
| PT-002 | 新增会员 | ≤ 300ms |
|
|||
|
|
| PT-003 | 编辑会员 | ≤ 300ms |
|
|||
|
|
| PT-004 | 重置密码 | ≤ 200ms |
|
|||
|
|
|
|||
|
|
### 5.2 并发测试
|
|||
|
|
|
|||
|
|
| 用例编号 | 测试场景 | 性能指标 |
|
|||
|
|
|---------|---------|---------|
|
|||
|
|
| PT-010 | 100并发查询 | 成功率 ≥ 99% |
|
|||
|
|
| PT-011 | 50并发新增 | 成功率 ≥ 99%,无数据重复 |
|
|||
|
|
| PT-012 | 20并发重置密码 | 成功率 ≥ 99% |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 测试环境
|
|||
|
|
|
|||
|
|
### 6.1 环境要求
|
|||
|
|
|
|||
|
|
| 环境 | 配置 |
|
|||
|
|
|-----|------|
|
|||
|
|
| 操作系统 | Windows 10 / macOS / Linux |
|
|||
|
|
| 浏览器 | Chrome 最新版本 |
|
|||
|
|
| 后端服务 | Java 17+, Spring Boot 3.3.x |
|
|||
|
|
| 数据库 | MySQL 8.0 |
|
|||
|
|
| 缓存 | Redis 7.x |
|
|||
|
|
|
|||
|
|
### 6.2 测试数据
|
|||
|
|
|
|||
|
|
- 准备至少50条会员测试数据
|
|||
|
|
- 包含家长和教师两种身份类型
|
|||
|
|
- 包含正常和停用两种状态
|
|||
|
|
- 部分会员已绑定学生
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 测试报告模板
|
|||
|
|
|
|||
|
|
| 项目 | 内容 |
|
|||
|
|
|-----|------|
|
|||
|
|
| 测试人员 | |
|
|||
|
|
| 测试日期 | |
|
|||
|
|
| 测试版本 | |
|
|||
|
|
| 总用例数 | |
|
|||
|
|
| 通过数 | |
|
|||
|
|
| 失败数 | |
|
|||
|
|
| 阻塞数 | |
|
|||
|
|
| 通过率 | |
|
|||
|
|
| 遗留问题 | |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*文档结束*
|