GXtest の JMeter スクリプトの構築

From GXtest Wiki
Revision as of 20:07, 14 May 2014 by Sebagra (Talk | contribs)

Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif


Contents

JMeter

JMeter は、性能テストのためのオープン ソース ツールであり、自動化テストケース、各テストケースで実行される HTTP(または HTTPS)リクエストを含むスクリプトの生成、および任意のアクションを実行するための修正(導入検証、条件、パラメーター化など)に使用されます。

さらに、JMeter を使用すると、テストシナリオをマウントし、アクティブなユーザー数、イテレーション回数、ユーザーがシステムにアクセスする方法、およびその他のオプションを定義して、現実に即したシナリオを作成できます。下図では JMeter のテストプランの例を示しています。

JmeterExample.PNG

OpenSTA と同様に、JMeter の欠点はテストケースの記録プロセスにあります。テストケースを記録するとき、生成された HTTP リクエストのスクリプトを取得します。そのため、アプリケーションの知識持っている作業者でなければ、各手順または各リクエストを実行するかどうかを識別するのが困難になります。多くの場合、より明確なスクリプトにするには、各手順のタイミングを制御するタイマーと同様に、記録中の各手順間のコメントを用意する必要があります。検証またはパラメータ化された変数を追加する場合、JMeter のスクリプトの実行は面倒な作業であり、アプリケーションのコードが常に変更されているプロジェクトでは、スクリプトを再生成する必要があることから、煩雑になりがちであると結論付けることができます。

JMeter 測定は JMX のような GeneXus のモニタリングツールによって補完されるので、性能テストに真価を発揮します。

GXtest でパフォーマンススクリプトを生成する

GXtest は、以前に記録されたテストケースから JMeter スクリプトを生成することができます。これにより、テスト担当者には多くのメリットがあります:

  • GXtest のテストケースの記録は、より実用的な方法で行われ、検証およびこのほかの記事に記載されているオプションを追加することができる。
  • スクリプトの中でもっとも記述に時間がかかる部分を自動化できるため、同じ作業の繰り返しに費やしていた時間を削減できる。
  • アプリケーションに変更があった場合、それらを GXtest に取り込み、スクリプトを簡単に再生成できる。GXtest で変更をもう一度記録する必要はない。
  • 検証、タイマー、およびパラメーター化を手動で設定する必要がない。通常、これらの作業は非常に時間がかかり、かつ問題を発生させやすい。GXtest はこれらのエレメントすべてを自動的に設定することが可能。
  • 一次リクエスト (HTTP)とは別のファイルに二次リクエスト(CSS、GIF、JPG、JS、など)がある場合、それぞれ別のスクリプトを用意する。これにより、分析を容易にするためのより明確なスクリプトの使用が可能。
  • デバッグフラグを使用して二次リクエストおよびログメッセージに条件を設定できる。
  • NTLM 認証をサポートしている。
  • すべてのリダイレクトを自動的に管理する。


スクリプトジェネレーターの働き

GXtest の [JMeter スクリプトを生成] ボタンをクリックすると、パフォーマンススクリプトが生成されます。

JmeterButton.PNG

JMeter のスクリプトを作成するリクエストが送信されると、ユーザーの画面上ではテストケースが通常どおり開始されます。ただし、内部では通常とは異なる処理が多く実行されています:テストケースの実行中に、テストで使われているすべての GXtest コマンドを含む xml ファイルが生成され、同時に saz ファイルに http リクエストが記録されます。これらのファイルは、GXtest Designer のインストールフォルダにある、テストケース名のフォルダに保存されます。通常は次のロケーションにあります:Abstracta\GXtest Designer\Performance\ExecutionLog\

「saz」形式は、Fiddler ツールに属しています。このツールは、インターネットと PC 間の HTTPトラフィックを記録するプロキシであり、ブレークポイントの導入、プロトコルレベルのリクエストの編集などによる分析が可能です。

これら 2 つのファイル (xml および saz) を元に、xml ファイルの GXtest コマンドおよび saz ファイルの http (または https) リクエストを使って、JMeter テストプランが生成されます。実行が完了すると、実行されたすべての GXtest コマンド、各コマンドに含まれる、コマンドと関連付けられた http (または https) リクエスト、適切なタイマー、および (設定された場合は) 対応する検証が含まれたスクリプトが生成されます。これらの結果ファイルは、Abstracta\GXtest Designer\JMeter のフォルダに作成されます。

通常、生成されたスクリプトは、変更せずにそのまま実行できます。ただしシステムによっては、実際の環境にスクリプトを可能な限り近づけるために、スクリプトを変更して、条件、変数、検証などを追加する場合があります。

JMeter に生成されたファイルをインポートする方法

GXtest Designer からテストケースを実行した後、GXtest のインストールフォルダ (Abstracta\GXtest Designer\JMeter ) で生成された JMeter テストプランが使用可能になります。

生成されたファイルは「jmx」の拡張子を持ち、File -> Open JMeter と選択して開くことができます。


JMeter のインストール

JMeter は、フリーツールであり、JMeter の Web サイトからダウンロードできます。


まとめ

GXtest は、JMeter ツールによる性能テストで使用するスクリプトを作成することができます。GXtest からスクリプトを生成することで、テスターは反復して行うタスクから解放され、性能エラーの数を削減するためのほかの作業に集中することができるので、より良い品質の製品開発を実現できます。