LoadRunner チュートリアル > 練習 4: 負荷テスト用スクリプトの準備

練習 4: 負荷テスト用仮想ユーザ・スクリプトの準備

前の練習では,仮想ユーザ・スクリプトの応答が実際のユーザを正確にエミュレートしていることを確認しました。次のステップとして,負荷テスト用のスクリプトを準備します。多数のユーザが同時に作業している場合,システムはどのように動作するでしょうか。システムの処理速度が許容できないレベルにまで低下しないでしょうか。

この練習では,スクリプトを拡張し,より効果的に負荷テストのプロセスを進めるためのさまざまな方法について学びます。

この練習は,次の項目で構成されています。

ビジネス・プロセスの実行時間を測定する方法

アプリケーションをデプロイするために準備するときは,ログオンに要した時間やフライトの予約に要した時間など,特定のビジネス・プロセスの実行時間を測定する必要があります。通常,各ビジネス・プロセスはスクリプトの 1 つまたは複数のステップやアクションで構成されます。仮想ユーザ・スクリプトでは,これらのアクションをトランザクションに含めることで,測定する必要のある一連のアクションを指定します。

トランザクションが含まれる仮想ユーザ・スクリプトを実行すると,LoadRunner は,トランザクションの実行に要する時間に関する情報を収集し,その結果を色付きのグラフやレポートで表示します。この情報を元に,アプリケーションがパフォーマンスの要件を満たしているかどうか判断できます。

トランザクションは仮想ユーザ・スクリプト内のどこにでも手動で挿入できます。一連のステップをトランザクションとしてマークするには,最初のステップの前に start_transaction マーカを挿入し,最後のステップの後に end_transaction マーカを挿入します。

本項では,ユーザがフライトを検索して確定するまでに要する時間を計測するためのトランザクションを,スクリプトに挿入します。

仮想ユーザ・スクリプトにトランザクションを挿入するには,次の手順を実行します。

  1. VuGen で,「練習 1: 仮想ユーザ・スクリプトの作成」で作成した Basic_Tutorial スクリプトを開きます。まだ開いている場合は,この名前が表示されているタブを選択できます。開いていない場合は,[ファイル]メニューから開くことができます。
  2. ステップ ナビゲータ]タブをクリックしてステップ・ナビゲータを表示します。
  3. トランザクション開始マーカを挿入します。
    1. ステップ・ナビゲータで,ステップ[Image: Search Flights Button]を探します。
    2. Image: Search Flights Button]ステップをダブルクリックして,該当する[web_image]ステップをエディタで表示します。
    3. 表示]>[ステップ ツールボックス]をクリックします。ステップ・ツールボックスが右側のペインに表示されます。
    4. ステップ・ツールボックスの[共通]の下で[lr_start_transaction]を選択し,エディタまでドラッグして,[web_image]ステップの前でドロップします。[トランザクションの開始]ダイアログ・ボックスが開きます。

    5. トランザクション名]ボックスで「find_confirm_flight」と入力し,[OK]をクリックします。VuGen は[lr_start_transaction]ステップをステップ・ナビゲータに挿入し,該当する lr_start_transaction 関数をエディタに挿入します。
  4. トランザクション終了マーカを挿入します。
    1. ステップ・ナビゲータで,ステップ[Submit Data: reservations.pl_2]を探します。
    2. Submit Data: reservations.pl_2]ステップをダブルクリックして,該当する[web_submit_data]ステップをエディタで表示します。
    3. ステップ・ツールボックスの[共通]の下で[lr_end_transaction]を選択し,エディタまでドラッグして,[web_submit_data]ステップの後ろでドロップします。[トランザクションの終了]ダイアログ・ボックスが開きます。

    4. find_confirm_flight]が[トランザクション名]ボックスに表示されることを確認し,[OK]をクリックします。VuGen は[lr_end_transaction]ステップをステップ・ナビゲータに挿入し,該当する lr_end_transaction 関数をエディタに挿入します。

      これで,find_confirm_flight トランザクションが定義できました。

複数のユーザをエミュレートする方法

このエミュレーションでは,ユーザによるフライトの予約と通路側席の選択を追跡しました。ただし,実際の設定はユーザの好みによって異なります。したがって,テストを改善するために,ユーザが別の座席設定(通路側窓側,または指定なし)を選択した場合でも予約が実行されるかどうかを確かめる必要があります。

これを実現するには,スクリプトを「パラメータ化」します。つまり,記録された値 Aisle(通路側)を受け取り,それをパラメータに置き換えます。パラメータの値はパラメータ・ファイルに記述します。スクリプトを実行すると,仮想ユーザは値(通路側窓側,または指定なし)をパラメータ・ファイルから使用します。それによって,実際の旅行会社における環境がエミュレートされます。

スクリプトをパラメータ化するには,次の手順を実行します。

  1. データを変更するセクションを見つけます。
    1. 表示]>[ステップ ナビゲータ]を選択して,ステップ・ナビゲータを左側のペインに表示します。
    2. ステップ・ナビゲータで,[Submit Data: reservations.pl]ステップを探します。
    3. Submit Form: reservations.pl]ステップを右クリックし,[引数の表示]を選択します。[フォームを送信ステップのプロパティ]ダイアログ・ボックスが開きます。

      グリッドの各引数の右側にある[ABC]アイコン は,その引数が固定値であることを示しています。

  2. 固定値を可変値に変更します。
    1. [フォームを送信ステップのプロパティ]ダイアログ・ボックスで,グリッドの 7 番目の行にある seatPref を選択します。
    2. seatPref 引数の横にある[ABC]アイコン をクリックします。[パラメータの選択または作成]ダイアログ・ボックスが開きます。

  3. パラメータを作成します。
    1. パラメータ名]ボックスに「seat」と入力します。
    2. OK]をクリックします。[フォームを送信ステップのプロパティ]ダイアログ・ボックスで,VuGen は[ABC]アイコン を[パラメータ]アイコン に置き換えます。

    3. {seat} の横にある[パラメータ]アイコン をクリックし,[パラメータのプロパティ]を選択します。[パラメータのプロパティ]ダイアログ・ボックスが開きます。

  4. パラメータの値を指定します。
    1. 行の追加]をクリックします。行がテーブルに追加されます。
    2. 単語「」を「Window」に置き換えます。
    3. 行の追加]をクリックします。別の行がテーブルに追加されます。
    4. 単語「」を「None」に置き換えます。

      注: 値の大文字と小文字は区別されます。

    5. ダイアログ・ボックスの[列の選択]および[ファイル形式]のセクションでは標準設定を維持します。
  5. テストでのデータの変更方法を定義します。
    1. 標準設定([更新する対象]が[Each iteration](反復ごと))を維持し,反復ごとに新しい値をとるよう VuGen に指示します。
    2. 閉じる]をクリックし,[パラメータのプロパティ]ダイアログ・ボックスを閉じます。
    3. OK]をクリックし,[フォームを送信ステップのプロパティ]ダイアログ・ボックスを閉じます。

      これで,座席設定用のパラメータが作成されました。負荷テストを実行すると,仮想ユーザは記録された値 Aisle ではなくパラメータ値を使用します。

      スクリプトを実行すると,反復ごとに発生するパラメータ置換が再生ログに表示されます。仮想ユーザは最初の反復に「Aisle」を使用し,2 番目の反復に「Window」を使用し,3 番目の反復に「None」を使用します。

Web ページの内容の確認方法

テストを実行するときに,返されるページ上で特定の内容が見つかったかどうかを確認する必要があることがあります。コンテンツ・チェックは,スクリプトの実行中に期待どおりの情報が Web ページ上に表示されるかどうかを検証するものです。2 種類の内容チェックを挿入できます。

本項では,HP Web Tours の予約ページに「Find Flight」という語句が表示されるかを検証するテキスト・チェックを挿入します。

テキスト・チェックの挿入

  1. ステップ ナビゲータ]タブをクリックしてステップ・ナビゲータを表示します。
  2. ステップ・ナビゲータで,[Submit Form: reservations.pl]ステップを探します。
  3. VuGen ツールバーの[スナップショット ペインの表示]ボタン をクリックして[スナップショット]ペインを表示します。
  4. ステップ・ナビゲータで,[Submit Form: reservations.pl]ステップのスナップショット・アイコンをダブルクリックします。該当するスナップショットが[スナップショット]ペインに表示されます。
  5. VuGen メニューで[表示]>[ステップ ツールボックス]をクリックします。[ステップ ツールボックス]ペインが表示されます。
  6. [ステップ ツールボックス - 検索]ボックスに web_reg と入力し,[フィルタ結果]で[web_reg_find]ステップを探します。
  7. web_reg_find]ステップをツールボックスからエディタ内の web_submit_form 関数の前にドラッグします。[文字列の検索]ダイアログ・ボックスが開きます。
  8. [文字列の検索]ダイアログ・ボックスで,[特定の文字列の検索]ボックスに Find Flight と入力し,[OK]をクリックします。
  9. VuGen は[web_reg_find]ステップをステップ・ナビゲータに挿入し,該当する web_reg_find 関数をエディタに挿入します。

    スクリプトを再生すると,テキスト「Find Flight」が検索され,見つかったかどうかが再生ログに示されます。

デバッグ情報の生成方法

テスト実行中の特定の時点で,スクリプト実行に関する情報を含むメッセージを生成して送信する必要があることがあります。これらの出力メッセージは[出力]ペインの再生ログと Controller の[出力]ウィンドウの両方に表示されます。標準の出力メッセージ,またはエラーが発生したことを示すメッセージを送信できます。

エラー・メッセージで作業を行う場合は,ステータスが失敗かどうかを検証する方法をお勧めします。ステータスが失敗の場合は,エラー・メッセージを発行するよう VuGen を設定します。詳細については,『HP LoadRunner Function Reference』の例を参照してください。

チュートリアルの本項では,アプリケーションによる予約が完全に済んだ後に出力メッセージを挿入するよう VuGen を設定します。

出力メッセージを挿入するには,次の手順を実行します。

  1. ステップ ナビゲータ]タブをクリックしてステップ・ナビゲータを表示します。
  2. ステップ・ナビゲータで,最後のステップ[Image: SignOff Button]を探します。
  3. Image: SignOff Button]ステップをダブルクリックします。エディタで該当する web_image 関数が表示されます。
  4. ステップ・ツールボックスの[共通]の下で lr_output_message 関数を探します。
  5. lr_output_message 関数を選択し,エディタまでドラッグして,web_image 関数の後ろでドロップします。[出力メッセージ]ダイアログ・ボックスが開きます。

  6. [メッセージ テキスト]ボックスに「The flight was booked」(フライトが予約されました)と入力します。
  7. OK]をクリックします。lr_output_message がスクリプトに追加され,該当するステップがステップ・ナビゲータに追加されます。

  8. VuGen ツールバーの[保存]ボタン をクリックしてスクリプトを保存します。
エラー・メッセージを挿入する場合も同様の手順を繰り返します。ただし,ステップ・ツールボックスで,lr_output_message 関数の代わりに lr_error_message 関数を選択します。

テストの再生成功の確認方法

本項では,拡張スクリプトを実行して,テキスト・チェックを実行するために再生ログを検索します。テキスト・チェックの結果だけでなく,トランザクションおよびパラメータ化の詳細も表示されます。

画像およびテキストのチェックは必要なメモリ量が増えるため,標準では再生中は無効となっています。画像またはテキストのチェックを実行する場合は,実行環境の設定でチェックを有効にする必要があります。

  1. 画像とテキストのチェックを有効にします。
    1. 再生]>[実行環境設定]をクリックし,[実行環境設定]ダイアログ・ボックスを開きます。
    2. [インターネット プロトコル]>[プリファレンス]をクリックします。
    3. 画像とテキスト チェックを有効にする]を選択します。
    4. OK]をクリックして,[実行環境設定]ダイアログ・ボックスを閉じます。
  2. スクリプトを実行します。

    VuGen ツールバーの[再生]ボタン をクリックする。VuGen によってスクリプトの実行が開始され,再生ログのエントリが[出力]ペインに生成されます。

    スクリプトの実行が完了するまで待ちます。

  3. テキスト・チェックを探します。
    1. [出力]ペインをクリックし,[再生]を選択します。
    2. 再生ログの中をクリックし,Ctrl + F キーを押して[検索]ダイアログ・ボックスを開きます。
    3. web_reg_find を検索します。

      最初のインスタンスは次のようになっています。

      web_reg_find が開始されました

      次を検索]をクリックして,web_reg_find の次のインスタンスを表示します。2 番目のインスタンスは次のようになっています。

      web_reg_find の登録に成功しました。

      これは実際のテキスト・チェックではなく,フォームの送信後にテキスト・チェックを行うように VuGen を準備しているだけです。

      次を検索]をクリックして,web_reg_find の次のインスタンスを表示します。このインスタンスは次のようになっています。

      "Text=Find Flight" を対象とした web_reg_find の登録に成功しました(カウント = 1)。

      これは,テキストが見つかったことを示します。だれかが Web ページを変更して語句「Find Flight」を削除した場合,以降の実行では,そのテキストが見つからなかったことが出力に示されます。

  4. トランザクションの開始を探します。
    1. 再生ログで,Ctrl + F キーを押して[検索]ダイアログ・ボックスを開きます。
    2. 単語「トランザクション」を探します。この通知は青で表示されます。
  5. パラメータ置換を表示します。
    1. 再生ログで,Ctrl + F キーを押して[検索]ダイアログ・ボックスを開きます。
    2. 単語「パラメータ」を探します。ログに「“seat” = “Aisle”」という通知が含まれます。
    3. もう一度検索を実行し(F3 キー),次の置換を探します。VuGen が反復ごとに異なる値を受け取っていることがわかります。
  6. [ファイル]>[保存]を選択するか,VuGen ツールバーの[上書き保存]ボタン をクリックします。

次の練習について

この練習で,スクリプトを作成して負荷テスト用に調整する作業が完了しました。次に,「練習 5: 負荷テスト・シナリオの作成」に進みます。


© 1993-2014 Hewlett-Packard Development Company, L.P.