pangu-user-platform/docs/05-模块技术方案/会员管理/会员管理测试用例_v1.0.md

21 KiB
Raw Blame History

会员管理模块 - 测试用例


文档信息 内容
文档版本 V1.0
模块名称 会员管理模块 - 测试用例
编写团队 pangu
创建日期 2026-01-31

1. 测试范围

1.1 测试模块

  • 会员列表查询
  • 会员新增
  • 会员编辑
  • 会员删除
  • 重置密码
  • 状态切换
  • 学生绑定/解绑
  • 数据权限

1.2 测试类型

测试类型 说明
功能测试 验证功能是否符合需求
接口测试 验证API接口正确性
边界测试 验证边界条件处理
异常测试 验证异常情况处理
权限测试 验证权限控制
性能测试 验证性能指标

2. 功能测试用例

2.1 会员列表查询

TC-MEM-001 正常查询会员列表

项目 内容
用例编号 TC-MEM-001
用例名称 正常查询会员列表
优先级 P0
前置条件 1. 用户已登录后台
2. 用户具有 user:member:list 权限
3. 数据库中存在会员数据
测试步骤 1. 进入会员管理页面
2. 不输入任何搜索条件
3. 点击搜索按钮
预期结果 1. 页面正常加载
2. 表格显示会员列表
3. 分页信息正确显示
实际结果
测试状态 待测试

TC-MEM-002 按手机号查询

项目 内容
用例编号 TC-MEM-002
用例名称 按手机号查询会员
优先级 P0
前置条件 1. 用户已登录后台
2. 数据库中存在手机号为 13812345678 的会员
测试步骤 1. 在手机号输入框输入"138"
2. 点击搜索按钮
预期结果 1. 列表显示手机号包含"138"的会员
2. 手机号以脱敏形式显示138****5678
实际结果
测试状态 待测试

TC-MEM-003 按身份类型查询

项目 内容
用例编号 TC-MEM-003
用例名称 按身份类型查询会员
优先级 P0
前置条件 1. 用户已登录后台
2. 数据库中存在家长和教师类型的会员
测试步骤 1. 在身份类型下拉框选择"教师"
2. 点击搜索按钮
预期结果 1. 列表只显示身份类型为"教师"的会员
2. 身份类型列显示"教师"标签
实际结果
测试状态 待测试

TC-MEM-004 按注册时间范围查询

项目 内容
用例编号 TC-MEM-004
用例名称 按注册时间范围查询
优先级 P1
前置条件 1. 用户已登录后台
2. 数据库中存在不同注册时间的会员
测试步骤 1. 选择注册时间范围为"2026-01-01"至"2026-01-31"
2. 点击搜索按钮
预期结果 列表只显示注册时间在2026年1月份的会员
实际结果
测试状态 待测试

TC-MEM-005 组合条件查询

项目 内容
用例编号 TC-MEM-005
用例名称 组合条件查询
优先级 P1
前置条件 用户已登录后台
测试步骤 1. 输入手机号"138"
2. 选择身份类型"教师"
3. 选择状态"正常"
4. 点击搜索
预期结果 列表显示同时满足所有条件的会员
实际结果
测试状态 待测试

TC-MEM-006 重置搜索条件

项目 内容
用例编号 TC-MEM-006
用例名称 重置搜索条件
优先级 P1
前置条件 用户已输入搜索条件
测试步骤 1. 输入各种搜索条件
2. 点击重置按钮
预期结果 1. 所有搜索条件清空
2. 列表显示全部数据(分页)
实际结果
测试状态 待测试

2.2 会员新增

TC-MEM-010 新增家长会员-必填项

项目 内容
用例编号 TC-MEM-010
用例名称 新增家长会员-仅填必填项
优先级 P0
前置条件 1. 用户已登录后台
2. 用户具有 user:member:add 权限
测试步骤 1. 点击新增按钮
2. 输入手机号"13912345678"
3. 选择身份类型"家长"
4. 点击保存
预期结果 1. 提示"新增成功"
2. 返回列表页
3. 列表中显示新增的会员
4. 会员编号自动生成JS+时间戳)
5. 昵称自动生成
实际结果
测试状态 待测试

TC-MEM-011 新增家长会员-全部字段

项目 内容
用例编号 TC-MEM-011
用例名称 新增家长会员-填写全部字段
优先级 P0
前置条件 用户已登录后台
测试步骤 1. 点击新增按钮
2. 输入手机号"13922345678"
3. 输入昵称"张三家长"
4. 选择性别"男"
5. 选择出生日期
6. 选择身份类型"家长"
7. 点击保存
预期结果 1. 提示"新增成功"
2. 所有字段正确保存
实际结果
测试状态 待测试

TC-MEM-012 新增教师会员-完整信息

项目 内容
用例编号 TC-MEM-012
用例名称 新增教师会员
优先级 P0
前置条件 1. 用户已登录后台
2. 系统中存在学校数据
测试步骤 1. 点击新增按钮
2. 输入手机号"13932345678"
3. 输入昵称"李老师"
4. 选择身份类型"教师"
5. 选择所属区域
6. 选择所属学校
7. 选择所属年级
8. 选择所属班级
9. 点击保存
预期结果 1. 提示"新增成功"
2. 教师信息正确保存
实际结果
测试状态 待测试

TC-MEM-013 新增教师-缺少学校信息

项目 内容
用例编号 TC-MEM-013
用例名称 新增教师会员-缺少学校信息
优先级 P0
前置条件 用户已登录后台
测试步骤 1. 点击新增按钮
2. 输入手机号
3. 选择身份类型"教师"
4. 不选择学校信息
5. 点击保存
预期结果 提示"请选择所属区域/学校/年级/班级"
实际结果
测试状态 待测试

TC-MEM-014 手机号格式校验

项目 内容
用例编号 TC-MEM-014
用例名称 手机号格式校验
优先级 P0
前置条件 用户已登录后台
测试数据 错误手机号12345678901、1381234567、138123456789、abcdefghijk
测试步骤 1. 输入错误格式的手机号
2. 触发校验
预期结果 提示"请输入正确的手机号"
实际结果
测试状态 待测试

TC-MEM-015 手机号唯一性校验

项目 内容
用例编号 TC-MEM-015
用例名称 手机号唯一性校验
优先级 P0
前置条件 数据库中已存在手机号为 13812345678 的会员
测试步骤 1. 点击新增
2. 输入已存在的手机号"13812345678"
3. 点击保存
预期结果 提示"手机号已存在"
实际结果
测试状态 待测试

TC-MEM-016 新增时绑定学生

项目 内容
用例编号 TC-MEM-016
用例名称 新增会员时绑定学生
优先级 P1
前置条件 系统中存在未绑定的学生
测试步骤 1. 新增家长会员
2. 点击绑定学生
3. 选择学生
4. 确认绑定
5. 保存会员
预期结果 1. 会员创建成功
2. 学生绑定成功
实际结果
测试状态 待测试

2.3 会员编辑

TC-MEM-020 编辑基本信息

项目 内容
用例编号 TC-MEM-020
用例名称 编辑会员基本信息
优先级 P0
前置条件 数据库中存在会员数据
测试步骤 1. 在列表中点击编辑
2. 修改昵称、性别、出生日期
3. 点击保存
预期结果 1. 提示"修改成功"
2. 信息正确更新
实际结果
测试状态 待测试

TC-MEM-021 编辑-修改手机号

项目 内容
用例编号 TC-MEM-021
用例名称 修改会员手机号
优先级 P0
前置条件 数据库中存在会员数据
测试步骤 1. 点击编辑
2. 修改手机号为新的有效手机号
3. 点击保存
预期结果 1. 手机号更新成功
2. 唯一性校验通过
实际结果
测试状态 待测试

TC-MEM-022 编辑-修改为已存在手机号

项目 内容
用例编号 TC-MEM-022
用例名称 修改为已存在的手机号
优先级 P0
前置条件 存在两个会员手机号分别为A和B
测试步骤 1. 编辑会员A
2. 将手机号改为会员B的手机号
3. 点击保存
预期结果 提示"手机号已存在"
实际结果
测试状态 待测试

TC-MEM-023 身份类型切换-家长改教师

项目 内容
用例编号 TC-MEM-023
用例名称 身份类型切换-家长改教师
优先级 P0
前置条件 存在身份类型为家长的会员
测试步骤 1. 编辑家长会员
2. 将身份类型改为"教师"
3. 观察表单变化
4. 填写学校信息
5. 保存
预期结果 1. 切换后显示教师信息区域
2. 要求填写学校相关信息
3. 保存成功
实际结果
测试状态 待测试

TC-MEM-024 身份类型切换-教师改家长

项目 内容
用例编号 TC-MEM-024
用例名称 身份类型切换-教师改家长
优先级 P0
前置条件 存在身份类型为教师的会员
测试步骤 1. 编辑教师会员
2. 将身份类型改为"家长"
3. 观察表单变化
4. 保存
预期结果 1. 切换后隐藏教师信息区域
2. 学校信息被清空
3. 保存成功
实际结果
测试状态 待测试

2.4 会员删除

TC-MEM-030 删除无绑定会员

项目 内容
用例编号 TC-MEM-030
用例名称 删除无绑定学生的会员
优先级 P0
前置条件 存在未绑定学生的会员
测试步骤 1. 在列表中点击删除
2. 确认删除
预期结果 1. 提示"删除成功"
2. 会员从列表消失(软删除)
实际结果
测试状态 待测试

TC-MEM-031 删除有绑定会员

项目 内容
用例编号 TC-MEM-031
用例名称 删除已绑定学生的会员
优先级 P0
前置条件 存在已绑定学生的会员
测试步骤 1. 在列表中点击删除
2. 确认删除
预期结果 提示"该会员已绑定学生,请先解绑学生后再删除"
实际结果
测试状态 待测试

TC-MEM-032 删除确认取消

项目 内容
用例编号 TC-MEM-032
用例名称 删除确认取消
优先级 P1
前置条件 存在会员数据
测试步骤 1. 点击删除
2. 在确认弹窗点击取消
预期结果 会员未被删除
实际结果
测试状态 待测试

2.5 重置密码

TC-MEM-040 重置密码成功

项目 内容
用例编号 TC-MEM-040
用例名称 重置密码成功
优先级 P0
前置条件 存在会员数据
测试步骤 1. 在列表中点击重置密码
2. 确认操作
预期结果 1. 弹窗显示新密码
2. 新密码为8位随机字符
实际结果
测试状态 待测试

TC-MEM-041 复制新密码

项目 内容
用例编号 TC-MEM-041
用例名称 复制新密码
优先级 P0
前置条件 已重置密码,弹窗显示中
测试步骤 1. 点击复制按钮
预期结果 1. 提示"复制成功"
2. 密码已复制到剪贴板
实际结果
测试状态 待测试

TC-MEM-042 新密码可登录

项目 内容
用例编号 TC-MEM-042
用例名称 使用新密码登录
优先级 P0
前置条件 已重置密码并记录新密码
测试步骤 1. 使用会员手机号和新密码登录移动端
预期结果 登录成功
实际结果
测试状态 待测试

2.6 状态切换

TC-MEM-050 禁用会员

项目 内容
用例编号 TC-MEM-050
用例名称 禁用会员
优先级 P0
前置条件 存在状态为"正常"的会员
测试步骤 1. 点击状态开关,关闭
2. 确认操作
预期结果 1. 状态变为"停用"
2. 提示操作成功
实际结果
测试状态 待测试

TC-MEM-051 启用会员

项目 内容
用例编号 TC-MEM-051
用例名称 启用会员
优先级 P0
前置条件 存在状态为"停用"的会员
测试步骤 1. 点击状态开关,开启
2. 确认操作
预期结果 1. 状态变为"正常"
2. 提示操作成功
实际结果
测试状态 待测试

TC-MEM-052 禁用会员无法登录

项目 内容
用例编号 TC-MEM-052
用例名称 禁用会员无法登录
优先级 P0
前置条件 会员已被禁用
测试步骤 1. 使用被禁用会员的手机号和密码登录
预期结果 提示"账号已被禁用"
实际结果
测试状态 待测试

2.7 学生绑定

TC-MEM-060 家长绑定学生

项目 内容
用例编号 TC-MEM-060
用例名称 家长绑定任意学生
优先级 P0
前置条件 1. 存在家长会员
2. 存在未绑定的学生
测试步骤 1. 编辑家长会员
2. 点击绑定学生
3. 选择任意学生
4. 确认绑定
预期结果 1. 学生列表显示在会员下
2. 绑定成功
实际结果
测试状态 待测试

TC-MEM-061 教师绑定本校学生

项目 内容
用例编号 TC-MEM-061
用例名称 教师绑定本校学生
优先级 P0
前置条件 1. 存在教师会员属于学校A
2. 存在学校A的学生
测试步骤 1. 编辑教师会员
2. 点击绑定学生
3. 选择本校学生
4. 确认绑定
预期结果 绑定成功
实际结果
测试状态 待测试

TC-MEM-062 教师绑定非本校学生

项目 内容
用例编号 TC-MEM-062
用例名称 教师绑定非本校学生(失败)
优先级 P0
前置条件 1. 存在教师会员属于学校A
2. 存在学校B的学生
测试步骤 1. 编辑教师会员
2. 尝试绑定学校B的学生
预期结果 1. 学生选择弹窗只显示本校学生
2. 或提示"教师只能绑定本校学生"
实际结果
测试状态 待测试

TC-MEM-063 解绑学生

项目 内容
用例编号 TC-MEM-063
用例名称 解绑学生
优先级 P0
前置条件 存在已绑定学生的会员
测试步骤 1. 编辑会员
2. 点击学生列表中的解绑按钮
3. 确认解绑
预期结果 1. 学生从列表中移除
2. 解绑成功
实际结果
测试状态 待测试

TC-MEM-064 绑定多个学生

项目 内容
用例编号 TC-MEM-064
用例名称 绑定多个学生
优先级 P1
前置条件 存在家长会员和多个学生
测试步骤 1. 编辑家长会员
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. 测试报告模板

项目 内容
测试人员
测试日期
测试版本
总用例数
通过数
失败数
阻塞数
通过率
遗留问题

文档结束