首页 > 其他分享 >高频Jmeter软件测试面试题

高频Jmeter软件测试面试题

时间:2023-05-12 17:58:07浏览次数:42  
标签:面试题 请求 软件测试 接口 响应 测试 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、使用性能最佳的脚本语言

最后

整理了一份面试文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!有需要的小伙伴可以加群:946094265 自行领取

标签:面试题,请求,软件测试,接口,响应,测试,Jmeter,断言
From: https://www.cnblogs.com/ccssx/p/17395866.html

相关文章

  • 存下吧!Spring高频面试题总结
    Spring是什么?Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring的优点通过控制反转和依赖注入实现松耦合。支持面向切面的编程,并且把应用业务逻辑和系统服务分开。通过切面和模板减少样板式代码。声明式事务的支持。可以从单调繁冗的事务管理代码中解脱......
  • 肖sir __面试课程__ 非技术面试题
    一、请你自我介绍一下你自己?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可......
  • Kafka 面试题
    1、ApacheKafka是什么?ApachKafka是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心的功能广为人知,即作为企业级的消息引擎被广泛使用。你一定要先明确它的流处理框架地位,这样能给面试官留下一个很专业的印象。2、什么是消费者组?消费者组是Kafka独有的概......
  • 面试题目汇总
    react篇React生命周期 挂载时constructorgetDerivedStateFromPropsrendercomponentDidMount 更新  getDerivedStateFromPropsscurendergetSnapBeforeUpdatedidUpdate 卸载willUnmountwillmountwillupdatewillReceiveProps异步渲染渲染可以被中断 React版本......
  • jmeter 美化json响应
    简介在查看结果树中,ResponseBody里的json一般是不换行的,看起来很不方便。这里通过JSR223后置处理器改变响应的格式具体实现首先,我们要把fastjson的jar包放入到jmeterHome/lib/目录(建议放入1.x的版本,因为fastjson2可能需要多个jar包,具体需要哪些我也没有测试),重启jmeter第二步......
  • 面试题2
    目录一、python1数据类型2可变、不可变3装饰器、迭代器、生成器①装饰器:②迭代器③生成器4上下文管理器5深浅拷贝①深拷贝②浅拷贝6猴子补丁7io操作与gil8反射9鸭子类型10继承、多态、封装(1)继承(2)多态(3)封装11类中的方法:动静态方法12os和pathlib13元类的原理type......
  • 一位27岁软件测试员,测试在职近5年,月薪不到2W,担心被应届生取代
    工作了近5年,一个月工资不到20K,担心被应届毕业生取代!互联网的快速发展伴随着员工适者生存的加速,测试员的薪资也在不断增长,以3年、5年、8年+为一条分水岭。如果人们的能力和体力不够,他们就会被淘汰。看起来生动的工作生活却让许多人焦虑不安。最近,一名来自211本科的测试工程师在脉......
  • 如何衡量软件测试的绩效
    绩效的主要目标是保证产品或QA过程的一致性。它也可以是一个管理系统,允许管理者根据收集到的数据做出决定。过程的绩效衡量标准的实施应该涉及到整个组织。不同团队的衡量标准可能会有所不同。什么是绩效衡量?绩效衡量是管理和了解以下方面:项目进展如何?项目中的偏差及其原因?......
  • 面试题之GIL全局解释器锁和互斥锁(详细后面补)
    目录一、全局解释器锁(GIL)什么是(GIL)全局解释器锁?详细概念1、什么是全局解释器锁2、全局解释器锁的好处全局解释器的缺点4、GIL的作用:什么是互斥锁?概念代码解释二、同步锁1、什么是同步锁?2、为什么用同步锁?3、怎么使用同步锁?4、同步锁的所用:三、死锁1、什么是死锁?2、死锁产生的必要......
  • 百度最新面试题集锦
    1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7)=4,可以证明最少需要4次运算n=7n-16n/23n-12n/21要求:实现函数(实现尽可能高效)intfunc(unsignintn);n为输入,返回最小的运算次......