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

抽奖系统测试报告

测试用例

抽奖系统测试报告

项目背景

  • 项目名称: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与手动用例;补充性能/安全测试报告;对未通过用例跟进缺陷修复并回归。
http://www.cnnetsun.cn/news/8866.html

相关文章:

  • LED显示屏话筒生产厂家
  • 企业级Java开发:Eclipse定制化安装全攻略
  • 字节面试:如何测试RocketMQ、RocketMQ?测试点有哪些?
  • 访答:数字化时代的知识管理新范式
  • 基于Hadoop的游戏在线时长大数据分析系统毕业设计项目源码
  • 《智能座舱时代:车载HMI渲染引擎的选型、架构与实践》第 1 章 车载座舱对渲染的特殊要求
  • WiFi 定位的基本原理与技术
  • 测试自动化框架设计与最佳实践:构建高效测试体系的路径
  • 【高并发场景下的秘密武器】:ASP.NET Core 9 WebSocket压缩协议实战落地
  • RAG实践指南:一文搞定大模型RAG过程
  • 一份全面的AI_Agent知识地图
  • 软件、硬件的兼容性的测试,你知多少?
  • 【翻译】【SOMEIP-SD】Page37 - Page39
  • Raft算法(二)
  • 一文讲透大模型应用开发:新时代技术核心竞争力人人都能掌握!
  • 创维E900V21E/E900V21C/E900V21D/E900V22E_S905L3B_安卓9.0_当贝桌面线刷固件包
  • AI如何读懂语义?从One-hot到Embedding,揭秘文字概念理解技术演进!
  • Debye-Wolf积分计算器
  • 为啥网站跳转重定向是307 而不是 301 呢?
  • Zabbix监控模板实战指南:从零构建企业级监控体系
  • RulersGuides.js:网页设计中的Photoshop式标尺与辅助线终极指南
  • 如何快速掌握MagicEdit:高保真视频编辑的终极指南
  • 基于STM32的辅助病床智慧监护系统设计(有完整资料)
  • AI音频分离技术深度解析:Ultimate Vocal Remover的多轨处理革命
  • 5大理由告诉你为什么Bookworm是Linux用户必备的电子书阅读器
  • UDP通信
  • 如何快速制作专业有声书:abogen开源工具的完整指南
  • Matlab 基于光流场的交通流量分析与应用
  • 如何运用Transformer架构实现高效图像生成
  • 阿里自研Wan2.2-T2V-A14B模型深度解析:文本到视频的革命性突破