WebLOAD是Radview公司推出的性能测试和分析工具,主要用于测试Web应用性能、伸缩性及正确性验证,支持通过JavaScript脚本模拟用户操作生成压力负载。该工具兼容HTTP/HTTPS、WebSocket、AJAX等多种协议,可自动处理动态值相关性并提供脚本调试功能,支持分布式负载测试管理数百万虚拟用户。
WebLOAD测试脚本可通过Visual Agenda Authoring Tool编写,支持单议程/混合议程配置及8种负载进度模型,测试结果通过图形化界面实时展示并支持Excel导出。其开源社区版本于2007年发布,专业版额外提供“巡航控制”功能以预设性能目标,支持集成Jenkins实现DevOps流程,并具备Amazon EC2云测试能力。测试环境需部署TestTalk模块监测压力机通信,测试流程包含创建议程、配置模板及分析结果等步骤。
WebLoad是专为测试在大量用户访问下的web应用性能而设计的,通过模拟真实用户的操作,生成压力负载来测试Web应用的性能。其控制中心运行在Windows XP和Windows 2000及以上版本的操作系统上,负载发生模块(10ad machine)可以运行在Windows、Solaris和Linux操作系统上。模拟出来的用户流量可支持.NET和J2EE两种环境。
WebLoad的测试脚本采用JavaScript(和集成的COM/Java对象)来编写,并支持多种协议,如Web(包括ijax在内的REST/HTTP)、SOAP/XML及其他可通过脚本调用的协议,如FTP、SMTP等,因而可从所有层面对应用程序进行测试。WebLoad同时完全支持DOM(Document Object Model)。用户创建的是基于JavaScript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。在DOM的基础之上,WebLoad可以将测试单元组织成树形结构,对Web应用进行遍历或者选择性测试。WebLoad还可以录制用户访问Web应用的操作过程,能自动生成测试脚本,当然也可以使用脚本编辑器来手工编辑或修改脚本。
WebLoad可以让用户为系统设定可接受的最低性能门限值,同时设定WebLoad采用自增用户数的循环测试方式进行测试,这样WebLoad就可以自动测出系统的最大用户容量了。
WebLoad不仅能测试Web应用性能,还能通过直观的图形用户界面直接连接到数据库,测试数据库的性能。它还可以测试多种Interact协议,如FTP、tenet、SMTP,POP等的性能。
WebLoad还可以模拟DOS攻击,例如模拟诸如Tfn、Tfn2K、Trinoo、Smurf,Flitz、Carko、Omega3、Plague和TCP Flood(SYN、ACK)、UDP Flood、ICMP Flood(Ping、Host-Unreachable)等攻击。有了该功能后,就可以测试Web系统在面临DOS攻击的时候在可用性及反应时间方面的受影响情况。同时WebLoad还提供有关DOS攻击测试的详细报告,帮助用户分析系统漏洞和弱点,为用户加固系统提供依据。
WebLoad支持绝大多数的应用服务器和数据库接口,能读取它们送出的错误和调试信息,如IBM的WebSphere、Sun的iPlanet、BEA的WebLogic、Apache、Oracle、SQL Server等。再结合前端测试结果,WebLoad便能提供全面的Web性能分析报告,使测试人员能够快速定位瓶颈,发现问题。
WebLoad可用于Web应用程序的性能测试与功能测试,可以HTML进行分析。而且,如果测试人员想进行测试工具的开发,那么开源的WebLoad也是不错的选择。
WebLoad通过产生可以模拟真实世界的虚拟客户端来测试Web应用。虚拟客户端在被测web应用中执行典型的操作来仿效用户的操作。通过增加虚拟客户端的数目,测试人员可以增加系统的吞吐量。测试人员创建基于JavaScript的测试脚本(Agenda)来定义虚拟客户端的行为,WebLoad执行这些测试脚本来监测应用的响应并以图形和统计来展示,这些展示的测试数据是实时的。
WebLoad与功能确认相结合用于可测量的测试过程中,这样可以让测试人员在已定义的装载条件下,在每个客户端、每个事务、每个实例级别上准确地确认被测Wcb应用的可测量性与完整性。WebLoad可以保存测试结果,包括从装载机器到主机硬件执行监控的数据。测试人员可以实时地查看全部或部分数据,或在测试结束后以图表的形式进行查看。
Webload主要由Agenda Authoring Tool for Explorer(SSL)、Visual AAT、WebLoadConsole、WebLoad Reporter以及Tools(TestTalk和Performance Measurements Manager等)这几部分程序组成。
利用WebLoad进行测试主要包含以下几个步骤:①创建一个议程;②使用WebLoad向导来配置一个装载模板;③配置会话选项;④运行一个测试;⑤分析结果。
建立WebLoad测试环境同建立JMeter测试环境类似,都需要一个测试工具和一个待测网址。
(1)从地址http://www.radview.tom下载最新版本的WebLoad。新版本已经开源,可以从Sourceforge上下载源代码。下载完成后进行安装,具体安装过程可参见开源包中的DOCS目录下的build procedure.txt文档。
(2)开启应用服务器,其中运行着被测网站。然后用测试用例进行测试。
(3)WebLoad的通信设置。配置SNMP协议使多个压力机之间互相通信:在Windows下进入“控制面板”→“添加删除程序”→“添加删除Windows组件”,选择“管理和监控工具”→“下一步”后选择Windows安装文件路径,单击“完成”。
(4)安装TestTalk。TestTalk在测试会话里负责监测压力机间的信息传递,如果通信不成功则报错。TestTalk会被自动安装,测试执行时在后台自动运行,注意不要将它关闭。