news 2026/9/2 7:52:35

抽奖系统测试报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抽奖系统测试报告

测试用例

抽奖系统测试报告

项目背景

  • 项目名称: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与手动用例;补充性能/安全测试报告;对未通过用例跟进缺陷修复并回归。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 2:01:06

脚本 手机跑.简易go服务器

termux 运行即可package mainimport ("log" // 1. 导入日志包"net/http" // 2. 导入HTTP服务包 )// 3. 主函数 - 程序入口点 func main() {// 4. 创建文件服务器,服务当前目录fs : http.FileServer(http.Dir("."))// 5. 注册路由…

作者头像 李华
网站建设 2026/9/3 2:53:30

动态规划解决堆箱子问题:从原理到代码实现

动态规划解决堆箱子问题:从原理到代码实现在算法领域中,堆箱子问题是经典的动态规划应用场景之一。它不仅考察对问题的建模能力,更能深入体现动态规划“分解子问题、存储中间状态、复用最优解”的核心思想。本文将从问题定义出发,…

作者头像 李华
网站建设 2026/9/2 23:00:15

青少年编程竞赛怎么准备?刷题、复盘与社区交流的重要性

青少年编程竞赛怎么准备?刷题、复盘与社区交流的重要性内容概要编程能力评估的核心价值在于促进系统性学习,需注意避免单纯追求证书的倾向;选择评估体系时可关注其权威性、科学性与实用性;竞赛准备需要系统化规划,将能…

作者头像 李华
网站建设 2026/9/2 12:46:05

智能缓存优化测试数据的策略与实践

缓存测试数据:软件测试的新维度 在当今高速迭代的软件开发环境中,测试数据管理已成为影响测试效率与质量的关键因素。智能缓存优化测试数据不再是简单的数据复用技术,而是融合了数据分析、预测算法和资源调度的综合性解决方案。对软件测试从…

作者头像 李华