(57)【要約】【課題】  システム全体を対象として信頼性の高いテスト結果を提供すること。【解決手段】  テストサーバ１は、クライアント４間で同期を取りつつ入力された操作手順をクライアント４ごとに時系列に記憶して操作データファイル３６を作成するようにクライアント４を制御する操作記録モジュール３２と、操作記録モジュール３２で作成された操作データファイル３６の操作手順を再生するようにクライアント４を制御する再生モジュール３４と、再生モジュール３４が操作手順を再生する期間において、被テスト機の性能データを記録してテスト結果データファイル３８を作成するように被テスト機１Ａを制御する性能記録モジュール２２と、を備える。【選択図】      図２
2007011497.tif 000002
【特許請求の範囲】
【請求項１】
被テストサーバ、および、前記被テストサーバから遠隔地に設置されている複数台のクライアントを被テスト機とし、前記被テスト機の性能をテストするテストサーバによる性能テスト方法であって、
前記テストサーバが、
前記クライアント間で同期を取りつつ入力された操作手順を前記クライアントごとに時系列に記憶した操作データファイルを作成するように前記クライアントを制御する操作記録ステップと、
前記操作記録ステップで作成された前記操作データファイルの前記操作手順を再生するように前記クライアントを制御する再生ステップと、
前記再生ステップで前記操作手順を再生する期間において、前記被テスト機の性能データを記録してテスト結果データファイルを作成するように前記被テスト機を制御する性能記録ステップと、
前記性能記録ステップで記録した前記テスト結果データファイルを前記被テスト機から受信して出力するテスト結果出力ステップと、
を実行することを特徴とする性能テスト方法。
【請求項２】
前記再生ステップは、前記操作データファイルを時間軸に対して全体の比率を保ったまま任意に短縮して再生することを特徴とする請求項１に記載の性能テスト方法。
【請求項３】
前記テスト結果出力ステップは、前記テスト結果データファイルをもとに、前記被テスト機のレスポンスタイムと内部処理時間とリソースの使用率の相関関係を表すマトリックスの出力、前記被テスト機のリソース使用率のグラフの出力、エラーが発生した前記被テスト機の時系列の出力、および、性能データの閾値を超えた場合は出力結果に網かけを行う出力のうち、少なくとも１つの出力を行うことを特徴とする請求項１または請求項２に記載の性能テスト方法。
【請求項４】
被テストサーバ、および、前記被テストサーバから遠隔地に設置されている複数台のクライアントを被テスト機とし、前記被テスト機の性能をテストするテストサーバであって、
前記クライアント間で同期を取りつつ入力された操作手順を前記クライアントごとに時系列に記憶した操作データファイルを作成するように前記クライアントを制御する操作記録モジュールと、
前記操作記録モジュールで作成された前記操作データファイルの前記操作手順を再生するように前記クライアントを制御する再生モジュールと、
前記再生モジュールで前記操作手順を再生する期間において、前記被テスト機の性能データを記録してテスト結果データファイルを作成するように前記被テスト機を制御する性能記録モジュールと、
前記性能記録モジュールで記録した前記テスト結果データファイルを前記被テスト機から受信して出力するテスト結果出力モジュールと、
を備えることを特徴とするテストサーバ。
【請求項５】
前記再生モジュールは、前記操作データファイルを時間軸に対して全体の比率を保ったまま任意に短縮して再生することを特徴とする請求項１に記載のテストサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、性能テスト方法およびテストサーバに関する。
【背景技術】
【０００２】
従来の大規模なテストシステムのテストでは、テストシステムのクライアントが設置されている支部に、限られた人員を派遣し、手動でテストしていた。また、性能テストにおいては、システム開発者の観点により事前に設けられた単純な打鍵手順を、派遣されたテスト実施者が一斉に繰り返す方式にて実施していた。そこでは、テスト実施者の人数は限られているため、全国各地に位置する支部をテストするときには、支部ごとに複数回に分けてテストを行っていた。そのため、本テスト方式では、地理的、時間的制約から限定された支部による、本番業務の特性を無視した画一的な操作手順でのテストしか実現できなかった。
【０００３】
本テスト方式により性能テストを完了し、本番稼動したとき、クライアントやサーバのリソースの高負荷が原因となり、レスポンスタイムが劣化したり、システムがダウンしたりする問題が発生していた。本問題は、性能テストを実施する上で、限定された支部に設置されたクライアントからのみテストを行っていたため、システムに対して部分的に負荷を与えたテスト結果しか得られなかったことや、システム開発者が決定した画一的な操作手順を繰り返すテストを行っていたため、本番業務の特性である、支部ごとの処理内容の傾向や処理量の違いといった地域性や、システム全体ならびに支部ごとにおける処理内容の傾向や処理量が時刻に合わせて遷移するといった時間性を要因としたシステムに対する負荷の偏りを反映したテスト結果が得られなかったことから発生していた。
【０００４】
このような問題点を解決する方法として、特許文献１、特許文献２に示すようなシステムを用いた方法が提案されている。特許文献１のシステムでは、クライアントを遠隔地から操作、監視することにより、地理的、人的な制約を解消している。また、特許文献２のシステムでは過去に採取されたジャーナルファイルとパラメータによりオンライン入力電文を作成し、仮想クライアントから入力することにより、本番業務の特性を再現する性能テストを実現している。
【特許文献１】特開平５−１０８５１９号公報
【特許文献２】特開平５−２１６７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来のシステムを用いた性能テスト方法は、以下の２つの問題点があり、システム全体を対象として信頼性の高いテスト結果を提供することができなかった。
【０００６】
第１の問題点は、特許文献１のシステムおよび方式によりクライアントを一斉操作することにより性能テストを実施した場合でも、画一的なテストデータを使用するため、支部ごとの処理内容の傾向や処理量が異なるといった地域性が無視され、本番業務では、地域によって被テスト機ごとにかかる負荷が異なることや、システム全体ならびに支部ごとにおける処理内容の傾向や処理量が時刻に合わせて遷移するといった時間性が無視され、支部における処理量が最大となる時間が重なる傾向があった場合、当該支部と通信を行い処理を行う被テスト機の負荷が大きくなることが性能テストに反映されないことを原因とした事故が発生する恐れがある。
【０００７】
なお、第１の問題点の解決を図るため、クライアントにおける最大処理量を実現するテストデータを用いて、全クライアントにて同時実行する性能テストを行った場合、システムに過剰な負荷がかかったテスト結果が得られ、その結果、本番業務におけるシステムへの負荷の量と特性を無視した余剰なリソース増強を行う恐れがある。
【０００８】
第２の問題点は、特許文献２のシステムおよび方式は仮想クライアントを使用したテストのため、実在の被テストサーバや、クライアントと被業務サーバを中継する中継サーバに負荷をかけることができない。その結果、クライアントや中継サーバを原因とする性能の問題を検知することができない。
【０００９】
そこで、本発明は、前記した問題を解決し、システム全体を対象として信頼性の高いテスト結果を提供することを主な目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明は、被テストサーバ、および、前記被テストサーバから遠隔地に設置されている複数台のクライアントを被テスト機とし、前記被テスト機の性能をテストするテストサーバによる性能テスト方法であって、前記テストサーバが、前記クライアント間で同期を取りつつ入力された操作手順を前記クライアントごとに時系列に記憶した操作データファイルを作成するように前記クライアントを制御する操作記録ステップと、前記操作記録ステップで作成された前記操作データファイルの前記操作手順を再生するように前記クライアントを制御する再生ステップと、前記再生ステップで前記操作手順を再生する期間において、前記被テスト機の性能データを記録してテスト結果データファイルを作成するように前記被テスト機を制御する性能記録ステップと、前記性能記録ステップで記録した前記テスト結果データファイルを前記被テスト機から受信して出力するテスト結果出力ステップと、を実行することを特徴とする。
【００１１】
これにより、例えば、本番業務における地域性や時間性を考慮したテストを実現することと、被テスト機としてのクライアントや中継サーバを原因とする性能の問題をテスト段階にて検知することができる。
【発明の効果】
【００１２】
本発明では、システム全体を対象として信頼性の高いテスト結果を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施形態を図によって詳細に説明する。図１は、テストシステムの概要を示す構成図である。
【００１４】
テストサーバ１は、クライアント４にて一連のオンライン処理を遠隔実行することにより性能テストを実行するように被テスト機１Ａに指示する。被テスト機１Ａは、クライアント４および被テストサーバ１Ｂを総称する。被テストサーバ１Ｂは、業務サーバ２および中継サーバ３を総称する。業務サーバ２は、クライアント４からの要求を受けて業務処理を行う。中継サーバ３は、業務サーバ２とクライアント４との間の通信を中継する。クライアント４は、ユーザからの操作を操作データとして収集する。
【００１５】
図１の各装置（テストサーバ１および被テスト機１Ａ）は、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成され、後記するテーブルやモジュールを格納する。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラム（後記するモジュールを含む）を実行することで、実現される。また、クライアント４の場合は、マウスなどの入力装置やコンピュータディスプレイなどの出力装置が、クライアント４に接続されている。
【００１６】
図２は、テストシステムのハードおよび各ハード内におけるモジュールの構成を示すブロック図である。図２のテストシステムは、複数個のモジュールにより実現する。
【００１７】
テストサーバ１は、配布・収集モジュール１１、遠隔制御モジュール１２、時刻同期モジュール１３、収集結果格納モジュール１４、テスト結果出力モジュール１５、性能テスト管理テーブル１６、および、閾値設定テーブル１７を有する。
【００１８】
業務サーバ２は、業務処理を実行するモジュール（図示省略）に加え、遠隔制御モジュール２１、性能記録モジュール２２、および、テスト結果データファイル２３を有する。中継サーバ３は、通信中継処理を実行するモジュール（図示省略）に加え、遠隔制御モジュール２１、性能記録モジュール２２、および、テスト結果データファイル２３を有する。
【００１９】
クライアント４は、遠隔制御モジュール３１、操作記録モジュール３２、編集モジュール３３、再生モジュール３４、性能記録モジュール３５、操作データファイル３６、テストデータファイル３７、および、テスト結果データファイル３８を有する。図２では１台のクライアント４の構成が詳述されているが、他のクライアント４の構成も同様である。以上説明した被テスト機１Ａの各モジュールは、例えば、テストサーバ１からオンラインでインストールされる。以下、各モジュールおよび各ファイルについて、詳細に説明する。
【００２０】
配布・収集モジュール１１は、全被テストサーバ１Ｂと全クライアント４に対して任意のファイルを配布・収集する。配布するファイルは、例えば、ユーザの本番業務が開始する前に配布される、被テスト機１Ａを遠隔制御する機能を実現するテストデータファイル３７である。収集するファイルは、例えば、テスト終了後、被テスト機１Ａにて作成されたテスト結果データと各種ログである。
【００２１】
遠隔制御モジュール１２は、全被テストサーバ１Ｂと全クライアント４を遠隔制御する。時刻同期モジュール１３は、テストサーバ１と被テスト機１Ａの時刻同期を行う。収集結果格納モジュール１４は、被テスト機１Ａから収集したテスト結果データから性能テスト管理テーブル１６にデータを格納する。
【００２２】
テスト結果出力モジュール１５は、収集した結果から性能テスト結果を整理して出力する。整理とは、例えば、システム全体と支部ごとの性能テスト結果について、性能テスト管理テーブル１６に格納されたデータと閾値設定テーブル１７に格納された値と各種ログにより時系列に整理することである。
【００２３】
さらに、テスト結果出力モジュール１５は、性能テスト管理テーブル１６から、任意の被テスト機１Ａのレスポンスタイムと内部処理時間とリソースの使用率の相関関係を表すマトリックスの出力、任意の被テスト機１Ａのリソース使用率のグラフの出力、エラーが発生した被テスト機１Ａの時系列の出力、および、性能データの閾値（図４参照）を超えた場合は出力結果に網かけなどを行う出力などを行い、ユーザにテスト結果を把握しやすくしてもよい。これにより、被テスト機１Ａごとの負荷状況の関連と被テスト機１Ａの地理的、時間的な負荷傾向をテスト者が直感的に把握することができる。
【００２４】
遠隔制御モジュール２１は、テストサーバ１から自装置の各モジュールを遠隔制御する。性能記録モジュール２２は、テストサーバ１から配布されたファイルにより、自装置における内部処理時間とリソースの使用率を監視・記憶する。テスト結果データファイル２３は、テストデータファイル３７を再生している間における被テストサーバ１Ｂの各リソースの使用率と内部処理時間である。
【００２５】
遠隔制御モジュール３１は、テストサーバ１から自装置の各モジュールを遠隔制御する。操作記録モジュール３２は、ユーザの操作（マウスなどの入力操作）に従って、後記する操作データファイル３６を記録する。
【００２６】
編集モジュール３３は、操作記録モジュール３２により記憶した操作手順を編集し、操作データファイル３６からテストデータファイル３７を作成する。
【００２７】
再生モジュール３４は、編集モジュール３３により編集した操作手順を再現実行する。具体的には、テスト実施時に、テストサーバ１から配布したファイルを遠隔操作することにより、任意の対象となるクライアント全台もしくは複数台上にて、クライアント４ごとに作成したテストデータファイル３７をテスト対象となるクライアント全台同時に再生する。
【００２８】
性能記録モジュール３５は、テストサーバ１から配布されたファイルにより、自クライアント４におけるテストシステムのレスポンスタイムとリソースの使用率を監視して記憶する。例えば、再生モジュール３４がテストデータファイル３７を再生中に、監視して記憶する。
【００２９】
操作データファイル３６は、ユーザのクライアント４におけるテストシステムの操作手順を操作データとして記録したファイルである。つまり、本番業務中に任意の対象となる１台以上のクライアント４にて入力された操作手順を、他クライアント４と同期を取りつつ時系列に記憶したものである。操作手順は、例えば、クライアント４において実装されているウインドウ上でのマウスの移動・クリック情報、キーボードの打鍵情報、コピーと貼付により入力された情報である（図５参照）。
【００３０】
テストデータファイル３７は、操作データファイル３６を編集またはコピーして作成されたファイルである。例えば、テストデータファイル３７は、操作データファイル３６に記憶された操作手順を時間軸に対して全体の比率を保ったまま任意に短縮したものである。これにより、通常の本番業務を早送りで実行し単位時間あたりの処理件数を増加させたテストを実現することが可能となり、そのため、被テスト機１Ａにて処理件数の増加を原因とする事故の発生を抑止することができる。例えば、年間ごとのユーザ数や処理量の増加により次期システム改修時までに予想される単位時間あたりの処理量の増加を包括するために必要とするリソースを検証することで、性能テスト後、当該システムにて処理件数が増加した場合に性能を原因とした事故の発生を事前に発見できる。
【００３１】
テスト結果データファイル３８は、テストデータファイル３７を再生している間におけるクライアント４の各リソースの使用率とオンラインレスポンスタイムなどの被テスト機１Ａの性能データを格納する。
【００３２】
図３は、性能テスト管理テーブル１６を示す構成図である。性能テスト管理テーブル１６は、被テスト機１Ａのリソース使用率や内部処理時間、オンラインレスポンスタイムを格納する。被テスト機１Ａの名称は、図１のテストシステム上の被テスト機１Ａを識別するために、あらかじめ設定しておく。性能テスト実施後、被テスト機１Ａで記録されたリソース使用率、内部処理時間やオンラインレスポンス時間は被テスト機１Ａの名称をキーとして格納する。
【００３３】
図４は、閾値設定テーブル１７を示す構成図である。閾値設定テーブル１７は、被テスト機１Ａごとのリソース使用率と内部処理時間とオンラインレスポンスタイムの閾値を格納する。被テスト機１Ａの名称は、図１のテストシステム上の被テスト機１Ａを識別するために、あらかじめ設定しておく。また、被テストサーバ１Ｂにおける内部処理時間とクライアント４におけるオンライン処理の名称は、処理名称を識別するためにあらかじめ設定しておく。オンライン被テスト機１Ａごとのリソースの使用率の閾値は被テスト機１Ａの名称をキーとして格納する。内部処理時間やオンラインレスポンスタイムは、被テスト機１Ａの名称を主キーとして、処理名称をサブキーとして格納する。
【００３４】
図５は、操作データファイル３６を示す構成図である。クライアント４にて、テストシステムのウインドウにフォーカスがあり、ユーザによるマウスもしくはキーボードでの作業が発生した場合、操作が発生した時間、フォーカス対象のウインドウ名、カーソル位置を記憶し、操作対象となるマウスカーソルの位置や左クリック・右クリックの押す（ｏｎ）と離す（ｏｆｆ）の動作や、キーボードの打鍵内容や貼り付けによる入力情報を記録する。
【００３５】
図６は、テストシステム全体における性能テスト結果データファイルを示す構成図である。図６は、性能テスト終了後にテスト作業者が本番業務におけるシステムの地域性と時間性により、システム全体における負荷の分散具合を確認するための性能テスト出力結果である。性能テストの開始時刻から終了時刻までの間の出力単位とする時間ごとの被テスト機１Ａにおける性能テスト結果が別々に出力される。
【００３６】
次に性能テスト結果（システム全体）の各項目について説明する。本部と支部ごとに設置された被テスト機１Ａごとの最大リソース使用率と平均使用率、最大内部処理時間と平均処理時間、最大オンラインレスポンスタイムと平均オンラインレスポンス時間が出力される。また、事前に閾値設定テーブル１７に被テスト機１Ａにおけるリソースごとならびに処理時間ごとに閾値が設定されている場合は、閾値を超える結果に網かけを行い出力される。
【００３７】
図７は、支部Ｂにおける性能テスト結果データファイルを示す構成図である。図７は性能テスト終了後に、テスト作業者が本番業務における支部の性能テスト結果として支部Ｂを選択したときの出力結果である。性能テストの開始時刻から終了時刻までの間の出力単位とする時間ごとに被テスト機１Ａにおける性能テスト結果が一覧表に出力される。
【００３８】
次に性能テスト結果（支部Ｂ）の各項目について説明する。被テスト機１Ａにおける性能テストの出力単位時間ごとの最大リソース使用率、最大内部処理時間、最大オンラインレスポンスタイムが出力される。また、事前に閾値管理テーブルに被テスト機１Ａにおけるリソースごとならびに処理時間ごとに閾値が設定されている場合は、閾値を超える結果に網かけを行い出力される。
【００３９】
以下、性能テストの準備から終了後に性能テストの結果を出力するまでの一連の動作について、フローチャートに沿って説明する。なお、フローチャートを説明するときの各パラメータ（時刻、閾値など）は、あくまで一例であり、この例に限定されることなく実施することができる。まず、本オンライン性能テストの準備作業として、配布・収集モジュール１１は被テストサーバ１Ｂとクライアント４に対してモジュール２１、２２と３１から３５を配布する。配布後、時刻同期モジュール１３はテストサーバ１と被テスト機１Ａの時刻同期を行う。
【００４０】
図８は、本番業務におけるユーザのクライアント４の操作データを作成する動作を示すフローチャートである。
【００４１】
本番業務中、テスト作業者はテストサーバ１より、遠隔制御モジュール１２からテスト対象となるクライアント４の遠隔制御モジュール３１に操作記録を行うための指定時刻（開始時刻：２００５年３月２８日９：００、終了時刻：２００５年３月２８日１７：００）と実行指令を入出力装置から入力する（Ｓ１０１）。
【００４２】
その指定時刻情報と実行指令（操作記録開始指令）は、該テストサーバ１に備える通信網インタフェース、各支部に備える通信網インタフェースを介してクライアント４に送信される（Ｓ１０２、Ｓ１０３）。
【００４３】
操作記憶を行うための指定時刻（開始時刻：２００５年３月２８日９：００、終了時刻：２００５年３月２８日１７：００）と実行指令を受けたクライアント４の遠隔制御モジュール３１は指定された開始時刻（２００５年３月２８日９：００）に（Ｓ１０４、ＹＥＳ）操作記録モジュール３２に操作記録の開始を指示する。
【００４４】
操作記録モジュール３２は、ユーザのクライアント４におけるテストシステム上の操作手順として、テストシステムのウインドウにフォーカスがあることを条件とし、ユーザによるマウスもしくはキーボードでの作業を契機として、操作が発生した時間を主キーに、フォーカス対象のウインドウ名、カーソル位置、操作対象となるマウスカーソルの位置座標、左クリック・右クリックの押す（ｏｎ）と離す（ｏｆｆ）の動作、キーボードによる入力コード、貼り付けによる入力情報などを、操作データとしてメモリ上に記憶する（Ｓ１０５）。
【００４５】
指定された操作記録の終了時刻（２００５年３月２８日１７：００）になると（Ｓ１０６、ＹＥＳ）、遠隔制御モジュール３１は、操作記録モジュール３２に記録操作の停止を指示する。
【００４６】
操作記録モジュール３２は停止を指示されるまでにメモリ上に記録した操作手順から、操作が発生した時間をキーとして時系列に整理した操作データファイル３６を作成する（Ｓ１０７）。
【００４７】
同時に遠隔制御モジュール３１はクライアント４が設置された支部に備える通信網インタフェース、該テストサーバ１に備える通信網インタフェースを介して該テストサーバ１に操作記録終了のメッセージを送信する（Ｓ１０８）。
【００４８】
テストサーバ１の遠隔制御モジュール１２はテスト対象となる全クライアント４からの操作記録終了のメッセージを受信後（Ｓ１０９）、テスト作業者へ操作記録終了のメッセージをコンピュータなどの入出力装置から出力する（Ｓ１１０、Ｓ１１１）。
【００４９】
図９は、図８の動作により作成されたユーザの操作データを編集し、テストデータファイル３７を作成する動作を示すフローチャートである。
【００５０】
テスト作業者は、操作記録終了のメッセージを確認後、操作データファイル３６の編集作業を行うための縮尺率（０．５）と実行指令を入出力装置からテストサーバ１に入力する（Ｓ１２１）。
【００５１】
その操作データファイル３６の編集作業を行うための縮尺率と実行指令（操作記録開始指令）は、該テストサーバ１に備える通信網インタフェースに、各支部に備える通信網インタフェースを介してクライアント４に送信される（Ｓ１２２、Ｓ１２３）。
【００５２】
編集作業を行うための実行指令を受信した遠隔制御モジュール３１は編集モジュール３３に縮尺率（０．５）と編集開始を指示する。編集モジュール３３は前記操作データファイル３６を時間軸に対して全体の比率を保ったまま縮尺率（０．５）をもとに操作時間を短縮するために、操作データファイル３６の主キーである操作が発生した時間（第１操作９：０５：００、第２操作９：０６：００） と記憶を開始した時刻（９：００：００）との差分（第１操作００：０５：００、第２操作００：０６：００）に縮尺率（０．５）をかけた値（第１操作００：０２：５０、第２操作００：０３：００）を操作時間（第１操作００：０２：５０、第２操作００：０３：００）として全操作記録の操作が発生した時間の編集作業を行い（Ｓ１２４）、テストデータファイル３７を作成する（Ｓ１２５）。
【００５３】
編集モジュール３３はテストデータファイル３７作成後、遠隔制御モジュール３１に編集作業が終了したことを返信し、返信を受けた遠隔制御モジュール３１はクライアント４が設置された支部に備える通信網インタフェースや、テストサーバ１に備える通信網インタフェースを介してテストサーバ１に編集作業終了のメッセージを送信する（Ｓ１２６）。
【００５４】
テストサーバ１の遠隔制御モジュール１２はテスト対象となる全クライアント４からの編集作業終了のメッセージを受信後（Ｓ１２７）、テスト作業者へ編集作業終了のメッセージを入出力装置から出力する（Ｓ１２８、Ｓ１２９）。
【００５５】
図１０は、図９の動作により作成された各被クライアント４のテストデータファイル３７を再生し、リソースと内部処理時間とオンラインレスポンスタイムを記録して性能テストを実施する動作を示すフローチャートである。
【００５６】
本番業務が終了し性能テストを開始するとき、テスト作業者はテストサーバ１より、遠隔制御モジュール１２からテスト対象となる被テストサーバ１Ｂの遠隔制御モジュール２１に性能テストの開始時刻（２００５年４月２日８：００）とテスト結果データ作成の実行指令を、クライアント４の遠隔制御モジュール３１に性能テストの開始時刻（２００５年４月２日８：００）と性能テストの実行指令を入出力装置から入力する（Ｓ１３１）。
【００５７】
その性能テストの開始時刻情報とテスト結果データ作成の実行指令は、本部の該テストサーバ１に備える被テストサーバ１Ｂと通信網インタフェース、各支部に備える通信網インタフェースを介して被テストサーバ１Ｂに送信される（Ｓ１３２〜Ｓ１３５）。
【００５８】
性能テストの開始時刻情報と性能テストの実行指令情報は、該テストサーバ１に備える通信網インタフェースや、各支部に備える通信網インタフェースを介してクライアント４に送信される（Ｓ１３６）。
【００５９】
性能テストの開始時刻（２００５年４月２日８：００）とテスト結果データ作成の実行指令を受けた遠隔制御モジュール２１は、性能テストの開始時刻（２００５年４月２日８：００）に（Ｓ１３７〜Ｓ１３９）、性能記録モジュール２２にリソースの使用率と内部処理時間の記録の開始指示を出す。
【００６０】
指示を受けた性能記録モジュール２２はリソース使用率（ＣＰＵ、メモリ、ネットワーク、ＲＤエリア）を出力するコマンドを一定間隔（５秒）ごとに発行し、その出力結果を記憶した時間をキーにメモリ上に記憶する作業と、内部処理時間として被テストサーバ１Ｂにおけるオンライン電文の処理時間を内部処理の開始時間をキーとしてメモリ上に記録する作業を開始する（Ｓ１４１〜Ｓ１４３）。
【００６１】
また、性能テストの開始時刻（２００５年４月２日８：００）と性能テストの実行指令を受けた遠隔制御モジュール３１は性能テストの開始時刻（２００５年４月２日８：００）に（Ｓ１４０、ＹＥＳ）、再生モジュール３４に対して再生開始の指示を、性能記録モジュール３２にリソースの使用率とオンラインレスポンス時間の記録の開始指示を出す。
【００６２】
指示を受けた再生モジュール３４は、性能テストの開始時刻に、テストデータファイル３７に記録された操作時間の間隔で、操作対象のウインドウ、カーソル位置に対して、マウスカーソルの位置操作、左クリック・右クリックの押す（ｏｎ）と離す（ｏｆｆ）の動作、キーボードによる入力コードの入力、貼り付けによる入力情報の入力による再生する作業を、性能記録モジュール３５はリソース使用率（ＣＰＵ、メモリ、ネットワーク）を出力するコマンドを一定間隔（５秒）ごとに発行し、その出力結果を記憶した時間をキーにメモリ上に記憶する作業と、オンラインレスポンスタイムとオンライン処理開始時間をキーとしてメモリ上に記録する作業を開始する（Ｓ１４４）。
【００６３】
図１１は、図１０の動作により実施されたテストに関するテスト結果データを作成する動作を示すフローチャートである。
【００６４】
テスト作業者はテストサーバ１より、遠隔制御モジュール１２からテスト対象となる被テストサーバ１Ｂの遠隔制御モジュール２１にテスト結果データ作成の終了指令を、クライアント４の遠隔制御モジュール３１に性能テストの終了指令を入出力装置から入力する（Ｓ１４５）。そのテスト結果データ作成の終了指令は、本部の該テストサーバ１に備える被テストサーバ１Ｂと通信網インタフェース、各支部に備える通信網インタフェースを介して被テストサーバ１Ｂに送信され（Ｓ１４６〜Ｓ１４９）、性能テストの終了指令情報は該テストサーバ１に備える通信網インタフェース、各支部に備える通信網インタフェースを介してクライアント４に送信される（Ｓ１５０）。
【００６５】
テスト結果データ作成の終了指令を受けた（Ｓ１５１〜Ｓ１５３）遠隔制御モジュール２１は性能記録モジュール２２に記録作業の停止を指示し、指示を受けた性能記録モジュール２２は、記録作業を停止し、メモリ上に記録したリソース使用率と内部処理時間のデータから、記憶した時間をキーとして時系列に整理したテスト結果データファイル２３を作成する（Ｓ１５５〜Ｓ１５７）。
【００６６】
性能記録モジュール２２はテスト結果データファイル２３作成後、遠隔制御モジュール２１にテスト結果データ作成の作業が終了したことを送信する（Ｓ１６０〜Ｓ１６２）。送信を受けた遠隔制御モジュール２１は被テストサーバ１Ｂが該テストサーバ１と同じ本部に設定されている場合は該テストサーバ１に、被テストサーバ１Ｂが支部に設定されている場合は、被テストサーバ１Ｂが設置された支部に備える通信網インタフェース、該テストサーバ１に備える通信網インタフェースを介して該テストサーバ１にテスト結果データ作成作業終了のメッセージを送信する（Ｓ１６４〜Ｓ１６６）。
【００６７】
また、性能テスト終了の指令を受けた（Ｓ１５４、ＹＥＳ）遠隔制御モジュール３１は、再生モジュール３４に再生作業の停止を、性能記録モジュール３５に記録作業の停止を指示し、再生作業の停止指示を受けた再生モジュール３４はテストデータファイル３７の再生を停止し、記録作業の停止指示を受けた性能記録モジュール３５は、記録作業を停止し、メモリ上に記録したリソース使用率とオンラインレスポンスタイムのデータから、記憶した時間をキーとして時系列に整理したテスト結果データファイル３８を作成する（Ｓ１５８）。
【００６８】
性能記録モジュール３５はテスト結果データ作成後、遠隔制御モジュール３１にテスト結果データ作成の作業が終了したことを送信する（Ｓ１６３）。送信を受けた遠隔制御モジュール３１は、クライアント４が設置された支部に備える通信網インタフェース、該テストサーバ１に備える通信網インタフェースを介して該テストサーバ１にテスト結果データ作成作業終了のメッセージを送信する（Ｓ１６７）。
【００６９】
遠隔制御モジュール１２は、全テスト対象の本部と支部に設置された被テストサーバ１Ｂとクライアント４からテスト結果データ作成作業終了のメッセージを受信後、テスト作業者へ性能テスト終了の旨のメッセージを入出力装置から出力する（Ｓ１６８、Ｓ１６９）。
【００７０】
次に、図１１の動作により作成されたテスト結果データをテスト終了後に出力する処理について、説明する。
【００７１】
テスト終了後、テスト作業者はテストサーバ１の配布・収集モジュール１１により、テスト対象となる被テストサーバ１Ｂとクライアント４上に作成された、テスト結果データファイル２３とテスト結果データファイル３８とテストシステムにより出力されたログを収集する。
【００７２】
全被テストサーバ１Ｂとクライアント４からの収集作業が終了した配布・収集モジュール１１は、収集結果格納モジュール１４に収集をした被テスト機１Ａの名前情報と収集したテスト結果データとログと性能テスト管理テーブル１６へのデータ格納指示を出す。性能テスト管理テーブル１６へのデータ格納指示を受けた収集結果格納モジュール１５は、被テスト機１Ａの名前をキーとして、テスト結果データから各リソース使用率の記録時間とリソース使用率を、処理時間の記録時間と内部処理時間もしくはオンラインレスポンスタイムを格納する。性能テスト管理テーブル１６への全テスト結果データの格納終了後、収集結果格納モジュール１５は、テスト結果データの収集作業が終了した旨のメッセージをテスト作業者に入出力装置から出力する。
【００７３】
テスト結果データの収集作業が完了した後、テスト作業者は、テスト結果出力モジュール１５に性能テストの出力対象とする性能テスト結果の開始時刻（２００５年４月２日８：００）と終了時刻（２００５年４月２日１７：００）と出力単位とする時間（１時間）とシステム全体の性能テスト結果の出力指令を入出力装置から入力する。
【００７４】
性能テスト結果の出力指令を受けたテスト結果出力モジュール１５は、性能テスト管理テーブル１６に格納されたデータを参照し、出力対象とする性能テストの開始時刻（２００５年４月２日８：００）から終了時刻（２００５年４月２日１７：００）までの単位時間あたり（１時間）の本部と全支部に設置された被テスト機１Ａごとの最大リソース使用率と平均使用率、最大内部処理時間と平均処理時間、最大オンラインレスポンスタイムと平均オンラインレスポンス時間を入出力装置により出力する。
【００７５】
また、事前に閾値設定テーブル１７に被テスト機１Ａにおけるリソースごとならびに処理時間ごとに閾値が設定されている場合は、前記出力結果において閾値を超える結果があった場合、テスト結果出力モジュール１５は、閾値を超える結果に網かけを行い入出力装置から出力する。
【００７６】
テスト作業者は、例えば、リソース使用率が高いもしくは処理時間の長い被テスト機１Ａが多数存在する支部を選択し、テスト結果出力モジュール１５に出力対象とする性能テスト結果の開始時刻（２００５年４月２日１１：００） と終了時刻（２００５年４月２日１２：００）と出力単位とする時間（５分）と対象とする支部の出力指令を入出力装置から入力する。
【００７７】
性能テスト結果の出力指令を受けたテスト結果出力モジュール１５は、性能テスト管理テーブル１６に格納されたデータを参照し、出力対象とする性能テストの開始時刻（２００５年４月２日１１：００）から終了時刻（２００５年４月２日１２：００）までの単位時間あたり（５分）の対象とする支部に設置された被テスト機１Ａごとの最大リソース使用率、最大内部処理時間と最大オンラインレスポンスタイムを入出力装置により出力する。
【００７８】
テスト作業者は全システムの性能テスト結果出力により時間ごとの各支部におけるシステムの負荷の偏りを確認し、負荷の高い支部においては、支部における性能テスト結果を出力し、内部処理時間やオンラインレスポンスタイムが大きくなるときの被テスト機１Ａのリソース使用率を確認する。これにより、システムの地域的、時間的な負荷状況を把握することができ、かつ、必要な支部の必要な被テスト機１Ａにおけるリソース増強のための再設計を行うことが可能となる。
【００７９】
以上説明した本実施形態は、１台以上の業務サーバ２を本部に設置し、業務サーバ２とクライアント４の通信を中継する１台以上の中継サーバ３を本部ならびに各支部に設置し、１台以上のクライアント４を各支部に設置する大規模なオンラインシステムに適用され、システム全体の性能テストを実現する。このテストシステムは、遠隔によりクライアント４を操作することを特徴とする。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態に関するテストシステムの概要を示す構成図である。
【図２】テストシステムのハードおよび各ハード内におけるモジュールの構成を示すブロック図である。
【図３】性能テスト管理テーブルを示す構成図である。
【図４】閾値設定テーブルを示す構成図である。
【図５】操作データファイルを示す構成図である。
【図６】テストシステム全体における性能テスト結果データファイルを示す構成図である。
【図７】支部Ｂにおける性能テスト結果データファイルを示す構成図である。
【図８】本番業務におけるユーザのクライアントの操作データを作成する動作を示すフローチャートである。
【図９】記憶したユーザの操作データを編集し、テストデータファイルを作成する動作を示すフローチャートである。
【図１０】性能テストを実施するために、各被クライアントのテストデータファイルを再生し、リソースと内部処理時間とオンラインレスポンスタイムを記録する動作を示すフローチャートである。
【図１１】テスト結果データを作成する動作を示すフローチャートである。
【符号の説明】
【００８１】
１      テストサーバ
１Ａ    被テスト機
１Ｂ    被テストサーバ
２      業務サーバ
３      中継サーバ
４      クライアント
１１    配布・収集モジュール
１２    遠隔制御モジュール
１３    時刻同期モジュール
１４    収集結果格納モジュール
１５    テスト結果出力モジュール
１６    性能テスト管理テーブル
１７    閾値設定テーブル
２１    遠隔制御モジュール
２２    性能記録モジュール
２３    テスト結果データファイル
３１    遠隔制御モジュール
３２    操作記録モジュール
３３    編集モジュール
３４    再生モジュール
３５    性能記録モジュール
３６    操作データファイル
３７    テストデータファイル
３８    テスト結果データファイル
【図１】
2007011497.tif 000003
【図２】
2007011497.tif 000004
【図３】
2007011497.tif 000005
【図４】
2007011497.tif 000006
【図５】
2007011497.tif 000007
【図６】
2007011497.tif 000008
【図７】
2007011497.tif 000009
【図８】
2007011497.tif 000010
【図９】
2007011497.tif 000011
【図１０】
2007011497.tif 000012
【図１１】
2007011497.tif 000013