(57)【特許請求の範囲】
【請求項１】
クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、当該サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する装置であって、
指定された時刻に前記クライアントと前記サーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得する取得部と、
前記取得部により取得された記録データのうち、前記クライアントと前記サーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、前記時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、前記再生用データを生成する生成部と、
前記生成部により生成された前記再生用データを出力する出力部と
を含む、装置。
【請求項２】
複数のセッションで前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでにそれぞれ実行された複数のトランザクション群のうち、最もトランザクション数の少ないトランザクション群を記録した記録データを記憶する記憶部を更に含み、
前記生成部は、前記取得部により取得された記録データのうち、前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを、前記記憶部に記憶された記録データで置換する前記縮減処理により、前記再生用データを生成する、請求項１の装置。
【請求項３】
前記生成部は、前記特定のセッションで前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでに当該第２のトランザクションと同じ内容の第３のトランザクションが実行された場合に、前記取得部により取得された記録データのうち、当該第３のトランザクションが実行されてから当該第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する前記縮減処理により、前記再生用データを生成する、請求項１又は請求項２の装置。
【請求項４】
前記生成部は、前記取得部により取得された記録データのうち、前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する前記縮減処理により、前記再生用データを生成する、請求項１乃至請求項３の何れかの装置。
【請求項５】
複数のセッションで前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでにそれぞれ実行された複数のトランザクション群のうち、最もトランザクション数の少ないトランザクション群を記録した記録データを記憶する記憶部を更に含み、
前記生成部は、前記特定のセッションで前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでに当該第２のトランザクションと同じ内容の第３のトランザクションが実行された場合に、前記取得部により取得された記録データのうち、当該第３のトランザクションが実行されてから当該第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する第１の縮減処理により、第１の再生用データを生成し、前記取得部により取得された記録データのうち、前記第１のトランザクションが実行されてから前記第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを、前記記憶部に記憶された記録データで置換する第２の縮減処理により、第２の再生用データを生成し、
前記出力部は、前記第１の縮減処理による縮減効果及び前記第２の縮減処理による縮減効果に関する情報を出力する、請求項１の装置。
【請求項６】
複数のセッションで実行された複数のトランザクションを記録した記録データを蓄積する蓄積部と、
前記蓄積部に蓄積された記録データに基づいて、前記特定トランザクション群を決定する決定部と
を更に含む、請求項１乃至請求項５の何れかの装置。
【請求項７】
前記決定部は、前記蓄積部に蓄積された記録データから得られる、各トランザクションの直前に実行された異なるトランザクションの数、各トランザクションの直後に実行された異なるトランザクションの数、各トランザクションが実行された回数、及び、前記第１のトランザクションが実行されてから各トランザクションが実行されるまでに実行されたトランザクションの数の少なくとも１つに基づいて、前記特定トランザクション群を決定する、請求項６の装置。
【請求項８】
クライアントが要求しサーバが送信した画面の情報を記録した記録データに基づいて、当該サーバのテストのために画面を再生するための再生用データを生成する装置であって、
前記クライアントと前記サーバとの間でセッションを確立するための第１の画面を、外部から与えられた情報に基づいて特定する第１の特定部と、
決まった画面からしか遷移できないという制約のない特定画面群を、各画面の直前に表示された異なる画面の数、各画面の直後に表示された異なる画面の数、各画面が表示された回数、前記第１の画面が表示されてから各画面が表示されるまでに表示された画面の数、及び、外部から与えられた情報の少なくとも１つに基づいて特定する第２の特定部と、
指定された時刻に前記クライアントと前記サーバとの間で確立されていた特定のセッションで表示された画面の情報を記録した記録データを取得する取得部と、
前記特定のセッションで、前記第１の画面が表示されてから、前記特定画面群に属し、前記時刻以前に表示された第２の画面が表示されるまでにも、当該第２の画面が表示された場合に、前記取得部により取得された記録データのうち、１回目に当該第２の画面が表示されてから２回目に当該第２の画面が表示されるまでに表示された画面の情報を記録した記録データを削除することにより、前記再生用データを生成する生成部と、
前記生成部により生成された前記再生用データを出力する出力部と
を含む、装置。
【請求項９】
クライアントが要求しサーバが送信した画面の情報を記録した記録データに基づいて、当該サーバのテストのために画面を再生するための再生用データを生成する装置であって、
前記クライアントと前記サーバとの間でセッションを確立するための第１の画面を、外部から与えられた情報に基づいて特定する第１の特定部と、
決まった画面からしか遷移できないという制約のない特定画面群を、各画面の直前に表示された異なる画面の数、各画面の直後に表示された異なる画面の数、各画面が表示された回数、前記第１の画面が表示されてから各画面が表示されるまでに表示された画面の数、及び、外部から与えられた情報の少なくとも１つに基づいて特定する第２の特定部と、
複数のセッションで前記第１の画面が表示されてから各画面が表示されるまでにそれぞれ表示された複数の画面群のうち、最も画面数の少ない画面群を記録した記録データを当該各画面に対応付けて記憶する記憶部と、
指定された時刻に前記クライアントと前記サーバとの間で確立されていた特定のセッションで表示された画面の情報を記録した記録データを取得する取得部と、
前記取得部により取得された記録データのうち、前記第１の画面が表示されてから、前記特定画面群に属し、前記時刻以前に表示された第２の画面が表示されるまでに表示された画面の情報を記録した記録データを、前記記憶部に当該第２の画面に対応付けて記憶された記録データで置換することにより、前記再生用データを生成する生成部と、
前記生成部により生成された前記再生用データを出力する出力部と
を含む、装置。
【請求項１０】
クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、当該サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する方法であって、
指定された時刻に前記クライアントと前記サーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得するステップと、
取得された記録データのうち、前記クライアントと前記サーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、前記時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、前記再生用データを生成するステップと、
生成された前記再生用データを出力するステップと
を含む、方法。
【請求項１１】
クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、当該サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
指定された時刻に前記クライアントと前記サーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得する取得部と、
前記取得部により取得された記録データのうち、前記クライアントと前記サーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、前記時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、前記再生用データを生成する生成部と、
前記生成部により生成された前記再生用データを出力する出力部と
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクションを再生するためのデータを生成する装置及び方法に関する。特に、本発明は、クライアントの要求に応じてサーバで実行されたトランザクションを記録したデータに基づいて、サーバのテストのために実行されるトランザクションを再生するためのデータを生成する装置及び方法に関する。
【背景技術】
【０００２】
ウェブアプリケーションのシステムに対して、キャプチャプレイバック方式の実データによる負荷テストを行うことがある。
従来、このような負荷テストは、まず、ある時点（「開始点」と呼ぶ）におけるＤＢ（データベース）のコピーを作成し、次に、開始点以降の実データを再生してテスト対象システムにかける、という手順で行われていた。
【０００３】
また、ウェブアプリケーションのシステムの災害対策として構築したスタンバイのバックアップシステムの動作確認テストを行うこともある。
対象システムは、本番システムからバックアップシステムへ、ＤＢをコピーしており、本番システムが停止した場合、バックアップシステムが起動されて本番システムの処理を引き継ぐようになっている。
このようなバックアップシステムが確実に稼動することをテストするためには、本番システムからのＤＢのコピーを、テストのために定めた被災時点（「仮想被災時点」と呼ぶ）で中断し、その後バックアップシステム側でエンドユーザ処理の継続が可能となっていることを確認する必要がある。
従来、このようなテストとして、ＤＢコピーの機能のテスト、バックアップシステムの機能のテストという２フェーズのテストが独立して行われていた。この場合、前者のテストでは、本番システムからのコピーを対象とするので、インテグレーションテストでは実データをコピーすることになる。これに対し、後者のテストでは、実データによるキャプチャプレイバック方式のテストが行えない制約があるため、ＤＢのデータ及びネットワーク負荷としてサンプルデータを用いたテストが行われていた。
【０００４】
ここで、同様のテストケースに基づくテストに関する技術は、公報記載の技術としても知られている（例えば、特許文献１〜３参照）。
特許文献１の技術は、ホストコンピュータからの疑似的な入力情報に基づいて、試験装置に格納された評価対象プログラムのエミュレーション動作を実行し、結果を出力情報として取得することによりプログラムの評価試験を行うプログラム評価システムに関するものである。
特許文献２の技術は、１個又は数個の検証シナリオがクライアントエンドのシミュレートされた環境においてマネージメントソフトウェアの構成及び性能をテストするために提供される、マネージメントホスト中のマネージメントソフトウェアの履行を検証する方法に関するものである。
特許文献３の技術は、少なくとも２つの電気通信設備の間の実際の通信を記録し、記録した実際の通信を分析し、この分析結果に基づいてテストケースを生成するテストジェネレータに関するものである。
【０００５】
また、公報記載の技術の中には、ＤＢの復旧に関する技術もある（例えば、特許文献４参照）。
特許文献４の技術は、ユーザが使用するインターネットアクセス機器上に処理操作の操作ログを保持することにより、サービス提供側のＷｅｂサーバに異常が発生した際にも、操作ログを用いて、異常が発生した時点までの処理を復旧し、ユーザはシームレスに処理を継続できる構成とする処理要求復旧方式に関するものである。
【０００６】
更に、公報記載の技術の中には、セッションの復旧に関する技術もある（例えば、特許文献５参照）。
特許文献５の技術は、セッションを開設するために入力された認証情報を保持する認証情報保持手段と、セッションが無効となった旨を検知するセッション無効化検知手段と、セッション無効化検知手段によってセッションが無効となった旨が検知された場合に、認証情報保持手段に保持されている認証情報を用いてサーバ装置に対しセッションの開設を要求するセッション復旧手段とを有する情報処理装置に関するものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２７５０９４号公報
【特許文献２】特開２００８−２５７６７６号公報
【特許文献３】特開２００１−３２６７０２号公報
【特許文献４】特開２００３−００６０１８号公報
【特許文献５】特開２００５−１００３４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、通常、負荷テストは、目標の高負荷を若干のランプアップを行いながら対象システムにかけることによって行われる。従って、前述の実データによる負荷テストでも、ピーク時の負荷を再生したいという要求がある。
【０００９】
しかしながら、開始点は、負荷のピーク時に設定することができず、業務開始前か負荷が低い時間帯（例えば早朝）にとらざるを得ない。これは、開始点で既にアクティブなユーザセッションは、開始点から再生すると認証等がなされないため、正常に再生されない可能性がある、という制約によるものである。
その結果、業務開始時からピーク時まで実データを再生する必要があり、テスト所要時間が延びてしまっていた。
【００１０】
また、前述のバックアップシステムの動作確認テストを実データによって行おうとすると、次のような手順を踏む必要がある。即ち、まず、本番システムでネットワークトレースを取得しながら、仮想被災時点で本番システムからバックアップシステムへのＤＢのコピーを切断する。このとき、ネットワークトレースの取得は継続する。次に、本番システムからコピーしたＤＢを使用してバックアップシステムを起動する。そして、バックアップシステムが稼動したら、本番システムで取得したネットワークトレースに基づく仮想被災時点からの負荷の再生をバックアップシステムに対して開始し、一定時間再生を継続する。
【００１１】
しかしながら、仮想被災時点で既にアクティブなユーザセッションは、バックアップシステムで再度行う必要のあるログイン操作が行われないまま再生が開始されるため、不正になってしまう。
これを回避するために、ログイン中のユーザがいない又は少ない時間帯（例えば夜間）を仮想被災時点とする、負荷が十分ではないが仮想被災時点以降にログインしたユーザ分のみを再生する、といった制約の下でテストを行うことも考えられるが、効果が減少してしまう。
【００１２】
このように、従来は、例えばウェブアプリケーションが動作するサーバを実データに基づくトランザクションの再生によってテストする際に、そのトランザクションの再生による不正の発生を抑制し、かつ、そのトランザクションの再生に要する時間を短縮することができなかった。
尚、特許文献１〜５の技術も、このような従来の問題点に対する解決手段を何ら提供するものではない。
【００１３】
本発明の目的は、サーバのテストのためにトランザクションを再生する際に、トランザクションの再生による不正の発生を抑制し、かつ、トランザクションの再生に要する時間を短縮することにある。
【課題を解決するための手段】
【００１４】
かかる目的のもと、本発明は、クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する装置であって、指定された時刻にクライアントとサーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得する取得部と、取得部により取得された記録データのうち、クライアントとサーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、再生用データを生成する生成部と、生成部により生成された再生用データを出力する出力部とを含む、装置を提供する。
【００１５】
ここで、この装置は、複数のセッションで第１のトランザクションが実行されてから第２のトランザクションが実行されるまでにそれぞれ実行された複数のトランザクション群のうち、最もトランザクション数の少ないトランザクション群を記録した記録データを記憶する記憶部を更に含み、生成部は、取得部により取得された記録データのうち、第１のトランザクションが実行されてから第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを、記憶部に記憶された記録データで置換する縮減処理により、再生用データを生成する、ものであってもよい。
また、この装置において、生成部は、特定のセッションで第１のトランザクションが実行されてから第２のトランザクションが実行されるまでに第２のトランザクションと同じ内容の第３のトランザクションが実行された場合に、取得部により取得された記録データのうち、第３のトランザクションが実行されてから第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する縮減処理により、再生用データを生成する、ものであってもよい。
また、この装置において、生成部は、取得部により取得された記録データのうち、第１のトランザクションが実行されてから第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する縮減処理により、再生用データを生成する、ものであってもよい。
【００１６】
更に、この装置は、複数のセッションで第１のトランザクションが実行されてから第２のトランザクションが実行されるまでにそれぞれ実行された複数のトランザクション群のうち、最もトランザクション数の少ないトランザクション群を記録した記録データを記憶する記憶部を更に含み、生成部は、特定のセッションで第１のトランザクションが実行されてから第２のトランザクションが実行されるまでに第２のトランザクションと同じ内容の第３のトランザクションが実行された場合に、取得部により取得された記録データのうち、第３のトランザクションが実行されてから第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを削除する第１の縮減処理により、第１の再生用データを生成し、取得部により取得された記録データのうち、第１のトランザクションが実行されてから第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを、記憶部に記憶された記録データで置換する第２の縮減処理により、第２の再生用データを生成し、出力部は、第１の縮減処理による縮減効果及び第２の縮減処理による縮減効果に関する情報を出力する、ものであってもよい。
【００１７】
また、この装置は、複数のセッションで実行された複数のトランザクションを記録した記録データを蓄積する蓄積部と、蓄積部に蓄積された記録データに基づいて、特定トランザクション群を決定する決定部とを更に含む、ものであってよい。
その場合、決定部は、蓄積部に蓄積された記録データから得られる、各トランザクションの直前に実行された異なるトランザクションの数、各トランザクションの直後に実行された異なるトランザクションの数、各トランザクションが実行された回数、及び、第１のトランザクションが実行されてから各トランザクションが実行されるまでに実行されたトランザクションの数の少なくとも１つに基づいて、特定トランザクション群を決定する、ものであってよい。
【００１８】
また、本発明は、クライアントが要求しサーバが送信した画面の情報を記録した記録データに基づいて、サーバのテストのために画面を再生するための再生用データを生成する装置であって、クライアントとサーバとの間でセッションを確立するための第１の画面を、外部から与えられた情報に基づいて特定する第１の特定部と、決まった画面からしか遷移できないという制約のない特定画面群を、各画面の直前に表示された異なる画面の数、各画面の直後に表示された異なる画面の数、各画面が表示された回数、第１の画面が表示されてから各画面が表示されるまでに表示された画面の数、及び、外部から与えられた情報の少なくとも１つに基づいて特定する第２の特定部と、指定された時刻にクライアントとサーバとの間で確立されていた特定のセッションで表示された画面の情報を記録した記録データを取得する取得部と、特定のセッションで、第１の画面が表示されてから、特定画面群に属し、時刻以前に表示された第２の画面が表示されるまでにも、第２の画面が表示された場合に、取得部により取得された記録データのうち、１回目に第２の画面が表示されてから２回目に第２の画面が表示されるまでに表示された画面の情報を記録した記録データを削除することにより、再生用データを生成する生成部と、生成部により生成された再生用データを出力する出力部とを含む、装置も提供する。
【００１９】
また、本発明は、クライアントが要求しサーバが送信した画面の情報を記録した記録データに基づいて、サーバのテストのために画面を再生するための再生用データを生成する装置であって、クライアントとサーバとの間でセッションを確立するための第１の画面を、外部から与えられた情報に基づいて特定する第１の特定部と、決まった画面からしか遷移できないという制約のない特定画面群を、各画面の直前に表示された異なる画面の数、各画面の直後に表示された異なる画面の数、各画面が表示された回数、第１の画面が表示されてから各画面が表示されるまでに表示された画面の数、及び、外部から与えられた情報の少なくとも１つに基づいて特定する第２の特定部と、複数のセッションで第１の画面が表示されてから各画面が表示されるまでにそれぞれ表示された複数の画面群のうち、最も画面数の少ない画面群を記録した記録データを各画面に対応付けて記憶する記憶部と、指定された時刻にクライアントとサーバとの間で確立されていた特定のセッションで表示された画面の情報を記録した記録データを取得する取得部と、取得部により取得された記録データのうち、第１の画面が表示されてから、特定画面群に属し、時刻以前に表示された第２の画面が表示されるまでに表示された画面の情報を記録した記録データを、記憶部に第２の画面に対応付けて記憶された記録データで置換することにより、再生用データを生成する生成部と、生成部により生成された再生用データを出力する出力部とを含む、装置も提供する。
【００２０】
更に、本発明は、クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する方法であって、指定された時刻にクライアントとサーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得するステップと、取得された記録データのうち、クライアントとサーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、再生用データを生成するステップと、生成された再生用データを出力するステップとを含む、方法も提供する。
【００２１】
更にまた、本発明は、クライアントの要求に応じてサーバで実行されたトランザクションを記録した記録データに基づいて、サーバのテストのために実行されるトランザクションを再生するための再生用データを生成する装置として、コンピュータを機能させるプログラムであって、コンピュータを、指定された時刻にクライアントとサーバとの間で確立されていた特定のセッションで実行されたトランザクションを記録した記録データを取得する取得部と、取得部により取得された記録データのうち、クライアントとサーバとの間でセッションを確立するための第１のトランザクションが実行されてから、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群に属し、時刻以前に実行された第２のトランザクションが実行されるまでに実行されたトランザクションを記録した記録データを縮減する縮減処理により、再生用データを生成する生成部と、生成部により生成された再生用データを出力する出力部として機能させる、プログラムも提供する。
【発明の効果】
【００２２】
本発明によれば、サーバのテストのためにトランザクションを再生する際に、トランザクションの再生による不正の発生を抑制し、かつ、トランザクションの再生に要する時間を短縮することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
【図２】本発明の実施の形態におけるトランザクション及びそのタイプについて示した図である。
【図３】本発明の実施の形態におけるシナリオの変更の例を示した図である。
【図４】本発明の実施の形態におけるシナリオの変更の例を示した図である。
【図５】本発明の実施の形態における再生シナリオ生成装置の機能構成例を示したブロック図である。
【図６】本発明の実施の形態における再生シナリオ生成装置の動作例を示したフローチャートである。
【図７】本発明の実施の形態における再生シナリオ生成装置の動作例を示したフローチャートである。
【図８】本発明の実施の形態における再生シナリオ生成装置の動作例を示したフローチャートである。
【図９】本発明の実施の形態におけるＯＲ画面を隠すときの様子及びＯＲ画面を隠した後のシナリオの例を示した図である。
【図１０】本発明の実施の形態における統計情報記憶部の記憶内容の一例を示した図である。
【図１１】本発明の実施の形態で用いるシナリオの例から得られた画面遷移図を示した図である。
【図１２】本発明の実施の形態におけるショートカットによる短縮処理について示した図である。
【図１３】本発明の実施の形態における接木による短縮処理について示した図である。
【図１４】本発明の実施の形態におけるトランザクションの再生速度の調整について示した図である。
【図１５】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【００２４】
まず、本発明の実施の形態の概要について説明する。
ウェブアプリケーションで用いるプロトコルであるＨＴＴＰ（HyperText Transfer Protocol）では、クライアントからサーバへＨＴＴＰリクエストが送られ、サーバからクライアントへはＨＴＴＰレスポンスが返される。
キャプチャプレイバック方式の負荷テストでは、この一連の通信から、再生すべきリクエストと期待するレスポンスを抽出して再生スクリプトを生成し、それに基づいて負荷を再生する。この負荷の再生は、必要な負荷に応じて、複数ユーザ分が同時に行われる。
【００２５】
前述の実データによる負荷テストで開始点をピーク時にとれないことも、前述のバックアップシステムの動作確認テストでキャプチャプレイバック方式を利用できないことも、原因は同じである。
ウェブアプリケーションを利用する場合、ユーザは、まず認証を行ってユーザセッションを確立し、そのユーザセッション内で操作を行う。そして、開始点又は仮想被災時点では、多数のユーザのユーザセッションが確立した状態になっている。従って、開始点又は仮想被災時点から突然、実データの再生による負荷をかけると、ユーザセッションの確立部分がないまま負荷がかけられることになる。そのため、この負荷は、ウェブアプリケーション側で不正なリクエストとみなされてリジェクトされてしまい、有効なシステムの負荷とならない、ということである。
【００２６】
また、ウェブアプリケーションに対する画面リクエストは、ユーザセッションが確立していれば直前の画面に関係なく実行可能なものばかりではない。一連のリクエストとレスポンスからなる画面遷移の順序を守らないと不正となる画面リクエストもある。１つのサービスを開始してから完了するまでの画面遷移を固定して割り込み等を許さない設計はよく行われるからである。生成する再生スクリプトはこの点も解決する必要がある。
【００２７】
そこで、本実施の形態では、ユーザセッションの確立部分から開始点又は仮想被災時点までの間にあるリクエストレスポンスを再生対象から削除する一方で、画面遷移の順序に制約がある部分はそのまま残すような変更を、実データから生成した再生スクリプトに対して行う。
【００２８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用されるコンピュータシステムの構成例を示したブロック図である。
図示するように、コンピュータシステムは、テスト対象システム１０と、クライアント２０とが、負荷分散装置であるロードバランサ７０、インターネット等のネットワーク８０、ＬＡＮ（Local Area Network）等のネットワーク８５を介して接続されることにより構成される。また、ネットワーク８５上の斜線で示したスイッチのミラーポート又はＴＡＰにデータ収集サーバ３０が接続され、データ収集サーバ３０に再生シナリオ生成装置４０が接続されている。更に、再生シナリオ生成装置４０に負荷発生サーバ６０が接続され、負荷発生サーバ６０はネットワーク８５に接続されている。
【００２９】
テスト対象システム１０は、クライアント２０にインストールされたブラウザからの要求に応じてサービスを提供するシステムであり、本実施の形態では、負荷発生サーバ６０が発生させたネットワークトラフィックに基づくテストの対象となるシステムである。より詳しくは、テスト対象システム１０は、図示しないが、ＨＴＴＰサーバ、ウェブアプリケーションサーバ、ＤＢサーバ等を備える。また、テスト対象システム１０は、実際に運用されているＤＢ（実ＤＢ）をテストで使用するＤＢ（テスト用ＤＢ）にコピーするディスクシステムも備えるものとする。これにより、テストが行われる場合、テスト対象システム１０は、実ＤＢのスナップショットをテストＤＢにコピーする。そして、ネットワークトラフィックを再生する前にＤＢ接続をスナップショット時点のテスト用ＤＢに切り替える。また、テスト終了後にＤＢ接続を元に戻す。尚、図には、１つのテスト対象システム１０しか示していないが、テスト対象システム１０の数はこれに限らず、２つ以上であってもよい。その場合、テスト対象システム１０に対する負荷分散がロードバランサ７０によって行われる。
【００３０】
クライアント２０は、ユーザがテスト対象システム１０からサービスの提供を受ける際に使用するコンピュータ装置である。クライアント２０としては、例えば、ＰＣ（Personal Computer）を用いるとよい。尚、図には、１つのクライアント２０しか示していないが、クライアント２０の数はこれに限らず、２つ以上であってもよい。その場合、クライアント２０というときは、そのうちの１つを指すものとする。
【００３１】
データ収集サーバ３０は、ネットワーク８５から全てのネットワークトラフィックを連続してキャプチャするサーバコンピュータであり、障害発生時のネットワークトラフィックからの問題判別用ツールとして用いられるものである。また、データ収集サーバ３０は、ＴＣＰレイヤ以下の情報を用いて、ネットワークトラフィックをクライアント２０ごとにソートする。データ収集サーバ３０としては、例えば、ＰＣ（Personal Computer）、ワークステーション、その他のコンピュータを用いるとよい。尚、図には、１つのデータ収集サーバ３０しか示していないが、データ収集サーバ３０の数はこれに限らず、必要なキャパシティに応じて複数設けてもよい。その場合は、図示しないが、複数のデータ収集サーバ３０を制御するデータ収集管理サーバを設けるとよい。
【００３２】
再生シナリオ生成装置４０は、データ収集サーバ３０からソート済みのネットワークトラフィックを連続的に読み出し、負荷を再生するのに必要な情報を抽出する。また、画面遷移に関する統計処理を行い、その結果としての統計情報を保管する。ネットワークトラフィックの処理に伴って情報が増えるので、統計情報を更新する。また、開始点（又は仮想被災時点）が与えられると、開始点でアクティブなユーザセッション（以下、単に「セッション」という）については、そのセッションの開始点以降のシナリオから、セッション全体を回復したセッション回復シナリオを生成する。そして、このセッション回復シナリオと、開始点以降に開始されたセッションのシナリオとを、再生シナリオとして負荷発生サーバ６０に送る。再生シナリオ生成装置４０としては、例えば、ＰＣ（Personal Computer）、ワークステーション、その他のコンピュータを用いるとよい。尚、本明細書において、「シナリオ」とは、あるセッションにおけるトランザクションの実行順序又は画面の表示順序等を含む負荷発生サーバ６０にて負荷を発生させるために必要な情報を意味する。
【００３３】
負荷発生サーバ６０は、再生シナリオ生成装置４０により生成された再生シナリオに基づいてＨＴＴＰリクエストを再生してテスト対象システム１０に送り、テスト対象システム１０からのＨＴＴＰレスポンスを受け取る。そして、ＨＴＴＰレスポンスの内容をモニターする。負荷発生サーバ６０としては、例えば、ＰＣ（Personal Computer）、ワークステーション、その他のコンピュータを用いるとよい。尚、図には、１つの負荷発生サーバ６０しか示していないが、負荷発生サーバ６０の数はこれに限らず、必要なキャパシティに応じて複数設けてもよい。その場合は、図示しないが、複数の負荷発生サーバ６０を制御する負荷発生管理サーバを設けるとよい。
【００３４】
尚、このコンピュータシステムは、本実施の形態に適用するには、次のような条件を満たしている必要がある。
第一に、ミラーポート、ＴＡＰ等のパケットがキャプチャされるポイントで、ＨＴＴＰトラフィックが暗号化されていない、という条件である。クライアント２０とロードバランサ７０との間の暗号化は問題ない。
第二に、クライアント２０におけるシナリオの再生速度にウェブアプリケーションの動作が依存しない、という条件である。
【００３５】
本実施の形態では、このようなコンピュータシステムにおいて、再生シナリオ生成装置４０が、次のような処理を行う。
即ち、それぞれのセッションの再生シナリオにおいて、セッションの確立部分から開始点まで間のリクエストレスポンスを、再生対象から削除する。但し、画面遷移の制約のあるリクエストレスポンスは開始点より前であっても残し、セッションの確立から画面遷移の制約がないリクエストレスポンスまでを短縮する。これにより、テスト対象システム１０に対して有効な再生シナリオを生成する。
【００３６】
まず、このような再生シナリオの生成方法について概要を説明する。
但し、本実施の形態では、再生シナリオの生成に先立ち、ＨＴＴＰプロトコルでの画面リクエストとそれに対するレスポンスとの対（リクエストレスポンス）からなるトランザクションを次の４つのタイプに分類するので、これらのタイプについて説明しておく。
・ＳＩ（Sequence Insensitive）
セッションが確立していればどの画面からでもリクエスト可能なトランザクションがこのタイプに分類される。例えば、メニュー画面に関するトランザクションである。尚、以降の説明においても「どの画面からでもリクエスト可能」等の文言を用いるが、これは、ある画面からはリクエスト不可能という状態を全く排除する趣旨ではない。即ち、このタイプのトランザクションの集合は、決まったトランザクションの次にしか実行できないという制約のない特定トランザクション群の一例である。本明細書では、このタイプのトランザクションによって表示される画面を「ＳＩ画面」と呼ぶ。このＳＩ画面の集合は、決まった画面からしか遷移できないという制約のない特定画面群の一例である。
・ＳＳ（Sequence Sensitive）
画面遷移の順序を守るために、特定の画面からリクエストされなければ無効とされるトランザクションがこのタイプに分類される。例えば、あるサービス内での一連の複数の入力画面に関するトランザクションである。本明細書では、このタイプのトランザクションによって表示される画面を「ＳＳ画面」と呼ぶ。
・ＬＳ（Login/Logout Sequence）
ユーザセッションの確立又は開放を行うトランザクションがこのタイプに分類される。本明細書では、このタイプのトランザクションによって表示される画面を「ＬＳ画面」と呼ぶ。
・ＯＲ（Orphan）
どの画面からでもリクエスト可能であるが、ＳＳ画面からリクエストされた場合、処理の続行のためには元の画面に戻るしかないトランザクションがこのタイプに分類される。どの画面からでもリクエスト可能という点ではＳＩであるが、別に扱う。例えば、ヘルプ画面をリクエストするトランザクションである。本明細書では、このタイプのトランザクションによって表示される画面を「ＯＲ画面」と呼ぶ。
【００３７】
図２は、ネットワークトレースに記録されたあるユーザの操作についてトランザクション及びそのタイプを示したものである。図中、黒塗りの三角形はリクエストを示し、黒塗りの逆三角形はレスポンスを示す。そして、少なくとも１つのリクエストレスポンスに対して、そのリクエストレスポンスを含むトランザクションが示されている。尚、画面名で表されるトランザクションは、その画面名の画面を表示するトランザクションである。また、各トランザクションに対しては、そのトランザクションが分類される４つのタイプの何れかが示されている。
【００３８】
このようにトランザクションを分類することを前提として、本実施の形態では、次のようにシナリオを変更することにより、再生シナリオを生成する。
図３は、高負荷状態にある時間（例えば１３時）に開始点を設定した場合のシナリオの変更について示したものである。尚、この図では、１つの四角形が１つの画面に関するトランザクション（リクエスト及びレスポンス）を示す。但し、エンベッドされるファイル（ＣＳＳ、ＧＩＦ等）のリクエストは省略している。また、「認証」とあるのは、認証のためのトランザクション（認証シーケンス）を示し、ＳＩｘは、画面遷移の制約のない画面に関するトランザクションを示している。
（ａ）に変更前のシナリオ（元シナリオ）を示し、（ｂ）に変更後のシナリオ（再生シナリオ）を示す。（ａ）のシナリオと（ｂ）のシナリオとを比較すると、開始点でアクティブであったセッションＣ１，Ｃ２，Ｃ４のシナリオに対して、認証シーケンスと、開始点から遡って１つ目のＳＩ画面との間の画面遷移を削除する変更が行われている。これにより、（ｂ）の下部の矢印で示したように、元シナリオの先頭部分は短縮され、開始点直前には認証及び負荷のランプアップを行うシナリオが設定され、開始点以降は高負荷状態でシナリオが再生されるようになっている。
【００３９】
図４は、災害対策のバックアップシステムの切替テストで所望の仮想被災時点を設定した場合のシナリオの変更について示したものである。尚、この図でも、１つの四角形が１つの画面に関するトランザクション（リクエスト及びレスポンス）を示す。但し、エンベッドされるファイル（ＣＳＳ、ＧＩＦ等）のリクエストは省略している。また、「認証」とあるのは、認証のためのトランザクション（認証シーケンス）を示し、ＳＩｘは、画面遷移の制約のない画面に関するトランザクションを示している。
（ａ）に変更前のシナリオ（元シナリオ）を示し、（ｂ）に変更後のシナリオ（再生シナリオ）を示す。（ａ）のシナリオと（ｂ）のシナリオとを比較すると、仮想被災時点でアクティブであったセッションＣ１，Ｃ２，Ｃ４のシナリオに対して、認証シーケンスと、仮想被災時点から遡って１つ目にあったＳＩ画面との間の画面遷移を削除する変更が行われている。そして、これらのセッションについては、仮想被災時点以前に処理は行われず、（ｂ）の下部の矢印で示したように、仮想被災時点以降に、ユーザがログインして処理を再開する状況のシミュレーションが行われるようになっている。
【００４０】
次に、このような動作を実現する再生シナリオ生成装置４０について詳細に説明する。
図５は、再生シナリオ生成装置４０の機能構成例を示したブロック図である。
図示するように、再生シナリオ生成装置４０は、トレース記憶部４１と、統計処理部４２と、統計情報記憶部４３と、ＳＩ評価値算出部４４と、パラメータ取得部４５と、ＳＩ画面決定部４６とを備えている。また、シナリオ取得部４７と、ショートカット処理部４８と、接木処理部４９と、結果情報記憶部５０と、再生速度調整部５１と、問い合わせ部５２と、シナリオ出力部５３とを備える。
【００４１】
トレース記憶部４１は、ネットワーク８５上のネットワークトレース（以下、単に「トレース」という）を記憶する。本実施の形態では、複数のトランザクションを記録した記録データの一例として、トレースを用いており、記録データを蓄積する蓄積部の一例として、トレース記憶部４１を設けている。
【００４２】
統計処理部４２は、トレース記憶部４１に記憶されたトレースを対象として統計処理を行い、統計情報を出力する。具体的には、詳細は後述するが、遷移元画面数、遷移先画面数、出現回数、画面遷移情報（最小遷移画面数、最短画面遷移、不一致フラグ）を出力する。また、トレースに対する前処理として、ＬＳ画面（例えば認証画面）及びＯＲ画面を特定する処理も行う。即ち、本実施の形態では、クライアントとサーバとの間でセッションを確立するための第１の画面の一例として、認証画面を用いており、第１の画面を特定する第１の特定部の一例として、統計処理部４２を設けている。
【００４３】
統計情報記憶部４３は、統計処理部４２により出力された統計情報を記憶する。具体的には、詳細は後述するが、遷移元画面数、遷移先画面数、出現回数、画面遷移情報（最小遷移画面数、最短画面遷移、不一致フラグ）を記憶する。本実施の形態では、最もトランザクション数の少ないトランザクション群を記録した記録データの一例として、最短画面遷移を用いており、このような記録データを記憶する記憶部の一例として、統計情報記憶部４３を設けている。
【００４４】
ＳＩ評価値算出部４４は、統計情報記憶部４３に記憶された統計情報に予め定めたＳＩ画面判別のための評価関数を適用し、画面ごとに、ＳＩ画面を判別するための評価値（以下、「ＳＩ評価値」という）を算出して付加する。
パラメータ取得部４５は、ユーザが再生シナリオ生成装置４０に入力したパラメータを取得する。ここで、パラメータは、詳細は後述するが、ＳＩ判定基準値、短縮結果判定基準値、再生速度調整基準値を含む。
【００４５】
ＳＩ画面決定部４６は、ＳＩ評価値算出部４４により算出された各画面のＳＩ評価値と、パラメータ取得部４５により取得されたパラメータに含まれるＳＩ判定基準値とを比較することにより、ＳＩ画面を決定する。本実施の形態では、特定トランザクション群を決定する決定部の一例として、又は、特定画面群を特定する第２の特定部の一例として、ＳＩ画面決定部４６を設けている。
【００４６】
シナリオ取得部４７は、データ収集サーバ３０により出力されたソート済みのネットワークトラフィックに基づいて、セッションごとのシナリオを取得する。本実施の形態では、特定のセッションで実行されたトランザクションを記録した記録データの一例として、又は、特定のセッションで表示された画面の情報を記録した記録データの一例として、シナリオを用いている。また、記録データを取得する取得部の一例として、シナリオ取得部４７を設けている。
【００４７】
ショートカット処理部４８は、シナリオ取得部４７が取得したシナリオに対し、ショートカットによる短縮処理を行い、短縮後のシナリオを出力する。尚、ショートカットによる短縮処理については後述する。本実施の形態では、記録データを縮減する縮減処理の一例として、短縮処理を行っており、記録データを削除する縮減処理の一例として、又は、第１の縮減処理の一例として、ショートカットによる短縮処理を行っている。また、トランザクションを再生するための再生用データの一例として、又は、画面を再生するための再生用データの一例として、短縮後のシナリオを用いている。更に、再生用データを生成する生成部の一例として、又は、第１の再生用データを生成する生成部の一例として、ショートカット処理部４８を設けている。
【００４８】
接木処理部４９は、シナリオ取得部４７が取得したシナリオに対し、接木による短縮処理を行い、短縮後のシナリオを出力する。尚、接木による短縮処理については後述する。本実施の形態では、記録データを置換する縮減処理の一例として、又は、第２の縮減処理の一例として、接木による短縮処理を行っている。また、再生用データを生成する生成部の一例として、又は、第２の再生用データを生成する生成部の一例として、接木処理部４９を設けている。
【００４９】
結果情報記憶部５０は、ショートカット処理部４８によるシナリオの短縮結果に関する結果情報と、接木処理部４９によるシナリオの短縮結果に関する結果情報とを記憶する。
再生速度調整部５１は、ショートカット処理部４８又は接木処理部４９により短縮されたシナリオに含まれるトランザクションの開始時間と再生速度を調整する。
【００５０】
問い合わせ部５２は、結果情報記憶部５０に記憶された結果情報を、表示機構９０ｄ（図１５参照）に出力し、ユーザにより入力された情報を取得する。本実施の形態では、縮減効果に関する情報を出力する出力手段の一例として、問い合わせ部５２を設けている。
【００５１】
シナリオ出力部５３は、ショートカット処理部４８又は接木処理部４９により出力された短縮後のシナリオを負荷発生サーバ６０に出力する。本実施の形態では、再生用データを出力する出力部の一例として、シナリオ出力部５３を設けている。
【００５２】
次いで、この再生シナリオ生成装置４０の動作について説明する。尚、この動作に先立ち、データ収集サーバ３０から取得したトレースがトレース記憶部４１に記憶されているものとする。
図６は、再生シナリオ生成装置４０がトレースを用いて統計処理を行う際の動作例を示したフローチャートである。
図示するように、再生シナリオ生成装置４０では、まず、統計処理部４２が、トレース記憶部４１に記憶されたトレースに対して、前処理を行う（ステップ４０１）。前処理では、例えば、ＬＳ、ＯＲのトランザクションを特定する。ここで、ＬＳ、ＯＲのトランザクションは、システム固有情報として、予め与えるものとする。この予め与える情報は、システムの基本設計情報から得られる。或いは、トレース情報から読み取ってもよい。
【００５３】
次に、統計処理部４２は、トレース記憶部４１に記憶された全てのトレースを用いて画面遷移に関する統計処理を行う（ステップ４０２）。具体的には、画面遷移を解析すると共に、画面ごとにログインからの画面数が最小の画面遷移（最短画面遷移）を求める。
これにより、ＳＩ評価値算出部４４が、画面ごとにＳＩ評価値を算出し、統計情報記憶部４３に該当する画面に対応付けて記憶する（ステップ４０３）。
尚、この統計処理部４２及びＳＩ評価値算出部４４の処理は、シナリオの短縮処理に先立って事前に実行しておいてもよい。
【００５４】
その後、再生シナリオ生成装置４０では、シナリオの短縮処理が行われる。
図７は、再生シナリオ生成装置４０がシナリオ短縮処理を行う際の動作例を示したフローチャートである。
まず、ユーザがパラメータを入力すると、図示するように、再生シナリオ生成装置４０では、パラメータ取得部４５が、その入力されたパラメータを取得する（ステップ４２１）。具体的には、入力されるパラメータには、ＳＩ判定基準値、短縮結果判定基準値、再生速度調整基準値があるので、パラメータ取得部４５は、これらの各基準値を取得する。
すると、ＳＩ画面決定部４６は、ステップ４０３で算出されたＳＩ評価値と、ステップ４２１で取得したパラメータのうちのＳＩ判定基準値とを比較することにより、ＳＩ画面を決定する（ステップ４２２）。ＳＩ画面はこのように再生シナリオ生成装置４０が自動判別するが、ＳＩ画面と判明している画面があれば、その画面についてだけでもＳＩ画面である旨の情報を予め与えておいてよい。
【００５５】
次に、シナリオ取得部４７は、トレース記憶部４１に記憶されたトレースの中から、開始点でアクティブなセッションのシナリオを読み込む（ステップ４２３）。そして、全てのセッションのシナリオを処理したかどうかを判定する（ステップ４２４）。
ここで、全てのセッションのシナリオを処理していないと判定されれば、ショートカット処理部４８は、ステップ４２３で読み込んだシナリオに対してショートカットによる短縮処理を行う（ステップ４２５）。即ち、開始点から前に向かってＳＩ画面を探索し、ＳＩ画面が見つかった場合に、ログインから後ろに向かって同じＳＩ画面を探索する。そして、同じＳＩ画面が見つかった場合に、これらの同じＳＩ画面の間をカットする。
【００５６】
次に、ショートカット処理部４８は、ステップ４２５での短縮結果が、ステップ４２１で取得したパラメータのうちの短縮結果判定基準値を満たしているかどうかを判定する（ステップ４２６）。
その結果、短縮結果判定基準値を満たしていると判定されれば、ショートカット処理部４８は、ショートカットによる短縮処理の結果に関する結果情報を結果情報記憶部５０に記憶する（ステップ４２７）。この結果情報には、例えば、ショートカットによる短縮処理が行われたセッションの件数、ショートカットによる短縮処理の結果の最大値、最小値、平均値がある。そして、ステップ４２３へ戻り、次のセッションについての処理を行う。
【００５７】
一方、短縮結果判定基準値を満たしていないと判定されれば、接木処理部４９は、ステップ４２３で読み込んだシナリオに対して接木による短縮処理を行う（ステップ４２８）。即ち、開始点から前に向かってＳＩ画面を探索し、統計情報記憶部４３に記憶された最短画面遷移をＳＩ画面の前に接続する。その後、接木処理部４９は、接木による短縮処理の結果に関する結果情報を結果情報記憶部５０に記憶する（ステップ４２９）。この結果情報には、例えば、接木による短縮処理が行われたセッションの件数、接木による短縮処理の結果の最大値、最小値、平均値がある。そして、ステップ４２３へ戻り、次のセッションについての処理を行う。
【００５８】
即ち、このシナリオの短縮処理では、開始点でアクティブなセッションを抽出し、それぞれのセッションに対して短縮処理を行う。セッション内のトランザクションはデフォルトをＳＳとし、その中からＬＳ、ＯＲ、ＳＩと判定されるトランザクションを探す方式を採用する。従って、ＳＩのトランザクションをＳＩと判定できない場合には、そのトランザクションはＳＳとして扱われることにより、前後の画面遷移が変更されることはないので、再生シナリオが不正になることはない。
【００５９】
このようにして全てのセッションについて処理を行い、ステップ４２４で全てのセッションのシナリオを処理したと判定されたとする。すると、再生シナリオ生成装置４０は後処理を行う。
図８は、再生シナリオ生成装置４０が後処理を行う際の動作例を示したフローチャートである。
図示するように、再生シナリオ生成装置４０では、まず、再生速度調整部５１が、ステップ４２５又はステップ４２８による短縮後のシナリオの再生速度を調整する（ステップ４４１）。このとき、再生速度調整部５１は、シナリオの開始時間の調整も行う。
また、問い合わせ部５２が、結果情報記憶部５０に記憶された結果情報及び再生速度調整部５１により調整された再生速度を表示機構９０ｄ（図１５参照）に出力する（ステップ４４２）。これにより、表示機構９０ｄ（図１５参照）に結果情報及び再生速度が表示される。
【００６０】
これに応答して、ユーザがテスト要件を満たしているかどうかを示す情報を入力すると、問い合わせ部５２が、この情報を受け付け、テスト要件を満たしている旨の情報かどうかを判定する（ステップ４４３）。ここで、テスト要件を満たしている旨の情報であると判定されれば、シナリオ出力部５３は、短縮後のシナリオを負荷発生サーバ６０に出力する（ステップ４４４）。
【００６１】
以下、図６〜図８の各ステップでの処理について更に詳しく説明する。
（図６のステップ４０１）
このステップで、統計処理部４２は、テスト対象システム１０の大量のトレースを対象に前処理を行う。ここで、「大量」とは、これ以上トレースを増加させても、ステップ４０２で画面数がより少ない新たな最短画面遷移が求められることがなく、かつ、ステップ４０３で算出されるＳＩ評価値が収束して変化しない程度の量をいう。
また、前処理とは、具体的には次のような処理である。
即ち、まず、ユーザが認証画面、ＯＲ画面等を特定し、再生シナリオ生成装置４０に入力することにより、各セッションのシナリオで認証画面を判別し、ＯＲ画面を以降の処理で無視されるように隠す処理である。ここで、ＯＲ画面を隠す処理としては、例えば、ＯＲ画面を前画面の付随画面とする処理が考えられる。また、画面にエンベッドされる画像ファイルやスタイルシートのリクエストレスポンスも隠すことで、画面を構成するＨＴＭＬファイルに関するＨＴＴＰリクエスト及びＨＴＭＬレスポンスのみが処理対象となるようにする処理である。
【００６２】
図９（ａ）は、ＯＲ画面を隠すときの様子を模式的に示した図である。
図では、画面４，５，１１をＯＲ画面としている。上段は、ＯＲ画面を隠す前のセッションのシナリオを示しており、ＯＲ画面に関するリクエストレスポンスも処理対象となっている。一方、下段では、画面４，５が画面３，６の間に、画面１１が画面１０，１２の間に、それぞれ隠れており、ＯＲ画面に関するリクエストレスポンスは処理対象となっていない。
また、図９（ｂ）は、ユーザＡ〜ＥのセッションにおけるＯＲ画面を隠した後のシナリオの具体例を示したものである。（ａ）では各画面を番号で示したが、（ｂ）では認証画面以外の各画面はＵＲＬ（Uniform Resource Locator）で示している。
以下では、この具体例を用いて、ＳＩ画面の自動判別方法を説明する。
【００６３】
（図６のステップ４０２）
このステップで、統計処理部４２は、トレースを用いて画面遷移を解析し、解析結果である統計情報を統計情報記憶部４３に記憶する。そして、以降のステップでこの統計情報が使用できるようにする。
図１０は、統計情報記憶部４３に記憶された統計情報の例を示した図である。ここでは、図９（ｂ）に示したシナリオの例から得られる統計情報の例を示している。
図示するように、統計情報は、画面ごとに、遷移元画面数と、遷移先画面数と、出現回数と、画面遷移情報とを含む。遷移元画面数は、その画面への遷移元の画面の数を示し、遷移先画面数は、その画面からの遷移先の画面の数を示し、出現回数は、その画面がトレースに出現した回数を示す。また、画面遷移情報は、認証画面からその画面までの最短経路における画面遷移に関する情報を示すものであり、最小遷移画面数と、最短画面遷移と、不一致フラグとを含む。最小遷移画面数は、最短経路における遷移した画面の数を示し、最短画面遷移は、最短経路における実際の画面の遷移を示し、不一致フラグは最短画面遷移内でポストデータが一致しない画面遷移があることを示す。
【００６４】
ここで、統計処理部４２は、これらの情報のうち遷移元画面数及び遷移先画面数を、次のようにして求める。即ち、まず、トレースから画面を取得するごとに、その画面がどの画面から遷移してきたものであるか、つまり、その画面の前画面を求める。その画面の対するＨＴＴＰリクエストのＨＴＴＰヘッダにrefererが含まれていれば、それに基づいて前画面を判別する。その画面に対するＨＴＴＰリクエストのＨＴＴＰヘッダにrefererが含まれていなければ、トレースを遡って前画面を求める。そして、全ての画面について前画面の情報を累積し、遷移元画面数及び遷移先画面数を求める。
【００６５】
また、統計処理部４２は、これらの情報のうち出現回数を、次のようにして求める。即ち、トレースから画面を取得するごとに、その画面に対して設けたカウンタをカウントアップすることにより、出現回数を求める。
【００６６】
更に、統計処理部４２は、これらの情報のうち最小遷移画面数、最短画面遷移、不一致フラグを、次のようにして求める。即ち、まず、トレースから画面を取得するごとに、認証画面からその画面に至るまでの経路における、遷移した画面の数（遷移画面数）と、画面遷移と、ポストデータとを記録する。そして、今回の遷移画面数が前回までの遷移画面数のどれよりも小さい場合は、今回の遷移画面数を最小遷移画面数として統計情報記憶部４３に記憶すると共に、今回の画面遷移を最短画面遷移として統計情報記憶部４３に記憶する。また、今回の遷移画面数が前回までに記録された最小遷移画面数と同じであっても、今回の遷移画面中に含まれるポストデータが前回までのポストデータと異なる場合は、統計情報記憶部４３に記憶された不一致フラグに１を加算する。
【００６７】
図１１は、図９（ｂ）に示したシナリオの例における画面の遷移を表す画面遷移図である。ここでは、２つ以上の画面から遷移した画面を丸で囲んで示している。また、丸で囲んだ画面について、遷移元画面数を括弧内に示している。図１０に示した統計情報における各値は、この画面遷移図によって理解が容易になる。
【００６８】
（図６のステップ４０３）
このステップで、ＳＩ評価値算出部４４は、ＳＩ画面を判定するための評価関数を用いて、画面ごとのＳＩ評価値を算出する。
ここで、評価関数の一般形は、ＳＩ評価値をｙとすると、関数ｆを用いて「ｙ＝ｆ（遷移元画面数、遷移先画面数、出現回数、最小遷移画面数、システムの既知情報）」と定義される。
即ち、遷移元画面数が大きければ、ＳＩ画面である可能性が高いのは自明である。更に遷移先画面数も大きい場合は、例えばメニューのような画面が想定されるが、遷移先画面数が１又は小さい数の場合は、例えば一連の繰り返し処理の入口の画面が想定される。最小遷移画面数が小さい場合は、ＳＩ画面である可能性が高く、最小遷移画面数が大きい場合は、ＳＩ画面である可能性が低いことが想定される。また、システムの既知情報とは、ＳＩ画面であること又はＳＳ画面であることがシステムの情報として事前に分かっていれば、その情報を取り込むことを示している。
【００６９】
尚、評価関数は、上記一般形でなく、例えば「ｙ＝遷移元画面数」のように定義してもよい。この場合、遷移先画面数等は使用しないので、ステップ４０２で遷移先画面数等を求める必要はない。評価関数をこのように定義してもＳＩ画面の判定において有効であることは実証済みである。
そして、ＳＩ評価値算出部４４は、ステップ４０２で統計情報記憶部４３に記憶された統計情報に対して、画面ごとにＳＩ評価値を付加する。
【００７０】
（図７のステップ４２１）
このステップで、パラメータ取得部４５は、次のようなパラメータを取得する。
第一に、ＳＩ判定基準値である。これは、上記評価関数を用いて求めたＳＩ評価値に対するクライテリアである。クライテリアｃは、関数ｇを用いて「ｃ＝ｇ（ｍ，ｌ，ａ）」と定義される。ここで、ｍは対象システムの規模（例えば画面数）であり、ｌは対象システムの画面遷移の特徴であり、ａは判定の安全係数である。そこで、クライテリアは、このことを考慮し、判定の安全係数を含めて任意に決定される。尚、クライテリアを決定する際は、ステップ４０２の結果も参照できる。即ち、処理結果に応じてクライテリアを調整できるので、安全係数を大きめにしたクライテリアで処理をスタートできる。
第二に、短縮結果判定基準値である。これについては図７のステップ４２６で詳しく述べる。
第三に、再生速度調整基準値である。これについては図８のステップ４４１で詳しく述べる。
【００７１】
（図７のステップ４２２）
このステップで、ＳＩ画面決定部４６は、ステップ４０３で算出したＳＩ評価値が、ステップ４２１で取得したＳＩ判定基準値よりも大きい画面を、ＳＩ画面と判定する。例えば、評価関数を「ｙ＝遷移元画面数」とし、ＳＩ判定基準値を「２」とした場合、「ＵＲＬ１」、「ＵＲＬ４」、「ＵＲＬ９０」、「ＵＲＬ９４」の画面が、２つ以上の画面の遷移先であるので、ＳＩ画面と判定される。
尚、ＳＩ評価値を遷移先画面数又は出現回数とした場合も、ＳＩ評価値がＳＩ判定基準値よりも大きい画面をＳＩ画面と判定すればよい。一方、ＳＩ評価値を最小遷移画面数とした場合は、ＳＩ評価値がＳＩ判定基準値よりも小さい画面をＳＩ画面と判定することになる。
【００７２】
（図７のステップ４２３）
このステップで、シナリオ取得部４７は、開始点でアクティブなセッションのシナリオを読み込む。即ち、開始点を跨ぐセッション、換言すれば、開始点の前後にリクエストを含むセッションを短縮処理の対象として１つずつ読み込む。一方、開始点の前に終了しているセッションは、再生する必要がないため、短縮処理の対象としない。また、開始点の後のトレースに認証シーケンスを含むセッションのシナリオは変更する必要がないので、短縮処理の対象とせず、そのまま負荷発生サーバ６０に出力する。
【００７３】
（図７のステップ４２５）
このステップで、ショートカット処理部４８は、セッションのシナリオに対して、ショートカットによる短縮処理を行う。
ここで、ショートカットによる短縮処理とは、セッション内に同じＳＩ画面がある場合にそれらのＳＩ画面の間の画面遷移を削除する処理である。
ショートカット処理部４８は、具体的には、次の手順でショートカット処理を行う。
即ち、Ａ１で、ショートカット処理部４８は、開始点における画面を探索開始画面とし、処理をＡ２へ進める。
Ａ２で、ショートカット処理部４８は、探索開始画面から前方にＳＩ画面を探索する。そして、Ａ３で、ＳＩ画面がヒットしたかどうかを判定し、ヒットしたら処理をＡ４へ進め、ヒットしなかったら処理を終了させる。
Ａ４で、ショートカット処理部４８は、認証画面から後方に同じＳＩ画面を探索する。そして、Ａ５で、同じＳＩ画面があるかどうかを判定し、同じＳＩ画面があれば処理をＡ６へ進め、同じＳＩ画面がなければ処理をＡ７へ進める。
Ａ６で、ショートカット処理部４８は、それらのＳＩ画面の間の画面遷移をセッションから削除し、処理をＡ７へ進める。
Ａ７で、ショートカット処理部４８は、ヒットしたＳＩ画面を新たに探索開始画面とし、処理をＡ２へ戻し、認証画面に到達するまで繰り返す。
【００７４】
図１２は、このようなショートカットによる短縮処理について模式的に示した図である。
このうち、上段は、ショートカットを行う前のセッションＣ２のシナリオを示す。
Ａ１で、画面１２が探索開始画面となる。
Ａ２で、画面１２から前方に、破線の矢印で示すように、ＳＩ画面が探索され、Ａ３で、画面ＳＩ３がヒットする。
Ａ４で、認証画面から後方に、点線の矢印で示すように、ヒットしたＳＩ画面と同じ画面が探索され、Ａ５で、画面ＳＩ３がヒットする。
Ａ６で、セッションからこの２つの画面ＳＩ３の間の画面４，・・・，８が削除される。
その結果、セッションＣ２のシナリオは、下段に示すようなものとなる。認証画面、画面２、画面ＳＩ３、画面１３についてのみ、上段と下段との対応を実線の矢印で示している。
【００７５】
（図７のステップ４２６）
このステップで、ショートカット処理部４８は、ステップ４２５での短縮が十分かどうか評価し、不十分な場合は、ステップ４２８の短縮処理を行う。
このため、短縮後のシナリオにおける認証画面から開始点までの画面数をカウントし、ステップ４２１で取得した短縮結果判定基準値と比較する。
短縮結果判定基準値は、例えば、対象システムにおいて、１つのサービス（割り込みが許されない画面遷移）における遷移画面数が、サービス全体の約５０％から、約８０〜９０％までをカバーする画面遷移数又はその倍数を考慮して任意に設定するとよい。
また、この短縮結果判定基準値を調整することにより、ステップ４２５のショートカットとステップ４２８の接木の短縮処理における適用優先度を調整することができる。
【００７６】
（図７のステップ４２７）
このステップで、ショートカット処理部４８は、ショートカットによる短縮処理の結果に関する結果情報を保存する。具体的には、短縮後のシナリオを保管すると共に、ＳＩ画面間のショートカットによる短縮処理が行われたことを示すフラグを保管する。また、ＳＩ画面間のショートカットによる短縮が行われたセッションのカウントをアップし、開始点までの画面数に関する情報（例えば、最大値、最小値、平均値）を更新する。
【００７７】
（図７のステップ４２８）
このステップで、接木処理部４９は、セッションのシナリオに対して、接木による短縮処理を行う。
ここで、接木による短縮処理とは、セッション内の認証画面からＳＩ画面までの画面遷移を最短画面遷移に置き換える処理である。
接木処理部４９は、具体的には、次の手順で接木処理を行う。
即ち、Ｂ１で、接木処理部４９は、開始点における画面を探索開始画面とし、処理をＢ２へ進める。
Ｂ２で、接木処理部４９は、探索開始画面から前方にＳＩ画面を探索する。そして、Ｂ３で、ＳＩ画面がヒットしたかどうかを判定し、ヒットしたら処理をＢ４へ進め、ヒットしなかったら処理を終了させる。
Ｂ４で、接木処理部４９は、ヒットしたＳＩ画面に対する不一致フラグを統計情報記憶部４３に記憶された統計情報から読み取る。そして、Ｂ５で、不一致フラグが０であるかどうかを判定し、０であれば処理をＢ６へ進め、０でなければ処理をＢ９へ進める。
Ｂ６で、接木処理部４９は、ヒットしたＳＩ画面に対する最短画面遷移を統計情報記憶部４３に記憶された統計情報から読み取る。そして、Ｂ７で、認証画面からそのＳＩ画面までの当初の画面遷移が最短画面遷移と同じかどうかを判定し、同じでなければ処理をＢ８へ進め、同じであれば処理をＢ９へ進める。
Ｂ８で、接木処理部４９は、認証画面からそのＳＩ画面までの当初の画面遷移を削除し、最短画面遷移に置き換え、処理をＢ９へ進める。
Ｂ９で、接木処理部４９は、ヒットしたＳＩ画面を新たに探索開始画面とし、処理をＢ２へ戻し、認証画面に到達するまで繰り返す。
【００７８】
図１３は、このような接木による短縮処理について模式的に示した図である。
このうち、上段は、接木を行う前のセッションＣ２のシナリオを示す。
Ｂ１で、画面１２が探索開始画面となる。
Ｂ２で、画面１２から前方に、破線の矢印で示すように、ＳＩ画面が探索され、Ｂ３で、画面ＳＩ９がヒットする。
Ｂ４で、画面ＳＩ９に対する不一致フラグが読み取られ、Ｂ５で、その不一致フラグが０と判定され、Ｂ６で、下段に示すセッションＤの認証画面から画面ＳＩ９までの画面Ｄ１，Ｄ２が最短画面遷移として読み取られる。
Ｂ７で、画面Ｄ１，Ｄ２は、セッションＣ２の認証画面から画面ＳＩ９までの画面遷移と同じでないと判定されるので、Ｂ８で、セッションＣ２の認証画面と画面ＳＩ９の間の画面１，２，ＳＩ３，４，・・・，８が削除され、画面Ｄ１，Ｄ２に置き換えられる。
その結果、セッションＣ２のシナリオは、中段に示すようなものとなる。
【００７９】
尚、この例では、認証画面から後方に探索して見つかるＳＩ画面は画面ＳＩ３であり、画面ＳＩ９と異なるので、セッション内でのショートカットによる短縮処理は行えない。従って、このセッションにおける認証画面から画面ＳＩ９までの画面遷移を、認証画面から画面ＳＩ９までの記録されている最短画面遷移で置き換えることにより、セッションのシナリオを短縮している。
【００８０】
（図７のステップ４２９）
このステップで、接木処理部４９は、接木による短縮処理の結果に関する結果情報を保存する。具体的には、短縮後のシナリオを保管すると共に、最短画面遷移を接木する短縮処理が行われたことを示すフラグを保管する。また、最短画面遷移の接木による短縮処理が行われたセッションのカウントをアップし、開始点までの画面数に関する情報（例えば、最大値、最小値、平均値）を更新する。
一方、接木による短縮処理が行われなかった場合は、短縮処理が適用されなかったことを示すフラグをセッションのシナリオに付加する。また、短縮処理が行われなかったセッションのカウントをアップし、開始点までの画面数に関する情報（例えば、最大値、最小値、平均値）を更新する。
【００８１】
尚、図７のステップ４２５の短縮処理及び又は図７のステップ４２８の短縮処理は、何れも、認証画面から、開始点以前のＳＩ画面までの間の画面遷移を短縮するものであった。しかしながら、認証画面から開始点直前のＳＩ画面から開始点までの間の処理の結果が、ＤＢアクセスによるデータ更新等で既にサーバに反映されているなどの場合は、開始点から後ろを検索し、認証画面から開始点以降の最初に現れるＳＩ画面までを短縮処理の対象としてもよい。
【００８２】
（図８のステップ４４１）
対象セッションの短縮処理が終了すると、このステップで、再生速度調整部５１は、トランザクションの再生速度を調整する。
これは、短縮処理がなされたセッションでは、トランザクションの再生タイミングが実際に再生するのに適したタイミングではなくなるので、タイミングの整合をとる必要があるからである。開始点までの時間帯のうちトランザクションが多い時間帯においては、トランザクションの再生速度を遅くする。つまり、トランザクションの再生に要求する時間を延ばす。一方、開始点までの時間帯のうちトランザクションが少ない時間帯においては、トランザクションの再生速度を速める。つまり、トランザクションの再生に要する時間を短縮する。これにより、対象システムの許容量を超えるトランザクションの発生を抑え、かつ、開始点までの再生時間の短縮を図る。尚、バックアップシステムのテストの場合には、短縮処理の対象となったセッションの開始時間を仮想被災時点後にする調整も行う。
【００８３】
図１４は、この再生速度の調整の様子を模式的に示した図である。図中、黒塗りの四角形が認証画面を示し、斜線ハッチングを施した四角形がＳＩ画面を示す。
短縮処理の結果が図のようになった場合、１つのセッションだけが再生される時間帯は、下の矢印で示すように、加速再生が可能である。また、その後、再生されるセッションが多くなってくると、下の矢印で示すように、普通又は減速再生が行われる。そして、開始点以降は、実際のトランザクションの再生と同じ速度での再生、つまり等速再生が行われることになる。
【００８４】
ここで、再生速度の調整は、例えば次のように行う。
単位時間当たりのトランザクション数が最大値のｘｘ％以下の時間帯は、ｘｘ％を上限として加速再生する。
単位時間当たりのトランザクション数が最大値のｘｘ％以上の時間帯は、ｘｘ％を超えないように減速再生する。
但し、ｘｘ％はシステムに固有な安全率をユーザが定めたもので、ステップ４２１で取得したパラメータの１つである。トランザクションによる処理の重さの違いが不明である場合に重いトランザクションが重なると、トランザクション数の最大値以下でも対象システムの許容量を超えるリスクがあるため、安全率を取り入れている。安全率を小さくすると、このようなリスクは減少するが、開始点までの再生時間は延びることになる。
【００８５】
（図８のステップ４４２）
このステップで、問い合わせ部５２は、これまでの処理で求められた情報を表示機構９０ｄ（図１５参照）に出力し、表示機構９０ｄ（図１５参照）にて情報が表示される。
具体的には、以下の情報が表示される。
まず、再生速度調整部５１による再生速度の調整結果の情報として、開始点までに要する再生時間と、各時刻における単位時間当たりのトランザクション数とが表示される。
また、ＳＩ画面間のショートカットによる短縮処理が行われたセッションに関する情報として、そのような短縮処理が行われたセッションの数、そのような短縮処理が行われたセッションにおける開始点までの画面数の最大値、最小値、平均値が表示される。
更に、最短画面遷移の接木による短縮処理が行われたセッションに関する情報として、そのような短縮処理が行われたセッションの数、そのような短縮処理が行われたセッションにおける開始点までの画面数の最大値、最小値、平均値が表示される。
更にまた、短縮処理が行われなかったセッションに関する情報として、短縮処理が行われなかったセッションの数、短縮処理が行われなかったセッションにおける開始点までの画面数の最大値、最小値、平均値が表示される。
【００８６】
（図８のステップ４４３）
このステップで、問い合わせ部５２は、ステップ４４２で表示された情報に対してユーザが十分に短縮されたと考えているかどうかを判定する。
ユーザが短縮結果を不十分だと考えていることが分かれば、ステップ４２１に戻り、パラメータを再度入力させて処理を行う。
【００８７】
（図８のステップ４４４）
ユーザが短縮結果を十分だと考えていることが分かれば、このステップで、シナリオ出力部５３は、結果情報記憶部５０に記憶された短縮後のセッションのシナリオと、再生速度調整部５１から得られた再生速度の調整結果とを出力し、後段の負荷発生サーバ６０の入力とする。
【００８８】
このように、本実施の形態では、本番稼動しているシステムの開始点のＤＢのスナップショットと、開始点以降のネットワークトラフィックをキャプチャしたトレースとを用意し、ＤＢのスナップショットを復元したテスト環境で開始点以降のネットワークトラフィックを再生することにより、本番環境と同等の多様性及び負荷によるテストを実行可能とするテストシステムにおいて、次のような構成を備えている。
１．キャプチャしたネットワークトラフィックを解析し、ユーザセッションが確立していればどの画面からでも遷移できる可能性の高い画面（例えば、メニュー画面）を自動判別する。
２．これにより、分割することのできない一連の画面遷移を割り出す。
３．ユーザごとに分類したネットワークトレースにおける開始点の時刻から分割できない画面遷移を遡り、１で判別された画面以降は、画面遷移をそのまま再生することとする。
４．ログイン画面から１で判別された画面までの間の画面遷移を、２つのロジックを確実性が高いと考えられる順に適用することにより短縮する。
５．２つのロジックのうちの適切なロジックを、短縮の効果を評価することにより自動選択し、キャプチャしたトラフィック中の開始点でアクティブなユーザセッションからも実行可能な再生シナリオ（トラフィック）を生成して再生する。
【００８９】
これにより、従来は困難であった以下のようなテストのためのシナリオを自動生成することが可能となる。
・例えば業務開始時から業務終了時又は休憩時までログオフすることなく、複数の業務を順次実行するような業務システムにおいて、業務開始時からの全トラフィックを再生することなく、ピーク時直前からのトラフィックを生成して実施するようなテスト。
・災害対策システムにおいて、障害復旧直後からの業務再開を想定したトラフィックを生成して実施するようなテスト。
【００９０】
尚、本実施の形態では、ショートカットによる短縮処理を先に適用し、この短縮処理の結果が短縮結果判定基準値を満たさなかった場合に、接木による短縮処理を適用するようにしたが、これには限らない。例えば、ショートカットによる短縮処理と接木による短縮処理とを並行して適用し、これらの短縮処理の結果を比較して適切な短縮処理を選択するようにしてもよい。或いは、ショートカットによる短縮処理、及び、接木による短縮処理の何れか一方のみを適用することとしてもよい。
【００９１】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図１５は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるＣＰＵ（Central Processing Unit）９０ａと、Ｍ／Ｂ（マザーボード）チップセット９０ｂを介してＣＰＵ９０ａに接続されたメインメモリ９０ｃと、同じくＭ／Ｂチップセット９０ｂを介してＣＰＵ９０ａに接続された表示機構９０ｄとを備える。また、Ｍ／Ｂチップセット９０ｂには、ブリッジ回路９０ｅを介して、ネットワークインターフェイス９０ｆと、磁気ディスク装置（ＨＤＤ）９０ｇと、音声機構９０ｈと、キーボード／マウス９０ｉと、フレキシブルディスクドライブ９０ｊとが接続されている。
【００９２】
尚、図１５において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ９０ａとＭ／Ｂチップセット９０ｂの間や、Ｍ／Ｂチップセット９０ｂとメインメモリ９０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット９０ｂと表示機構９０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構９０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット９０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路９０ｅと接続する場合、ネットワークインターフェイス９０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置９０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス９０ｉ、及び、フレキシブルディスクドライブ９０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【００９３】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【００９４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００９５】
１０…テスト対象システム、２０…クライアント、３０…データ収集サーバ、４０…再生シナリオ生成装置、４１…トレース記憶部、４２…統計処理部、４３…統計情報記憶部、４４…ＳＩ評価値算出部、４５…パラメータ取得部、４６…ＳＩ画面決定部、４７…シナリオ取得部、４８…ショートカット処理部、４９…接木処理部、５０…結果情報記憶部、５１…再生速度調整部、５２…問い合わせ部、５３…シナリオ出力部、６０…負荷発生サーバ、７０…ロードバランサ、８０，８５…ネットワーク
【図１】
0005648186.tif 000002
【図２】
0005648186.tif 000003
【図３】
0005648186.tif 000004
【図４】
0005648186.tif 000005
【図５】
0005648186.tif 000006
【図６】
0005648186.tif 000007
【図７】
0005648186.tif 000008
【図８】
0005648186.tif 000009
【図９】
0005648186.tif 000010
【図１０】
0005648186.tif 000011
【図１１】
0005648186.tif 000012
【図１２】
0005648186.tif 000013
【図１３】
0005648186.tif 000014
【図１４】
0005648186.tif 000015
【図１５】
0005648186.tif 000016