Notes:最近几天一直在搞测试软件,相继搞了LoadRunner和JMeter,现在和大家分享一下JMeter和LoadRunner的异同
Jmeter和LoadRunner的异同
1、Jmeter的架构跟LoadRunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程.
2、分布式中间代理功能在Jmeter中也有,这个分布式分理是指可设置多台代理在不同PC中,通过远程进行控制,即通过使用多台机器运行所谓的Agent来分担LoadGenerator自身的压力,并借此来获取更大的并发用户数.LoadRunner也有些功能.
3、Jmeter安装简单,只需要解压Jmeter文件包到C盘上就可以了,其实是没有安装.要是你想执行调试测试脚本,前提是:装上jdk和netbean插件.而LoadRunner安装包有1G多,在一台P3.0,1G内存的PC上安装要一个多小时.要是装过较旧的盗版还不能再装新版,解决办法倒是有,但麻烦且花时间.
4、Jmeter没有IP欺骗功能,IP欺骗是指在一PC台上多个IP地址来分配给并发用户.这个功能对于模拟较真实的客户环境来说,是较有用.LoadRunner有此功能.
5、Jmeter也提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用,测试对象的个别参数却要手工增加上去,还得附带装个IE代理,如GoogleToolbarDownloader这些插件来捕捉参数.但是有一个工具bodboy,利用这个工具可以录制操作,然后选择将脚本保存为Jmeter脚本,然后利用Jmeter可以打开并修改脚本
6、Jmeter的报表较少,对于要分析测试性能不足以作为依据.如要知道数据库服务器或应用程序服务的CPU,memory等参数,得在相关服务器上另外写脚本记录服务器的性能.
7、Jmeter做性能测试,主要是通过增加线程组的数目,或者是设置循环次数来增加并发用户,而LoadRunner可以通过在场景中选择要设置什么样的场景,然后选择虚拟用户数。
8、Jmeter可以通过逻辑控制器实现复杂的测试行为,相当于LoadRunner中的测试场景
9、Jmeter可以做web程序的功能测试,利用Jmeter中的样本,可以做灰盒测试,LoadRunner主要用作性能测试
10、Jmeter是开源的,但是使用的人较少,网络上相关资料不全面,需要自己去揣摩,而LoadRunner是商业软件,如果是正版,有技术支持,同时,网络上的资料相当多。
11、Jmeter的脚本修改,主要是对Jmeter中各个部件的熟悉程度,已经相关的一些协议的掌握情况,而不依赖于编程,而LoadRunner除了复杂的场景设置外,还需要掌握函数,修改脚本。