このチュートリアルは、Load Test を使用してサービスおよび Web インターフェイスの機能テストを行う方法を説明します。このセクションの内容

チュートリアルの概要

まず SOAtest で機能テストを作成し、それから Parasoft Load Test で負荷テストを行います。負荷テストを行うと、負荷の高い使用状況をエミュレートし、そのような状況でしか発生しない可能性のあるバグを明らかにできます。Web、SOA、および 2 つを組み合わせたエンドツーエンド テスト (メッセージ レイヤーを越え、Web サービス、JMS、Web インターフェイス、データベースなどの全体をテストするシナリオ) の負荷テストを実施できます。 

 動画チュートリアルを見る

また、Parasoft Load Test には、Parasoft 負荷テストコンポーネント API を実装する任意のコンポーネントの負荷テストを実行するフレームワークが付属しています。たとえば JUnit を使用したパフォーマンスや同時実行性のテストや、Parasoft コンポーネント API を実装する軽量のソケットベースのコンポーネントを使用した負荷テストを行うことができます。これにより、パフォーマンスの検証を行う際に直面するユーザー独自の複雑な問題に合わせて負荷テストをカスタマイズできます。 

以前のバージョンの SOAtest および WebKing で作成された負荷テスト コンフィギュレーションは完全にサポートされており、インポートできます。

Parasoft Load Test を使用すると、以下を含む負荷テスト プロセスのあらゆる側面を完全に制御できます。

動画チュートリアル既存の SOAtest シナリオを使用した負荷テストの設定と実行

Web 機能テストを含むテスト シナリオの標準的なワークフロー

Web 機能テストを含む SOAtest の機能テストを負荷テストする場合の典型的なワークフローは次のとおりです。

  1. ブラウザーを使用して Web シナリオを記録します。
  2. 任意の検証および抽出機能を使用してテスト シナリオをカスタマイズします。
  3. SOAtest で Load Test パースペクティブに切り替えます。
  4. Load Test エクスプローラーでテスト スイートを選択し、[負荷テスト用に検証] ツールバー ボタンをクリックします。



  5. Parasoft Load Test を起動し、SOAtest で作成した .tst ファイルに対応する新規負荷テスト シナリオを作成します。

このワークフローは、SOAtest のエンドツーエンド テスト シナリオ (メッセージ レイヤーを越え、Web サービス、JMS、Web インターフェイス、データベースなどの全体をテストするシナリオ) にもあてはまります。Parasoft Load Test は、SOAtest の機能テスト スイートに含まれる任意のテストを同時実行できます。

その他のすべての SOAtest テスト シナリオの標準的なワークフロー

Web 機能テストを含まない SOAtest の機能テストを負荷テストする場合の典型的なワークフローは次のとおりです。

  1. SOAtest でシナリオを定義し、カスタマイズします。
  2. Parasoft Load Test を起動し、SOAtest で作成した .tst ファイルに対応する新規負荷テスト シナリオを作成します。

Web アプリケーションの機能テストの作成

この負荷テスト チュートリアルでは、銀行の Web アプリケーションに似せた「Parabank」という Parasoft のサイトを使用します。 

このレッスンを開始する前に、SOAtest のチュートリアルにある「Web 機能テスト」セクションを参照し、Load Test で使用するブラウザー テスト スイートの記録方法を確認することを推奨します。

新規 Web シナリオの記録

負荷テストで使用する Web 機能テストを記録するには、次の操作を行います。

  1. SOAtest の [ファイル] メニューで [新規] > [テスト (.tst) ファイル] をクリックします。
  2. [ファイル名] に「ParaBank」と入力し、[次へ] をクリックします。
  3. [Web] > [Web シナリオの記録] を選択し、[次へ] をクリックします。
  4. [新規機能テストの記録] を選択し、[次へ] をクリックします。
  5. [開始ロケーションから記録] ウィザード ページで次のように入力します。
    1. [テスト スイート名] フィールドに「ParaBank Functional Test 」と入力します。
    2. [次から記録を開始] フィールドに「 http://parabank1.parasoft.com/」と入力します。



    3. [終了] ボタンをクリックします。テストが開始され、ブラウザー ウィンドウが開きます。
  6. ブラウザー ウィンドウで次のアクションを行います。
    1. ユーザー名に「 john」を入力し、パスワードに「demo」と入力したら、[ Log In] をクリックします。


       
    2. 口座リストに表示される最初の口座をクリックします。



    3. ページ右上にある [Sign Off] リンクをクリックします。



    4. ブラウザーを閉じます。するとセッションの記録が終了します。

シナリオを負荷テスト用に検証

シナリオを負荷テストで使用できるかを検証するには、次の操作を行います。

  1. SOAtest の [ウィンドウ] メニューの [パースペクティブを開く] > [その他] > [Parasoft Load Test] をクリックして Load Test パースペクティブに切り替えます。左側に Load Test エクスプローラーが開きます。Load Test エクスプローラーはテスト ケース エクスプローラーと似ていますが、ブラウザーのテスト ケースをダブルクリックすると、テスト ケース ステップを負荷テスト用に準備するための特別なエディターが開きます。このエディターには、ページをロードするために行われたリクエストの URL が表示されるほか、リクエストで使われたパラメータライズ値があれば、それも表示されます。
  2. [ParaBank] テスト スイートのルート ノードを選択し、ツール バーの [負荷テスト用に検証] ボタンをクリックします。このサンプルの場合、検証は成功し、機能 Web シナリオが負荷テストに使用できることが示されるはずです。



この後は、Creating and Performing a Load Test (for Web and/or Service Functional Tests)の説明に従って負荷テストの実行を構成できます。

サービス機能テストの作成

チュートリアルを始める前に、『SOAtest ユーザーズ ガイド』の「機能テスト」および「シナリオ テスト」チュートリアルを行うことを推奨します。

SOAtest のチュートリアルで作成したテスト スイートを使用して負荷テストを行います。SOAtest のワークスペースでまだチュートリアル レッスンが行われていない場合、次の操作を行って、テスト スイートを作成します。

  1. SOAtest の [ファイル] メニューで [新規] > [その他] をクリックし、[既存の SOAtest または WebKing テスト スイートからプロジェクト] を選択して [次へ] をクリックします。



  2. [プロジェクト名] フィールドに「Examples」と入力します。
  3. [ディレクトリ] で [参照] をクリックし、 [SOAtest/Load_Test_installation_directory]/examples/tests を参照してプロジェクトのテスト スイートの場所を指定します。
  4. [終了] をクリックします。テスト ケース エクスプローラーに Examples プロジェクトが追加されます。プロジェクトには複数のテスト (.tst) ファイルが含まれています。

この後は、Creating and Performing a Load Test (for Web and/or Service Functional Tests)の説明に従って負荷テストの実行を構成できます。

負荷テストの作成と実行 (Web/サービス機能テストの場合)

前のレッスンで使用した Web またはサービス テストの負荷テストを定義し、実行するには、次の操作を行います。

  1. Parasoft Load Test を開きます。
  2. ウェルカム ウィザードで [新規プロジェクト] を選択し、[次へ] をクリックします。
  3. [SOAtest] を選択し、[次へ] をクリックします。
  4. 次のどちらかの操作を行います。
  5. ツリーで次のノードを選択し、[次へ] をクリックします。
  6. [スケジュール & 割付け] パネルで期間として 2 分を入力し、割付けとして「 Linear Increase 」を選択し、[その他のオプション] パネルが表示されるまで [次へ] をクリックします。



  7. [その他のオプション] オプション パネルで [すぐに負荷テストを開始] および [個々のヒットを記録] をオンにし、[終了] をクリックします。



 指定された負荷テストが開始されます。GUI 左側のパネルに [新規負荷テスト] タブが表示され、[負荷テストの進捗] パネルに [グラフ] タブが表示されます。
 



[グラフ] タブで右クリックし、レイアウト オプションを選択すると、表示されるグラフの数とレイアウトを変更できます。



負荷テストはいつでも中止できますが、今回は 2 分間の期間を最後まで実行し、テスト実行中の詳細をモニターしたり操作します。 

[負荷テストの進捗] タグを見ると、[グラフ] タブに次の情報が表示されています。

[スナップショット] タブに現在のアクティブ仮想ユーザーおよび呼び出されている操作も表示されていることに注目してください。テスト実行中は、このタブに表示されている情報が 3 秒おきに更新されます。

負荷テストが完了すると、結果パネルにテスト情報概要が表示され、プロジェクト名、テスト開始および終了日時、選択されたシナリオ、マシンおよびプロファイルが表示されます。

 

 その他の負荷テスト統計レポートを参照することもできます。負荷テストの詳細な統計を参照するには、次の操作を行います。

  1. 結果パネルで [ビュー] メニューの [統計] を選択します。



    統計レポートを表示すると、[出力タイプ] メニューが利用可能になります。[出力タイプ] メニューは、表示する出力レポートのタイプを指定します。このメニューから、それぞれ異なる情報列がある 2 種類のレポートを参照できます。レポートのタイプによる違いは次のとおりです。
  2. 特定のテストの失敗に関する詳細を参照するには、レポートの該当する行をダブルクリックします。特定のテストが失敗したかどうかは、そのテストを表す行を探し、[テスト失敗] 列の値を参照することでわかります。

負荷テスト プロファイルおよびシナリオのカスタマイズ

使用するプロファイルおよびシナリオをカスタマイズすると、負荷テストの実行方法をカスタマイズできます。負荷テストを継続する時間、仮想ユーザーの割付け、時間およびマシンごとのヒット率、および時間ごとのユーザー プロファイルの割付けを指定できます。 

動画チュートリアルを見る


  1. [負荷テスト] タブで [Profiles] フォルダーをダブルクリックし、いずれかのテスト スイート ノードを選択します。右側に設定パネルが表示されます。
  2. パネル下部で遅延の [] を 3 秒に変更します。これにより、ユーザーが書籍を注文する前にためらうのをシミュレートします。
  3. [Scenarios] ノードの下で [Linear Increase] を選択します。結果パネルに Linear Increase シナリオ コントロールが表示され、ユーザー グラフに localhost カーブが表示されます。
  4. Localhost カーブのエンドポイントを 2 分で 10 ユーザーの座標位置にドラッグ&ドロップします。
  5. [縦軸] ドロップダウン メニューから [ 20] を選択します。
  6. [ポイントを増やす] ボタンをクリックします。Localhost の線の中央に新たなポイントが現れます。
  7. 新しいポイントを 1 分で 10 ユーザーの座標位置にドラッグします。



  8.  [Linear Increase] ノードを展開して [QoS] ノードを選択します。[概要] タブおよび [詳細] タブが表示されます。
  9. [詳細] タブを選択し、[新規] ボタンをクリックします。
    [メトリクスの追加] ウィザードが表示されます。





  10. [統計メトリクス] を選択し、[終了] をクリックします。
  11. メトリクス設定パネルで、[名前] フィールドに「Execution Time Requirement」と入力します。
  12. GUI 右側の [統計] ドロップダウンメニューで [Avg. Exe.Time (ms)] および「未満」を表す不等号記号 (<) を選択し、テキストフィールドに 200 を入力します。



    すると、実行時間が 200 ミリ秒を超えた場合に負荷テストが「失敗」とみなされるようになります。メトリクスの詳細については、「シナリオの QoS メトリクスのカスタマイズを参照してください。
  13. [Scenarios] ブランチの下にある [Linear Increase] ノードを選択し、[Load Test] ツールバー ボタンをクリックします。カスタマイズされた負荷テストが開始され、GUI パネルの右側に [グラフ] タブが表示されます。
  14. 負荷テストが終了するまで (2 分間) 待ちます。負荷テストが実行されている間、[グラフ] タブ で適切なチェックボックスをオンにすると、さまざまなパラメーターを参照できます。

負荷テストが完了すると、右側の GUI パネルにテスト情報概要が表示され、プロジェクト名、テスト開始および終了日時、選択されたシナリオ、マシンおよびプロファイルが表示されます。 

動画チュートリアル負荷テスト設定およびシナリオの微調整

レポートの参照

負荷テストが完了したら、収集されたデータを分析し、アプリケーション/サービスが負荷状態でどのように動作したかを確認する必要があります。Load Test には、負荷テスト レポートの生成を設定する機能があります。

このセクションでは、詳細レポートの表示方法と HTML レポートの生成方法を学習します。

詳細レポートを参照するには、次の操作を行います。

  1. 結果パネルの [ビュー] メニューで [詳細レポート] をクリックします。さまざまなパラメーターとともに [グラフ] グラフが表示されます。
  2. グラフでは以下の操作を行うことができます。

これまでにわかったとおり、詳細レポートの [グラフ] タブから、負荷テストのさまざまな詳細情報を集めることができます。[棒グラフ] および [テーブル] タブでも、その他の情報を参照できます。これらのタブおよび Load Test の詳細レポートについては、負荷テスト結果の参照とカスタマイズを参照してください。

.lt ファイルとしてプロジェクトを保存

  1. ツールバーの [プロジェクトの保存] ボタンをクリックして、負荷テスト プロジェクトを保存します。

     
     
  2. ダイアログ ボックスが開いたら、[ファイル名] フィールドにプロジェクト名を入力して [保存] ボタンをクリックします。ファイル名に拡張子 .lt が付加され、プロジェクトが保存されます。