WebLOAD:商业负载测试工具即将开源

WebLOAD是来自Radview软件的负载测试工具,它可被用以测试性能和伸缩性,也可被用于正确性验证(验证返回结果的正确性)。其测试脚本是用Javascript(和集成的COM/Java对象)编写的,并支持多种协议,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其他可从脚本调用的协议如FTP、SMTP等,因而可从所有层面对应用程序进行测试。Radview声称拥有超过1600个客户和12年的开发WebLOAD的经验,他们在今年二月发布了WebLOAD专业版的v8版本。而在四月,Radview则以GPL协议发布了WebLOAD的开源社区版本,该版本可从webload.org下载。

Chris McMahon 评论说,“一直以来开源负载测试工具还算不错,但大家普遍都同意性能测试是商业工具比开源工具远为优胜的主要方面。构建一个好的性能测试工具是困难的。Radview的贡献使整个情况瞬间扭转。”

专业版是在社区版的基础上开发的,两个版本之间最主要的区别是,开源版本将产生模拟负载的服务器限制为一台(但没有对并发作任何限制)。专业版还提供更多的报告和协议供用户选择。

InfoQ向Radview的Rami Goraly作了进一步的了解。关于WebLOAD的常见用途,Rami解释道:

WebLOAD通常用作QA团队的独立运行的工具,在开发周期的验证阶段,被测系统(System Under Test,SUT)投入实用之前,于模拟环境中对被测系统进行测试。
在某些情况下,WebLOAD也可以在生产环境中使用,以执行监控应用程序的任务,因为WebLOAD可以提供极佳的系统健康统计数据,甚至可以在出现问题的时刻发出Email通知。
比较少见的情况是在开发的早期阶段就开始使用WebLOAD——但我们见过这种情况。一般来说,我们,以及其他测试专家,都相信性能测试应该在开发周期中尽早开始。例如,WebLOAD可以被用来对Web Services、Java和COM或者SUT的其他界面进行单元测试。通过使用WebLOAD的命令行界面,WebLOAD可以将这些测试作为自动构建过程的一部分来执行。

WebLOAD还有一个命令行界面,允许以批量模式执行(不经过用户界面)。Rami解释说“可以预先准备一个测试脚本,然后通过任何ALM(automatic lifecycle management,自动化生命周期管理)或持续集成工具调用这个命令行界面来执行脚本,跟JUnit非常相似。”

Rami指出了WebLOAD比另两个常用的开源负载生成工具的优胜之处:

JMeter
  • JMeter只提供了可视化编辑方式,跟WebLOAD提供的Javascript编辑方式相比,WebLOAD在创建测试脚本方面更加灵活。
  • JMeter只适用于Java程序,因此不能在测试脚本中调用COM对象。
  • JMeter比WebLOAD支持的服务器监控协议要少。
  • JMeter不支持对HTTPS网站进行脚本录制。
  • WebLOAD的分析和报告能力要超过JMeter。
OpenSTA
  • OpenSTA不能跨平台——它是一个只能运行在Windows平台上的负载引擎。
  • 在功能上两者持平,但OpenSTA较难学习和使用——它的开发环境不够直观,而且它的脚本语言是非标准的,因此也较难学习。
  • 过去两年中OpenSTA都没有推出过新版本。这个项目已经差不多死掉了。

WebLOAD专业版的能力规划测试是一项有意思的功能,用户可以指定比如说“测试,直到我达到80%的利用率”,Rami对此作了说明:

WebLOAD的面向目标的测试,也称为“巡航控制(Cruise Control)”,是基于Radview开发的一项专利技术。简而言之,你需要给WebLOAD定义一组目标(目标之间可用逻辑与/或来结合),WebLOAD会定期检查这些目标,一但目标达成,用户就会得到通知。用户可以预先决定当目标达成时是停止测试还是继续。

RadView已经获得了风险投资,在最近的一轮投资中它从以色列机构投资者的手里获得了350万美元。Rami说“这笔资金将被用于推进WebLOAD的开源,扩大Webload.org社区,以及将更多功能推向市场,诸如对多媒体的支持和对Oracle Forms的支持。”未来他们还计划用基于Eclipse的模块来替换现在的WebLOAD用户界面,让UI模块成为Eclipse插件。

查看英文原文: WebLOAD: Commercial Load Testing Tool Recently Open Sourced

你可能感兴趣的:(WebLOAD:商业负载测试工具即将开源)