性能测试是软件测试中一个很重要的分支,一款好的测试工具可以极大地提高测试效率,为发现软件缺陷提供重要依据。目前市面上有很多性能测试工具,但是常用的就几个,今天就给大家介绍一下:LoadRunner和JMeter。
性能测试工具一:LoadRunner
LoadRunner是一种适用于各种体系架构的性能测试工具,它能预测系统行为并优化系统性能。其工作原理是通过模拟一个多用户(虚拟用户)并行工作的环境来对应用程序进行负载测试。在进行负载测试时,LoadRunner能够使用最少的硬件资源为模拟出来的虚拟用户提供一致的、可重复并可度量的负载,在测试过程中监控用户想要的数据和参数。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实时性能监测,来帮助测试人员更快地查找和发现问题。
Loadrunner主要有以下特点
1、轻松创建虚拟用户。能够驱动成百上千个虚拟用户、执行不同的业务流程,能极大的减少负载测试所需要的硬件和人力资源。
2、创建真实负载。建立虚拟用户后,需要设定负载方案、业务流程组合和虚拟用户数量。用Controller能够很快地组织多用户测试方案。
3、定位性能问题。LoadRunner内含一个实时检测器,在负载测试过程的任何时候都能观察到应用系统的运行性能。
4、分析结果。LoadRunner的AutoCorrelation向导会自动整理所有的监控和诊断数据,并提供高级的分析和报告工具,一遍迅速找到性能问题做出相应的调整。
性能测试工具二:JMeter
JMeter是一款开源免费的压测产品,最初被设计用于Web应用功能测试使用,如今JMeter被国内企业用于性能测试。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
两者主要有以下的区别
测试工具的测试功能及特性 | LoadRunner | JMeter |
市场占有率 | 是市场上的行业标准,最具可扩展性的解决方案 | 市场占有率较低 |
使用效率方面 | 通过点击即脚本技术 (Click & Script), 用户能够节约脚本开发时间, 提高效率 | 使用类Java脚本语言,对多数用户来说不熟悉, 因此不易于用户修改和完善测试脚本 |
协议支持 | LoadRunner能否覆盖最广泛的环境,支持超过50多种协议 | 对协议支持非常有限 |
对SAP,Oracle的支持 | SAP, Oracle, Adobe在内部实现了Microfocus质量管理方案标准化 | 不支持 |
场景模式支持 | 支持各种性能场景设置,各种并发模式,SLA模式 | 并发模式单一,压测模式单一 |
虚拟IP/IP欺骗 | 支持 | 不支持 |
大规模虚拟用户测试 | 可以通过在场景中选择要设置什么样的场景,然后选择虚拟用户 数,通过分布式部署轻松支持大规模的虚拟用户压测 | 主要是通过增加线程组的数目,或者是设置循 环次数来增加并发,大规模支持有限. |
测试结果 | 压测原理更加贴近真实情况,测试结果比较稳定 | 大规模的测试,结果不稳定. |
学习 | 商业软件,有技术支持,网络上的资料相当多 | 是开源的,网络上相关资料不全面,遇到难题 需要自己揣摩 |
系统监控方面 | LoadRunner内置支持多种服务器端无代理监控器 | 支持有限几个监控器 |
性能瓶颈分析诊断方面 | 分析和诊断功能强大,有下探功能,快速定位性能瓶颈 | 报表较少,分析能力弱,没有数据下探功能 |
研发的投入 | 大量的研发资金投入 | 资金投入少,新技术支持滞后 |
易迪森科技是Micro Focus中国区铂金级代理,也是国内唯一核心战略合作伙伴,提供LoadRunner、fortify等全系列专业测试工具,可为企业用户申请免费试用,除了提供专业测试工具之外,还拥有丰富的行业企业级用户案例经验,针对企业特点和测试需求,量身定制专属软件质量解决方案,提供一站式性能测试服务。