职说测试
资深软件测试专家,拥有超过10年行业经验。作为CSDN的知名博主和内容合伙人,我在Python和软件测试领域持续贡献优质内容。我的专业聚焦于性能测试和自动化测试(API/Ui),并荣获新星计划优秀导师的称号。感谢C站粉丝的持续支持,我致力于分享前沿技术和实战经验,助力您的技术成长。
展开
-
JMeter入门,既要又要还要掌握的基础元件
对我们测试来说,jmeter应该是我们使用较频繁的测试工具之一,因为其开源、免费、轻量、功能强大,支持很多种协议,除了测功能,还能做接口和性能自动化;从各大招聘网站或其他线上培训机构,常常使用期来吸引一部分学员,而在性能测试工具中,jmeter市场占有率慢慢的超过了loadrunner商业性能测试工具;如此优秀的测试工具,作为优秀的测试人员是必须掌握的;然而经常看到QQ群或其他博客论坛讨论jmete原创 2020-05-09 09:22:43 · 1116 阅读 · 1 评论 -
JMeter导读:博主为什么要推荐你使用并掌握它
目录 JMeter(二十一):使用BeanShell解析Json格式的报文 JMeter(二十二):使用Beanshell Assertion做高级断言 JMeter(二十三):使用beanshell断言处理json数据 JMeter(二十四):实现文件上传的http接口测试 JMeter(二十五):正则后置处理器及逻辑循环控制器 JMeter(二十六):Scanner类实现短信验证码处理方式 JMeter(二十七):tesseract工具实现图片验...原创 2021-08-24 14:51:14 · 381 阅读 · 0 评论 -
JMeter做性能测试之前,你应该要知道的套路?
前面我没说流程中的《性能测试方案》《性能测试类型》《如何设计性能测试用例》《如何编写性能测试报告》《如何进行性能调优》等等事件,给自己圆个谎:你知道一本书为什么讲不清性能测试吗?你知道线上培训的课程除了收费的都不深入讲解性能测试吗?你知道为什么网上有很多材料都没有完全讲明白性能调优吗?答案就是套路,流程是套路、方案设计是套路,结果分析还是套路,只看是谁在使用套路。原创 2020-07-23 09:56:54 · 842 阅读 · 0 评论 -
[JMeter性能测试实战]之先从搭建测试环境开始
前言写给想学性能测试而又不知道如何着手的测试同学,同时这也作为本人内训的教材,分享性能测试的套路及经验。不要被性能测试的外衣所迷惑,会写代码做性能测试的人不一定比使用工具做性能测试的人厉害,关键是看工具在谁手里,就好比一把绝世好剑,普通人视之如废铜烂铁,顶多拿去劈柴,而在高手手里犹如猛虎添翼、游刃有余;好了,话不多说,建议性能测试的初学者,不要去拿公司现有项目去做性能测试练习,怕不知道性能问题如何优化,不知道怎么修改,而胡乱修改会导致原有的服务不能正常运行,所以第一步先从搭建性能测试环境开始,从.原创 2021-10-13 11:41:28 · 438 阅读 · 0 评论 -
[JMeter性能测试实战]之如何部署应用服务器
时至今日,已经很少在公司或项目中对web服务器有所提及,至于原因,作者本人也无从得知,只知道在刚开始接触政府事业单位的OA系统,知道有tomcat、Weblogic、jboss等等,有时候还分不清楚他们和apache、nginx这类web服务器的定义一、Tomcat介绍Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Serv.原创 2021-11-01 10:45:45 · 400 阅读 · 0 评论 -
[JMeter性能测试实战]之开发脚本利器JMeter
前言在这里咱不对比作者用过的或听说过的性能测试工具,因为通过百度就可以知道个大概。本文主要是说jmeter,如何开发脚本、快速开发脚本、解决脚本的相关问题,总结其使用心得。作者对jmeter算熟悉,尽管Loadrunner也同样的熟悉,但是目前从招聘JD中描述已知与它并驾齐驱。一、JMeter介绍本来已经粘贴好了一大段文字,但是我又删了,为什么呢?因为有些滥竽充数了,众所周知而已,详细的介绍,作者推荐jmeter官网,具体可参考官网,它上面不仅有介绍及安装步骤,还有各种元件的操作手册,还.原创 2021-11-23 00:45:00 · 449 阅读 · 0 评论 -
[JMeter性能测试实战]如何做单接口性能测试
作为一名性能测试工程师,肯定需要解决一类问题,就是针对单接口做性能测试,而实际业务场景呢,这个可能存在一些难度,譬如,一个页面查询功能,如果只是查询接口,那么它查询的条件最好要有业务支撑,换句话说一定要查出结果,这样查出的结果页就是一个列表,至少从服务器监控的数据得到出网的流量数据;那问题来了该如何去设计这类有业务依赖的接口压测呢?硬要说对于单接口的性能压测设计,特别是对于进入列表页后搜索接口的压测,如何设计查询条件,它对于系统性能有没有明显的差异?且看gpt-4是如何回答的。原创 2024-04-07 09:30:00 · 1058 阅读 · 2 评论 -
[JMeter性能测试实战]脚本开发之场景设计
前言开发性能测试脚本之前,需要能够娴熟的使用一款性能测试工具,或者本身不会工具,更擅长写代码也行;毕竟设计一份合理的性能测试脚本是性能测试的良好的开端。一、分析系统特点分析系统的特点:做惯了各种http协议的接口性能测试,如果遇到其他协议怎么办呢:dubbo、soap、mq等等1.1、Jforum论坛它是 Java 实现的强大而健壮的讨论板系统,B/S架构,属于web系统,所以基本可以看得见是http协议的、jsp页面。但是它又不同于咱们熟知的restful风格的api、或是json返.原创 2021-11-22 00:15:00 · 474 阅读 · 0 评论 -
[JMeter性能测试实战]之如何构造海量测试数据
Jforum论坛部署完之后,用来做性能测试练习使用,接下来需要对它的主要业务进行熟悉,业务建模之前,对它的业务流程、数据库表结构也应当有所了解。一、主流程不论是公司的系统还是开源的项目,在做测试之前,都应该要熟悉它的主流程(主业务),才能更有利的设计测试用例。用户注册登录发帖登录回帖浏览搜索在页面能看到还有热门主题、最新主题等功能1.1、独立场景根据监控业务数据分析,假设发帖、回帖、浏览三个业务最为频繁,其中发帖和回帖都需要登录,那么分别设立:登录、发帖、回帖、浏览四个独立.原创 2021-11-01 10:46:30 · 837 阅读 · 0 评论 -
[JMeter性能测试实战]监控建模之记录Tomcat性能调优
前言说起性能测试就来劲了,因为它作为测试领域为数不多需要深厚技术功底的技能之一;但是,入门容易,深耕难。想要在这一门技术里修炼成大咖,没有个5-6年技术积累是很难达到的;关键在于性能问题的发生是无规律的,却又有一定的套路在里面,需要不断学习和总结经验。这里我也建议:学习不一定要拿自己公司的项目,而是先去拿别人开源的项目来练手,自己设定性能问题,然后通过现象了解性能问题的本质,以达到性能优化的目的。环境准备这里不只是环境搭建,而且包括脚本开发、数据构造、监控平台等等一切为执行性能测试场景而准原创 2021-10-18 11:31:51 · 365 阅读 · 0 评论 -
JMeter(一):基础元件的作用域与执行顺序
在使用JMeter进行性能测试时,了解基础元件的作用域和执行顺序是非常重要的。这些元件决定了测试计划的各个部分如何相互作用,从而影响最终的测试结果。本文将详细介绍JMeter中常见基础元件的作用域和执行顺序,帮助读者更好地设计和执行测试计划。本篇文章,与上一篇《》有些类似,主要介绍各大元件的使用范围。原创 2019-03-25 15:26:46 · 4444 阅读 · 1 评论 -
JMeter(二):关于自动化的线程组设置
1、Tread Group:线程组名词解释Name:给这个线程组命名,可以让这个线程组变得有意义(模拟用户量);Comments:注释,自定义,可以是给这个线程组解释说明,在鼠标停留在左边树状组件时,会有浮动提示;Action to be taken after a Sampler error:在取样器发生错误后要执行的动作(取样器,真正发起请求的元件);Continue,继...原创 2020-02-04 20:21:06 · 788 阅读 · 1 评论 -
JMeter(三):前置处理器[JDBC PreProcessor]
1、JDBC PreProcessor JDBC前置处理器处理请求前的数据tips:运行结果将会以多个map形式的list保存在所设置的变量中,结果中的列名作为map的key值,列的值作为map的value;使用方法columnValue = vars.getObject("result变量值").get(0结果集第一行的数据从0开始).get("Column Name第一行数据库字段名...原创 2020-02-04 20:20:48 · 2903 阅读 · 1 评论 -
JMeter(三):前置处理器[BeanShell PreProcessor]
关于BeanShell,其实放在一个章节里讲,因为他有前置、后置、还有sampler、assert四类beanshell脚本编辑器,其中coding部分是一致的,唯一不同之处就是作用域及作用。1、先看BeanShell PreProcessor元件的样子第一行Name属性,定义业务意义的名称属性 描述 Reset bsh.Interperter before each all 默认False,如果选择True,则是为每个采样器重新创建解释器 Parameters to be..原创 2021-07-01 10:35:44 · 1793 阅读 · 2 评论 -
JMeter(三):后置处理器[JSON Extractor]
JSON Extractor是JMeter中的一个后置处理器,用于解析HTTP响应中的JSON数据,并提取所需的信息。它基于JSONPath表达式来定位JSON数据中的特定字段,并将提取到的值存储为JMeter变量,方便后续使用。JSON Extractor是JMeter中一个非常实用的后置处理器,它能够帮助我们从HTTP响应的JSON数据中提取所需的信息,并将其存储为JMeter变量。通过合理配置JSONPath表达式和使用提取到的变量,我们可以更加灵活和高效地处理JSON数据,并进行后续的性能测试工作。原创 2021-07-01 16:00:20 · 510 阅读 · 0 评论 -
JMeter(三):后置处理器[XPath Extractor]
XPath Extractor基于XPath表达式来解析HTTP响应的XML数据,提取所需的信息,并将其存储为JMeter变量。这使得我们可以在后续的请求或断言中引用这些变量,从而实现动态数据传递和测试逻辑控制。原创 2021-08-09 09:42:49 · 596 阅读 · 0 评论 -
JMeter(三):后置处理器[JDBC PostProcessor]
先说使用场景:需要使用参数化做数据驱动测试时,需要提前准备测试数据环境,前置处理器:顾名思义就是在测试开始之前准备数据,可以是从数据库获取也可以是从文件中读取遍历;那么反过来,与之对应就会有后置处理器:意义在于清理数据环境或还原数据,还可以是用做参数动态关联,所以这一节介绍的元件有些多<选取主要的元件进行说明>:1、JDBC PostProcessor :JDBC前置处理器处理请求前的数据<这一章节的内容较多,关于jdbc的前置/后置处理器,再单独提取出来做演示>t.原创 2021-07-01 18:15:48 · 2532 阅读 · 1 评论 -
JMeter(三):后置处理器[BeanShell PostProcessor]
BeanShell PostProcessor允许你在收到服务器的响应后,使用BeanShell脚本对响应数据进行处理。例如,你可以提取响应中的特定数据、修改响应内容、或者根据响应数据决定是否继续执行后续的测试步骤。BeanShell PostProcessor是JMeter中一个强大的工具,它允许你在收到响应后执行自定义操作。通过编写BeanShell脚本,你可以轻松地提取、修改或处理响应数据,以满足你的测试需求。原创 2021-07-01 16:09:14 · 2051 阅读 · 0 评论 -
JMeter(三):后置处理器[Regular Expression Extractor]
正则表达式提取器基于正则表达式来解析HTTP响应数据,从中提取出符合特定模式的文本。用户需要提供一个正则表达式以及一或多个模板,JMeter将根据这些模板和正则表达式在响应数据中查找匹配项,并将匹配到的值存储为JMeter变量。正则表达式提取器是JMeter中一个非常强大的后置处理器,它允许我们使用正则表达式从HTTP响应数据中提取特定的信息,并将其存储为JMeter变量。通过合理配置正则表达式和模板,我们可以灵活地处理各种格式的响应数据,并进行后续的性能测试工作。原创 2021-08-09 09:42:14 · 453 阅读 · 0 评论 -
JMeter(四):介绍HTTP协议相关配置元件
本文介绍了JMeter中常用的HTTP协议相关配置元件,包括HTTP请求元件、HTTP请求默认值元件、HTTP Cookie管理器元件和HTTP请求头管理器元件。通过配置这些元件,我们可以更好地管理和控制HTTP请求的细节,从而实现更精确的性能测试和功能测试。希望本文对您使用JMeter进行HTTP协议测试有所帮助。原创 2019-03-12 20:07:46 · 4111 阅读 · 1 评论 -
JMeter(五):HTTP Sampler做HTTP协议的接口测试
本文介绍了使用JMeter的HTTP Sampler进行HTTP协议接口测试的基本流程和方法。通过实际操作和结果查看,读者可以掌握JMeter在接口测试中的应用,为后续的性能测试和负载测试打下坚实的基础。希望本文能对JMeter的学习者和使用者有所帮助。原创 2021-08-23 15:32:17 · 535 阅读 · 0 评论 -
JMeter(六):HTTP Sampler做SOAP协议的接口测试
背景:接着上篇的http sampler的介绍,这篇继续介绍它做其他协议的接口测试,并且用到它的高级功能:模版一键创建测试计划功能。 1、同样的操作步骤,启动JMeter-GUI模式,点击空白页盘边的绿色模版按钮,创建Soap webservice测试计划,那么也有advanced web test plan<构建高级web测试计划>: 2、模版测试计划执行结果如下: 3、执行结果断言失败,原因:匹配文本内容不存在或不包...原创 2021-08-24 14:51:41 · 376 阅读 · 0 评论 -
JMeter(七):函数助手经典介绍
JMeter函数助手允许用户创建自定义函数,这些函数可以在测试计划的各个部分中调用,例如请求参数、断言、正则表达式提取等。通过函数助手,我们可以生成动态的数据,模拟真实场景中的用户行为。JMeter函数助手是一个功能强大的工具,它允许我们在测试计划中使用自定义函数生成动态值。通过了解和掌握函数助手的使用方法,我们可以更加灵活地进行性能测试,模拟真实场景中的用户行为。希望本文能够帮助大家更好地理解和使用JMeter函数助手。原创 2021-08-23 15:26:49 · 440 阅读 · 0 评论 -
JMeter(八):定时器Timer经典介绍
JMeter提供了多种定时器,包括固定定时器(Constant Timer)、高斯随机定时器(Gaussian Random Timer)、均匀随机定时器(Uniform Random Timer)等。这些定时器可以根据需要灵活配置,以满足不同的测试需求。1、Constant Timer :等待时间(思考时间)Name:恒定时间元件名称(可以理解是等待(思考)时间),Comments:注释,随意;Thread Delay(in milliseconds):线程等待时间,单位毫秒;原创 2021-08-23 15:30:57 · 430 阅读 · 0 评论 -
JMeter(十):实现MySQL数据库测试(上)
要实现JMeter与MySQL数据库的交互,我们通常会使用JDBC请求来执行SQL语句。为此,你需要JDBC驱动来连接MySQL数据库。原创 2019-03-12 22:01:05 · 3791 阅读 · 1 评论 -
JMeter(九):Java单元测试或二次开发
需求:写一个字节流输出服务,将定义的参数通过IO存入文件。知识点:熟悉java的IO工具类,及jmeter接口开发的源码jar包。1、打开eclipse,编写java代码,在创建好的maven工程添加ApacheJMeter_java、ApacheJMeter_core依赖包,或是java工程添加外部jar包,自己选择喜欢的方式开发。package com.selenium.testng.ac...原创 2019-03-13 17:40:18 · 5118 阅读 · 1 评论 -
JMeter(十一):实现MySQL数据库测试(下)
通过JMeter的JDBC Request元件,我们可以轻松地实现对MySQL数据库的测试。通过编写SQL语句,我们可以查询或操作数据库,从而验证数据库的性能和稳定性。同时,JMeter提供了多种监听器来查看和分析测试结果,帮助我们更好地了解数据库的性能表现。希望本文能够帮助你更好地使用JMeter进行MySQL数据库测试。原创 2019-03-12 23:36:41 · 3829 阅读 · 1 评论 -
JMeter(十二):关于断言和监听器(上)
断言和监听器是JMeter中非常重要的组件,它们分别用于验证响应和展示测试结果。通过合理使用断言和监听器,用户可以更加有效地进行性能测试和分析。希望本文的介绍能够帮助读者更好地理解和使用JMeter中的断言和监听器元件。原创 2021-08-24 14:50:49 · 195 阅读 · 0 评论 -
JMeter(十三):关于断言和监听器(下)
前言:上一篇讲了写通用断言及监听器元件,调试时常用察看结果树,运行脚本时建议禁用监听器,避免占用太多资源,然而简单的断言已经不能满足需求了?断言要变得灵活,即动态断言,进行数据库断言。 来自官网的BeanShell解释 一、什么是BeanShell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言(这点和JS类似);BeanShell是用Java写成的,一个小型的、...原创 2021-08-24 14:49:39 · 174 阅读 · 0 评论 -
JMeter(十四):代理服务器录制脚本
通过配置JMeter作为代理服务器,我们可以轻松录制浏览器的HTTP请求,并将其保存为JMeter测试脚本。这种方法非常适合于测试Web应用的性能和功能。在实际使用中,我们还需要注意保护个人隐私和数据安全,避免不必要的风险。原创 2021-08-24 14:50:19 · 459 阅读 · 0 评论 -
JMeter(十五):脚本回放与关联处理(上)
在JMeter中,脚本回放指的是将录制的HTTP请求重新执行,以模拟用户在实际应用中的操作。关联处理则是指在多个请求之间传递参数,确保请求之间的数据一致性和连贯性。本文将详细介绍如何在JMeter中进行脚本回放以及如何处理请求之间的关联。原创 2019-03-11 17:49:46 · 3730 阅读 · 1 评论 -
JMeter(十六):脚本回放与关联处理(下)
脚本回放和关联处理是JMeter性能测试中不可或缺的两个环节。通过脚本回放,我们可以验证脚本的正确性和功能;而关联处理则帮助我们处理动态数据,使脚本更加真实和可靠。在实际使用中,我们可以根据具体需求选择适合的方法来实现脚本回放和关联处理,并结合JMeter的其他功能来提升性能测试的效果。原创 2019-03-11 19:16:51 · 3508 阅读 · 1 评论 -
JMeter(十七):脚本优化之参数化(上)
背景:优化脚本的手段:参数化、删减无效/无用的请求、增加相关元件来达到脚本符合需求的使用<减少元件的使用、灵活配置脚本>,达到去繁存简的目的。这篇还是以一个业务场景来讲解JMeter那些可以完成参数化的元件。1、以中国天气官网www.weather.com.cn为例,脚本结构、参数关联、监听结果:2、上面脚本使用了一个配置元件叫:User Defined Variables,里面定义了一个变量city且赋值:北京,并且在http请求中引用了该变量,所以监听结果显示查询了[北京]..原创 2021-08-23 15:25:03 · 219 阅读 · 0 评论 -
JMeter(十八):脚本优化之参数化(下)
JMeter允许用户定义自己的变量,并在脚本中引用这些变量。可以通过“User Defined Variables”元件来定义变量。在JMeter测试计划中,右键点击“添加” -> “Config Element” -> “User Defined Variables”。在“User Defined Variables”元件中,点击“添加”按钮,输入变量名和变量值。在脚本中,使用${变量名}的形式引用变量。通过参数化,我们可以更加灵活地控制JMeter脚本的测试数据和行为。原创 2021-08-24 14:52:09 · 249 阅读 · 0 评论 -
JMeter(十九):非GUI模式执行性能测试脚本
背景:JMeter是100%纯java开发的界面测试工具,广泛用于web功能/API的回归测试及性能测试,重点性能测试在GUI模式下运行jmeter脚本,工具本身会加大系统内存开销,导致负载机资源被占用,性能测试结果有失准确性,同时也因java语言开发的程序具有跨平台的特性,负载机也不一定在windows系统下,也支持Linux系统,所以支持非GUI模式运行jmx脚本。1、先亮出招子,jmet...原创 2019-03-13 22:03:07 · 5114 阅读 · 1 评论 -
JMeter(二十):分布式执行性能测试
tip:需要设置JMETER_HOME环境变量,不要在path中使用jmeter绝对路径启动jmeter,jmeter-server.bat代码中是使用%JMETER_HOME%环境变量来执行脚本的,除了打开远程主机ip及port之后,还需要打开server.rmi.ssl.disable=true配置,不然运行jmeter-server会报错rmi服务启动失败。四、测试使用百度为例,创建jmeter脚本,设置线程为1,可以启动master或是agent,或是所有远程机器,执行结果是否回传或是正确。原创 2019-11-01 14:26:43 · 943 阅读 · 1 评论 -
JMeter(二十一):使用BeanShell解析Json格式的报文
本篇是以想介绍JMeter工具对json格式的数据进行解析,实际用途:动态参数关联、高级断言等使用场景;互联网发展至今,json已经作为前后交互的通用数据格式,也是不得不掌握的知识点。原创 2020-02-04 20:20:19 · 2500 阅读 · 1 评论 -
JMeter(二十二):使用Beanshell Assertion做高级断言
背景:当我们使用JMeter工具测试的时候,发现普通断言不能满足需求时,就需要考虑从数据库层校验结果,但是添加的beanshell Assertion写入的代码量有点可观,纵使可读性高,但是不方便管理,而且是多个接口需要断言都需要重新添加,虽然没有代码量但内容还是有点多。所以建议把常用的方法自己开发封装好,然后再导出到%JMETER_HOME%/lib/ext目录下,导入包即可重启jmeter使用...原创 2019-03-28 14:18:06 · 4997 阅读 · 1 评论 -
JMeter(二十三):使用beanshell断言处理json数据
背景:JSON(JavaScriptObject Notation) 是一种轻量级的数据交换格式。也是我们实际工作中常见的数据格式,经常同xml的数据格式进行对比,后者在soap协议中使用。1、以http协议接口测试为例,响应报文是json格式的,格式如下:{"datas":[{"id":1,"goods_id":"goods_001","brief":null,"img":{&quo原创 2019-03-13 14:18:19 · 7546 阅读 · 1 评论 -
JMeter(二十四):实现文件上传的http接口测试
请求头context-type的类型是否与其他接口的请求头不一致;5、关于下载,貌似只需要对应的id,从数据找到对应的数据文件url,接口返回来的下载地址,web浏览器自动会实现下载。不晓得是哪一年的3月10号,创建了这一页笔记,今天2019年10月12号,打开竟然是空的,那就花点时间补上这点空缺。原创 2020-02-04 20:20:33 · 5368 阅读 · 1 评论