爱陪小樱桃

导航

 

一.jmeter工具组成部分:

1.资源生成器:用于生成测试过程中服务器,负载机的资源代码;

2.用户运行器:通常是一个脚本运行引擎,根据脚本的要求模拟指定用户行为,(lr中的controller)

3.报表生成器:根据测试中,实时的生成报表,提供可视化的数据显示方式。(lr中的analysis)

4.负载发生器:用于产生负载,通常以多线程或者多进程的方式模拟用户行为(lr中的load Generators)

二:TestPlan(测试计划):用来描述一个性能测试,包含与本次性能测试所有的相关的功能,也就是说本次性能测试的所有的内容是基于一个计划的(相当于lr中的一个测试场景)

1.线程用户:(Threads users):

setUp thread group:

一种特殊类型的ThreadGroup 的,可用于执行预测试的操作,这些线程的行为完全像一个正常的线程组,不同的是,这些类型的线程是在测试之前进行的;类似(lr的init())

 

tearDown thread group:

一种特殊类型的ThreadGroup 的,可用于执行测试后的操作,这些线程的行为完全像一个正常的线程组,不同的是,这些类型的线程是在测试之后进行的;类似(lr的end())

 

3)thread group(线程组)

这个就是我们通常添加运行的线程,可以看做一个虚拟的用户组,线程组中的每个线程都可以理解为一个虚拟用户,线程组中包含的线程数量在测试执行的过程中是不会发生改变的,类似于(lr的action())

三:测试片段(test Fragment)

测试片段是控制器上的一种特殊的线程组,他在测试树上与线程组处于同一层级,他与线程组有所不同的是,他不被执行,除非他是一个模块控制器,或者被控制器所引用时候,才会被执行:

 

3.1:线程组的8类可以执行的元件:

1.配置元件:(config Element)

配置元件用于:提供对静态数据的配置的支持,如:CSV Data Set config 可以将本地的数据文件形成数据池(Data pool)

2.定时器(Timer)

定时器,用于操作之间设置等待的时间,等待时间是性能测试中,常用的控制客户端QPS(服务器处理的请求数/S,)的手段,类似lr中的思考时间,

如上是jmeter 的定时器:这里不再列举;

3.:前置处理器:(Pro Processors)

用于在实际的请求发出去之前对即将发生的请求,进行特殊处理,例如:HTTP,URL重写修饰符则可以实现URL重写,当URL中有sessionid,一类的session信息时候,可以通过该处理器填充发出请求的实际sessionID;

4.后置处理器(post Processors)

用于对sampler 发出请求后得到的服务器响应进行处理,一般来提取响应中的特定的数据,(类似lr中的测试中的关联的概念)

5.断言(Assertions)

断言用于检测,测试中得到的相应的数据是否等于预期结果,断言一般用来设置检查点,用于保证性能测试过程中的数据是否和预期结果一致;

6.监听器:

用于对测试结果数据,进行处理和可视化展示的一系列的元件,例如:图形结果,查看结果树,聚合报告,都是我们经常用到的元件,注意:这里监听可不是用来监听系统资源的;

7.取样器:(sample)

取样器,是性能测试过程中,向服务器,发送请求,记录响应信息,记录响应时间的最小单元,jmeter 支持多种不同的sampleer,如:HTTP request sampler,FTP Request sampler ,TCP,JDBC,等等,每种不同的取样都可以根据不同的设置参数,向服务器,发出不同类型的请求;

8.逻辑控制器:

逻辑控制包括2种:

一类:用于控制testplan中的sampler 节点发送请求的逻辑顺序控制器,常用的有if控制器,switch controller,runtime controller,循环控制器,另一类是用来组织可控制sampler节点的,如:事务控制器,吞吐量控制器;

 

posted on 2018-05-03 23:11  cherry小樱桃  阅读(200)  评论(0编辑  收藏  举报