软件测试面试丨关于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提供性能测试方面的优势,例如:

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的 JMeter 面试问题: 1. 什么是 JMeter?它的主要用途是什么? JMeter 是一个开源的 Java 应用程序,用于性能测试和负载测试。它可以模拟多种协议,包括 HTTP、HTTPS、FTP、JDBC 和 SOAP 等,以及支持分布式测试和自定义脚本。 2. JMeter 的主要组件有哪些? 主要组件包括线程组、取样器、逻辑控制器、配置元件、前置处理器和后置处理器等。 3. 如何设置 JMeter 的线程数? 线程数是通过线程组来设置的。您可以在线程组中指定所需的线程数、延迟时间和循环次数等参数。 4. 如何创建自定义脚本? 您可以使用 JMeter 的内置脚本语言(BeanShell、JavaScript 或 Groovy)编写自定义脚本,也可以使用插件或外部库来扩展其功能。 5. JMeter 如何处理并发请求? JMeter 可以使用多个线程同时发送请求,从而模拟并发请求。您可以使用分布式测试来进一步增加并发性能。 6. 如何对 JMeter 进行性能调优? 您可以通过调整线程数、增加虚拟用户、使用分布式测试、禁用不必要的日志和调试信息等措施来提高 JMeter 的性能。 7. JMeter 支持哪些测试类型? JMeter 支持多种测试类型,包括负载测试、压力测试、功能测试、接口测试、性能测试和安全测试等。 8. 如何监控 JMeter 的运行状态? 您可以使用 JMeter 自带的监控器或插件来监控 JMeter 的运行状态,如 Heap Usage、CPU Usage、Active Threads、Response Time 和 Throughput 等指标。 希望这些问题和答案可以帮助您在 JMeter 面试中取得好成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值