一、测试计划

1、界面展示

测试计划是测试脚本的容器,主要是对测试脚本做总体设置。它定义了测试要执行什么,怎么执行(执行的)。其界面如下图所示:

 

2、设置用户定义变量

在测试计划中定义的变量是在整个测试计划中都可以使用的,是全局变量。当很多地方都需要用到一个变量时,我们可以在测试计划中添加用户变量,然后在其他元件中使用${变量名}来调用变量。如下图:我们可以定义SERVER为jmeter.apache.org,测试计划的其他元件可以用${SERVER}来引用该变量;

 3、设置线程的执行顺序

(1)设置独立运行每个线程组

默认情况下,线程组中的线程是并发执行的,当然也可以进行设置,勾选测试计划的第一个复选框(独立运行每个线程组),勾选后,线程组串行执行,即按照顺序执行,执行结果的顺序跟测试计划的顺序一致。

(2)设置主线程组结束后执行tearDown线程组:

 4、设置函数测试模式

函数测试模式:勾选该选项后,执行测试时将会保留所有的响应数据和取样数据,这会增加测试运行时的资源需求,对性能有不良影响。只有当你需要记录每个请求从服务器取得的数据文件时才需要选择函数测试模式。如果只想对某个取样器结果关注,那么只对那个取样器增加监听器更好些。

5、设置添加目录或者jar包到classpath

此项设置主要是为了添加一些外部jar包文件,例如,当我们智联数据库进行测试时,如果不添加JDBC驱动就会报如下错误,而在测试计划中添加jar包后,问题得以解决。

注:修改后,需要重启jmeter,才能生效。

二、线程组

1、线程相关概念

(1)概念

  • 进程:一个正在执行的程序就对应一个进程
  • 线程:进程中的执行线索(一个进程有多个执行线索)
  • 线程组:按照线程性质对线程进行分组
  • 并发执行:多个线程同时执行;特点:执行结束的顺序和线程的启动顺序不一定一致
  • 顺序执行:按照线程的启动顺序挨个执行

(2)在Jmeter中三者的关系:

进程有多个线程组,线程组可以有多个线程。

  • 进程----测试计划
  • 线程组----测试计划下的线程组
  • 线程----线程组属性的线程数(相当于用户)

2、界面展示

线程组是测试计划执行的入口点,所有的逻辑控制器和取样器必须存在于线程组下,其他的元件根据位置不同,其作用的取样器范围也不同。线程组的每个线程都独立运行测试脚本。一个线程就相当于一个用户,通过多个线程并发执行实现并发性能测试。线程组可以控制线程数,启动时间和测试执行时间。其界面展示如下图所示:

 3、设置线程组属性  

  • 线程数:要模拟的用户数,用户执行相互独立,例如要模拟100个用户访问系统,那么就设置为100。
  • Ramp-up时间(秒):在指定时间内启动所有线程。若为0或未指定,则表示立即启动所有线程。若为非0值,则每隔“线程数/秒数”建立了一个线程。该值不能太小,否则服务器过载,结果不可靠。也不能过大,否则最后一个线程还未启动,第一个线程已经结束了。
  • 循环次数:指线程执行的循环次数,即单个用户访问的次数。
  • 延迟创建线程直到需要:直到线程开始取样时才创建。这样可以支持更多的线程,但又不会有太多是同时处于活动状态;

 4、设置取样器错误后要执行的动作:

  • 继续:忽略错误,继续执行;
  • 启动下一进程循环:执行线程的下一个循环;
  • 停止线程 :当前线程停止执行,不影响其他线程正常执行;
  • 停止测试 : 整个测试会在所有当前正在执行的执行完后停止;
  • 立即停止测试: 整个测试会立即停止执行,当前正在执行的取样器可能会被中断。

5、设置调度器

设置调度器后,线程组会在根据调度器设置的限制条件执行。

  • 持续时间:表示脚本持续运行的时间,以秒为单位,例:如果你要让用户持续不断登录3分钟,持续时间应该设置为180;
  • 启动延迟:表示脚本延迟启动的时间(单位为秒)。例:你希望10分钟后执行线程组,线程组持续执行3分钟,你可以将启动延迟设置为600,持续时间设置为180。

注:为了保证线程组持续时间能够达到持续时间,建议将循环次数勾选为永远。否则循环次数达到,但时间还未到持续时间,线程组也会结束。

三、特殊的线程组

除了普通的线程组外,还有两种特殊的线程组:setUp线程组和tearDown线程组。它们与普通线程组区别在于,setUp线程在普通线程执行前自动触发执行;而tearDown线程组在主线程结束后执行。

  • setUp线程组----可以用于测试准备,加载程序主体执行所需的资源。比如:测试前创建测试用户等。
  • Teardown线程组-----可以用于测试清理工作或在程序正式关闭之前将数据保存进内存。比如:测试后删除测试用户等。

Jmeter基础003----Jmeter组件之测试计划和线程组的更多相关文章

  1. 性能测试工具JMeter 基础(六)—— 测试元件: 线程组

    线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...

  2. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

  3. 转 2 jmeter常用功能介绍-测试计划、线程组

    2 jmeter常用功能介绍-测试计划.线程组   1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...

  4. 性能测试工具JMeter 基础(三)—— 创建测试计划

    如何创建一个完整的测试计划? 安装好JMeter后,通过根目录下的bin目录中的jmeter.bat启动JMeter 添加线程组(Thread Group) 在 Test Plan 鼠标右键 Add- ...

  5. 【转】Jmeter基础之——jmeter基础概念

    JMeter 介绍:一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. 从性能工具的原理划分: Jmeter工具和其他性能工具在原理上完全一致,工具包含 ...

  6. 2 jmeter常用功能介绍-测试计划、线程组

    1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添加一些系统常用的配置.如果测试过程中想切换环境,切换 ...

  7. JMeter非GUI方式运行时动态设置线程组及传参

    http://blog.csdn.net/selingchen/article/details/48106517 在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定 ...

  8. Jmeter系列(14)- Setup与tearDown线程组

    与普通线程组区别 #Setup线程组:在普通线程组执⾏前触发 #tearDown线程组:在普通线程组执⾏后触发 线程组属性配置详情完全⼀致 使⽤策略建议 #Setup 线程组 – 压测执⾏准备阶段,准 ...

  9. 『动善时』JMeter基础 — 8、JMeter主要元件介绍

    目录 1.测试计划(Test Plan) 2.线程组 3.取样器(sampler) 4.逻辑控制器(Logic Controller) 5.配置元件(Config Element) 6.定时器(Tim ...

随机推荐

  1. js时间格式转换,传入时间戳,第二哥参数是格式,也可不传

    export function parseTime(time, pattern) { if (arguments.length === 0 || !time) { return null } cons ...

  2. MongoDB -MSC集群的部署

    一.Shard节点配置过程 1. 目录创建:mkdir -p /mongodb/38021/conf  /mongodb/38021/log  /mongodb/38021/datamkdir -p ...

  3. 简单的认识Linux

    一:电脑硬件种类说明 1.  服务器的分类: <1>外观分类:机架式,塔式,刀片式/服务器. <2>尺寸分类:1u,2u,3u <3>性能分类:pc服务器,小型机服 ...

  4. [ES6系列-03]ES6中关于参数相关特性详解(参数默认值与参数解构赋值与剩余参数)

    [原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 今天总结一下 ES6 中跟参数相关的内容. 欢迎补充斧正.留言交流. 让我们互相学习一起进步. 1. ES6 参数默认值( ...

  5. ES7学习笔记(十三)GEO位置搜索

    ES的基本内容介绍的已经差不多了,最后我们再来看看GEO位置搜索,现在大部分APP都有基于位置搜索的功能,比如:我们点外卖,可以按照离我们的距离进行排序,这样可以节省我们的配送费和送餐的时间:还有找工 ...

  6. 离散的差分进化Discrete DE

    一般的差分算法的变异规则:Xmutation=Xr1+F(Xr2-Xr3),F为缩放因子, 离散差分进化DDE的变异规则:设每个解为K个元素的集合,则Xr2-Xr3:求出Xr2与Xr3有m个共同元素, ...

  7. 50个SQL语句(MySQL版) 问题十

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  8. jchdl进展 - 20180918

    这几天看了下SystemC,发现与jchdl相似的地方,或者jchdl与之相似的地方. 但总体而言: 1. jchdl的模型更简单,更清晰: 2. jchdl还有一些建模需要的工具需要补充,比如: i ...

  9. (String),toString(),String.valueOf()

    String.valueOf("")的源码:(推荐这种写法) 注意:obj问null时,返回值是字符串"null" toString("") ...

  10. Java实现洛谷P1250 种树 (暴力)

    P1250 种树 输入输出样例 输入 9 4 1 4 2 4 6 2 8 9 2 3 5 2 输出 5 PS: 我种最少的树,意味着我的树要最多的被利用,意味着,我的树要尽可能的靠中间种, 也就是我把 ...