当前位置: 首页 > news >正文

【测试报告】抽奖系统

一、测试目的

  1. 验证系统功能完整性,确保核心业务流程(用户管理、活动创建、抽奖逻辑、中奖通知)正常运行。
  2. 检查系统在高并发场景下的稳定性与性能表现。
  3. 验证数据一致性、安全性及异常处理机制。
  4. 确保接口响应符合预期,满足业务需求。
二、测试环境

环境项配置
操作系统CentOS 7.9 / Windows 10
编程语言Java 17
后端框架Spring Boot 3.0
数据库MySQL 8.0.33
缓存Redis 7.0.8
消息队列RabbitMQ 3.11.2
中间件Nginx 1.20.1
测试工具Postman、JMeter、Selenium
三、测试方法

  1. 功能测试

    • 覆盖用户注册 / 登录、活动创建、奖品管理、抽奖流程、中奖通知等核心功能。
    • 使用 Postman 验证接口逻辑(如/register/draw-prize)。
  2. 接口测试

    • 验证接口返回格式(如CommonResult<T>)、参数校验(如@Validated)。
    • 测试接口幂等性(如重复提交抽奖请求)。
  3. 性能测试

    • 使用 JMeter 模拟高并发场景(500 + 用户同时抽奖),监控响应时间、吞吐量。
  4. 安全测试

    • 验证 JWT 认证机制(拦截器强制登录)、敏感数据加密(AES 加密手机号)。
    • 检查 SQL 注入、XSS 攻击防护。
  5. 异常处理测试

    • 模拟网络中断、参数缺失、重复操作等异常场景,验证系统容错能力。
四、关键测试用例

测试项测试步骤预期结果实际结果
用户注册1. 填写合法信息提交
2. 重复提交相同邮箱 / 手机号
1. 返回成功响应
2. 提示 “邮箱 / 手机号已被使用”
符合预期
管理员登录1. 使用密码 / 验证码登录
2. 未携带 token 访问受限页面
1. 成功获取 token
2. 跳转至登录页
符合预期
活动创建1. 关联奖品和人员
2. 提交空奖品或人员列表
1. 活动创建成功
2. 提示 “奖品 / 人员信息不能为空”
符合预期
抽奖流程1. 发起抽奖请求
2. 刷新页面后重试
1. 异步返回成功
2. 避免重复抽奖
符合预期
中奖通知1. 中奖后检查短信 / 邮件
2. 修改通知模板参数
1. 收到通知
2. 内容包含正确信息
符合预期
高并发抽奖使用 JMeter 模拟 500 用户并发请求系统无崩溃,响应时间 < 500ms响应时间平均 420ms,无异常
异常回滚1. 抽奖过程中终止 MQ 服务
2. 检查数据库状态
1. 消息转入死信队列
2. 数据回滚至初始状态
符合预期
五、缺陷记录

缺陷编号缺陷描述严重程度修复状态修复方案
L-001活动创建时未校验奖品库存与中奖人数匹配已修复添加参数校验逻辑,确保prizeAmount >= winnerList.size()
L-002高并发下 Redis 缓存未及时更新,导致抽奖结果展示延迟已修复优化缓存更新策略,增加失效时间(TTL)
L-003抽奖页面未限制管理员操作,普通用户可通过 URL 访问已修复在拦截器中增加身份校验(identity=ADMIN
六、测试结论

  1. 功能完整性:核心功能(用户管理、活动创建、抽奖流程)运行稳定,接口响应符合设计预期。
  2. 性能表现:支持 500 + 用户并发抽奖,响应时间平均 420ms,系统无内存泄漏或崩溃。
  3. 安全性:JWT 认证、敏感数据加密、异常回滚机制有效保障系统安全。
  4. 改进建议
    • 增加自动化测试覆盖率(单元测试、集成测试)。
    • 优化数据库索引(如activity_prize表的activity_id字段)。
    • 完善监控报警机制(如 MQ 消息积压监控)。

测试人员:王千羽
测试日期:2025-02-17

相关文章:

  • C++20 中的同步输出流:`std::basic_osyncstream` 深入解析与应用实践
  • maven在windows系统上的详细安装和配置
  • 【入门初级篇】报表基础操作与功能介绍
  • C++中函数模板与类模板的简单使用
  • STC89C52单片机学习——第26节: [11-2]蜂鸣器播放音乐
  • 谈谈 CSS 中z - index属性的作用及在什么情况下会失效。
  • 「数据会说话」:让AI成为你的数据分析魔法师 ✨
  • yolov5学习及手势识别实战
  • 让 Google Play 成为助力 PC 游戏增长的最佳平台
  • K8S学习之基础三十七:prometheus监控node资源
  • idea底部图标不小心关了,怎么重新打开?
  • PyTorch使用(3)-张量类型转换
  • 在Oracle Linux 7上安装Oracle 11gr2数据库
  • DevEco Studio的使用
  • 虚幻基础:ue自定义类
  • Qwen2.5-VL 开源视觉大模型,模型体验、下载、推理、微调、部署实战
  • 力扣 Hot 100 刷题记录 - 将有序数组转换为二叉搜索树
  • C#命令行参数用法
  • Python程序常用的配置文件格式及例子(上)
  • Linux搭建conda虚拟环境流程
  • 免费在线建站/市场调研报告怎么写
  • 多个网站一个域名/吉安seo
  • 怎样做自己的微商网站/视频剪辑培训
  • 建设网站中期/大的网站建设公司
  • 个人网站申请/深圳seo技术
  • 建网站手机怎么做/seo基础理论