WebLOADは、Radview software(英語)の負荷テストツールである。パフォーマンスやスケーラビリティだけでなく、検証可能性(戻り値が正しいことを検証すること)がある。テストスクリプトは(COM/Javaオブジェクトと統合された)JavaScriptで記述され、アプリケーションの全ての層をテストするための複数のプロトコルをサポートしている。例えば、Web(AjaxをサポートしたREST/HTTP)、SOAP/XML、FTPやSMTPといったスクリプト内から呼び出し可能なその他のプロトコルなどである。2月にプロフェッショナル版のバージョン8をリリースしたRadviewは、1600社以上の顧客がおり、 WebLOADの開発に12年を費やしたと主張している。Radviewは4月、GPLの下でWebLOADのコミュニティ版をリリースしました。webload.org(英語)から入手可能です。
Chris McMahonのコメント(source)によれば、"オープンソースの負荷テストツール(source)はときどきちょっと良かったりするが、パフォーマンステストに関しては、商用製品の方がオープンソースのツールよりもずっと優れていると、非常に広く認知されている唯一のケースである。良いパフォーマンステストツールを作るのは難しいのである。RadViewの成果物は、即座に全てのシーンに変革をもたらした。"
プロフェッショナル版はコミュニティ版を元にして構築されている。もっとも注目すべきは、負荷生成における二つの差異(source)で、オープンソースバージョンは一つのサーバが生成できる負荷に制限がある(並行性については制限は無い)。プロフェッショナル版は、より多くのレポーティングやプロトコルもサポートしている。
InfoQはより多くのことを知るために、RadviewのRami Goralyと話した。WebLOADの典型的な使われ方について、Ramiはこう述べている。
WebLOAD は通常、品質保証チームによってスタンドアローンのツールとして使用されます。開発ライフサイクルの検証/検査フェーズにおいて、製品になる前のステージング/テスト環境で「テスト状況下にあるシステム(System under Test(SUT)」をテストするために用いられます。WebLOAD は、(そのUIからではなく)バッチモードで動作可能なコマンドラインインターフェースも備えている。Ramiの説明によると、"テストスクリプトは前もって準備でき、JUnitの流儀と非常に似た形で、様々なALM(automatic lifecycle management:自動ライフサイクル管理)や継続インテグレーションツールから、コマンドラインインターフェースを用いて実行できます"とのことである。
いくつかのケースでは、WebLOADは本番環境でも、アプリケーションのモニタリングをするために使用されます。システムの健康状態について素晴らしい統計情報を生成し、問題が発生した瞬間にメール通知を送る、などと言ったことができるからです。
あまり一般的ではないのが、開発フェーズのより早い段階でWebLOADを使うというものです - しかし、私たちはそれが行われるのを見てきました。一般的に言えば、我々やその他のテスト専門家は、パフォーマンステストは開発ライフサイクルの中で可能な限り早く始めるべきだと信じています。例えば、WebLOADはWebサービス、Java/COMオブジェクトの単体テストや、SUTにおけるその他のインターフェースを書くのに用いられていました。そのコマンドラインインターフェースを使えば、WebLOADはそうしたテストを自動化されたビルドプロセスの一部として実行できます。
RamiはWebLOADを、最も一般的に使われている他の二つのオープンソース負荷生成ツールよりも優れたものだとしている。
JMeterプロフェッショナル版の興味深い機能として、テスト計画機能がある。それは"80%の(CPU)利用率までをテスト"のようなもので、Ramiはそれがどのように動作するかを説明している。
OpenSTA
- JMeterはテストスクリプトのビジュアルな編集方法しか提供していません。対してWebLOADでは、JavaScriptでテストスクリプトを作成することができるのでより柔軟です。
- JMeterはJAVAオンリーです。テストスクリプトからCOMオブジェクトの実行を行うことはできません。
- JMeterは、WebLOADよりも少ないサーバ監視プロトコルしかサポートしていません。
- JMeterは、HTTPSウェブサイトのレコーディングをサポートしていません。
- WebLOADの、分析とレポーティング機能は、JMeterが持つものよりも優れています。
- OpenSTAはクロスプラットフォームではありません - そのエンジンはWindows上でしか動きません。
- 機能的には同等ですが、OpenSTAは、学習して使用するのがより難しいです。その開発環境は直観的ではありませんし、そのスクリプト言語は標準的ではないため学習がより困難です。
- この2年間、OpenSTAの新しいバージョンはリリースされていません。このプロジェクトは実質的に死んでいます。
WebLOAD はゴール指向のテスティングで、RadViewにより開発されました。Cruise Controlは、良く知られているように、特許技術の上に成り立っています。基本的に、あなたはWebLOADにゴールの集合を定義する必要があります (それらのゴールは、論理的なand/or条件を組み合わせることができます)。こうしたゴールは絶えずチェックされ、もしゴールに達したとき、ユーザは通知を受け取ります。ユーザは、ゴールに達したときテストを停止するか、続行するかを前もって決めておくことができます。RadView はベンチャーキャピタルから資金提供を受けており、その額は、最近ではイスラエルの機関投資家から大体350万ドルを集めている。Ramiは"その資金は、WebLOADオープンソース化、webload.orgコミュニティの拡大、マルチメディアやOracle Formsのサポートといった新機能を市場に提供するのに使われるでしょう"と述べている。将来的には、現在のWebLOAD UIモジュールをEclipseベースのモジュールに置き換え、UIをEclipseのプラグインとしても利用可能にすることを計画している。
(原文は2007年6月21日にリリースされました)