jmeter⾯试题及答案
1.解释什么是jmeter?
  jmeter是⼀款java开源⼯具,⽤于性能负载测试。它旨在分析和衡量web应⽤程序和各种服务的性能和负载功能⾏为。
2.说明jmeter的⼯作原理?
  jmeter就像⼀将请求发送到⽬标服务器的⽤户⼀样。它收集来⾃⽬标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显⽰应⽤程序或服务器的性能。
3.说明可以在哪⾥使⽤函数和变量?
  变量和函数可以写⼊任何测试组件的任何字段。
4.提到jmeter中的正则表达式是什么?
  根据模式(patterns),使⽤正则表达式搜索和操作⽂本。jmeter可⽤于解释在整个jmeter测试计划中使⽤的正则表达式或模式的形式。
5.解释什么是采样器(Samplers)和线程组(Thread group)?
  线程组:对于任何测试计划,线程组元件都是JMeter的开始部分。这是JMeter的重要元件,你可以在其中设置多个⽤户和时间来加载线程组中给出的所有⽤户。
  采样器:采样器⽣成⼀个或多个采样结果;这些采样结果具有许多属性,例如经过时间、数据⼤⼩等。采样器允许JMeter通过采样器将特定类型的请求发送到服务器,线程组决定需要发出的请求类型。⼀些有⽤的采样器包括HTTP请求、FTP请求、JDBC请求等等。
6、使⽤JMeter构建的测试计划是否依赖于操作系统?
  通常,测试计划以XML格式保存,因此与任何特定的操作系统都没有关系。它可以在JMeter可以运⾏的任何操作系统上运⾏。
7、提到JMeter中处理器的类型是什么?
  JMeter中的处理器类型为:①预处理器;②后处理器。
java面试题及答案2020
8、解释什么是预置处理器元件?列出⼀些预处理器元件?
  预置处理器是在采样器执⾏之前发⽣的事情。为了在执⾏采样请求之前对其进⾏配置,或者⽤于更新未从响应⽂本中提取的变量,需要使⽤预处理器元件。
⼀些预处理器元件是:
HTTP URL重写修饰符
HTTP⽤户参数修饰符
HTML链接解析器
BeanShell PreProcessor
9、是否提到测试元件的执⾏顺序?
  测试计划元件的执⾏顺序为:
  配置元件 -> 前置处理器 -> 计时器 -> 取样器 -> 后置处理器 -> 断⾔ ->
10、正则表达式中的“包含”和“匹配”表⽰什么?
  在正则表达式中,contains表⽰正则表达式与⽬标的⾄少⼀部分匹配。匹配表⽰正则表达式匹配整个⽬标。如“alphabet”与“al.*t”匹配。
11、解释什么是配置元件?
  配置元件与采样器并⾏⼯作。要设置默认值和变量以供采样器以后使⽤,可以使⽤配置元件。在合并范围的开始,将先处理这些元件,然后再处理同⼀合并范围中的任何采样器。
12、说明JMeter中的计时器是什么,计时器的类型是什么?
  默认情况下,JMeter线程将连续发送请求⽽不会暂停。为了在请求之间暂停,使⽤了计时器。使⽤的⼀些计时器包括恒定计时器,⾼斯随机计时器,同步计时器,均匀随机计时器等。
13、解释什么是测试⽚段?
  测试⽚段也是⼀种元件,例如“线程组”元件。唯⼀的区别是,除⾮模块控制器或包含控制器引⽤了测试⽚段,否则不会实现测试⽚段。
14、解释什么是JMeter中的断⾔?断⾔的类型有哪些?
  断⾔有助于验证被测服务器是否返回了预期结果。
  JMeter中⼀些常⽤的断⾔是:
响应断⾔
持续时间断⾔
⼤⼩断⾔(Size Assertion)
XML断⾔
HTML断⾔
15、说明如何减少JMeter中的资源需求?
  ①使⽤⾮GUI模式执⾏测试,如 jmeter –n –t test.jmx –l test.jtl
  ②在加载期间,测试不使⽤“查看结果树”或“查看表中的结果”,仅在脚本编写阶段使⽤它们;
  ③不要使⽤功能模式;
  ④与其使⽤⼤量相似的采样器,不如在循环中使⽤相同的采样器,并使⽤变量来改变采样;
16、解释如何在JMeter中执⾏尖峰测试(Spike testing)?
  通过同步,可以实现计时器JMeter尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从⽽产⽣了巨⼤的瞬时负载。
⼩贴⼠:尖峰测试也可以称为冲击测试,反复冲击服务器。指的是在某⼀瞬间或者多个频次下⽤户数和压⼒陡然增加的场景。
17、解释如何在JMeter中捕获⾝份验证窗⼝的脚本?
  通常,可以通过录制来捕获脚本:
  ⾸先,必须在Testplan(测试计划)中使⽤ Threadgroup,然后在 Workbench(⼯作台)中使⽤HTTP代理服务器;
  之后,在“全局设置”框中设置端⼝号(如8911),然后在 IE⾼级选项>连接>局域⽹设置中开启代理设置,并将地址修改为localhost,端⼝改为8911。
然后,HTTP代理服务器中选择⽬标控制器 Testplan>Threadgroup,然后启动HTTP代理服务器并运⾏应⽤进⾏登录。
18)列出⼏个JMeter?
  ⼀些JMeter是:
集合报告
汇总报告
查看结果树
⽤表格查看结果
图形结果
BeanShell Listener
摘要报告等
19、什么是分布式负载测试?如何实现?
  分布式负载测试是整个系统可以⽤来模拟⼤量⽤户负载的过程。通过使⽤主从配置,JMeter可以进⾏分布式负载测试。
20、在JMeter中是否有必要显式调⽤嵌⼊式资源?
  你可以消除所有嵌⼊式资源的显式调⽤。请求底部有⼀个复选框,显⽰“检索嵌⼊式资源(retrieve embedded resources.)”。它会捕获所有CSS、JPG等。这是在Web应⽤中查资源和断开链接的绝妙⽅法。
21、解释计时器(Timer)在JMeter中的作⽤是什么?
  在计时器的帮助下,JMeter可以延迟线程发出的每个请求之间的时间。它可以解决服务器的过载问题。
22、解释什么是后置处理器?
  要在发出请求后执⾏任何操作,则使⽤后处理器。例如,如果JMeter向Web服务器发送HTTP请求,并且如果你希望JMeter在Web服务器显⽰错误时停⽌发送请求,那么你将使⽤后处理器执⾏此操作。
23、JMeter为性能测试提供什么好处?
  JMeter提供性能测试⽅⾯的优势,例如:
它可以⽤于测试静态资源和动态资源的性能;
它可⽤于测试⽹站最⼤并发⽤户数,从⽽分析定位⽹站瓶颈;
它提供了性能报告的图形化分析;