大家好,欢迎来到IT知识分享网。
一、前言
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
工具(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 测试。
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
结束语
本篇文章主要简单总结下各平台软件性能测试工具
版权声明:本文为CSDN博主「BenjaminQA」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25305833/article/details/122023388
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27935.html