当前位置: 首页 > 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请求取样器都设置了默认值,比如协议,主机地址、端口、编码等,将这些参数统一管理,减少了接口的维护成本,取值的顺序(优先级)是:

  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、使用性能最佳的脚本语言

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

高频JMeter软件测试面试题

近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频JMeter面试题,拿走不谢~ 一、JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计…...

iptables netfilter

iptables -L --line...

如何使用Python自动发送邮件?

Python 提供了强大的内置库 smtplib 和 email,让我们能够轻松地发送各种类型的电子邮件。本指南将带你逐步了解如何使用 Python 发送邮件,从简单文本邮件到包含 HTML 内容、附件和内嵌图片的复杂邮件。 1. 准备工作: 1.1 安装必要的库 确保…...

C#中读写INI配置文件

在作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config&#xff0…...

深入解析Spring中的@RequestMapping注解

RequestMapping是Spring框架中的一个核心注解,用于映射Web请求到处理器类的方法上。本文将详细介绍RequestMapping注解的用途、支持的属性以及如何在Spring MVC和Spring WebFlux中应用它。 1. 引言 在Spring框架中,RequestMapping是一个用于简化请求映…...

Python:lambda函数

lambda函数解释 Lambda函数,也被称为匿名函数,是Python等编程语言中用于创建简单、一次性使用的函数对象的一种快捷方式。在Python中,lambda函数使用lambda关键字定义,其后紧跟一个或多个参数(用逗号分隔)…...

MySQL查询语句

1. 一般查询 select * from table; 创建表:并插入数据,为下面的查询做例 create table info ( id int primary key, name varchar(10), score decimal(5,2), address varchar(20), hobbid int(5));insert into info values(1,liuyi,80,bei…...

远程连接服务

1.SSH协议握手流程 TCP三次握手后当前主机与远程服务器之间协商用哪种协议版本,ssh有两个(ssh1/ssh2)一般用ssh2,协商完后进入到密钥交换的阶段,客户端会生成一个公钥和一个私钥,公钥用来上锁,私…...

系统架构设计师——软件开发方法分类

分类 软件开发方法是指软件开发过程所遵循的办法和步骤,从不同的角度可以对软件开发方法进行不同的分类。 按照开发风范 软件开发过程中,开发方法的选择对项目的成功至关重要。这些方法可按照特定的开发风范分为自顶向下和自底向上两种主要策略&#…...

《看漫画学Python》全彩PDF教程,495页深度解析,零基础也能轻松上手!

前言 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的。随着近年大数据、人工智能的兴起,Python 越来越多的出现在人们的视野中。 在各家公司里,Python 还常被用来做快速原型开发,以便更快验证产品…...

用户画像系列——Spark任务调优实践

在画像标签的加工和写入hbase中,我们采用了spark来快速进行处理和写入。但是在实际线上运行的过程中,仍然遇到了不少问题,下面来总结下遇到的一些问题 1.数据倾斜问题 其实spark 数据倾斜思路和hive、mapreduce 数据倾斜思路处理类似&…...

前端面试宝典【HTML篇】【4】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…...

【UbuntuDebian安装MySQL】在线安装MySQL8

云计算:腾讯云轻量服务器 系统:Ubuntu-v22 1.更新系统软件包列表 打开终端并运行以下命令来确保你的系统软件包列表是最新的: sudo apt update2.安装 MySQL 存储库 MySQL 提供了官方的 APT 存储库,可以确保你安装的是最新版本…...

PDF翻译神器:这四款可以实现一键搞定,留学党必备!

外文的阅读还是需要一定的语言功底,现在大家也对外文越来越重视起来了,但是借助一些翻译工具进行翻译可以很大程度地提升工作的效率,就算是遇到批量的文件处理也可以一键翻译出来,所以今天借此文章整理了四款好用的pdf翻译工具&am…...

精心准备的高水平的博客【点评语】,来抄啊!

大家好,我是一名_全栈_测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家关注我,和我一起【分享测试知识,交流测试技术,趣聊行业热点】。 第 1 条 这篇博客文章如同灯塔般照亮了技…...

gitlab汉化

承接上文安装好gitlab 首先查看好gitlab的版本(ps:要启动gitlab) cat /opt/gitlab/embedded/service/gitlab-rails/VERSION我的版本是10.0.0 然后安装git yum install -y git然后克隆一下汉化的仓库 git clone https://gitlab.com/xhang/g…...

SSH访问控制:精确管理你的服务器门户

“ 在数字世界中,服务器的安全性是任何网络管理员的首要任务。特别是对于远程登录协议如SSH,确保只有授权用户可以访问是至关重要的。 今天,记录两种有效的方法来控制用户对特定服务器的访问:通过sshd_config实现黑/白名单机制和利…...

Java中的SSL/TLS安全通信实现

Java中的SSL/TLS安全通信实现 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何在Java中实现SSL/TLS安全通信。 一、什么是SSL/TLS SSL(Secure Sockets La…...

2959. 关闭分部的可行集合数目

2959. 关闭分部的可行集合数目 题目链接:2959. 关闭分部的可行集合数目 代码如下: //参考链接:https://leetcode.cn/problems/number-of-possible-sets-of-closing-branches/solutions/2844227/guan-bi-fen-bu-de-ke-xing-ji-he-shu-mu-b-85ov class S…...

第十九天培训笔记

上午 1 、构建 vue 发行版本 [rootserver eleme_web]# nohup npm run serve& // 运行 vue 项目 [rootserver eleme_web]# mkdir /eleme [rootserver eleme_web]# cp -r /root/eleme_web/dist/* /eleme/ // 将项目整体 移动到 /eleme 目录下 [rootserver eleme_web]# …...

s2-pro GPU算力适配实战:显存优化部署让语音合成延迟降低40%

s2-pro GPU算力适配实战:显存优化部署让语音合成延迟降低40% 1. 专业语音合成新选择 s2-pro是Fish Audio开源的专业级语音合成模型镜像,它让高质量的文本转语音变得触手可及。与普通语音合成工具不同,s2-pro支持通过参考音频复用音色&#…...

开源动作捕捉与3D数据采集:FreeMoCap如何颠覆传统动捕方案

开源动作捕捉与3D数据采集:FreeMoCap如何颠覆传统动捕方案 【免费下载链接】freemocap Free Motion Capture for Everyone 💀✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 在游戏开发、动画制作和运动科学研究领域&#xff0c…...

OpenClaw语音交互扩展:百川2-13B+Whisper实现语音指令控制

OpenClaw语音交互扩展:百川2-13BWhisper实现语音指令控制 1. 为什么需要语音交互能力 去年冬天的一个深夜,我正在调试OpenClaw的自动化脚本,双手因为长时间敲键盘已经有些僵硬。突然想到:如果能让AI听懂我的语音指令直接执行任务…...

5个技巧让Markdown Viewer成为你的浏览器文档中心

5个技巧让Markdown Viewer成为你的浏览器文档中心 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 还在为浏览器无法直接预览Markdown文档而烦恼吗?Markdown Viewer浏览…...

MGeo门址解析应用场景:房产中介平台房源地址自动标准化与GIS热力图生成

MGeo门址解析应用场景:房产中介平台房源地址自动标准化与GIS热力图生成 1. 引言:房产中介的地址之痛 想象一下,你是一家房产中介公司的运营人员。每天,你的同事和合作方会通过各种渠道收集到成百上千条房源信息:有的…...

OpenClaw内存优化:nanobot在4GB设备运行大型文档处理

OpenClaw内存优化:nanobot在4GB设备运行大型文档处理 1. 当4GB内存遇上100页PDF:一个不可能完成的任务? 上周我接到一个需求:需要在本地处理一份100页的技术文档PDF,提取关键信息并生成摘要。我的工作机是一台老旧的…...

Qwen3字幕系统Linux部署指南:从安装到性能调优

Qwen3字幕系统Linux部署指南:从安装到性能调优 为视频内容自动生成精准字幕的时代已经到来 还记得手动为视频添加字幕的痛苦经历吗?一遍遍听写、校对、调整时间轴,几分钟的视频往往需要花费数小时。现在,基于Qwen3的智能字幕系统可…...

JavaScript动态交互:在网页中实时调整参数并预览LiuJuan生成效果

JavaScript动态交互:在网页中实时调整参数并预览LiuJuan生成效果 你是不是也遇到过这种情况?想用AI模型生成图片,但每次调整参数都要在代码里改来改去,然后重新运行脚本,等半天才能看到效果。整个过程就像在开盲盒&am…...

Llama-3.2V-11B-cot快速部署:单命令启动+自动加载双卡4090

Llama-3.2V-11B-cot快速部署:单命令启动自动加载双卡4090 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具,专为双卡4090环境深度优化。这个工具解决了传统大模型部署中的几个关键痛点:…...

scanf_s使用避坑指南:如何正确应对C6064警告(含C6054连带问题处理)

scanf_s安全使用全指南:彻底解决C6064与C6054警告 在Windows平台进行C/C开发时,使用scanf_s函数处理用户输入是常见场景。但许多开发者都会遇到两个令人困惑的警告——C6064和C6054。这些警告看似简单,实则暗藏玄机。本文将带你深入理解这两个…...