高频JMeter软件测试面试题

本文详细介绍了JMeter的基础概念、接口测试方法、关联机制、性能测试流程、断言设置、参数化技巧以及资源优化策略,是软件测试人员面试和日常工作的实用指南。
摘要由CSDN通过智能技术生成

近期,有很多粉丝在催更关于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请求取样器都设置了默认值,比如协议,主机地址、端口、编码等,将这些参数统一管理,减少了接口的维护成本,取值的顺序(优先级)是:

  HTTP请求本身设置的值

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

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

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

  主要有4种方式:

  1、CSVDataSetConfig

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

  2、函数助手

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

  3、用户自定义变量

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

  4、用户参数

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

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

  主要有四种:

  1、响应断言(ResponseAssertion)

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

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

  2、JSON断言

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

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

  3、断言持续时间(DurationAssertion)

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

  4、beanshell断言

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

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

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

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

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

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

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

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

  5、不要使用功能模式

  6、使用CSV输出而不是XML

  7、仅保存需要的数据

  8、使用尽可能少的断言

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

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

 

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

 

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值