高频Jmeter软件测试面试题

article/2025/6/19 12:13:36

近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频Jmeter面试题,拿走不谢~

一、JMeter的工作原理

JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。

二、用Jmeter怎么做接口测试的?

1、根据开发提供接口文档,编写接口测试用例

2、利用Jmeter做接口测试,添加线程组和HTTP请求,在HTTP请求中,添加对应的ip,port,url,请求参数等

3、添加响应断言

4、添加查看结果树

5、执行用例

6、查看结果,验证接口返回与预期是否一致

三、Jmeter是怎么实现接口之间关联的?

有两种方式,即正则表达式提取器和json提取器,比如说我们要获取一个Token,可以把获取到的Token值赋予一个变量,在下一个接口调用这个变量即可,如果需要提取的文本是页面上某元素的属性值,建议使用json提取器,如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器

四、性能测试流程

主要分五个阶段:

1、需求调研

进行需求调研和需求分析,输出性能测试需求表和性能测试计划书

2、测试准备

构建测试模型,制定测试方案,设计性能测试案例,准备压测的数据和脚本,输出性能测试方案和测试用例文档

3、用例执行

执行测试用例,记录性能测试结果,做好性能测试的监控,对测试结果进行分析,输出性能测试的执行日志

4、测试报告编写

编写性能测试报告,包含测试结果,出现的缺陷和问题,结果分析和性能测试的结论,输出性能测试分析报告

5、测试总结

对本次压测过程进行总结和复盘

五、Jmeter中如何设置断言?

鼠标右击请求—断言—响应断言—响应断言,输入要检查比对的项,设置好断言后,执行接口用例,查看结果树,如果通过,不会有任何报错提示,如果断言失败,就会有红色报错。

如果接口返回的数据是Json格式的,也可以添加Json断言

六、Jmeter添加http请求默认值元件的作用

相当于给其范围内的所有http请求取样器都设置了默认值,比如协议,主机地址、端口、编码等,将这些参数统一管理,减少了接口的维护成本,取值的顺序(优先级)是:

1、HTTP 请求本身设置的值

2、HTTP 请求下的 HTTP 请求默认值设置的值

3、线程组下的 HTTP 请求默认值设置的值

七、Jmeter参数化的方式有哪些?

主要有4种方式:

1、CSV Data Set Config

在配置元件中添加,适合场景参数范围较大的场景,方便用户随时修改参数数据,使用较多的就是参数化用户名和密码的场景

2、函数助手

是Jmeter自带的函数,适合生成随机数的场景,例如生成随机字符串,随机日期,随机数字等

3、用户自定义变量

在配置元件中添加,适用于在测试计划中参数不经常变化的场景,例如设置host、端口号、url等

4、用户参数

在前置处理器中添加,适用于参数取值范围很小的场景,一般会将登录的用户账号和密码作为用户参数

八、Jmeter常用断言方法有哪些?

主要有四种:

1、响应断言(Response Assertion)

响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。

响应断言可以适用各种返回类型的响应结果,如Test、html、application/json、application/xml等

2、JSON断言

它一般用于断言某个字段值是否等于指定的值。

JSON断言只能针对响应结果为applicaton/json格式的进行断言操作,如果是其他类型(如:Test、xml),则无法使用这种方式

3、断言持续时间(Duration Assertion)

通常用于做性能测试,一般用于检查HTTP请求的响应时间是否超过预期值

4、beanshell 断言

使用BeanShell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本。

九、JMeter测试元件的执行顺序

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

十、如何减少JMeter的资源需求

1、使用非GUI模式进行测试,例如jmeter -n -t test.jmx -l test.jtl

2、使用尽可能少的监听器

3、不要在负载测试期间使用“查看结果树”或“在表中查看结果”监听器,仅在脚本编写阶段使用它们来调试脚本

4、在循环中对于相似的请求,最好使用同一个采样器,结合CSV Data Set Config来改变样本,而不是使用多个相似的取样器

5、不要使用功能模式

6、使用CSV输出而不是XML

7、仅保存需要的数据

8、使用尽可能少的断言

9、使用性能最佳的脚本语言


资源分享

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

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/o1gTd9i0.shtml

相关文章

常见JMeter面试题

1、什么是JMeter? JMeter是一种开源的性能测试工具,可以用于测试静态和动态资源,如Web应用程序、数据库、FTP服务器等。 2、JMeter可以测试哪些类型的应用? JMeter可以测试各种类型的应用程序,包括Web应用程序、数…

c#实现的破解程序--针对软件使用时间限制

自己捣腾了一天,弄了一个修改软件过期的小程序,主要是自己有几款有时间限制的软件,每次改时间很麻烦。有了这个程序就可以一劳永逸了。 前提:只适用于修改操作系统时间后,程序就能够正常使用的那种软件。如Lingoes&…

时间设置(图书馆)

我们根据代码一边调试一边探讨: 获取当前时间赋值到变量上 整体代码: var myDate new Date();//获取当前日期 var day (“0” myDate.getDate()).slice(-2);//日:若小于9,前面补上0 var Month (“0” (myDate.getMonth() 1)…

idea使用datebase

1.idea界面左上方,View中选择Database 2.点击Database中的“”号 3.选择Mysql数据库 4.测试连接,若不成功,则去配置驱动 5.选择对应的版本号或者本地添加数据库jar包 6.配置过驱动之后以及测试通过之后,点击OK按钮即可使用

SpringBoot2.0高级案例(10):整合 JWT 框架,解决Token跨域验证问题

GitHub源码地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent一、传统Session认证 1、认证过程 1、用户向服务器发送用户名和密码。 2、服务器验证后在当前对话(session)保存相关数据。 3、服务器向返回sessionId&#xff0c…

SpringBoot集成JWT实现token验证以及代码演示

一、JWT的主要应用场景 身份认证在这种场景下,一旦用户完成了登陆,在接下来的每个请求中包含JWT,可以用来验证用户身份以及对路由,服务和资源的访问权限进行验证。由于它的开销非常小,可以轻松的在不同域名的系统中传…

2018.8.2课堂笔记

一.用户配置文件与密码配置文件 1.1 /etc/passwd是由 “ :” 分割7个字段,每个字段的含义如下: [rootlocalhost ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/no…

python爬虫反虫之setcookie

作者原文传送littleywww.littley.top 反爬表现 在使用python或rust进行爬虫的时候的有时会遇到请求返回一段含有只含有js代码的html页面如图: 分析及优化文件 首先解决转义字符\x63\x73\x4b,转义字符可以通过console.log()打印出来,最方…

java 数据抓取 动态获得cookies里变动的属性_Java爬取CSDN博客遇到setCookie问题

最近有一个需求就是爬取CSDN上的数据,但是目前遇到了一个问题就是关于获取CSDN的cookie的问题。到目前为止并没有什么好的办法。希望大家可以给我留言,我们一起探讨。。 在我没有设置cookie的时候,会报以下错误。 function setCookie(name,va…

js的cookie操作

cookie.js: //这个cookie的js代码借用的老外的,我加了中文注释--原文:http: //www.echoecho.com/jscookies02.htm ///设置cookie function setCookie(NameOfCookie, value, expiredays) { //参数:三个变量用来设置新的cookie: //cookie的名称,存储的Cookie值, …

蓝牙 宽带通话 (wide band speech)WBS 剖析(一) -- profile层

一.概述 WBS(wide band speech)通俗来讲就是蓝牙宽带通话,通话数据frequency 16K,采用msbc编解码(chip中实现) 和NBS(narrow band speech)相对,NBS通俗来讲是窄带通话&a…

通话参数配置的经验和技巧

整体的通话信号流程如下: MIC采集信号 -> 放大器 -> ADC采集 -> 通话MIC数字增益 -> AEC算法 -> ANS降噪算法 -> 通话MIC后端数字增益 -> 通话EQ -> 蓝牙上行。 配置中如图所示: MIC去直流fliter配置:MIC高通flite…

CHOLAN:一种模块化实体链接方法

CHOLAN: A Modular Approach for Neural Entity Linking on Wikipedia and Wikidata 论文链接:https://arxiv.org/abs/2101.09969 (EACL 2021) 代码实现:https://github.com/ManojPrabhakar/CHOLAN ABSTRACT 本文作者提出了实现在知识库上进行端到端…

高清语音技术(WBS)及其在手机和蓝牙耳机中的实现

高清语音也被称为宽带语音,是一种能为蜂窝网络、移动电话和无线耳机传输高清、自然语音质量的音频技术。与传统的窄带电话相比,高清语音很大程度上提高了语音质量,减少了听觉负担。 通信产业链上的所有网络和设备都需支持高清语音才能体现出该…

蓝牙编码格式Codec的优先级配置

【Bluetooth】Android版本所支持的蓝牙协议code查询 Android版本所支持的蓝牙协议code查询方法: 协议配置文件有2个,一个是谷歌源生的,一个是高通自己添加的。 优先级:高通 > 谷歌。对于同一种协议会进行覆盖。 其中&#xff…