随着软件技术的发展,软件应用越来越普遍,不仅仅是互联网大厂的应用需要进行性能测试了,就连一些中小型的互联网应用也越来越需要对软件项目进行性能测试了。所以本文就将通过对Loadrunner、JMeter和Locust三款性能测试工具从以下几个方面进行介绍和说明,跟大家讲解一下他们三个之间的区别和选择。
从开发商和费用角度来说
1、Loadrunner是隶属于microfocus的一款大型的企业级性能测试工具。
付费可以开启他的所有功能。他的社区版可以体验基本的性能测试流程。它能够预测系统行为和性能,通过模拟上千万用户实施并发、负载及实时性能监测的方式来确认和查找问题,使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
2、JMeter是隶属于Apache基金会的一款性能测试工具。
完全的开源免费的工具(默认的功能都是不付费的,可能会使用一些商业付费的插件)。最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。
3、Locust是一款易于使用的分布式负载测试工具。
完全基于事件,即一个locust节点可以在一个进程中支持数千并发用户,有一个基于we简洁的HTML+JS的UI用户界面,可以实时显示相关的测试结果;完全开源免费的源码功能,可以通过二次开发来满足需求越来越复杂的性能测试需要。
从开发语言角度来说
1、Loadrunner是一个支持多种脚本语言的性能测试工具。
它支持的脚本语言包含java、c、Visual Basic、vbscript。但是主要是通过C语言进行脚本编辑。如下图,Loadrunner中的脚本文件的扩展名都是.c的。
2、JMeter支持的脚本语言是:Java。
因为JMeter就是使用Java开发的,所以Java语言开发的.jar的包可以直接应用于JMeter的自开发插件,甚至在JMeter的BeanShell中可以编写Java的脚本用于测试中请求、响应数据的处理:
3、Locust的脚本开发语言是Python。
因为Locust就是python的一个框架,所以直接使用Python作为脚本开发语言。虽然默认有一些基本的性能测试框架和结构,但是想要获取更多的性能数据和内容,还是要进行测试脚本的开发:
从支持的通信协议来说
1、Loadrunner支持的通信协议有:HTTP、webseriver、Java Vuser、ODBC。loadrunner支持很多协议,其中loadrunner可以录制的协议有HTTP、webseriver、Java Vuser、ODBC。具体如下图所示:
2、JMeter支持的协议,默认有以下这些:Web Services - SOAP / XML-RPC,Web - HTTP, 通过JDBC驱动程序的数据库,目录 – LDAP,通过JMS面向消息传递的服务,服务 - POP3, IMAP, SMTP:
除上面图中的内容之外,还有一些其他的属于第三方开发的通信协议。
3、Locust支持的通信协议默认支持 HTTP 协议,其他还能支持一些由Python开发出来的其他协议的支持。包括MQTT、自定义压测协议 websocket等。
关于性能测试工具,一般都是符合公司和企业实际需要的是最合理的。土豪公司除外。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取