欢迎关注公众号 学习资料不会少
什么是Jmeter
Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
JMeter测试计划以及测试实施的注意点
1、测试场景的设计
JMeter压力测试计划作成的时候,需要事先进行Scenario设计,设想我们业务应用中的几种场景。
比如,考虑以下的这几种场景。
● Scenario1、多家经销商同时在做consumer的登录之后,大概20%的经销商在做整车登录,80%的经销商在做维修配件的登录。
● Scenario2、多家经销商同时在月末进行盘点作业的。
● Scenario3、多家经销商同时进行xxx功能的检索查询。
2、测试录制相关
使用JMeter的代理或是BadBoy进行录制的时候,特别是JMeter代理的时候,操作不能太快,不然容易造成录制失败。
录制之后,需要对录制之后的代码进行一定的处理。
比如,适当的追加断言,这样才能确认到这一步在实际运行中的正确性。
3、测试的实施过程中
有多个人在负责同一个系统的JMeter压力测试的时候,需要考虑不要互相干扰了。
因为大家使用的服务器的资源是一样的,没有分配好测试顺序的话,得出来的测试结果可能就不是我们所要的结果了。
是混杂的结果,那就没有意义了。
4、需要监控的一些数据
web服务器、ap服务器、db服务器等的CPU、内存、Full GC、硬盘使用量、translation数等。
还需要对JMeter中产生的聚合报告进行数据的分析。
优点
1.开源、免费
2.支持多协议(https\tfs)
3.小巧(30几M)
4.高效、功能强大
缺点
1.grh不支持前端测试
2.不支持IP欺骗
3.使用过程中单位不规范(有时候单位秒、分)
JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。
相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。
意义
1、Label:定义的HTTP请求名称
2、Samples:表示这次测试中一共发出了多少个请求
3、Average:访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%:错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec:每秒从服务器端接收到的数据量
远景
我们希望看到随着开发人员利用插件架构的优势,JMeter的能力能够迅速扩展。将来开发的主要目标是使得JMeter尽可能地变成一个有用的回归测试工具,而不损失JMeter的压力测试能力。
往期精彩文章
喜报来了!凡猫学员薪资最高16K!
金融行业软件测试介绍
2020年为什么大家都开始学习自动化测试?
学习测试开发前 你需要掌握的python 代码水平
1万+软件测试人员都在学的精品课程免费送,大家别错过
![89f4d6bca7016cbab628f9ea34b10b28.gif](https://i-blog.csdnimg.cn/blog_migrate/a8273233bab2d7dd68b04d4c36ad78b7.gif)