美文网首页软件测试小强测试技术与人生杂谈
JMeter压力测试(流程骨架/抢红包举例实战/多场景多线程组混

JMeter压力测试(流程骨架/抢红包举例实战/多场景多线程组混

作者: 测试帮日记 | 来源:发表于2018-12-19 10:17 被阅读8次

    点击链接加入QQ群 522720170(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5C08ATe

    一、JMeter进行HTTP协议接口的压力测试

    1.添加线程组

    填写并发信息

    2.添加HTTP请求

    填写HTTP请求信息

    3.设置监听器

    4.测试执行

    1.)点击【保存】按钮,保存测试脚本,格式为:*.jmx;

    2.)点击【启动】按钮,执行测试脚本;

    5.测试结果解析

    1.)查看结果树:可以查看测试结果、请求信息、响应信息;

    2)查看聚合报告:可以查看测试的请求数、响应时间和成功率

    二、JMeter测试抢红包示例

    (1)概述

        此处记录使用JMeter对抢红包业务进行压力测试的过程,涉及的内容包括:

    1.抢红包业务压力测试需求分析;

    2.创建JMeter测试计划,根据业务执行逻辑设计测试脚本;

    3.设置检查点;

    4.回放脚本,根据业务逻辑判断检查点设置是否有效;

    5.脚本参数化;

    6.虚拟批量用户执行抢红包业务;

    7.测试结果分析;

    (2)测试需求分析

    1.验证批量用户抢红包时的响应时间是否满足300ms以内;

    2.验证相同红包每个用户只能抢1次;

    3.每个红包最多只能被抢9次;

    4.用户抢红包的业务:

    1)使用手机访问红包,请求验证码;(参数包含手机号码和验证码)

    2)(验证码下发成功),使用手机抢红包;(参数包含手机号码和验证码)

    5.测试手机号码和测试红包有限;

    (3)创建测试计划、设计测试脚本

    步骤如下:

    1.新建测试计划,右击测试计划-->【添加】-->【Threads(Users)】-->【线程组】,创建名为“抢红包测试”的线程组;

    2.右击“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】,添加名为“请求验证码”的HTTP请求;

    1)填写“请求验证码”的HTTP请求信息;

    2)为“请求验证码”请求【查看结果树】,监听测试结果;

    3.右击“抢红包测试”线程组-->【添加】-->【Sampler】-->【HTTP请求】,添加名为“抢红包”的HTTP请求;

    1)填写“抢红包”的HTTP请求信息;

    2)为“抢红包”请求添加【查看结果树】,监听测试结果;

    4.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【查看结果树】,看测试结果、请求信息、响应信息;

    5.右击“抢红包测试”线程组-->【添加】-->【监听器】-->【聚合报告】,查看测试的请求数、响应时间和成功率等信息;

    6.按上述步骤创建测试脚本,效果如下:

    (4)设置检查点

    步骤如下:

    1.使用一组正确的测试数据,验证请求验证码、抢红包成功的提示信息:

       1)请求验证码成功的提示信息为“短信验证码下发成功!”

    2)请求验证码成功后,抢红包成功的提示信息为“成功”

    2.设置检查点

    1)右击“请求验证码”请求-->【添加】-->【断言】-->【响应断言】;

    2)点击【添加】按钮,编辑断言信息,该例中检查响应数据是否包含“短信验证码下发成功!”

    3)右击“抢红包”请求-->【添加】-->【断言】-->【响应断言】;

    4)点击【添加】按钮,编辑断言信息,该例中检查响应数据是否包含“成功”;

    (5)验证检查点是否生效

    1..使用失效数据模拟用户请求,确认检查点是否生效;

    1.)使用失效数据请求验证码时,测试失败,因没有检查到指定信息;

        2.)使用失效数据抢红包时,测试失败,因没有检查到指定信息;

    2.使用正确信息请求时,测试通过;

    (6)脚本参数化

    步骤如下:

    1.右击“抢红包测试”线程组-->【添加】-->【配置元件】-->【CSV Data Set Config】;

    2.编辑【CSV Data Set Config】信息,如下图:

    3.修改“请求验证码”和“抢红包”请求中需要参数化的参数值,和步骤2中定义的变量属性一致;

    4.参数文件示例:

    (7)虚拟批量用户执行抢红包业务

    前置条件:

    1.检查点生效、测试脚本调试成功;

    2.测试参数化的测试数据准备完成;

    步骤:

    1.设置测试计划循环次数;

    2.点击启动按钮,开始执行测试

    (8)测试结果分析

    1.查看结果树:测试结果与实际结果一致,成功118次,失败7次(调试脚本时已使用的信息,为失效信息)

    2.查看聚合报告:

    三、多线程组并发测试(多场景混合并发)

    如果测试需求出现如下场景,该如何使用JMeter实现压力测试呢?即JMeter如何实现多线程组并发测试,也就是Loadrunner中的混合场景测试时,该如何设置并发数?

    测试需求如下:对业务A、业务B、业务C、业务D、业务E,5个业务按并发比例要求进行100个用户并发的压力测试;

    JMeter是可以实现上述需求的,测试方案如下:

    1.创建一个测试计划;

    2.在该计划下添加5个线程组,分别是对业务A、业务B、业务C、业务D、业务E;

    3.分别设置线程组业务A、业务B、业务C、业务D、业务E的线程数为:40、10、20、25、5(总并发量为100,按并发比例设置并发用户数)

    3.在该计划下添加测试结果监控;

    4.设置执行时间,开始执行测试,测试时可以看到并发数为5个业务并发量的总和,,如下图:

    相关文章

      网友评论

        本文标题:JMeter压力测试(流程骨架/抢红包举例实战/多场景多线程组混

        本文链接:https://www.haomeiwen.com/subject/ojpdkqtx.html