(57)【要約】      （修正有）【課題】負荷テストにおける性能目標を満たすためのパラメータを自動で設定可能とする。【解決手段】オペレータ操作手順をスクリプトとして取得し記憶装置に格納する操作記憶部１１０と、スクリプトを読み出して再生し被テスト対象装置への負荷を実現するスクリプト再生部１１１と、複数の仮想クライアントの動作を制御して負荷テストを実行する仮想クライアント制御部１１２と、負荷テスト実行に際し処理リクエストに対する応答時間の情報を取得するテスト結果取得部１１４と、応答時間に基づき単位時間当たりに処理可能な処理リクエスト件数を算定する処理可能件数算定部１１５と、目標値が処理可能件数を下回るか否か判定し目標値が処理可能件数を下回ると判定された場合、仮想クライアント数、及び処理リクエスト件数を再設定する負荷テスト実施装置を構成する。【選択図】  図１
2006031178.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に構築されたクライアント／サーバ型のシステムに対して性能評価のための負荷テストを実施する負荷テストの実施装置であって、
クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納する操作記憶部と、
前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現するスクリプト再生部と、
複数の前記仮想クライアントの動作を制御して負荷テストを実行する仮想クライアント制御部と、
予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得するテスト結果取得部と、
前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定する、処理可能件数算定部と、
予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定する、仮想クライアント数再設定部と、
前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定する、再判定部と、
前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力する、結果出力部と、
を備えることを特徴とする負荷テスト実施装置。
【請求項２】
請求項１において、
前記処理リクエスト件数が前記目標値を満たすか否かの判定により、前記処理リクエスト件数が前記目標値を満たさない場合には、前記再設定用の仮想クライアント数の算定処理を再実行する、仮想クライアント数再々設定部を備えることを特徴とする負荷テスト実施装置。
【請求項３】
請求項１または２において、
前記操作記憶部が、クライアントにおけるオペレータ操作手順をスクリプトとして取得すると共に、当該スクリプトとオペレータ操作対象となるコンテンツの情報とを記憶装置に格納するものであり、
前記コンテンツ情報を、コンテンツ属性に応じたオペレータ関与時間を定めた思考時間テーブルに照合し、当該コンテンツに対する負荷テスト実施時の思考遅延時間を推定する思考遅延時間推定部を備え、
前記処理可能件数算定部が、前記応答時間から前記推定した思考遅延時間を減算して負荷処理時間を算定すると共に、前記仮想クライアントの初期数を前記負荷処理時間で除算して単位時間当たりに処理可能な処理リクエスト件数を算定するものであることを特徴とする負荷テスト実施装置。
【請求項４】
請求項１〜３のいずれかにおいて、
前記思考時間テーブルにおけるコンテンツ属性が、クライアントにて出力される画面の、テキストデータ、テキストボックス、およびボタンの少なくともいずれかの属性を含む画面構成の属性であることを特徴とする負荷テスト実施装置。
【請求項５】
ネットワーク上に構築されたクライアント／サーバ型のシステムに対する、性能評価のための負荷テストをコンピュータにより実施する方法であって、
クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納し、
前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現し、
複数の前記仮想クライアントの動作を制御して負荷テストを実行し、
予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得し、
前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定し、
予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定し、
前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定し、  前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力することを特徴とする負荷テスト実施方法。
【請求項６】
ネットワーク上に構築されたクライアント／サーバ型のシステムに対する、性能評価のための負荷テストの方法をコンピュータに実行させるプログラムであって、
クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納するステップと、
前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現するステップと、
複数の前記仮想クライアントの動作を制御して負荷テストを実行するステップと、
予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得するステップと、
前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定するステップと、
予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定するステップと、
前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定するステップと、
前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力するステップと、
を含むことを特徴とする負荷テスト実施プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷テスト実施装置、負荷テスト実施方法、負荷テスト実施プログラムに関し、特に、ネットワーク上に構築されたクライアント／サーバ型のシステムに対して性能評価のための負荷テストを実施するにあたり、少数のテスト実行端末内に複数の仮想クライアントを生成し、仮想クライアントからテスト対象システムに処理要求を投入することでテストを実現する負荷テスト実施装置及び負荷テスト実施方法に関する。
【背景技術】
【０００２】
システム構成の一形態として近年広く採用されているクライアント／サーバ型のシステムで性能評価のための負荷テストを行う場合、実際に複数のクライアントからサーバへアクセスする、または負荷テストツールと呼ばれるソフトウェアによりテスト実行端末内に複数の仮想クライアントを生成して負荷を発生させることによりサーバへの負荷を発生させて状態を計測するのが一般的な方法である。
【０００３】
例えば、ネットワーク上のサーバに対するクライアントによるアクセスの負荷をテストする負荷テスト実行装置であって、前記サーバにアクセスする複数のクライアント処理を同時に動作させるクライアント処理管理手段と、前記複数のクライアント処理のそれぞれに異なる仮想ネットワークアドレスを設定する仮想ネットワークアドレス設定手段と、前記クライアント処理のそれぞれにより前記サーバにアクセスする時に、生成されたネットワークパケット内の情報をチェックして、当該パケット内の送信元ネットワークアドレス情報を、当該装置の持つ実際のネットワークアドレスから、前記仮想ネットワークアドレス設定手段によって当該クライアント処理に設定された仮想ネットワークアドレスに書き換える送信パケット書き換え手段と、前記サーバから受信したネットワークパケット内の宛先ネットワークアドレス情報をチェックして、当該装置内で管理されている仮想ネットワークアドレスであれば、当該パケット内の宛先ネットワークアドレス情報を、当該装置の実際のネットワークアドレスに書き換えて、当該パケットを当該仮想ネットワークアドレスが設定されたクライアント処理に渡す受信パケット書き換え手段とを備えることを特徴とする負荷テスト実行装置（特許文献１参照）などが提案されている。
【特許文献１】特開平２００３−４６５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら従来の負荷テスト実施装置では、負荷の大きさを左右する仮想クライアントの数やスクリプトなどに記録された操作を反復試行する際の遅延時間、記録された操作に対して仮想クライアントの振る舞いをシミュレートする思考遅延時間などをテスト実行時のパラメータとして人間が設定する必要があった。これらのパラメータは負荷の大きさを左右し、負荷テストの結果に大きな影響を与えるが、被テストシステムの負荷量に応じて調整する必要があり事前に適切な値を設定することが難しい。そのため専門知識を持った技術者が経験的に値を設定する必要があり、被テストシステムの管理者や開発者が独自にテストを実施することは難しかった。
【０００５】
また、テキスト情報や入力項目が多い画面においてはユーザの操作間隔も長くなることが一般に想定されるが、従来の負荷テストツールで画面内容に対応した思考遅延時間を実現する場合、各画面ごとに設定を行う必要があった。
【０００６】
そこで本発明は上記課題を鑑みてなされたものであり、負荷テストにおける性能目標を満たすためのパラメータを自動で設定可能とする負荷テスト実施装置、負荷テスト実施方法、負荷テスト実施プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の負荷テスト実施装置は、ネットワーク上に構築されたクライアント／サーバ型のシステムに対して性能評価のための負荷テストを実施する負荷テストの実施装置であって、クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納する操作記憶部と、前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現するスクリプト再生部と、複数の前記仮想クライアントの動作を制御して負荷テストを実行する仮想クライアント制御部と、予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得するテスト結果取得部と、前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定する、処理可能件数算定部と、予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定する、仮想クライアント数再設定部と、前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定する、再判定部と、前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力する、結果出力部と、を備えることを特徴とする。
【０００８】
また、本発明の負荷テスト実施方法は、ネットワーク上に構築されたクライアント／サーバ型のシステムに対する、性能評価のための負荷テストをコンピュータにより実施する方法であって、クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納し、前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現し、複数の前記仮想クライアントの動作を制御して負荷テストを実行し、予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得し、前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定し、予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定し、前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定し、  前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力することを特徴とする。
【０００９】
また、本発明の負荷テスト実施プログラムは、ネットワーク上に構築されたクライアント／サーバ型のシステムに対する、性能評価のための負荷テストの方法をコンピュータに実行させるプログラムであって、クライアントにおけるオペレータ操作手順をスクリプトとして取得し、これを記憶装置に格納するステップと、前記記憶装置より前記スクリプトを読み出して再生し、仮想クライアントからの被テスト対象装置への負荷を実現するステップと、複数の前記仮想クライアントの動作を制御して負荷テストを実行するステップと、予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置における応答時間の情報を取得するステップと、前記応答時間に基づき、前記被テスト対象装置における単位時間当たりに処理可能な処理リクエスト件数を算定するステップと、予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定するステップと、前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定するステップと、前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力するステップと、を含むことを特徴とする。
【００１０】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１１】
本発明によれば、負荷テストにおける性能目標を満たすためのパラメータを自動で設定可能とできる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は本実施形態における負荷テスト実施装置を含むネットワーク構成図である。本発明の負荷テスト実施装置１００（以下、実施装置１００）は例えばサーバコンピュータであり、本発明の負荷テスト実施方法を実行する機能を実現すべくハードディスクドライブなどのプログラムデータベース１０１に格納されたプログラム１０２をメモリ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。
【００１３】
また、実施装置１００は、ＬＡＮやインターネット等のネットワーク１３０を介して、負荷テストの実施対象たる、被テスト対象装置２００らの外部装置と接続してデータ授受を実行するＩ／Ｏ部１０５を備える。更に、実施装置１００は、目標値データベース１２５、スクリプトデータベース１２６、思考時間テーブル１２７を利用可能である。
【００１４】
以下に、前記実施装置１００が例えばプログラム１０２に基づき構成・保持する機能部につき説明を行う。実施装置１００は、クライアント５におけるオペレータ操作手順をスクリプト１０として取得し、これを記憶装置（図中：スクリプトデータベース１２６）に格納する操作記憶部１１０を備える。
【００１５】
また、実施装置１００は、前記記憶装置より前記スクリプト１０を読み出して再生し、仮想クライアントからの被テスト対象装置２００への負荷を実現するスクリプト再生部１１１を備える。
【００１６】
また、実施装置１００は、複数の前記仮想クライアントの動作を制御して負荷テストを実行する仮想クライアント制御部１１２を備える。
【００１７】
また、前記操作記憶部１１０が、クライアント５におけるオペレータ操作手順をスクリプト１０として取得すると共に、当該スクリプト１０とオペレータ操作対象となるコンテンツ５０の情報とを記憶装置に格納するものであれば、実施装置１００は、前記コンテンツ情報を、コンテンツ属性に応じたオペレータ関与時間を定めた思考時間テーブル１２７に照合し、当該コンテンツ５０に対する負荷テスト実施時の思考遅延時間を推定する思考遅延時間推定部１１３を備えるものとする。
【００１８】
また、実施装置１００は、予め定めた初期数の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置２００における応答時間の情報を取得するテスト結果取得部１１４を備える。
【００１９】
また、実施装置１００は、前記応答時間に基づき、前記被テスト対象装置２００における単位時間当たりに処理可能な処理リクエスト件数を算定する、処理可能件数算定部１１５を備える。
【００２０】
また、実施装置１００は、予め定めていた単位時間あたりの負荷処理件数の目標値が、前記算定した処理可能件数を下回るか否か判定し、当該判定により前記目標値が前記処理可能件数を下回ると判定された場合、前記目標値に前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定する、仮想クライアント数再設定部１１６を備える。
【００２１】
また、実施装置１００は、前記再設定用の仮想クライアント数による前記負荷テストの再実行に際し、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値を満たすか否か判定する、再判定部１１７を備える。
【００２２】
また、実施装置１００は、前記処理リクエスト件数が前記目標値を満たすか否かの判定により、前記処理リクエスト件数が前記目標値を満たさない場合には、前記再設定用の仮想クライアント数の算定処理を再実行する、仮想クライアント数再々設定部１１８を備える。
【００２３】
また、前記判定により、前記処理リクエスト件数が前記目標値を満たす場合には、当該負荷テストの結果を出力インターフェイスに出力する、結果出力部１１９を備える。
【００２４】
なお、実施装置１００の機能のうち、スクリプト再生部の機能のみを実装したエージェント３００を実施装置１００と別途設けることとしてもよい。このエージェント３００は、大規模な負荷テストを実現する際に複数設けてスクリプトの再生に利用することは有用である。
【００２５】
次に、本実施形態の負荷テスト実施装置が利用するデータベースおよびテーブルについて説明する。図２は本実施形態における、（ａ）目標値データベース、（ｂ）スクリプトデータベース、（ｃ）思考時間テーブル、のデータ構成例である。
【００２６】
目標値データベース１２５は、予め定めていた単位時間あたりの負荷処理件数の目標値を格納したデータベースであり、例えば負荷テストのＩＤをキーとして、前記目標値のデータを関連づけたレコードの集合体となっている。
【００２７】
また、スクリプトデータベース１２６は、クライアント５におけるオペレータ操作手順を取得して生成したスクリプト１０と、オペレータ操作対象となるコンテンツ５０の情報とを格納するものであり、例えば、負荷テストのＩＤをキーとして、スクリプトファイル、コンテンツ情報などを関連づけたレコードの集合体となっている。なお、コンテンツ５０の情報としては、コンテンツ５０としての画面データが含む、テキストデータやチェックボックス、ラジオボタンなどの情報量が含まれるものとする。
【００２８】
また、思考時間テーブル１２７は、コンテンツ属性（前記コンテンツの情報）に応じたオペレータ関与時間を定めたテーブルであり、例えばコンテンツ属性をキーとして、思考遅延時間を関連づけたレコードの集合体となっている。思考遅延時間とは、例えばコンテンツ５０をオペレータがクライアント５において認識するための時間とできる。
【００２９】
なお、これまで示した実施装置１００における機能部１１０〜１１９は、ハードウェアとして実現してもよいし、ＨＤＤやメモリなどの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記ＣＰＵ１０４がプログラム実行に合わせて記憶装置より該当プログラムをメモリ１０３に読み出して、これを実行することとなる。
【００３０】
また、前記ネットワーク１３０に関しては、インターネットやＬＡＮの他、専用回線やＷＡＮ（Wide Area Network）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮなど仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
【００３１】
次に、本実施形態における処理の概要を図３に即して説明しておく。本実施形態においては、まず（１）操作の記録：負荷テストに対応する、クライアント５でのオペレータの一連の操作手順についてこれを記録する。ここで記録するものをスクリプト１０と呼ぶ。スクリプト１０には操作内容だけでなくクライアント５に出力される画面データのテキスト量、チェックボックス、テキストボックスなどのコンテンツ属性および数、さらに操作の際に必要とした処理時間も併せて記録する。
【００３２】
次に、（２）性能目標の設定：例えば負荷テストを行う際の性能目標として、「単位時間の処理件数」の設定を受付ける。本実施形態においては例えば単位時間あたりの処理リクエストの処理件数を適用する（他に、仮想クライアント数の初期値や上限値、レスポンス時間の上限値などを設定するとしてもよい）。そして、（３）負荷テスト実行時パラメータの算出：思考遅延時間を、スクリプトデータベース１２６に記録されたコンテンツ情報の前記思考時間テーブル１２７への照合処理により算出する。なお、図２で示した思考時間テーブル１２７は一つの具体例に過ぎず、コンテンツ属性の種別や思考遅延時間は、状況に応じて種々設定可能であるものとする。また、この思考時間テーブル１２７はオペレータ等のユーザによりカスタマイズ可能としても良い。
【００３３】
続いて、（４）負荷テストの実施：仮想クライアントによる被テスト対象装置２００に対するアクセスを行って負荷テストを実施する。また、（５）結果の取得：負荷テスト時のデータを収集する。更に、（６）パラメータ再計算：（３）の手順により設定した初期値を元に１回ないし複数回の負荷テスト（試行）を行った後に、（５）で得られた結果を用いてパラメータの再計算を行う。
【００３４】
以下、上記のような手順に則した、本実施形態における負荷テスト実施方法の基本手順について、図に基づき説明する。なお、以下で説明する負荷テスト実施方法に対応する各種動作は、負荷テスト実施装置１００がメモリ１０３に読み出して実行するプログラム１０２によって実現される。そして、このプログラム１０２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００３５】
図４は本実施形態の負荷テスト実施方法の基本手順を示すフロー図である。実施装置１００は、まず性能目標（前記目標値）を設定し（Ｓ１０００）、前記仮想クライアント数や思考遅延時間などのパラメータを初期算出する（Ｓ１００２）。実施装置１００は、パラメータ算出後、負荷テストを実施し（Ｓ１００３）、テスト実施結果を取得する（Ｓ１００４）。
【００３６】
また、実施装置１００は、前記設定した性能目標を満たしているかどうか確認する（Ｓ１００５）。ここで、性能目標を満たしているとなれば（ｓ１００５：Ｙｅｓ）、前記パラメータは適切な値であるとして処理を終了する。
【００３７】
他方、性能目標を満たしていないとなれば（ｓ１００５：Ｎｏ）、前記パラメータを変更することで当該性能目標を満たすことが可能なものであるかどうか確認する（Ｓ１００６）。例えば、パラメータをいくら変更したとしても、被テスト対象装置２００の性能限界から前記目標を満たすことが不可能なであるとなれば（ｓ１００６：Ｎｏ）、処理を終了する。一方、パラメータを変更することで目標を満たすことが可能ならば（ｓ１００６：Ｙｅｓ）、仮想クライアント数か遅延時間のいずれかを変更し（Ｓ１００７）、パラメータを再算出する（Ｓ１００２）。以下、目標達成までステップｓ１００２〜ｓ１００７の処理を繰り返すこととなる。
【００３８】
次に、上記基本手順をふまえた、本実施形態における負荷テスト実施方法の実際手順を説明する。図５は本実施形態の負荷テスト実施方法の実際手順を示すフロー図である。まず、実施装置１００は、クライアント５におけるオペレータ操作手順をスクリプト１０として取得すると共に、当該スクリプト１０とオペレータ操作対象となるコンテンツ５０の情報とをスクリプトデータベース１２６に格納する（ｓ１１００）。
【００３９】
続いて、実施装置１００は、前記スクリプトデータベース１２６より前記スクリプト１０を読み出して再生し、仮想クライアントからの被テスト対象装置２００への負荷を実現する（ｓ１１０１）。本実施形態においては仮想クライアントとして前記エージェント３００を想定するものとし、当該エージェントの動作制御を実施装置１００が行って負荷テストを実行するものとする。
【００４０】
次に、実施装置１００は、予め定めた初期数（前出のパラメータの一例）の仮想クライアントからの負荷テスト実行に際し、処理リクエストに対する、被テスト対象装置２００における応答時間ｘ（図６参照）の情報を取得する（ｓ１１０２）。
【００４１】
また、実施装置１００は、前記スクリプトデータベース１２６におけるコンテンツ５０の情報を、コンテンツ属性に応じたオペレータ関与時間を定めた思考時間テーブル１２７に照合し、当該コンテンツ５０に対する負荷テスト実施時の思考遅延時間を推定する（ｓ１１０３）。
【００４２】
ここで、思考遅延時間の算出例を見てみる。図６は本実施形態のコンテンツたる画面データ例と負荷テストに伴う思考遅延時間の考え方を示す図である。コンテンツ５０としての画面５０は、あるログイン画面だとする。このログイン画面は、ユーザに提示されるテキスト５１がおよそ７６０バイトのサイズであり、またテキストボックス５２が２個、チェックボックス５３が３個含まれている。
【００４３】
前記思考時間テーブル１２７に設定されたテキスト１００バイトあたりの思考遅延時間が０．３秒で、テキストボックスおよびチェックボックス1個あたりの思考遅延時間をそれぞれ３秒および０．５秒だとすると、この画面５０における思考遅延時間ｉは９．７８秒となる。なお、思考遅延時間ｉはユーザごとに異なるため、負荷テストの際には算定した前記思考遅延時間値を中心とする正規分布もしくは一様分布に従った思考遅延時間を設定するものとできる。
【００４４】
実施装置１００は、また、前記応答時間ｘから前記推定した思考遅延時間ｉの総和Σｉｎ（数４）を減算して負荷処理時間を算定すると共に、前記仮想クライアント３００の初期数ｙ１を前記負荷処理時間で除算して単位時間当たりに処理可能な処理リクエスト件数を算定する（ｓ１１０４）。
【００４５】
ここで、予め定めていた単位時間あたりの負荷処理件数の目標値ａが、前記算定した処理可能件数を下回るか否か判定する（ｓ１１０５）。この判定にあたって、例えば、単位仮想クライアント３００の処理においてｎ回の操作が存在するとき、前述の通り思考遅延時間ｉ１〜ｉｎを含めた応答時間をｘ秒とする。また仮想クライアント３００の数（ここでは初期数ｙ１）をｙとする。このとき前記目標値ａが、１時間あたりの処理件数を示すものである場合、上記目標値を満たすことが可能かどうかの判断基準は次の数式で求める。
【数１】
2006031178.tif 000003
【数２】
2006031178.tif 000004
【数３】
2006031178.tif 000005
【数４】
2006031178.tif 000006
【００４６】
数１において不等号が成立する場合、つまり判定により前記目標値ａが前記処理可能件数を下回ると判定された場合（ｓ１１０５：Ｙｅｓ）、仮想クライアント数ｙもしくは思考遅延時間ｉを再計算して設定しなおすことにより目標値ａを満たすことが出来ると判定する。目標値ａを満たすことができるとならば、本実施形態においては例えば数２に示す通り、前記目標値ａに前記負荷処理時間を乗じて再設定用の仮想クライアント数を算定する（ｓ１１０６）。
【００４７】
具体例として、例えば図６に示すような繰り返し処理を被テスト対象装置２００が実行し、１時間あたり処理件数、つまり前記目標値ａが３，６００件であるとする。この場合、画面５０に基づくコンテンツ情報から算出した思考遅延時間ｉ１〜ｉｎの合計が４０秒、反復間の遅延時間が５秒であったとき、初期数として設定した５０の仮想クライアント３００で１反復処理に要した時間が６０秒であったとする。
【００４８】
この時、１仮想クライアントが１時間に実行できる処理件数は６０回であるため、５０仮想クライアントでは目標値ａ：３６００での負荷テストを実現することが出来ない。そこで数２により新たな仮想クライアント数ｙを算出すると６０を得る。なお、このように仮想クライアント数ｙを増加させた場合、負荷の増大により１仮想クライアントあたりの処理時間が増加する場合がある。具体的には数３に示した値を思考遅延時間ｉ１〜ｉｎのそれぞれに分配して加えることにより負荷量の調整を行うこととできる。ここで、数３の直感的な意味は、増加した仮想クライアント３００による負荷の増大分であり、これを思考遅延時間に分配することで被テスト対象装置２００へのアクセス集中を緩和することが目的である。
【００４９】
他方、前記ステップｓ１１０５の判定により、前記目標値ａが前記処理可能件数を下回らないと判定された場合（ｓ１１０５：Ｎｏ）、仮想クライアント数のなどのパラメータを変更しても前記目標値ａを達成できないとして処理を終了する。
【００５０】
また、前記ステップｓ１１０６に続き、実施装置１００は、前記再設定用の仮想クライアント数による前記負荷テストを再実行する（ｓ１１０７）。また、この再実行に際し、実施装置１００は、前記処理リクエスト件数を再計算し、当該処理リクエスト件数が前記目標値ａを満たすか否か判定する（ｓ１１０８）。
【００５１】
ここで、前記処理リクエスト件数が前記目標値ａを満たすか否かの判定により、前記処理リクエスト件数が前記目標値ａを満たさない場合（ｓ１１０８：Ｎｏ）、前記再設定用の仮想クライアント数ｙの算定処理を再実行する（ｓ１１０９）。これにより、再々設定用の仮想クライアント数が算定される。実施装置１００は、再々設定された仮想クライアント数による負荷テストを実行し（ｓ１１１０）、処理を前記ステップｓ１１０８に戻す。このステップｓ１１０８にて処理リクエスト件数が目標値ａを満たすか否かを判定し、満たさなければ、更に仮想クライアント数の設定を同様に繰り返すこととなる。
【００５２】
前記処理リクエスト件数が目標値ａを満たすとなれば（ｓ１１０８）、当該負荷テストの結果を出力インターフェイスに出力し（ｓ１１１１）、処理は終了する。
【００５３】
本発明によれば、負荷テスト実施時に専門的な知識や経験を必要としないため、開発者や管理者主体でテストを行うことが可能となり、開発工数の削減・製品品質の向上が期待できる。またユーザの操作する画面情報を基にしたシミュレーションが可能となり、より実運用に近い条件でテストを行うことが可能となる。さらに特に重要視される性能目標から設定してテストを行うことから、ボトルネックの早期発見・対策が可能となる。  
したがって、負荷テストにおける性能目標を満たすためのパラメータを自動で設定可能とできる。
【００５４】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００５５】
【図１】本実施形態における負荷テスト実施装置を含むネットワーク構成図である。
【図２】本実施形態の負荷テスト実施概要を示す図である
【図３】本実施形態における、（ａ）目標値データベース、（ｂ）スクリプトデータベース、（ｃ）思考時間テーブル、のデータ構成例である。。
【図４】本実施形態の負荷テスト実施方法の基本手順を示すフロー図である。
【図５】本実施形態の負荷テスト実施方法の実際手順を示すフロー図である。
【図６】本実施形態のコンテンツたる画面データ例と負荷テストに伴う思考遅延時間の考え方を示す図である。
【符号の説明】
【００５６】
５      クライアント
５０    スクリプト
１００  負荷テスト実施装置、実施装置
１０１  プログラムデータベース
１０２  プログラム
１０３  メモリ
１０４  ＣＰＵ
１０５  Ｉ／Ｏ部
１１０  操作記憶部
１１１  スクリプト再生部
１１２  仮想クライアント制御部
１１３  思考遅延時間推定部
１１４  テスト結果取得部
１１５  処理可能件数算定部
１１６  仮想クライアント数再設定部
１１７  再判定部
１１８  仮想クライアント数再々設定部
１１９  結果出力部
１２５  目標値データベース
１２６  スクリプトデータベース
１２７  思考時間テーブル
１３０  ネットワーク
２００  被テスト対象装置
３００  エージェント
【図１】
2006031178.tif 000007
【図２】
2006031178.tif 000008
【図３】
2006031178.tif 000009
【図４】
2006031178.tif 000010
【図５】
2006031178.tif 000011
【図６】
2006031178.tif 000012