性能测试面试题(附参考答案)

本文详细介绍了JMeter中的关键元素如采样器、线程组、预置处理器、计时器等,讨论了测试计划的独立性、元件执行顺序、资源管理、性能测试技巧以及脚本录制和过滤。此外,还涵盖了如何执行尖峰测试、处理身份验证窗口和计算Ramp-upperiod等实用知识。
摘要由CSDN通过智能技术生成

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

线程组:对于任何测试计划,线程组元件都是JMeter的开始部分。这是JMeter的重要元件,你可以在其中设置多个用户和时间来加载线程组中给出的所有用户。

采样器:采样器生成一个或多个采样结果;这些采样结果具有许多属性,例如经过时间、数据大小等。采样器允许JMeter通过采样器将特定类型的请求发送到服务器,线程组决定需要发出的请求类型。一些有用的采样器包括HTTP请求、FTP请求、JDBC请求等等。

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

通常,测试计划以XML格式保存,因此与任何特定的操作系统都没有关系。它可以在JMeter可以运行的任何操作系统上运行。

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

预置处理器是在采样器执行之前发生的事情。为了在执行采样请求之前对其进行配置,或者用于更新未从响应文本中提取的变量,需要使用预处理器元件。

一些预处理器元件是:

HTTP URL重写修饰符

HTTP用户参数修饰符

HTML链接解析器

BeanShell PreProcessor

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

测试计划元件的执行顺序为:

配置元件 -> 前置处理器 -> 计时器 -> 取样器 -> 后置处理器 -> 断言 -> 监听器

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

配置元件与采样器并行工作。要设置默认值和变量以供采样器以后使用,可以使用配置元件。在合并范围的开始,将先处理这些元件,然后再处理同一合并范围中的任何采样器。

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

默认情况下,JMeter线程将连续发送请求而不会暂停。为了在请求之间暂停,使用了计时器。使用的一些计时器包括恒定计时器,高斯随机计时器,同步计时器,均匀随机计时器等。

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

测试片段也是一种元件,例如“线程组”元件。唯一的区别是,除非模块控制器或包含控制器引用了测试片段,否则不会实现测试片段。

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

断言有助于验证被测服务器是否返回了预期结果。

JMeter中一些常用的断言是:

响应断言

持续时间断言

大小断言(Size Assertion)

XML断言

HTML断言

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

①使用非GUI模式执行测试,如 jmeter –n –t test.jmx –l test.jtl

②在加载期间,测试不使用“查看结果树”或“查看表中的结果”监听器,仅在脚本编写阶段使用它们;

③不要使用功能模式;

④与其使用大量相似的采样器,不如在循环中使用相同的采样器,并使用变量来改变采样;

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

通过同步,可以实现计时器JMeter尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从而产生了巨大的瞬时负载。

小贴士:尖峰测试 也可以称为冲击测试,反复冲击服务器。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。

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

通常,可以通过录制来捕获脚本:

首先,必须在Testplan(测试计划)中使用 Threadgroup,然后在 Workbench(工作台) 中使用HTTP代理服务器;

之后,在“全局设置”框中设置端口号(如8911),然后在 IE高级选项>连接>局域网设置中 开启 代理设置,并将地址修改为localhost,端口改为8911。

然后,HTTP代理服务器中选择 目标控制器 Testplan>Threadgroup,然后启动HTTP代理服务器并运行应用进行登录。

12列出几个JMeter监听器?

一些JMeter监听器是:

集合报告

汇总报告

查看结果树

用表格查看结果

图形结果

BeanShell Listener

摘要报告等

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

你可以消除所有嵌入式资源的显式调用。请求底部有一个复选框,显示“检索嵌入式资源(retrieve embedded resources.)”。它会捕获所有CSS、JPG等。这是在Web应用中查找资源和断开链接的绝妙方法。

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

要在发出请求后执行任何操作,则使用后处理器。例如,如果JMeter向Web服务器发送HTTP请求,并且如果你希望JMeter在Web服务器显示错误时停止发送请求,那么你将使用后处理器执行此操作。

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

JMeter提供性能测试方面的优势,例如:

它可以用于测试静态资源和动态资源的性能;

它可用于测试网站最大并发用户数,从而分析定位网站瓶颈;

它提供了性能报告的图形化分析;

16、Jmeter怎么录制脚本,怎么过滤,线程组有哪些内容?

jmeter可以使用第三方的录制工具(badboy)或者使用jmeter自带的HTTP代理服务器录制脚本功能.jmeter录制原理:通过http代理服务器抓取用户操作网址过程中的链接

jmeter可以在设置http代理服务器的时候,选择过滤:HTTP(S) Test Script Recorder>>Requests Filtering>>URL Patterns to Exclude>>Add suggested Excludes(可以手动添加排除模式或者点击Add suggested Excludes,一般使用建议的排除模式) – 过滤的目的:避免录制无用脚本!!!

线程组包括:线程组名,注释,线程组中的线程数(用户数量),线程组在多少时间发送完请求,循环次数。

17、 JMeter的作用?

JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

18、 怎样计算Ramp-up period时间?

Ramp-up period是指每个请求发生的总时间间隔,单位是秒。如果Number of Threads设置为5,而Ramp-up period是10,那么每个请求之间的间隔就是10/5,也就是2秒。Ramp-up period设置为0,就是同时并发请求。

19、为何在run时,有些页面失败,但是最后不影响结果?

原因较多,值得提及的一种是因为主流页面与它不存在依赖关系,所以即使这样的页面出错,也不会影响运行得到正常结果,但是这样会影响到测试的结果以及分析结果。

20、怎样才能判断什么样的情况需要添加Regular expression_r Extractor?

检查Http Request中的Send Parameters,如果有某个参数是其前一个page中所没有给出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值