软件测试面试丨关于JMeter的问题,看这篇就够了

目录

前言

1、解释下什么是JMeter?

2、说明JMeter的工作原理?

3、说明可以在哪里使用函数和变量?

4、提到JMeter中的正则表达式是什么?

5、解释什么是采样器(Samplers)和线程组(Thread group)?

6、使用JMeter构建的测试计划是否依赖于操作系统?

7、提到JMeter中处理器的类型是什么?

8、解释什么是预置处理器元件?列出一些预处理器元件?

9、是否提到测试元件的执行顺序?

10、正则表达式中的“包含”和“匹配”表示什么?

11、解释什么是配置元件?

12、说明JMeter中的计时器是什么,计时器的类型是什么?

13、解释什么是测试片段?

14、解释什么是JMeter中的断言?断言的类型有哪些?

15、说明如何减少JMeter中的资源需求?

16、解释如何在JMeter中执行尖峰测试(Spike testing)?

17、解释如何在JMeter中捕获身份验证窗口的脚本?

18)列出几个JMeter监听器?

19、什么是分布式负载测试?如何实现?

20、在JMeter中是否有必要显式调用嵌入式资源?

21、解释计时器(Timer)在JMeter中的作用是什么?

22、解释什么是后置处理器?

23、JMeter为性能测试提供什么好处?

绵薄之力
 

前言

JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。下面列举分享一些关于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中的处理器类型为:①预处理器;②后处理器。
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提供性能测试方面的优势,例如:

它可以用于测试静态资源和动态资源的性能;
它可用于测试网站最大并发用户数,从而分析定位网站瓶颈;
它提供了性能报告的图形化分析。

 感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值