抽奖系统测试报告
2026/6/12 20:26:05 网站建设 项目流程

测试用例

抽奖系统测试报告

项目背景

  • 项目名称:lottery-system(抽奖系统),基于 Spring Boot 3.5.4、MyBatis、Redis、RabbitMQ 与邮件服务实现活动、用户、奖品管理及抽奖流程。
  • 主要特性:支持密码/邮箱验证码登录、活动/奖品/用户 CRUD、抽奖与中奖名单分享,异步通知及缓存加速。

项目结构

  • 后端代码:src/main/java/com/fgs/demo
    • controller:登录、活动、奖品、用户、抽奖等接口。
    • service:业务实现与状态管理、MQ 接收、验证码/图片等服务。
    • dao:MyBatis DO/Mapper,含加密类型处理器。
    • common:统一返回体、异常、拦截器、配置、工具类(JWT、Redis、Mail、Captcha 等)。
  • 前端静态页:src/main/resources/static(login/admin/create-activity/prizes-list/draw 等页面及样式资源)。
  • 配置:src/main/resources/application.yml(MySQL、Redis、RabbitMQ、SMTP 等),logback-spring.xml
  • 自动化测试:src/test/java/com/fgs/demo下若干单元/集成测试类(启动、自定义工具、DAO、服务等)。

测试环境

  • 硬件/操作系统:Windows 10(本机),建议 8GB+ 内存。
  • 软件版本:JDK 17;Maven 3.9+;MySQL 8.x(库名lottery_system);Redis(默认 127.0.0.1:6380);RabbitMQ(默认 139.159.216.200:5672);SMTP(QQ 邮箱,SSL 465)。
  • 运行配置:spring.profiles.active=dev;数据源账户默认root/1302743585,需按实际环境修改;图片根路径D:/PIC
  • 启动步骤:mvn clean packagejava -jar target/lottery-system-0.0.1-SNAPSHOT.jar或 IDE 直接运行LotterySystemApplication

功能测试

手动测试(按页面/功能)

测试用例





  • 登录页
    • 密码登录:正确账号密码应跳转管理员页;缺失密码/账号时提示必填;状态均未执行。
    • 验证码登录:正确邮箱+验证码应登录并清理 Redis;邮箱格式校验与验证码错误提示;状态未执行。
  • 活动页
    • 列表与翻页:正常展示排序,翻页边界提示;未执行。
    • 新建活动:昵称唯一校验、必填校验、人员/奖品数量校验;未执行。
  • 奖品页
    • 列表与翻页:正常展示与边界提示;未执行。
    • 新建奖品:昵称唯一与必填校验;未执行。
  • 用户页
    • 用户管理:列表展示、创建用户(唯一/格式校验)、按 ID 搜索等;仅“按 ID 搜索”用例标记通过,其余未执行。
  • 抽奖页
    • 抽奖流程:开始抽奖、查看中奖名单、分享结果;未执行。
  • 用例来源:docs/test-cases.md,状态字段默认“未执行”,后续执行需更新实际结果与状态。

自动化测试

  • 现有测试类(未在本报告内执行):
    • LotterySystemApplicationTests:应用上下文加载。
    • 工具/组件:JacksonTestEncryptTestRedisTestMailTestlogTest
    • 业务/服务:drawPrizeTest(抽奖服务)、UserTestVerificationCodeServiceImplTestsqlTest等。
  • 建议执行:mvn test;记录通过率、失败原因与日志。

性能测试

  • 当前未执行性能测试。建议场景:
    • 抽奖高并发(启动/开奖写库与缓存一致性)。
    • 活动/奖品列表分页接口 QPS 与响应时间。
    • Redis/RabbitMQ 连接池与线程池饱和度(配置见async.executor.thread)。
    • 数据库写入压力(批量创建用户/活动/奖品)。
  • 建议指标:P95/P99 延迟、错误率、CPU/内存、数据库 QPS、Redis 命中率、MQ 吞吐。

安全性测试

  • 当前未执行安全性测试。建议检查:
    • 鉴权与会话:JWT token 有效期、过期与伪造校验;登录错误次数限制;验证码暴力破解防护。
    • 输入与存储:参数校验绕过、SQL 注入、XSS;敏感配置(DB/SMTP 密码)外置化与加密。
    • 传输与接口:HTTPS/HTTP 限制,敏感接口权限(活动/奖品/用户 CRUD、抽奖操作)。
    • 审计与日志:关键操作日志留存,异常不泄露敏感信息。

结论与后续计划

  • 当前仅完成用例设计与部分自动化样例,尚未批量执行;功能、性能、安全结果为空,需要按环境执行后回填。
  • 后续行动:完善测试数据与初始化脚本;在目标环境跑通mvn test与手动用例;补充性能/安全测试报告;对未通过用例跟进缺陷修复并回归。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询