当前位置: 首页 > news >正文

高频Jmeter软件测试面试题

近期,有很多粉丝在催更关于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://www.gsyq.cn/news/112838.html

相关文章:

  • 揭秘私有化Dify用户管理体系:如何实现精细化权限分配与安全审计
  • 大模型教我成为大模型算法工程师之day15: 图像分割 (Image Segmentation)
  • 3、云、虚拟化与数据存储网络基础全解析
  • Python学习第一天:保留字和标识符
  • Java面试Redis核心知识点整理!
  • C++编译死机排查工具与实战指南
  • 深度剖析Dify PDF解密失败根源(附完整错误代码对照表)
  • 不懂数据库索引原理?你写的SQL跑的慢如老牛,就等着挨骂吧
  • QuickBI报表开发流程详解
  • 震惊!Deep Agents让AI智能体“开挂“了!任务分解+子智能体+虚拟文件系统,小白也能构建“超级智能体“!
  • 【编程干货】大模型开发文档处理秘籍,让你的RAG系统性能提升10倍!
  • 震惊!AI Agent架构的“五脏六腑“全曝光!从底层到SaaS平台,5层架构带你秒懂大模型Agent开发(附全景图)
  • 【yyds】9种高级Chunking策略让RAG系统性能起飞,大模型开发者必看干货!
  • 实测主流科技查新网站:它们如何解决专利与项目查新的双重需求?
  • 【自然语言处理】字符编码与字频统计:中文信息处理的底层逻辑与实践维度
  • 【自然语言处理】单字与双字字频统计算法设计
  • 市场上MES供应商众多,各自的侧重点有何不同?我们该如何找到最适合自己行业和需求的?
  • 为什么make4ht -x abc.tex生成的HTML文件没有样式
  • 一多开发实例(购物比价)
  • Oracle回滚与撤销技术
  • 毕设分享 基于单片机的太阳追光系统(源码+硬件+论文)
  • 《Nature Communications》新突破:皮肤共形MHz近红外光探测器,实现无角度依赖的百米通信
  • Linux相关基础
  • 台达DVP 16ES2与DT3系列温控器通讯程序(TDES-3)及昆仑通态、威纶通触摸屏操作手册
  • 考虑风光出力的虚拟电厂和运营商的主从博弈,分别考虑电动汽车充放电,火电出力,储能设备充放电充放...
  • 总线的atmotic与lock/exclusive
  • 投影机选型核心技术解析:4大参数原理+实操选型指南
  • 工厂级绣花生产适配:威尔克姆 Wilcom9.0 精准还原设计软件下载安装教程
  • 《Etsy 最狠的地方,不是封号,而是先让你注册成功》
  • 基于SpringBoot的演唱会售票系统设计与实现论文