- 1 测试工作安排
- 1.1 冲刺周期与测试介入时机
- 1.2 测试团队构成与职责分工
- 2 测试准备
- 2.1 测试策略
- 2.2 测试工具
- 3 测试用例设计
- 4 测试推进
- 4.1 分支及测试用例分析
- 4.1.1 register模块
- 4.1.2 login模块
- 4.2 测试结果
- 4.2.1 register模块
- 4.2.2 login模块
- 4.2.3 发现BUG
- 5 测试改进方向
- 6 测试总结
1 测试工作安排
1.1 冲刺周期与测试介入时机
- 冲刺周期:2025.10.30 - 2025.11.04
- 测试介入:2025.11.02
1.2 测试团队构成与职责分工
| 成员 | 任务 |
|---|
| 102300107 | 协助测试、AI测试员 |
| 102300434 | 软件测试、撰写测试随笔 |
2 测试准备
2.1 测试策略
- 单元测试(占比30%) —— 覆盖实体类、工具类、服务逻辑
- 接口测试(占比70%) —— 验证所有 API 的正确性与安全性
2.2 测试工具
- 单元测试:JUnit
- 接口测试:Apifox / Postman
3 测试用例设计
使用MySQL脚本生成大量正常测试用例以进行测试。
4 测试推进
4.1 分支及测试用例分析
4.1.1 register模块
| 用例编号 | 条件描述 | 输入数据 | 预期行为 |
|---|
| TC01 | 用户名以0开头 | 0开头的用户名+密码 | 成功注册,角色为ADMIN |
| TC02 | 用户名以9开头 | 9开头的用户名+密码 | 成功注册,角色为CONSULTANT |
| TC03 | 用户名以其他数字开头 | 其他数字开头的用户名+密码 | 成功注册,角色为USER |
| TC04 | 用户名已存在 | 已存在的用户名+密码 | 抛出"用户名已存在"异常 |
| TC05 | 密码仅包含数字 | 用户名+密码 | 无法注册 |
| TC06 | 邮箱已存在 | 用户名+密码+已存在的邮箱 | 抛出"邮箱已存在"异常 |
4.1.2 login模块
| 用例编号 | 条件描述 | 输入数据 | 预期行为 |
|---|
| TC01 | 用户存在且密码匹配、状态正常 | 合法用户名 + 密码 | 成功返回包含 token 的 LoginResponse |
| TC02 | 用户不存在 | 错误用户名 | 抛出"用户名或密码错误"异常 |
| TC03 | 密码不匹配 | 存在用户名但错误密码 | 抛出"用户名或密码错误"异常 |
| TC04 | 用户被封禁 | 存在用户名但状态为 BANNED | 抛出"用户状态异常,无法登录"异常 |
4.2 测试结果
4.2.1 register模块
- 注册管理员

- 注册咨询师

- 注册用户

- 用户名已存在

- 密码格式错误

- 邮箱已存在

4.2.2 login模块
- 用户存在且密码匹配、状态正常

- 用户不存在

- 密码不匹配

- 用户被封禁

4.2.3 发现BUG
- BUG:无法登录离线用户
- 原因:登录时系统检验状态时,当状态为ACTIVE时可以登录,为INACTIVE时无法登录,导致无法登录离线的用户

- BUG:无法登录预加载的管理员账号
- 原因:数据库对密码自动加密,预存的管理员账号密码未加密,会被判定为账号或密码错误

- BUG:无法注册账号
- 原因:注册账号时作为可选项的邮箱、电话等信息为空,会被判定为重复或格式错误

- BUG:无法注册咨询师或管理员
- 原因:注册账号时默认设置账号的类型为用户,且可选参数中不包含类型,导致无法注册咨询师或管理员账号

5 测试改进方向
- 测试覆盖率:当前测试还未覆盖所有单元与接口,同时还未进行集成测试与性能测试等,后续将继续推进测试。
- 自动化覆盖率:当前测试大多数为手动测试,自动化测试覆盖率低、回归耗时长。
- 后续优化计划:引入更多自动化框架,对更多单元与接口进行测试,同时进行集成测试与性能测试等。
6 测试总结
- 手工测试与自动化测试:自动化测试能够节省许多手动测试的时间,但自动化测试本身的部署过程相较手工测试慢,因此在实际测试时应平衡手工测试与自动化测试的比例。
- 开发与测试协作:测试时应积极与开发人员沟通测试结果,在开发人员修复BUG后进行回归测试。
- 测试数据准备:对于大量正常测试数据的生成,可设计可重复随机生成测试数据的脚本,以实现多次使用。
- AI技术员的作用:使用AI辅助分析代码运行分支,对每个分支分别设计测试用例;使用AI辅助生成测试数据。