(七)性能测试⼯具介绍⽬前知道哪些性能⼯具?分别⽤在什么软件或平台的性能测试?服务端、we。。。
⼀、前⾔
性能测试是通过⾃动化的测试⼯具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进⾏测试。
⼯具(Tool)意思是原指⼯作时所需⽤的器具,后引申为达到、完成或促进某⼀事物的⼿段。
⼯具的含义
1.⼈在⽣产过程中⽤来加⼯制造产品的器具。
2.喻⽤以达到⽬的的事物。
3.喻专门秉承他⼈意志办事有如⼯具的⼈。多含贬义。
简单总结下性能测试⼯具的原理以及如何选型。性能测试和功能测试不同,性能测试的执⾏是基本功能的重复和并发,需要模拟多⽤户,在性能测试执⾏时需要监控指标参数,同时性能测试的结果不是那么显⽽易见,需要对数据进⾏分析。这些特点决定了性能测试更适合通过⼯具来完成
⼆、常见性能测试⼯具
1、服务端性能测试⼯具
⼯具英⽂名⼯具开发语⾔
Jmeter Java
Locust Python
LoadRunner C
LoadNinja……
N+ ……等多种⼯具平台组合
1.1 Jmeter
Apache JMeter是Apache组织开发的基于Java的压⼒测试⼯具。⽤于对软件做压⼒测试,它最初被设计⽤于Web应⽤测试,但后来扩展到其他测试领域。它可以⽤于测试静态和动态资源,例如静态⽂件、Java ⼩服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以⽤于对服务
器、⽹络或对象模拟巨⼤的负载,来⾃不同压⼒类别下测试它们的强度和分析整体性能。另外,JMeter能够对应⽤程序做功能/回归测试,通过创建带有断⾔的脚本来验证你的程序返回了你期望的结果。为了最⼤限度的灵活性,JMeter允许使⽤正则表达式创建断⾔。
Apache jmeter 可以⽤于对静态的和动态的资源(⽂件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进⾏测试。它可以⽤于对服务器、⽹络或对象模拟繁重的负载来测试它们的强度或分析不同压⼒类型下的整体性能。你可以使⽤它做性能的图形分析或在⼤并发负载测试你的服务器/脚本/对象。
1.2 Locust
locust是⼀个基于python的开源框架。是⼀个易于使⽤的分布式⽤户负载⼯具。它旨在对⽹站(或其他系统)进⾏负载测试,并弄清⼀个系统可以处理多少个并发⽤户。
locust是基于事件的,介绍下它的根基就是协程。协程是⽐线程更⼩的⼀种执⾏单元,你可以认为是轻量级的线程,之所以说轻,其中⼀⽅⾯的原因是协程所持有的栈⽐线程要⼩很多,java当中会为每个线程分配1M左右的栈空间,⽽协程可能只有⼏⼗或者⼏百K,栈主要⽤来保存函数参数、局部变量和返回地址等信息。
1.3 LoadRunner
LoadRunner,是⼀种预测系统⾏为和性能的负载测试⼯具。通过模拟上千万⽤户实施并发负载及实时性能监测的⽅式来确认和查问题,LoadRunner能够对整个企业架构进⾏测试。企业使⽤LoadRunner能最⼤限度地缩短测试时间,优化性能和加速应⽤系统的发布周期。
LoadRunner可适⽤于各种体系架构的⾃动负载测试,能预测系统⾏为并评估系统性能。
1.4 LoadNinja
LoadNinja 是⼀个基于云的负载测试和性能测试平台,⽤于 Web 应⽤程序和 Web 服务。它可以帮助开发⼈员、QA 团队和性能⼯程师检查他们的 Web 服务器是否承受⼤量负载,以及服务器是否健壮和可扩展。
使⽤ LoadNinja,您可以创建基于 UI 的测试来模拟⽤户对测试的 Web 应⽤程序的操作,以及类似于客户端通过 API 到达服务器的 API 测试。软件测试app
1.5 Jmeter + Prometheus + Grafana
JMeter + Prometheus(InfluxDB)插件将JMeter指标导出到Prometheus(InfluxDB)数据库,将数据可视化需要在Grafana中配置数据源。
Grafana(⾃译:格拉法纳)
是⼤多数数据库的开源分析和监控解决⽅案
Prometheus(普罗⽶修斯)
是⼀个开源的系统监控和报警⼯具包,最初是在SoundCloud开发的。
InfluxDB(数据库)
是⼀个⽤于存储和分析时间序列数据的开源数据库
JMeter-Prometheus Plugin
它是⼀个开源项⽬,该插件的⼯作是将JMeter运⾏的后的指标数据导出到Prometheus。
Grafana
2、web前端性能测试⼯具
web前端性能测试⼯具,关于浏览器等客户端⼯具对页⾯的处理过程记录,在此不做过多介绍。
2.1 web前端常见性能测试⼯具表
英⽂名称描述
Fiddler                  Fiddler是⼀个http协议调试代理⼯具,它能够记录并检查所有你的电脑和互联⽹之间的http通讯,设置断点,查看所有
的“进出”Fiddler的数据(指cookie,html,js,css等⽂件)。
Charles                Charles是在PC端常⽤的⽹络封包截取⼯具,可通过代理⽅式抓取移动端⽹络通讯协议,⽀持WIndows、Mac、Linux。HttpWatch          HttpWatch是⼀款强⼤的⽹页数据分析⼯具,集成在internet explorer⼯具栏。
Firebug                Firebug是firefox下的⼀个扩展能够调试⽹站的⼯具
Chrome 调试控制台
3、移动端性能测试⼯具
移动端性能测试⼯具,获取⼿机应⽤CPU、内存、FPS、电量,启动时间等数据的记录。
3.1 移动端常见性能测试⼯具
英⽂名称描述
PerfDog              PerfDog性能狗是移动全平台iOS\Android性能测试⼯具,快速定位分析性能问题⼯具
GT                      腾讯GT⼯具是⼀款能表达移动app测试的性能测试⼯具
iTest                  iTest APP性能测试,可获取CPU、Mem、⽹络等
Android Studio    Android Studio⼯具是开发Android应⽤,同时也可⼿机操作APP就可以在androidstudio查看性能测试数据了。也可以查看⽇志。
3.2 PerfDog
3.3 Android Studio
4、资源监控⼯具
资源监控⼯具是收集性能测试过程中的数据以及良好的结果展现⽅式
监控平台命名或⼯具
Linux nmon、top、vmstat、free等
JVM jconsole、jvisualvm、JProfiler
DB AWR
4.1 Linux top命令
4.2 JVM jconsole
4.3 DB AWR
结束语
本篇⽂章主要简单总结下各平台软件性能测试⼯具

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。