性能测试工具,支持web端和App端
有理论指导,实践起来才更轻松。知其然,要更知其所以然。
一、体系结构
自己画的,好丑x1-x5是负载模拟的一个过程
y1是模拟用户请求
y2是验证结果
z是结果收集
基本原理是:建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。如果取样器中有参数化的需求,可以通过配置元件或是前置处理器来完成。如果有关联需求,就设置线程组,如果我们想要模拟并发场景,可以利用定时器来设置;如果我们想要控制业务的执行逻辑,比如登录只运行一次,我们可以用控制器来完成。
二。组成部分
取样器+断言+监听器组合在一起,就可以发送请求、验证结果、记录结果
【X1取样器】访问路径:测试计划-线程组-Sampler
【X!断言】通俗来讲就是,用一个预设的结果与实际结果相匹配,匹配到了就成功,匹配不到就失败。访问路径:测试计划-断言
【Z监听器】访问路径:测试计划-监听器
X2部分是为取样器提供数据支持的,取样器关注的是业务逻辑。
【X2前置处理器】请求发送前可能会做一些环境或者参数的处理,比如建立一个数据库连接。访问路径:测试计划-前置处理器
【X2配置元件】模拟大量用户需要参数化。访问路径:测试计划-配置元件
【X2后置处理器】对响应数据做处理,jmeter的关联。访问路径:测试计划-后置处理器
【X3控制器】例如控制邮箱登录次数。访问路径:测试计划-线程组-逻辑控制器
【X4定时器】模拟请求同一时刻发送。访问路径:测试计划-线程组-定时器
【X5线程组】模拟多少用户,一线程一用户。访问路径:测试计划-Thread(Users)
三、运行原理
Jmeter是运行在虚拟机上的,选择以线程的方式来运行。
通过线程组驱动多个线程,运行测试脚本对被测服务器发起负载,每一个负载机上都可以运行多个线程组。
四、测试计划要素
@脚本中测试计划只能有一个
@测试计划中至少要有一个线程组
@至少要有一个取样器
@至少要有一个监听器
五、小结
运行逻辑主要是下面三部分:
one 利用取样器模拟用户请求,如果需要做一些数据及环境的准备,那么就使用配置管理器;如果需要对响应的数据进行处理,使用后置处理器。
two 控制运行:使用线程组来设置运行场景,利用逻辑控制器来控制业务
three 收集结果:利用断言来验证测试结果,利用监听器来收集显示测试结果
同时也支持远程运行,弥补单台机器负载不够的情况。远程运行时远程负载机要运行agent(jmeter-server,bat来启动)
网友评论