【JMeter入门】—— JMeter介绍

1、什么是JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 (Apache JMeter是100%纯JAVA桌面应用程序)
Apache JMeter可以用于对静态和动态资源(如:文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)进行性能测试。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,通过不同压力类别,测试它们的强度和分析整体性能,并可以使用它做性能的图形分析。
JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序是否返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Jmeter是一个开源的工具,在使用的过程中,如果需要使用更多功能,就需要安装相应的插件。
总结:JMeter做什么?

接口测试
性能测试:程序的算法
压力测试:外在负载
数据库测试
java 程序测试
FTP服务器测试
2、为什么使用JMeter ?
JMeter优势如下:

开源:JMeter完全免费,允许开发者使用源代码进行二次开发。
友好的GUI:JMeter使用起来非常容易,不需要花时间熟悉。
平台独立:JMeter是100%纯Java桌面应用程序,所以可以多平台运行。
完全多线程框架:JMeter允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。
可视化的测试结果:测试结果可以用不同的报表显示,如:图表、表格、树和日志文件。
安装方便:你不用安装,只需复制并打开*.bat文件运行JMeter。
高度扩展:你可以编写你自己的测试,JMeter还支持可视化插件,允许您扩展您的测试。
多测试策略:JMeter支持多个测试策略,如:负载测试、分布式测试和功能测试。
仿真:JMeter可以模拟多用户并发线程,创建一个沉重的负担对web应用程序测试下。
支持多协议:JMeter不仅测试支持web应用程序,还可以评估数据库服务器的性能。
JMeter基本支持所有的协议(如:HTTP、JDBC、LDAP、SOAP、JMS、和FTP)。
录制和回放:录制用户在浏览器和web应用程序的记录,使用JMeter进行模拟。
脚本测试:JMeter可以集成Bean Shell和Selenium自动化测试。
3、JMeter的缺点:
使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试。(配合的意思就是在验证页面或者js程序的时候,使用Selenium。并不是结合的意思,是单独使用。)
JMeter不支持IP欺骗。
JMeter的测试脚本和结果基本都是本地管理,不支持版本控制管理。
4、JMeter对比 loadrunner
JMeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程。

JMeter安装简单,LoadRunner安装麻烦。
JMeter组件小,LoadRunner占用空间比较大。
JMeter不支持IP欺骗,LoadRunner支持。
脚本录制功能两者都支持。
JMeter支持报表,但分析能力不足。LoadRunner支持报表,数据完成,界面漂亮。
JMeter是开源的(免费),LoadRunner是商业软件,需要收费。
JMeter易用性更强,JMeter的脚本修改,主要是对Jmeter中各个部件的熟悉程度,已经相关的一些协议的掌握情况,而不依赖于编程。
LoadRunner除了复杂的场景设置外,还需要掌握函数和修改脚本(如果单单只会录制脚本,并不叫性能测试哦~)。
总结如下表:

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269562.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch入门介绍和实战

目录 1.ElasticSearch简介 1.1 ElasticSearch(简称ES) 1.2 ElasticSearch与Lucene的关系 1.3 哪些公司在使用Elasticsearch 1.4 ES vs Solr比较 1.4.1 ES vs Solr 检索速度 2. Lucene全文检索框架 2.1 什么是全文检索 2.2 分词原理之倒排索引…

OpenCV之图像匹配与定位

利用图像特征的keypoints和descriptor来实现图像的匹配与定位。图像匹配算法主要有暴力匹配和FLANN匹配,而图像定位是通过图像匹配结果来反向查询它们在目标图片中的具体坐标位置。 以QQ登录界面为例,将整个QQ登录界面保存为QQ.png文件,QQ登…

App测试时常用的adb命令你都掌握了哪些呢?

adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作&#xff0…

天软特色因子看板 (2023.12 第14期)

该因子看板跟踪天软特色因子A06008聪明钱因子(beta)),该因子为以分钟行情价量信息为基础,识别聪明钱交易,用以刻画机构交易行为 值越大,越反映其悲观情绪,反之,反映其乐观情绪。 今日为该因子跟踪第14期&am…

ACM模式Java输入输出模板

输入输出练习网站:https://kamacoder.com/ Java读写模板 Scanner 方式一:Scanner(效率不高) public class Main {public static void main(String[] args) {// 第一个方式ScannerScanner sc new Scanner(System.in);String s …

Python画皮卡丘

代码: import turtledef getPosition(x, y):turtle.setx(x)turtle.sety(y)print(x, y)class Pikachu:def __init__(self):self.t turtle.Turtle()t self.tt.pensize(3)t.speed(9)t.ondrag(getPosition)def noTrace_goto(self, x, y):self.t.penup()self.t.goto(…

WebGL开发建筑和设计教育应用

使用 WebGL 开发建筑和设计教育应用可以为学生提供沉浸式的三维体验,使他们能够在虚拟环境中探索建筑结构、材料和设计理念。以下是开发建筑和设计教育应用的一般步骤,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&…

【开源】基于JAVA的学校热点新闻推送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 新闻类型模块2.2 新闻档案模块2.3 新闻留言模块2.4 新闻评论模块2.5 新闻收藏模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 新闻类型表3.2.2 新闻表3.2.3 新闻留言表3.2.4 新闻评论表3.2.5 新闻收藏表 四、系统展…

数据结构与算法基础

数组 稀疏矩阵 题目 代入法选A 数据结构的定义 线性表 顺序存储和链式存储的对比 队列与栈 题目 答案选:D 广义表 树与二叉树 二叉树遍历 图中前序遍历结果是? 1,2,4,5,7,8,3,6 图中中序遍历结果是? 4,7,8,5,2,1,3,6 图中后序遍历结果是…

利用 OpenAI API 进行文本聚类和标记

每日推荐一篇专注于解决实际问题的外文,精准翻译并深入解读其要点,助力读者培养实际问题解决和代码动手的能力。 欢迎关注公众号 原文标题:Text Clustering and Labeling Utilizing OpenAI API 原文地址:https://medium.com/kbd…

Vue 项目中部分页面保存后不能自动编译

原因: 可能引有组件时,引用的组件大小写名称不一致,包括文件名和目录,检查一下。 如果是这样引用,目录名Modal的M变大写了,虽然整体是能编辑过去,但是保存后不能自动编译了。

java实现矩阵谱峰搜索算法

矩阵谱峰搜索算法,也称为矩阵谱峰查找算法,是一种用于搜索二维矩阵中谱峰的方法。谱峰是指在矩阵中的一个元素,它比其上下左右四个相邻元素都大或相等。 该算法的基本思想是从矩阵的中间列开始,找到该列中的最大元素,…

漏洞复现-泛微OA xmlrpcServlet接口任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

【unity学习笔记】2.脚本组件

脚本组件 一、添加组件 相同的功能写成一个组件(外形可通过点击cube修改) 1.添加组件 (1)系统提供的组件 检查器→添加组件→输入rigidbody(刚体)→选择 (2)系统没提供组件 创建c#…

记pbcms网站被攻击,很多标题被篡改(1)

记得定期打开网站看看哦! 被攻击后的网站异常表现:网页内容缺失或变更,页面布局破坏,按钮点击无效,...... 接着查看HTML、CSS、JS文件,发现嵌入了未知代码! 攻击1:index.html 或其他html模板页面的标题、关键词、描述被篡改(俗称,被挂马...),如下: 攻击2:在ht…

web架构师编辑器内容-HTML2Canvas 截图的原理

HTML2Canvas 截图的原理 目的:一个canvas元素,上面有绘制一系列的HTML节点 局限:canvas中没法添加具体的Html节点,它只是一张画布 通过canvas.getContext(‘2d’)可以拿到canvas提供的2D渲染上下文,然后在里面绘制形…

Docker介绍、常用命令与操作

Docker介绍、常用命令与操作 学习前言为什么要学习DockerDocker里的必要基础概念常用命令与操作1、基础操作a、查看docker相关信息b、启动或者关闭docker 2、容器操作a、启动一个镜像i、后台运行ii、前台运行 b、容器运行情况查看c、日志查看d、容器删除 3、镜像操作a、镜像拉取…

sql_lab之sqli中的布尔盲注(Boolean)less8

目录 1.首先给出value 2.判断注入类型 3.判断字段数 4.判断用什么注入 (1)用union联合查询来尝试 (2)用报错注入尝试 (3)用布尔盲注来进行查询 5.判断当前数据库名的长度 (1)…

自动化测试框架详解

一、什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应…

论文解读--Compensation of Motion-Induced Phase Errors in TDM MIMO Radars

TDM MIMO雷达运动相位误差补偿 摘要 为了实现高分辨率的到达方向估计,需要大孔径。这可以通过提供宽虚拟孔径的多输入多输出雷达来实现。但是,它们的工作必须满足正交发射信号的要求。虽然发射单元的时分复用是一种低硬件成本的正交实现,但在…