福运抽抽乐-抽奖项目的测试报告

一、项目背景

        以抽奖活动作为背景的SpringBoot项目,通过这个项目提供一个全面、可靠、易于维护的抽奖平台,该平台将采用以下策略:

  • 集成多种技术组件:利用MySQL、Redis、RabbitMQ等常用组件,构建一个稳定、高效、可扩展的抽奖系统。
  • 活动、奖品与人员管理:允许管理员创建配置抽奖活动;管理奖品信息;管理人员信息。
  • 实现状态机管理:通过精心设计的状态机,精确控制活动及奖品状态的转换,提高系统的可控和可预测性。
  • 保障数据一致性:通过事务管理和数据同步机制,确保数据的一致性和完整性。
  • 加强安全性:实施安全措施,包括数据加密、用户认证,保护用户数据和系统安全。
  • 降低维护成本:提供全面的日志记录和异常处理机制,简化问题诊断和系统维护。
  • 提高扩展性:采用模块化设计与设计模式的使用,提高系统的灵活性和扩展性。

二、项目功能

        人员模块:包括注册,注册包括注册管理员,和管理员去注册普通用户,登录只允许管理员登录;

       奖品模块;包括奖品信息的注册,奖品图片的提交,完成奖品的注册;

       活动模块:包括圈选参与抽奖的用户、参与抽奖的奖品(奖品的等级,数量),活动的描述信息来完成活动的创建;

        抽奖模块:从一等奖开始抽,随机从参与抽奖的人员随机抽取相对应的人数,二等奖也是,三等奖也如此,再进行短信和邮箱的通知;

三、测试计划

(1)功能测试

        注册测试:对没有填写的信息进行提示

              

        对姓名、邮箱、电话号码进行唯一校验

        登录模块(手机号码不存在-提醒登录信息错误,密码错误,验证码错误)

        普通用户注册模块(管理员执行)-姓名、邮箱、手机号都是唯一的

        获取人员的列表(包括管理员和普通用户)

        创建奖品-包括上传图片

        获取奖品列表

        开始创建活动-填写抽奖活动信息-圈选奖品-圈选人员(仅限普通用户)

        在活动中心第一个就是自己新建的活动,点击去抽奖就可以开始抽奖,抽奖行为只能由管理员执行

        开始抽奖(这里只是展示抽一个奖项-对中奖人员进行邮箱和手机短信通知)

        展示最终的结果

(2)自动化测试 

        1、针对项目的登录,注册,创建奖品,人员,创建活动以及圈选人员和奖品,以及进行抽奖等主要功能进行自动化测试
        2、自动化测试一般步骤:
               1)使用脑图编写web自动化测试用例
               2)创建自动化项目,根据用例来实现脚本

        3、脑图

4.测试接口的拆分

公共类(AutoTestUtil)

  • 完成驱动的初始化(createDriver);
  • 截图(getScreenShot);
  • 获取警告信息(getAlertMessage);
  • 全局使用显示等待 

注册

  • 使用时间戳作为随机数,对用户信息进行模拟注册
  • 校验注册是否成功

登录

  • 对手机号码错误,密码错误,正常登录都进行测试

主页功能测试

  • 创建活动-模拟用户创建的完整流程
  • 创建奖品-创建完成之后对信息进行校验
  • 创建用户-使用时间戳进行模拟注册信息
  • 开始抽奖,校验抽奖信息

自动化测试代码

https://gitee.com/tianma-star/blog-system-automation-test/tree/master/BlogAutoTest

通过完全,完整的自动化实现对项目功能的基本校验;

(3)性能测试

使用jmeter进行简单性能测试:针对所有的接口进行性能测试,包括注册,登录,注册普通用户,获取用户列表,创建奖品,获取奖品列表,创建活动,获取活动列表,抽奖接口的测试;

由于自己电脑硬件条件有限,开始1000个线程,每秒增加200个,增加到1000个线程的时候保持运行20秒,此后每秒停止100个线程。

实现的线程组

使用命令行 Jmeter -n -t 脚本文件 -l 日志文件 -e -o 目录 进行性能测试生成性能测试报告

性能测试报告

每秒事务数-折线图

响应时间折线图

性能报告

性能报告分析

第一张图片

  1.  APDEX(应用性能指数)

    • APDEX 是一个衡量用户体验的指标,范围从0到1,1表示最佳用户体验。

    • 所有请求的APDEX值都在0.6到0.9之间,表明用户体验较好。

    • 每个请求的响应时间(T)和容忍阈值(T)都是500毫秒,挫折阈值(F)是1秒到500毫秒。

    • 标签列显示了每个请求的具体名称,例如“BeanShell 取样器”、“抽奖”、“注册”等。

  2. 请求摘要

    • 饼图显示了请求的通过率(PASS)为100%,没有失败的请求(FAIL)。

第二张图片

  1. 统计数据

    1. Requests: 总请求数为64334。

    2. Samples: 总样本数为64334。

    3. Fail: 失败请求数为0,失败率为0.00%。

    4. Error %: 错误率为0.00%。

    5. Average: 平均响应时间为492.48毫秒。

    6. Min: 最小响应时间为0毫秒。

    7. Max: 最大响应时间为3236毫秒。

    8. Median: 中位数响应时间为261.00毫秒。

    9. 90th pct: 90%分位响应时间为612.00毫秒。

    10. 95th pct: 95%分位响应时间为828.85毫秒。

    11. 99th pct: 99%分位响应时间为1108.99毫秒。

    12. Throughput: 吞吐量为1496.06次/秒。

    13. Transactions: 事务数为3736.21次。

    14. Received: 接收到的数据量为19044.30 KB。

    15. Sent: 发送的数据量为0.00 KB。

  2. 响应时间

    • 每个请求的响应时间统计数据,包括最小值、最大值、中位数、90%、95%和99%分位响应时间。

    • 例如,“BeanShell 取样器”的响应时间中位数为1.00毫秒,90%分位响应时间为2.00毫秒,99%分位响应时间为3.00毫秒。

  3. 网络(KB/sec)

    • 每个请求的接收和发送数据量统计数据。

    • 例如,“BeanShell 取样器”接收的数据量为25.77 KB,发送的数据量为1963.64 KB。

  4. 错误

    • 没有错误记录,总错误数为0。

  5. 按采样器统计的前5个错误

    • 没有错误记录,总错误数为0。

总结

  • 测试结果显示所有请求都成功通过,没有失败或错误。

  • 平均响应时间为492.48毫秒,用户体验较好(APDEX值较高)。

  • 吞吐量和事务数较高,表明系统性能良好。

  • 网络数据传输量较大,接收和发送的数据量都较高。

总体来看,系统在本次测试中表现良好,没有明显性能瓶颈或错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a添砖Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值