このセクションでは、負荷テストの実行方法を説明します。このセクションの内容

Load Test プロジェクトについて

負荷テストを開始する前に、.lt ファイルとして保存される負荷テスト プロジェクトを作成する必要があります。 

負荷テスト プロジェクトは、SOAtest の .tst ファイル (負荷テストする機能テストおよび/またはインポートする既存の負荷テスト構成を含む) または jar ファイルを参照します。 

参照先の .tst または .jar ファイルが変更された場合、変更は負荷テスト プロジェクトにも関連付けられます。

負荷テスト プロジェクトを開くには、次の操作を行います。

既存の SOAtest 負荷テストをインポート

SOAtest の .tst ファイルから既存の負荷テストをインポートするには、次の操作を行います。

  1. [ファイル] メニューの [開く] をクリックします。
  2. 適切な .tst ファイルを選択します。

負荷テスト構成および機能テストが Load Test にインポートされます。必要に応じて自動的に負荷テスト プロジェクトが構成されます。コンポーネント設定パネル (メインの [Profiles] ノードを選択すると表示されます) の「コンポーネント アーカイブ」タイプに「Parasoft SOAtest Componnt」が設定され、負荷テスト コンフィギュレーションのインポート元 .tst ファイルが現在の「SOAtest プロジェクト」として設定され、適切なテストがプロファイルにマッピングされます。 

プロジェクトを開いた後、負荷テストを選択して実行できます。その他の構成は不要ですが、次のセクションの説明に従って自由に構成を調整できます。

既存の WebKing 負荷テストをインポート

WebKing の .tst ファイルから既存の負荷テストをインポートするには、次の操作を行います。

  1. .tst ファイルを SOAtest にインポートします ([ファイル] メニューの [新規] > [既存の SOAtest または WebKing テスト スイートからプロジェクト])。
  2. Load Test パースペクティブを開きます ([ウィンドウ] メニューの [パースペクティブを開く] > [その他] > [Parasoft Load Test])。
  3. 『SOAtest ユーザーズ ガイド』の「負荷テスト」セクションの説明に従ってテスト スイートの構成を行い、負荷テストに使用できるかを検証します。
  4. Parasoft Load Test を開きます。
  5. [ファイル] メニューの [開く] をクリックします。
  6. 適切な .tst ファイルを選択します。

負荷テスト構成および機能テストが Load Test にインポートされます。必要に応じて自動的に負荷テスト プロジェクトが構成されます。コンポーネント設定パネル (メインの [Profiles] ノードを選択すると表示されます) の「コンポーネント アーカイブ」タイプに「Parasoft SOAtest Componnt」が設定され、負荷テスト コンフィギュレーションのインポート元 .tst ファイルが現在の「SOAtest プロジェクト」として設定され、適切なテストがプロファイルにマッピングされます。 

プロジェクトを開いた後、負荷テストを選択して実行できます。その他の構成は不要ですが、次のセクションの説明に従って自由に構成を調整できます。

SOAtest の機能テスト用に負荷テストを作成

 

サービスおよび Web 機能テスト用に負荷テストを作成する方法については、「負荷テストの作成と実行 (Web/ サービス機能テストの場合)」を参照してください。

SOAtest の機能テスト シナリオ用に負荷テストを作成

  1. 機能テスト シナリオに Web 機能テストが含まれる場合、『SOAtest ユーザーズ ガイド』の「負荷テスト」セクションの説明に従ってテスト スイートの構成を行い、負荷テストに使用できるかを検証します。
  2. Parasoft Load Test で以下のどちらかの操作を行います。

     

    負荷テストを実行する前に、負荷テストに使用する SOAtest 機能テストを指定する必要があります。以下のどちらかの場所で指定できます:

       負荷テスト構成ウィザードの仮想ユーザー プロファイル ページ

     

       [Profile] > [仮想ユーザー] 設定パネルのいずれか

     

  3. (任意) 負荷テスト ツリーで最上位の [Profile] ノードを選択し、必要に応じて環境、データ ソース オプション、セットアップ/ティアダウン オプションを設定します。
  4. (任意) 必要に応じてその他の設定を変更します。詳細については以下を参照してください:

Junit テスト駆動型の負荷テストを作成

Jar ファイルに格納された Junit 3 または Junit 4 のテストを使用する負荷テストを作成するには、次の操作を行います。

  1. 次のいずれかの操作を行います。
  2. 負荷テスト ツリーで最上位の [Profile] ノードを選択し、設定パネルに入力します。
    1. [選択] をクリックします。
    2. [ビルトイン] オプション ボタンをオンにし、[JUnit Runnable] を選択します。



    3. [終了] をクリックします。
  3. 設定パネルで、使用する JUnit テストに関する詳細を指定します。
    1. パネル下部のテーブルで [追加] をクリックし、Load Test が Junit テスト クラスとその依存先を探す Jar アーカイブを指定します。



    2. 上部のテーブルで [追加] をクリックし、使用する Junit テスト クラスを指定します。JUnit クラス名を指定すると、Load Test は指定された classpath 要素にクラスが存在するかを確認します。クラス テーブルの [Class found] 列にクラスが見つかったかどうかが表示されます。
      • Classpath 要素が変更された場合、再確認を行うには [すべて検証] をクリックします。
    3. (パネルの上のほうにある) [テスト オブジェクトが使用] ボックスで、これらのテストで負荷テストを行う際に使用するモードを指定します。
      • 仮想ユーザーはテスト オブジェクトを作成する: このモードでは、仮想ユーザーごとに Junit クラスのインスタンスが作成されます。その後、仮想ユーザーは、仮想ユーザーが所属するプロファイルの構成に従って、JUnit クラス オブジェクトのテスト メソッドを実行します。Junit メソッドが、ソケットや他のリモート オブジェクト アクセス手段を使用して外部のオブジェクトまたはエンドポイントをテストする場合、このモードを選択することが推奨されます。
      • 仮想ユーザーはテスト オブジェクトを共有する: このモードでは、Load Test プロセス内のすべての仮想ユーザーが単一の Junit オブジェクトを共有します。すべての仮想ユーザーが単一の Junit オブジェクトのメソッドを呼び出します。Junit オブジェクトの同時実行テストを行いたい場合、このモードを使用できます。

        たとえば、書き込みをした MyCollection オブジェクトの操作をテストする Junit クラスを作成できます。このモードで該当 Junit テストを負荷テストすると、MyCollection クラスに同時実行の問題があるかをテストできます。この場合、原則として、仮想ユーザー数またはヒット数 (秒) をマシンで許される最大に設定して負荷テストを実行するべきです。すると、JUnit の同時実行レベルが最大限になります。負荷テスト シナリオのランダム化タイプを「均一」に設定します。
  4. Jar ファイルに含まれる任意のオペレーションを実行するよう、新規またはデフォルト プロファイルを設定します。詳細については「プロファイルのカスタマイズ」を参照してください。
  5. (任意) セットアップ/ティアダウン メソッドを使用するには、次のように設定します。
  6. (任意) 必要に応じてその他の設定を変更します。詳細については以下を参照してください:


.jar クラスパス要素を変更した場合、変更を反映するには、コンポーネントをリロードする必要があります。それには、[リロード] ボタンをクリックします。 

コンポーネントをリロードする前に、必ずプロジェクトを保存してください。コンポーネントをリロードすると、保存されていない変更は失われます。

 

Jar ファイル駆動型の負荷テストを作成

 

Jar ファイルによって駆動される負荷テストを作成する方法については、カスタム負荷テストコンポーネントの作成を参照してください。

Jar ファイルに格納されたカスタム コンポーネントを使用する負荷テストを作成するには、次の操作を行います。

  1. 次のいずれかの操作を行います。
  2. 負荷テスト ツリーで [Profiles] ノードを選択し、設定パネルに次のように入力します。
    1. [選択] をクリックします。
    2. [ローカル] オプション ボタンを選択します。
    3. [次へ] をクリックします。
    4. 適切な jar アーカイブを指定します。ドロップ ダウン リストからビルトイン コンポーネントを選択するか、有効な Parasoft Load Test .jar コンポーネント アーカイブを参照して指定します。
    5. [終了] をクリックします。
  3. Jar ファイルに含まれる任意のオペレーションを実行するよう、新規またはデフォルト プロファイルを設定します。詳細については「プロファイルのカスタマイズ」を参照してください。
  4. (任意) 必要に応じてその他の設定を変更します。詳細については以下を参照してください:

コンポーネントの実装に応じて、コンポーネント設定パネルにコンポーネント固有のコントロールが表示される場合があります。ビルトイン以外のコンポーネントの場合、デプロイメントおよび設定タブの両方が表示されます。デプロイメント タブには、メイン コンポーネント クラスの Java クラス名などのコンポーネントのデプロイメント プロパティや、コンポーネント検証メッセージが表示されます。 

ビルトイン コンポーネントのデプロイメント詳細を参照するには、[ファイル] メニューの [設定のカスタマイズ] をクリックし、Parasoft Load Test 設定ダイアログで [コンポーネント] ページを開きます。

負荷テスト構成ウィザードの実行

負荷テスト構成ウィザードを使用するには、次の操作を行います。

  1. ウィザードの最初のページで、負荷テストに使用する SOAtest テストを含む .tst ファイルを指定し、[次へ] をクリックします。
  2. 指定された .tst ファイル内で既存の負荷テスト設定が検出された場合、次のどちらかの操作を行います。
  3. [仮想ユーザー プロファイル] パネル (SOAtest コンポーネントの場合のみ) で使用するテスト スイートを表すチェック ボックスをオンにし、[次へ] をクリックします。
  4. [Schedule and Distribution] パネルのオプションを必要に応じてカスタマイズし、[次へ] をクリックします。
  5. [パフォーマンス モニター] パネルで必要に応じてパフォーマンス モニターを構成し、[次へ] をクリックします。
  6. [サービス品質] パネルのオプションを必要に応じてカスタマイズし、[次へ] をクリックします。
  7. [スレーブ マシン] パネルで必要に応じてリモート マシンを構成し、[次へ] をクリックします。
  8. [その他のオプション] パネルで必要に応じてオプションをカスタマイズし、[終了] をクリックします。

[すぐに負荷テストを開始] オプションがオンの場合、指定されたシナリオ設定や、関連するテスト スイート プロファイルおよびマシン設定に基づいて負荷テストが実行されます。[すぐに負荷テストを開始] オプションがオフの場合、GUI 左側のパネルに [負荷テスト] タブが表示されますが、負荷テストは実行されません。

負荷テストの実行

SOAtest の .tst プロジェクトまたは jar ファイルと負荷テストを関連付けたら、あらかじめ設定された負荷テスト シナリオ (bell curve、buffer test、linear increase または steady load) または Load Test で作成した任意のカスタム シナリオを使用してテストを実行できます。 

プロジェクトが負荷テストで利用できる状態になっている場合、ツールバーの [Load Test] ボタンを使用できます。

負荷テストを実行するには、ツールバーの [Load Test] ボタンをクリックし、[シナリオの確認] ダイアログ ボックスで、使用するシナリオを指定します。シナリオを選択する際は、以下の点を考慮してください。

指定されたシナリオ設定や、関連するテスト スイート プロファイルおよびマシン設定に基づいて負荷テストが実行されます。設定がカスタマイズされていない場合、Load Test はローカル マシンでテストを実行し、仮想ユーザーを生成します。

指定された期間が終わる前にテストを中止したい場合、ツールバーの [停止] ボタンをクリックします。Load Test は仮想ユーザーの生成を中止し、[停止中] ダイアログ ボックスを表示します。そのまま他の操作を行わなければ、アクティブな仮想ユーザーは実行中のテストが完了するまで処理を続けます。 

テストをただちに終了するには、[強制停止] ボタンをクリックします。強制停止オプションを使用した場合、中止された仮想ユーザーの結果はメインの負荷テスト結果には含まれず、負荷テストの結果が不正確になったり、わかりにくくなる可能性があります。

テスト進捗のモニター

テスト実行中および実行後にテスト進捗データが表示されます。また、テスト終了後にテスト結果が表示されます。

Load Test は次の進捗情報を記録します。実行の詳細、実行ステータス、負荷テストのエラー

実行の詳細の参照

負荷テストが開始されるとすぐに、GUI 右側の [負荷テストの進捗] タブの [グラフ] タブに負荷テストの詳細が表示されます。[グラフ] タブでは、実行中の負荷テストに関するデータをグラフィカルに参照できます。 

 

 

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

 

 

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

実行の詳細のカスタマイズ

[グラフ] タブの凡例からオプションを選択するだけでなく、ほかにも多くの方法で、負荷テスト実行中に [グラフ] タブに表示される詳細を操作できます。

表示されるグラフ データをフィルターするには、次の操作を行います。

レポートの Y 軸をデフォルトの線形スケールから対数スケールに変更する (またはその逆) には、次の操作を行います。

グラフ領域を指定した色で塗りつぶすには、[グラフ領域を塗りつぶす] チェック ボックスをオンにします。

 

負荷テストの進捗グラフの色をカスタマイズするには、次の操作を行います。

  1. [グラフ] タブの凡例で任意の棒を選択し、ショートカット メニューの [色の変更] をクリックします。[色の選択] ダイアログ ボックスが開きます。



  2. ダイアログ ボックスで配色を変更し、[OK] をクリックします。

 

負荷テスト実行中に動的に仮想ユーザー数またはプロファイルの配分を変更するには、次の操作を行います。

  1. 負荷テスト ツリーの [Scenarios] ノードから現在のシナリオを選択します。GUI 右側に [ユーザー] タブおよび [プロファイル] タブが表示され、[ユーザー] タブが選択された状態になります。
    タブのグレーアウトされたセクションは、すでに経過した負荷テストの期間を表します。グラフのグレーアウトされた線は変更できません。



  2. ユーザー タブを選択し、[縦軸] ドロップダウン メニューの項目を選択したり、[ポイントを増やす] および [ポイントを減らす] ボタンをクリックしたり、グラフの線をマウスでドラッグ&ドロップすることで、グラフを任意に変更できます。  負荷テスト実行中に期間を変更することはできません。
  3. プロファイル タブを選択し、[縦軸] ドロップダウン メニューの項目を選択したり、[ポイントを増やす] および [ポイントを減らす] ボタンをクリックしたり、グラフの線をマウスでドラッグ&ドロップすることで、グラフを任意に変更できます。負荷テスト実行中に期間を変更することはできません。
    ユーザーおよびプロファイルタブのカスタマイズに関する詳細については、「テスト スイート シナリオのカスタマイズ」を参照してください。
  4. [ウインドウ] メニューの [負荷テストの進捗] をクリックして負荷テストの進捗グラフに戻ります。

 

テストが終了した後に実行の詳細を参照するには、次の操作を行います。

  1. [ウィンドウ] メニューの [負荷テストの進捗] をクリックします。
  2. [グラフ] タブをクリックします。

実行状態の参照

テスト実行の任意の時点における仮想ユーザーの実行状態 (プロファイルおよび現在の実行状態) を参照できます。実行状態は、テスト実行中は 3 秒おきに更新されます。

テスト実行中に実行状態を参照するには、次の操作を行います。

テストが終了した後に実行状態を参照するには、次の操作を行います。

  1. [ウィンドウ] メニューの [負荷テストの進捗] をクリックします。
  2. [スナップショット] タブをクリックします。

負荷テスト エラーの参照

テスト実行中にエラーが発生した場合 (たとえば、リモート マシンが Load Test Server を実行していないために、そのマシンでテストを開始できないなど)、Load Test はステータス バーにオレンジ色のエクスクラメーション マークのアイコンを表示します。 

エラー メッセージを参照するには、次の操作を行います。

Load Test はメッセージ レポートにも実行エラーを記録します。このオプションおよびレポートは、テスト実行中にエラーが発生した場合にだけ利用できます。テストが終了した後にエラー レポートを参照するには、次の操作を行います。 

また、テスト実行中または実行後に、シミュレーションの詳細 (たとえば、リモート テスト マシンへのアクセスの問題や、中断されたスレッドなどの情報) も参照できます。

テスト実行中にこの情報を参照するには、次の操作を行います。

テストが終了した後に詳細を参照するには、次の操作を行います。 

  1. [ウィンドウ] メニューの [負荷テストの進捗] をクリックします。
  2. [ログ] タブをクリックします。

ログ タブを開いたら、いつでもログ レベル (最も詳細な [設定] レベルから最も簡易な [エラー] レベルまで) およびコンソールのバッファーの高さを指定できます。

テスト結果の操作

テスト結果ウィンドウで負荷テストの結果を参照できます。負荷テスト レポートの表示と解釈の詳細については、負荷テスト結果の参照とカスタマイズを参照してください。

JVM ガベージ コレクターおよびメモリ オプションの構成

Load Test のパフォーマンス (および一部の環境では、時間の計測の正確さ) は、JVM GC 設定および JVM が使用できるメモリの量に左右される場合があります。 

Load Test 1 プロセスごとに最低 4GB のシステム メモリが推奨されます。Load Test プロセスの JVM メモリ サイズは、Load Test ラウンチャーまたはスクリプトによって自動的に構成されます。JVM が使用できる最大のメモリ容量を明示的に指定するには、コマンド ラインから Load Test に -XmxNNNNM 引数を渡します。NNNN はメガバイト単位のメモリ量です。Windows システムでは、次のように、引数の前に -J を付加します。“lt -J-Xmx4096M”

パフォーマンスを最適化するため、Parasoft Load Test は JVM 引数 "-XX:+UseParallelGC」 で指定される並行第一世代ガベージ コレクターを使用します。必要であれば、コマンドライン引数 "-XX:-UseParallelGC" を使用して、この機能をオフにできます。この引数を Windows システムで使用する場合、次のように、引数の前 (実行モジュール名の後) に -J を付加します。loadtest.exe -J-XX:-UseParallelGCLoad Test の JVM で concurrent mark and sweep (CMS) GC を有効にするには、UseParallelGC オプションを明示的に無効にする必要があります。例: lt -J-XX:-UseParallelGC -J-XX