抽奖系统测试报告

一,项目背景与测试概况

1.1 项目背景

随着线上营销活动普及,抽奖系统成为企业拉新、促活的重要工具。本项目为 SpringBoot + MySQL + Redis + RabbitMQ 实现的企业级抽奖系统,支持管理员登录、用户管理、奖品管理、活动创建、在线抽奖、中奖通知等全流程业务。

本次测试目的:验证系统在 Edge/Chrome 浏览器 下的功能正确性、业务规则闭环、数据一致性与稳定性,通过 接口自动化 + 性能压测 提升回归效率,降低重复测试成本。

1.2 测试范围

本次测试覆盖抽奖系统的完整业务生命周期,具体包括:

  • 功能测试:登录、用户管理、奖品管理、活动创建、抽奖流程、中奖记录、消息通知
  • 界面测试(UI):登录页、管理后台、活动列表、奖品列表、抽奖页面布局与交互
  • 接口测试:基于 Pytest 对登录、创建活动、发起抽奖等核心接口自动化测试
  • 性能测试:使用 JMeter 对抽奖接口做并发压测、接口响应时间验证
  • 中间件测试:Redis 缓存一致性、RabbitMQ 消息可靠性

1.3 需求分析

  • 用户模块:登录鉴权、身份校验、手机号 / 密码规则、JWT 令牌有效性
  • 奖品模块:图片上传、奖品增删改查、价格 / 数量规则
  • 活动模块:活动创建、关联奖品、圈选用户、状态流转
  • 抽奖核心:一人只能中一次、奖品数量匹配中奖人数、防重复抽奖、异常回滚
  • 通知模块:中奖短信 / 邮件发送、第三方接口异常处理

二,设计测试用例与分析

2.1 测试用例设计方案

2.2 核心模块用例分析

1. 界面测试(UI Test)

针对系统的核心页面(登录页、管理后台首页、活动 / 奖品列表页等),我开展了完整的界面与交互测试,主要覆盖以下维度:

  • 布局与一致性测试:验证不同页面间的视觉风格统一性(色彩、字体、间距、按钮样式),确保整体 UI 规范统一;检查页面元素的对齐、间距与排版,无错位、重叠、拉伸变形等问题;验证响应式适配效果,在不同窗口尺寸下布局不会出现错乱或溢出。
  • 元素可见性与可用性测试:验证所有关键元素(输入框、按钮、菜单、分页控件)均正常加载、清晰可见,无文字截断或图片加载失败;检查表单占位符、按钮文案、菜单名称的准确性与可读性,无歧义或错误引导。
  • 交互体验测试:验证按钮点击、输入框聚焦、Tab 切换等基础交互反馈正常,无点击无响应、重复提交等问题;测试表单提交、页面跳转、菜单切换、分页操作的交互逻辑,确保流程顺畅;检查错误提示、加载状态、空数据状态的展示,保障用户体验友好。
  • 兼容性基础验证:针对 Edge/Chrome 主流浏览器进行了基础兼容性测试,确保页面在目标环境下渲染正常,无 CSS 样式错位、交互失效等问题。
2. 用户登录与权限模块

表格

序号 模块 用例标题 优先级 测试步骤 预期结果
1 登录 手机号 + 密码正确登录 P1 输入正确手机号与密码,点击登录 登录成功,跳转后台
2 登录 手机号 + 验证码正确登录 P1 输入手机号,获取验证码并登录 登录成功
3 登录 账号 / 密码错误登录 P2 正确手机号 + 错误密码 提示错误,登录失败
4 权限 未登录访问后台 P1 直接访问管理页 URL 强制跳转到登录页
5 权限 普通用户访问抽奖 P1 普通用户登录,尝试抽奖 提示无权限
3. 奖品与活动管理模块

表格

序号 模块 用例标题 优先级 测试步骤 预期结果
1 奖品 创建奖品 + 上传图片 P1 填写信息、上传图片提交 创建成功,列表显示
2 奖品 奖品名称为空 P2 不填名称提交 前端拦截,提示必填
3 活动 创建活动 + 关联奖品 P1 填写信息、勾选奖品与用户 活动创建成功
4 活动 修改已结束活动 P2 修改已结束活动信息 提示不可修改
4. 抽奖核心业务(最重点)

表格

序号 模块 用例标题 优先级 测试步骤 预期结果
1 抽奖 正常抽奖流程 P1 进行中活动 → 开始抽奖 生成中奖名单
2 抽奖 一人只能中一次 P1 同一用户多次抽奖 仅第一次有效
3 抽奖 奖品数量 = 中奖人数 P1 奖品数量 3 → 抽 3 人 中奖人数 = 3
4 抽奖 刷新页面防重抽 P1 抽奖中刷新 已抽结果保留
5 通知 中奖短信 / 邮件推送 P1

2.3 自动化测试用例筛选

考虑到回归测试成本,我从上述功能测试中筛选出 5 条核心链路进行自动化实现:管理员注册→管理员登录 → 创建奖品 → 创建活动 →注册用户→ 执行抽奖 → 查看中奖记录这 5 条用例作为系统的 "核心生命线",保障每次版本更新后基础业务流程无退化

三,自动化测试实现

3.1 自动化技术架构

本项目基于 Python + Selenium + Pytest 搭建自动化测试框架,采用行业主流的 POM(Page Object Model)设计模式,将页面元素定位与测试脚本逻辑分离,提升代码可维护性。

  • 驱动配置:使用 EdgeOptions 配置浏览器环境,确保在目标浏览器下稳定运行
  • 测试管理:利用 Pytest 的 fixture 功能统一处理浏览器初始化与资源回收
  • 报告集成:通过 Allure-pytest 插件生成可视化测试报告,支持结果追溯与问题定位

3.2 自动化脚本代码实现

四,bug管理与项目总结

相关推荐
HuskyYellow2 天前
第 1 篇:没有专职测试的小团队,为什么需要 ai-phone?
人工智能·开源·测试
康谋自动驾驶2 天前
智驾仿真测试团队必看:ADAS HiL测试引入3DGS的ROI测算与结论!
自动驾驶·测试·3dgs·hil测试·场景生成·智驾仿真
wangruofeng3 天前
Playwright 深度调研:为什么它成了浏览器自动化的新底座
前端·测试
祁白_4 天前
[HCTF 2018]WarmUp1
安全·渗透·测试·ctf·writeup
祁白_5 天前
无字母数字 Webshell 绕过
笔记·web安全·测试·ctf
AdCj35 天前
放弃第三方框架,用系统自带工具玩转 Shell 测试
shell·测试
技术落地手记7 天前
把AI塞进测试环节,我踩出了一条能用的路
人工智能·测试
大飞记Python7 天前
从“驱动地狱”到一行代码:WebDriverManager使用手记(附模板)
python·测试
甜甜圈圈子8 天前
JMeter开启TLSv1.3进行性能测试
测试
月読h8 天前
[Python]发送测试报告-DingTalkRobot&Email
测试