ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

通用抽奖管理系统测试实战:从0到1的构建完整测试体系

2026/9/16 7:36:19 拓冰建站 浏览量
通用抽奖管理系统测试实战:从0到1的构建完整测试体系 目录项目背景与技术栈项目功能说明1. 注册功能2. 登录功能3. 注册普通用户4. 查看人员列表5. 创建奖品6. 奖品列表7. 创建抽奖活动8. 查看抽奖活动测试策略设计测试环境搭建测试步骤1. 冒烟测试2. 功能测试用户模块奖品模块活动模块中奖记录模块3. 接口测试4. 性能测试5. 兼容性测试项目背景与技术栈项目背景本项目是基于B/S架构的网页版通用抽奖管理系统项目完成后部署在云服务器上。该项目主要是管理员后台支持管理员创建普通用户、新建奖品、新建抽奖活动并可以查看对应的用户、奖品、活动信息最后中奖者会接收到中奖邮件通知。技术栈Spring Boot 3.x、MyBatis、MySQL、Redis、RabbitMQ、JUnit5、JWT、JMeter。项目代码https://gitee.com/lessapizza/lottery-system-codes.git项目功能说明1. 注册功能此处注册的身份都是管理员身份输入对应的用户信息如用户名、邮箱、手机号、密码满足对应字段的格式要求点击注册即可成功成功后提示登录未注册的用户不允许进入到后台访问2. 登录功能分为手机号密码登录、手机号验证码登录输入的手机号的用户必须是管理员身份普通用户无法进入管理员后台验证码会显示在右侧有效期为1分钟过期需要重新获取输入输入的验证码和生成的比对成功跳转进入管理员后台3. 注册普通用户管理员可以在后台为普通用户注册初始密码都是固定的按照要求输入用户名、邮箱、手机号即可4. 查看人员列表5. 创建奖品输入对应的奖品名称、奖品价格和奖品描述且上传奖品图片自动保存在云服务器的文件夹内6. 奖品列表7. 创建抽奖活动输入本次抽奖活动的名称和活动内容或者对活动的描述圈选本次活动的奖品和参与活动的普通用户最后点击创建抽奖活动8. 查看抽奖活动已经完成抽奖的活动可以点击查看中奖者名单而对于未完成的抽奖活动管理员可以前往抽奖生成中奖者名单测试策略设计冒烟测试跑通主干流程确认大致的项目无误功能测试设计测试用例完成对各个功能的测试接口测试前后端分离通过Postman测试接口性能测试通过使用JMeter模拟高并发下的系统性能压力测试兼容性测试测试在不同的浏览器、不同的版本中项目是否正常回归测试更新/bug修复后测试对其他功能是否产生影响测试环境搭建使用的Redis和RabbitMQ都是在云服务器上搭建完成使用Linux命令下载安装即可本地项目需要连接云服务器上的Redis和RabbitMQ常用的方式就是SSH隧道通过加密连接将云服务器上的端口映射到本地端口上另外也可以通过frp反向代理完成。测试步骤1. 冒烟测试管理员注册账号-通过注册好的账号登录-进入管理员后台-点击人员管理的注册用户注册普通用户账号-点击人员列表查看所有人员的id和用户名以及身份-点击创建奖品输入对应的字段创建-点击奖品列表查看已经创建好的奖品-点击新建抽奖活动选择参与人员和奖品创建活动-点击活动列表查看活动的进度-点击已经抽奖结束的活动可以查看中奖者名单-未结束的活动可以进行抽奖生成抽奖者名单;2. 功能测试用户模块注册用户名、邮箱、手机号、密码为必填项未填写会提示为空校验邮箱和手机号是否为已存在的若是提示已存在要求更换邮箱要求为数字字符.com的格式且手机号要求11位数字第二位数字不能未2密码要求为6-8位字符否则会提示格式错误若已有账号可以点击登录直接跳转到登陆页面普通用户注册的手机号、邮箱、用户名都是必填项登录手机号密码登录中两个都是必填项未填写会提示为空手机号和4位纯数字验证码方式中二者也是必填项未填写也会提示为空登陆身份要求必须是管理员身份若无已注册的账号可以点击注册跳转到管理员注册页面奖品模块奖品创建奖品名称和奖品价格为必填项不填写提示为空其余为可填写部分奖品上传图片的路径为空时会提示保存图片失败要求的文件夹不存在时会自动创建新的文件夹并保存设置了图片格式为.jpg、.png格式奖品列表显示奖品的id、图片、名称、描述和奖品价值每页显示10条记录可以使用滚轮上下翻滚超过10条记录可以通过翻页功能查看其他奖品活动模块活动创建活动名称、参与活动的用户、抽奖的奖品都是必填项描述可以填本次活动的奖品总个数不允许大于参与人员的总人数互动名称不允许重复选择的初始状态都是为被抽中状态活动列表实现分页功能每页显示10条记录超过十条可点击下一页等新创建的活动在上方按照创建活动的时间降序排列中奖记录模块3. 接口测试需要注意的是验证码登陆时图片验证码需要提前获得通过http://111.231.171.47:8080/user/captcha获取到验证码Id由于验证码会存放在redis中再去查询4位纯数字验证码作为参数发送登录请求另外设置了严格的登录拦截未经过登录不允许进行之后的访问所以在对之后的管理员后台接口测试时需要添加认证后的token在Authorization选项卡中选择Bearer Token并填写登陆得到的token内容4. 性能测试使用JMeter进行模拟压力测试测试高并发情况下项目的压力临界点下面仅呈现部分的性能测试部分想要看完整的性能测试步骤可以去下面的网址查看https://gitee.com/lessapizza/web-version-gomoku-battle.git场景目标并发数关注指标多用户并发登录获取JWT Token100TPS、响应时间等多活动并发创建测活动创建接口100TPS、DB写入性能等多抽奖接口并发测抽奖接口100TPS、MQ发送耗时等活动查询响应测缓存读取200缓存命中率MQ消息缓存端到端链路耗时-从发送到消费完成的时长1使用JMeter批量注册100个用户2使用注册后的用户模拟100个并发登录​3模拟100个活动并发创建​4模拟100个抽奖接口并发​5活动查询压力测试​​​5. 兼容性测试在Microsoft Edge152.0.4191.66 (正式版本) (64 位)、Chrome版本 152.0.7977.84正式版本、联想浏览器版本 9.0.6.2081正式版本 64 位上测试显示​​这就是通用抽奖管理系统项目的测试流程冒烟测试、功能测试、接口测试、性能测试、兼容性测试对于测试有很多种测试的分类根据需求使用即可。