Xcuteの負荷テストツール | |||||||||||||
はじめに | |||||||||||||
開発物を運用に移行する前に十分な負荷テストを行うことは、安定運用に不可欠な事です。 しかしながら、実運用に近い手順で、ブラウザによる手動テストの繰り返しは、手間がかかり、効率的ではありません。 本ツールは、定義した手順を元に、Xcuteの負荷テストを行うことを目的としています。 |
|||||||||||||
xcload.exeの起動 | |||||||||||||
「xcload.exe」は、コマンドライン型アプリケーションです。 その動作は、”動作定義ファイル”に定義します。 ここでは、サンプルを動作させるために必要な設定項目について解説します。 今回の例では、”init.txt”とします。 |
|||||||||||||
xcload.exeに、どの設定ファイルを利用するか指示する必要があります。 コマンドラインからコマンドを投入することもできますが、起動を簡単にするためにショートカットを利用して起動するように設定します。 | |||||||||||||
xcload.exeにて右クリックし、ショートカットの作成を選ぶと、下記のようにショートカットが作成されます。 | |||||||||||||
|
|||||||||||||
![]() |
|||||||||||||
これで準備完了です。付属のinit.txtは、アプリケーションテンプレートをテストできるようになっています。 アプリケーションテンプレートを下記よりダウンロードし、立ち上げてください。 |
|||||||||||||
http://www.microlab.jp/xcute/xcutedoc/index.htm#templ | |||||||||||||
init.txtに定義されたテストは、以下のテストを順番に行います。 1)ログイン画面を表示 2)ログイン情報を送信(eigyou1でログイン) 3)ログイン完了後のメニュー画面を表示 4)一覧画面を表示 5)山田花子のデータ表示(3回繰り返す) 以上、1〜5までのテストを10000回繰り返します。 上記テストが終わったらさらに、1のテストのみ10000回繰り返します。 |
|||||||||||||
テストを中断する場合は、CTRL+Cを押します。 | |||||||||||||
まずは、本テストを実行して、どのような動作をするか試してみてください。 その他のパターンでテストを行いたい場合は、下記を参照し、init.txtをカスタマイズしてください。 |
|||||||||||||
動作定義ファイルの記述方法 | |||||||||||||
動作定義ファイルは、[GLOBAL] , [TEST] , [PROCESS] の3セクションから構成されます。 | |||||||||||||
1) | [GLOBAL]セクション | ||||||||||||
動作に関する、規定値を定義します。 @で始まる指定は、各セクションにおいて変更可能ですが、@@で始まる指定は、各セクションで変更できません。 |
|||||||||||||
@@ProwebErr=on/off ProWebErr.htmをXCuteが返した場合、負荷テストを終了する場合は、on 強制続行は off を指定します。 |
|||||||||||||
@@LogPath=保存先のパス ログファイル保存先を指定します。 ProWebErrが帰った際の画面HTMLも、このパスに保存されます。 |
|||||||||||||
@@LogFile=ログファイル名 テスト進行状況のログファイルを指定します。画面に出力されているメッセージが、そのまま、ファイルに記録されます。 ログファイル未指定時には、ログファイルを作成しません。 |
|||||||||||||
ここまでの指定は、他のセクションにおいて変更できません。 | |||||||||||||
@SaveHtml=保存先のパス 応答画面(HTML)を保存する場合、./html などとし、保存先のパスを指定します。 保存先未指定時には、応答画面を保存しません。 |
|||||||||||||
@Domain=localhost テストの対象となるHTTPサーバを指定します。 |
|||||||||||||
@Port=80 テストの対象となるHTTPサーバのポートを指定します。 |
|||||||||||||
@Procgi=/procgi10 procgi.exeまでのURLを指定します。 |
|||||||||||||
@Method=get/post HTTPメソッドを指定します。 |
|||||||||||||
@Timeout=秒 リクエストの対しての応答時間タイムアウトを指定します。 |
|||||||||||||
@Loop = 回数 テストの繰り返し回数を指定します。 |
|||||||||||||
ここまでの指定は、他のセクションにおいて変更することができます。 | |||||||||||||
2) | [TEST]セクション | ||||||||||||
各画面ごとのリクエストを定義します。 たとえば、Login画面を表示する、メニュー画面を表示するなど、このセクションに定義します。 一つのテストブロック(画面リクエスト)は、 $$begin から $$end の間に指定します。 |
|||||||||||||
前述の[GLOBAL]セクションにおいて示された、@で始まる指定は、すべて、本セクションの $$begin から $$end の間に、テストブロックごとに指定できます。 | |||||||||||||
以下は、本セクションだけで使える@で始まる指定です。 | |||||||||||||
@Label=テスト名 ログ、画面に表示するテスト名を指定します。 |
|||||||||||||
例: ログイン画面を表示する。HTML画面は、指定のフォルダに保存する。 | |||||||||||||
$$begin @label=ログイン画面を表示 @savehtml=./html/ P=Login WriteSheet=Login $$end |
|||||||||||||
@で始まらない部分は、Name=Valueのクエリー部分と見なされます。 複数の画面のテストを行う場合は、$$begin から $$endのテストブロックを複数設定します。 |
|||||||||||||
3) | [PROCESS]セクション | ||||||||||||
[TEST]セクションにて定義した、各画面ごとのリクエストを、どのようなパターンでテストしていくか定義します。 |
|||||||||||||
以下は、本セクションで使える@で始まる指定です。 | |||||||||||||
@Gotest=テスト番号,テスト番号,.,.. [TEST]セクションにて定義したテストブロックを指定します。 テスト番号は、[TEST]セクションに、テストブロックを定義した順番であり、1から始まります。 @gotest=1,2,3 とすれば、1番目、2番目、3番目のテストを実行します。 |
|||||||||||||
@Loop = 1 テストの繰り返し回数を指定します。 |
|||||||||||||
例:テストブロック1〜5までを、10000回実行する。 | |||||||||||||
$$begin @gotest=1,2,3,4,5 @loop=10000 $$end |
|||||||||||||
以上 |