InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

WebLOAD: Commercial Load Testing Tool Recently Open Sourced

Posted by Floyd Marinescu on Jun 21, 2007

Sections
Development,
Architecture & Design
Topics
Ruby ,
Debugging ,
.NET ,
Java ,
Performance & Scalability
Tags
WebLoad ,
RadView
WebLOAD is a load testing tool from Radview software that tests for performance and scalability but also for verifiability (validating the correctness of return results). Test scripts are written in Javascript (with COM/Java object integration), and the tool supports multiple protocols for testing all tiers of an app such as web (REST/HTTP with Ajax support), SOAP/XML, and other protocols callable from within scripts such as FTP, SMTP, etc.   Radview claims over 1600 customers and 12 years of development experience producing WebLOAD, who released v8 of it's professional version in Feb.  This past April Radview released an open source community edition of WebLOAD under GPL, available at webload.org.

Chris McMahon commented that  "Open source load test tools have been kinda sorta OK for some time, but performance testing is the only case where commercial alternatives are pretty much universally acknowledged to be superior to open source tools. Building good performance test tools is hard. What RadView has done has instantly changed the whole scene."

The professional edition is built on the community edition, the most notable difference between the two being that load generation on the open source version is limited to what one server can generate (but without any concurrency limits). The professional version also supports more reporting and protocol options.

InfoQ spoke to Radview's Rami Goraly to find out more.  Describing how WebLOAD is typically used, Rami explained:
WebLOAD is usually used as a standalone tool by QA teams, in the validation/verification phase of the development life-cycle, to test the System under Test (SUT) in the staging/testing environment before going into production.

In some cases, WebLOAD is used also in the production environment, to perform application monitoring, as it can provide excellent statistics about the system’s health and even send email notifications the moment a problem occurs.

Less common is to use WebLOAD earlier in the development phase – but we’ve seen it done. Generally speaking, we – as well as other testing experts – believe performance testing should start as early as possible in the development life cycle. For example, WebLOAD could be used to write unit tests for Web Services, Java and COM objects and other interfaces of the SUT. Using its command line interface, WebLOAD can execute these tests as part of an automated build process.
WebLOAD also has a command line interface that allows executing in batch mode (not from its UI).  Rami explained that "a test script can be prepared in advance and then run using this command line interface from any ALM (automatic lifecycle management) or continuous integration tool, in a very similar manner to JUnit."

Rami positioning WebLOAD as being superior to the other two most commonly used open source load generation tools:
JMeter
  • JMeter only provides visual editing vs. Java Script editing that is available with WebLOAD, which provides much more flexibility in creating test script
  • JMeter is JAVA only and thus doesn’t support execution of COM objects from the test script
  • JMeter supports less server monitoring protocols than WebLOAD does.
  • JMeter doesn’t support recording of HTTPS web sites
  • WebLOAD’s analysis and reporting capabilities are superior to those of JMeter
OpenSTA
  • OpenSTA is not cross platform – it’s load engine can run only on windows
  • Functionality wise, the tools match, but OpenSTA is much harder to learn and use – its development environment is not intuitive and its scripting language is not standard and thus harder to learn
  • No new version of OpenSTA was released in the last 2 years. This project is practically dead.
An interesting feature of the professional edition is capacity planning testing features such as  "test until 80% utilization i reached", Rami explained how it worked:
WebLOAD goal-oriented testing, AKA Cruise Control is based on patented technology, developed by RadView. Basically, you need to define a set of goals to WebLOAD (these goals can be combined using logical and/or conditions). These goals are constantly checked and when they are reached, the user gets a notification. The user can decide beforehand whether to stop the test when the goals are reached or should it continue.
RadView has received VC funding, it's most recent round raising $3.5 million from Israeli institutional investors. Rami said "the funds will be used to enhance WebLOAD Open Source, expand the webload.org community and bring new features to market such as multimedia and Oracle Forms support."   In the future they also plan to replace the existing WebLOAD UI modules with Eclipse based modules, making the UI's also available as Eclipse plug-ins.
Limited & Open Source? by Geoffrey Wiseman Posted
Re: Limited & Open Source? by Bernie Velivis Posted
  1. Back to top

    Limited & Open Source?

    by Geoffrey Wiseman

    Out of curiosity, what, if anything prevents someone from adding multi-server support to the community edition of WebLOAD?

  2. Back to top

    Re: Limited & Open Source?

    by Bernie Velivis

    The documentation and marketing information on Webload "open source" is very misleading. According to Radview's user forum, the WebLOAD Open Source engine works with a proprietary unified script authoring environment for recording, editing and debugging. Part of the tool is offered free under a proprietary license and no source code is available.

    To answer Geoffrey's question, the thing that stops the user community from adding functionality appears to be;
    1) Unlike other open source projects, Radview is not motivated to have a wide base of developers (outside their control) working to improve Webload open source. They offer a commercial version, and the fact that Webload Open Source could be modified to compete with it may be a contributing factor
    2) The source code is changing so fast (bug fixes) that a fork of the code base at this point would not be practical.

    References: www.webload.org/community-resources/index.php , topic "Source code for proxinator"

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.