webload review getting started with webload load testing tool
今日は、強力でありながら使いやすいWebLOADを確認します。 負荷テストツール 。これは、最も重要な機能と使いやすさを評価するための簡単なレビューです。
WebLOADは、かなりの数年前から使用されている負荷テストツールです。現在、バージョン10.3になっています。これは、バージョン10.3が提供するものを詳しく調べる良い機会です。
このレビューの内容は次のとおりです。
- その主な機能–基本的な録音からWebテクノロジーのサポートまで。
- レポート機能。
- 他のツールやソフトウェアプロセスとの統合などの高度な機能。
学習内容:
- 基本的なツール情報
- 負荷テストの構築
- ロジック拡張のためのJavaScriptの使用
- IDE構成によるスクリプトの強化
- 自動相関
- Seleniumの統合
- モバイル負荷テスト
- エンタープライズアプリとプロトコル
- テストの実行と負荷の生成
- 分析とレポート
- Webダッシュボード
- APMとJenkinsの統合
- 結論
- 推奨読書
基本的なツール情報
WebLOADは、20年以上前から存在し、LoadRunnerの代替としての地位を確立しているRadViewによって提供されています。
WebLOADという名前はやや誤解を招く恐れがあります。 Webシステムの負荷テストに広範な機能を提供しますが、さまざまなエンタープライズシステム(Oracle、SAPなど)のテストにも使用できます。
50人の仮想ユーザーがいる完全に機能するWebLOADFreeEditionをここからダウンロードできます>> ここからダウンロード 。
いくつかの重要な機能:
#1) 簡単なテスト作成:記録と再生のオプションを使用して、ロードスクリプトをすばやく作成および表示します。
#二) より複雑なビジネスロジックと関数ライブラリの使用のためのネイティブJavaScriptスクリプト言語。
#3) 動的な値の自動相関。
#4) のサポート セレン 実際のユーザーエクスペリエンスを測定するためのPerfectoMobile。
#5) 組み込みのAWS統合を使用して、オンプレミスとクラウドで負荷を生成します。
#6) ボトルネックの根本原因を特定するためのAPMツールとの統合。
# 7) 負荷テストを継続的デリバリープロセスに組み込むためのJenkinsプラグイン。
#8) 強力な分析ツールとカスタマイズ可能なレポート。
#9) テスト結果をリアルタイムで表示するためのWebダッシュボード。
負荷テストの構築
WebLOADのインストールはわずか5分で完了しました。その後、IDEで簡単なテストをすばやく記録し、いくつかの仮想クライアントを使用してコンソールで実行し、Analyticsを使用して結果を表示することができました。
WebLOADはプロキシベースのレコーダーを使用するため、構成する必要はありませんでした。 HTTPとHTTPSの両方のすべてのWebアクティビティを記録しました。 WebLOADは再生中にこれらを識別して自動的に取得するため、レコーダーはWebページのリソース(CSS、js、画像など)をスキップすることに注意してください。そのため、ページが変更された場合でも、スクリプトを手動で編集したり、変更されたリソースを含めるためにスクリプトを再記録したりする手間が省けます。
Webアプリケーションが負荷テストの最も一般的なターゲットですが、TCPレコーダーも探していましたが、見つかりませんでした。

IDEウィンドウには、実際に参照されたページを表示できるページビューや、ドリルダウン用のHTMLおよびHTTPヘッダービューなど、負荷テスト用のいくつかのビューが用意されています。私にとってより重要なビューはJavaScriptビューでした。これを使用すると、テストのロジックを調べ(および拡張)できます。 WebLOADは、ネイティブスクリプト言語としてJavaScriptを使用します。これについては次の段落で詳しく説明します。
((注意:拡大表示するには画像をクリックしてください)

ロジック拡張のためのJavaScriptの使用
JavaScriptを使用すると、スクリプトの編集と拡張が非常に簡単になります。私は現実的な負荷シナリオを作成しませんでしたが、むしろいくつかの機能を調べたかっただけです。
スクリプトを使用してTomcatサーバーにログインし(標準のHttp getリクエストを介して)、Jenkinsがインストールされているかどうかを確認しました(DOMを介して)。インストールされている場合、スクリプトは結果をループし、開始されているかどうかを確認します。起動されていない場合は、Javaコンポーネントを使用してSMSを送信します。

標準のJavaオブジェクトを作成するときは、クラス名の前に完全なパッケージパスを使用する必要があることに注意してください–例えば:
var myString = java.lang.String()。
独自のJavaオブジェクトを作成するときは、「パッケージ」を追加する必要があります。クラスへの完全なパッケージパスの前–例えば:
var myVar = packages.package1.package2.MyClass()
WebLOADがjarファイルを認識するためには、それを C: ProgramData RadView WebLOAD extension java ディレクトリとWebLOADは、jarをクラスパスに自動的に追加します。クラスパスを自分で更新する必要はありません。
IDE構成によるスクリプトの強化
IDEには、スクリプトを拡張および追加するためのその他の機能がいくつか含まれています。
HTTPとクライアントの構成 :テストスクリプトを微調整して拡張するように切り替えると、ブラウザー、キャッシュ、Cookie、接続速度などの豊富なHTTP構成オプションが見つかりました。実行する前にIDEとコンソールでこれらのパラメーターを2回構成する必要があるのはなぜか疑問に思いました。 。実行中に、さまざまな仮想ユーザーにさまざまなパラメーターを指定できるようです。
パラメータ化と 検証 :WebLOADは、パラメーターを消費するための多くのアルゴリズムを備えた拡張パラメーター化機能を提供します。たとえば、グローバル、一意、ランダム、シーケンシャル、および応答検証(要素を右クリックして(応答検証)を選択するだけで、スクリプトを使用せずに検証ポイントを入力できます) )。
ビルディングブロック :私がおそらく最も気に入った部分は、FTP呼び出しや開閉トランザクションなどのビルディングブロックをスクリプトに直接ドラッグアンドドロップする機能でした。この場合、ウィンドウが開き、入力するパラメーターが表示されます。

自動相関
相関は、記録されたスクリプトを多くの仮想クライアントで動的に実行できるようにするための重要なフェーズです。 WebLOADの相関は優れており、関連する動的な値を自動的に表示します。構成が完了すると、再度相関させることなく、記録と実行を続行できます。使用するツールに関係なく、自動相関が100%正確になることはなく、常に介入と編集が必要になることを考慮に入れてください。

Seleniumの統合
負荷テスト中に実際のユーザーエクスペリエンスを測定することは、プロトコルストレステストの重要な追加機能です。実際のブラウザまたはモバイルデバイスをアクティブ化することで、負荷テスト中の動作を測定し、システムに負荷がかかっている間の実際のユーザーエクスペリエンスを調べることができます。
WebLOADは、プラグインを使用したSelenium統合でかなり良い仕事をします。スクリプトをSeleniumで記録し、それをWebLOADにエクスポートします。

実行フェーズでは、WebLOADはブラウザーによって収集されたパフォーマンス統計を測定します。これにより、たとえば、負荷サイズ、テストの1秒あたりのヒット数、実際のユーザーエクスペリエンスを同じグラフで並べて確認できます。また、レンダリング時間、サーバー処理時間など、より詳細なブラウザー統計にドリルダウンすることもできます。

モバイル負荷テスト
WebLOADはとうまく統合されています 完璧なモバイル 、PerfectoMobileのクラウドから実際のモバイルデバイスをアクティブ化します。ウィザードは、テスト中に使用される特定のデバイスと場所を選択するのに役立ちます。負荷テストの実行中に、WebLOADはモバイルマシンをアクティブ化し、デバイスから直接パフォーマンス情報を表示します。情報には、私が行ったモバイルアクティビティ、CPU、メモリ、さらにはバッテリー使用量などのマシンリソース情報が含まれていました。

エンタープライズアプリとプロトコル
WebLOADは、HTTP / S、HTML5、Webサービス、Rest API、AJAX、プッシュテクノロジー、FTP、SMTP、TCP、DBなどの幅広いWeb関連プロトコルを適切にサポートしているようです。エンタープライズアプリケーションの場合、SAP、Oracleアプリ、Ellucianなどのサポートが組み込まれています。また、前述のように、Javaオブジェクトを使用して、自家製のアプリケーションなど、特定の使用法をテストすることもできます。
テストの実行と負荷の生成
WebLOADは、いくつかの興味深いテスト実行機能を提供します。まず、オンプレミスマシンとクラウドの両方から負荷を生成できます。 WebLOADとAmazonEC2の統合を使用することも、自分で処理することもできます。 WebLOADは、Amazonの認証情報を使用してマシンを起動および停止します。

興味深い機能は「 目標指向のテスト」 。たとえば、目標を2秒の最大応答時間として定義できます。 WebLOADは、負荷を徐々に増やす代わりに、2秒の応答時間の目標が達成されるまで、仮想ユーザーの数を自動的に増やします。これにより、システムが設定した応答時間制限にいつ到達したかを知ることができます。

負荷テストでの目標は、ボトルネックを検出するだけでなく、その根本原因を特定することでもあります。通常、検出する問題はサーバー側に関連します。データベースの問題、サーバーのCPU使用率、メモリサイズなどです。
この趣旨で、WebLOADは、Webサーバー、アプリケーションサーバー、DBサーバー、SNMPなどから統計を取得できるパフォーマンス測定マネージャーをすぐに提供します。

分析とレポート
すぐに使用できるAnalyticsレポートテンプレートが気に入りました。 Analyticsには、レポート内の問題のある領域を自動的にマークするルールエンジンが含まれているため、ドリルダウンする必要がある場所がわかります。
豊富な数の組み込みレポートとグラフを使用することに加えて、最初から独自のレポートを作成することもできました。

もう1つの機能は、セッションの比較です。これにより、複数のシナリオを並べてオーバーレイして比較できるため、さまざまな条件下でのシステムの動作を明確に比較できます。

セッション比較レポートでは、2つの異なる実行のトランザクション応答時間を並べて表示できます
.swfファイルを表示する方法
Webダッシュボード
Webダッシュボードは、テスト結果へのWebアクセスを提供するWebサーバーです。ほとんどの場合、テストの実行中にWebブラウザを介してテスト結果を確認できます。 WebダッシュボードはHPPerformance Centerと競合しようとはしませんが、追加料金なしで重要な機能を提供します。
Webダッシュボードは、独自のビューや独自のグラフのカスタマイズ、測定値の追加などに非常に柔軟に対応できます。ただし、正確にカスタマイズする方法を見つけるのに少し時間がかかりました。ドキュメント/ヘルプを使用すると、より良い仕事をすることができます。チームメンバーは独自のビューを定義でき、ビューは単純な共有リンクオプションで共有できます。そのため、問題を簡単に見つけて、特定のビューをDBAまたは上司に送信して、自分が見ているものを簡単に確認できるようにすることができます。
テストの比較も簡単でした。 2つのテストを選択したところ、両方とも同じグラフのセットに表示されました。上のオプションの相対時間と絶対時間を理解するのに少し時間がかかりました。同じテストを見て簡単に比較したい場合は、相対時間を使用してください。それ以外の場合、絶対時間は、実行されたリアルタイムを使用してそれらを提示します。

APMとJenkinsの統合
これらのより高度な機能を確認することはできませんでしたが、WebLOADには、Dynatrace、AppDynamics、NewRelicなどのアプリケーションパフォーマンス管理(APM)ツールとの統合が組み込まれています。ドキュメントによると、WebLOADテスト結果で問題を表示し、すぐにAPMツールに切り替えて、サーバー側のイベントの根本原因をドリルダウンして見つけることができます。
もう1つの興味深い機能は、Jenkinsプラグインです。これにより、「WebLOAD」ステップをJenkinsに追加して、Jenkinsワークフローから負荷テストを自動的に実行し、テストの結果に基づいて操作できるようになります。
結論
WebLOADツール( ここで入手 )間違いなく一見の価値があります。特に、より困難な負荷テスト環境を処理するためにスクリプトの能力が必要な場合はそうです。それは機能の幅と深さを提供し、全体として、LoadRunnerの代替を探す場合は綿密に調べる必要があります。