抽奖系统测试报告

一,项目背景与测试概况

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管理与项目总结

相关推荐
阳光普照世界和平5 小时前
单元测试工具现状及实现思路探析
测试·软件质量
jaycyj5 小时前
Web项目功能测试用例实战
测试
智擎软件测评小祺5 小时前
从报告看懂安全隐患,提升防护能力
安全·web安全·渗透测试·测试·检测·cma·cnas
独断万古他化2 天前
AI 赋能自动化测试实战:从用例生成到 CI/CD 全流程落地
人工智能·ci/cd·测试
甜甜圈圈子2 天前
基于Dify与DeepSeek:零门槛训练自己的专属AI大模型
测试
独断万古他化2 天前
基于 Selenium + POM 模式的聊天室系统 UI 自动化测试框架搭建与实践
selenium·测试工具·ui·自动化·测试·pom
念越3 天前
蓝桥杯单元测试模拟1期模拟题答案及代码解析
蓝桥杯·单元测试·测试
G皮T3 天前
【OpenClaw】思路转变:从 “传统UI测试” 到 “AI驱动的UI测试”
自动化测试·人工智能·ai·agent·测试·ui测试·openclaw
先做个垃圾出来………4 天前
A/B测试
测试