(57)【要約】      （修正有）【課題】テストの実施に際し、テストを実施するＷｅｂアプリケーションへのアクセスを再現し、また、テストによって被テストＷｅｂアプリケーションまたは他のＷｅｂアプリケーションへ及ぼす影響をテストする。【解決手段】基本情報記録手段１００によりＷｅｂアプリケーションの情報を取得し、内部状態再現情報生成部１１０においてリクエスト、レスポンスおよび操作データからＷｅｂアプリケーションの内部状態再現手順を生成する。内部状態再現部１２０により、前記再現手順に従いＷｅｂアプリケーションへアクセスし、テスト実施部１３１によりテストルールデータベース１３３に基づきＷｅｂアプリケーションのテストを実施しテスト結果を得る。テスト影響判定部１４０にて前記テスト結果の影響を受けたＷｅｂアプリケーションの有無を判定し、テストの継続を実現するために内部状態再現部１２０にてテストの影響をテスト実施前の状態に再現する。【選択図】図１
2009301252.tif 000002
【特許請求の範囲】
【請求項１】
稼働しているＷｅｂアプリケーションをテストするＷｅｂアプリケーションテストプログラムにおいて、
コンピューターを、
テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、
Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、
Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、
Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、ならびに
テスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションまたは他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段
として機能させることを特徴とするＷｅｂアプリケーションテストプログラム。
【請求項２】
前記内部状態再現情報生成手段が、
前記基本情報記録部において記録されたＷｅｂアプリケーションのリクエスト・レスポンス情報に基づいてＷｅｂアプリケーションの内部状態の再現手順を生成する内部状態再現手順生成手段、
内部状態再現用操作データを指定し、指定された操作データに基づいて生成された内部状態再現手順を変更する内部状態再現手順再構築手段、および
生成または再構築された内部状態再現手順を表示する内部状態再現手順表示手段
を備えることを特徴とする請求項１に記載のＷｅｂアプリケーションテストプログラム。
【請求項３】
前記内部状態再現情報生成手段が、
生成または再構築された内部状態再現手順から画面遷移図を生成する手段、および
生成された画面遷移図を表示する手段を備えることを特徴とする請求項１または２に記載のＷｅｂアプリケーションテストプログラム。
【請求項４】
前記内部状態再現手段が、
前記内部状態再現情報生成手段において生成された内部状態再現手順に基づいてＷｅｂアプリケーションの内部状態再現用リクエストを生成する内部状態再現リスエスト生成手段、
生成された前記内部状態再現用リクエストをＷｅｂアプリケーションに対し送信するリクエスト送信手段、
Ｗｅｂアプリケーションが前記内部状態再現用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、
受信した前記レスポンスに対してＷｅｂアプリケーションの内部状態再現の成否結果を判定するレスポンス判定手段、
前記内部状態再現用リクエスト、前記レスポンスおよび判定した前記内部状態再現の成否結果を保持する内部状態情報保持手段、ならびに
前記内部状態情報保持手段において保持された情報に基づいてＷｅｂアプリケーションの内部状態再現用リクエストを生成する内部状態再現リクエスト生成手段
を備えることを特徴とする請求項１、２または３に記載のＷｅｂアプリケーションテストプログラム。
【請求項５】
前記テスト実施手段が、
前記内部状態再現情報生成手段において生成された内部状態再現手順、前記内部状態再現手段において保持された内部状態情報およびテストルールデータベースから得た情報に基づいてテスト用リクエストを生成するテスト用リクエスト生成手段、
生成された前記テスト用リクエストをＷｅｂアプリケーションに対して送信するテスト用リクエスト送信手段、
Ｗｅｂアプリケーションが前記テスト用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、
前記テスト用リクエストおよび前記レスポンスを保持する内部状態情報保持手段、ならびに
前記テスト用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト結果を判定し表示するテスト結果解析表示手段
を備えることを特徴とする請求項１，２，３または４に記載のＷｅｂアプリケーションテストプログラム。
【請求項６】
前記テスト影響判定手段が、
前記内部状態再現情報生成手段において生成された内部状態再現手順ならびに、前記内部状態再現手段および前記テスト実施手段において保持された内部状態情報に基づいて、Ｗｅｂアプリケーションテスト実施後に当該Ｗｅｂアプリケーションまたは他のＷｅｂアプリケーションの内部状態への影響を判定するためのテスト影響判定用リクエストを生成するテスト影響判定用リクエスト生成手段、
生成された前記テスト影響判定用リクエストをＷｅｂアプリケーションに対し送信するテスト影響判定用リクエスト送信手段、
Ｗｅｂアプリケーションがテスト影響判定用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、
前記テスト影響判定用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト影響結果を判定し表示するテスト影響結果判定表示手段、
前記テスト影響判定用リクエスト、前記レスポンスおよび判定した前記テスト影響結果を保持する内部状態情報保持手段
を備えることを特徴とする請求項１，２，３，４または５に記載のＷｅｂアプリケーションテストプログラム。
【請求項７】
前記テスト影響判定用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト影響結果を判定し表示するテスト影響結果判定表示手段が、請求項４に記載の画面遷移図上にテスト影響結果判定を表示することを特徴とする請求項６に記載のＷｅｂアプリケーションテストプログラム。
【請求項８】
コンピューターを、さらに、
前記Ｗｅｂアプリケーションテストプログラムの実行主体となる装置とテスト対象となるＷｅｂアプリケーションとの間に設けられた中間機器または中間アプリケーションによる影響を測定する手段として機能させることを特徴とする請求項１，２，３，４，５，６または７に記載のＷｅｂアプリケーションテストプログラム。
【請求項９】
稼働しているＷｅｂアプリケーションをテストするＷｅｂアプリケーションテスト装置において、
テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、
Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、
Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、
Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、および
テスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションおよび他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段
を備えることを特徴とするＷｅｂアプリケーションテスト装置。
【請求項１０】
稼働しているＷｅｂアプリケーションをテストするＷｅｂアプリケーションテスト方法において、
テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、
Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、
Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、
Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、および
テスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションおよび他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段
を備えることを特徴とするＷｅｂアプリケーションテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、稼働しているＷｅｂアプリケーションのテストに関し、特にそのＷｅｂアプリケーションの内部状態に応じたテストプログラム、テスト装置およびテスト方法の技術に関する。
【背景技術】
【０００２】
広域インターネットの普及により、ネットワークを介したサービスの提供が増加している。特に、Ｗｅｂページを用いたサービスの提供が活発化しており、Ｗｅｂページを提供するサーバ(以下、Ｗｅｂサーバ)上でＷｅｂページを動的に生成するプログラム(以下、Ｗｅｂアプリケーション)を用いることで、提供サービスの多様化に対応してきている。
【０００３】
Ｗｅｂアプリケーションを利用する場合、運用開始前および、運用時にＷｅｂアプリケーションが意図しない動作を行わないかを確認する必要がある。現在、Ｗｅｂアプリケーションが有する脆弱性等を利用する攻撃が問題となっており、Ｗｅｂアプリケーションを誤動作させることにより、ＷｅｂアプリケーションおよびＷｅｂサーバで蓄積・利用されている情報の漏えいや、システムの停止等の被害を誘発する事象が発生している。
【０００４】
Ｗｅｂアプリケーションの誤動作を防ぐために、そのＷｅｂアプリケーションの動作を確認する仕組みが必要となる。以前から、ＷｅｂブラウザもしくはＷｅｂブラウザに準ずる仕組みを用い、人手によって確認作業が行われている。人手による確認作業では、人的ミスや、個人差などにより確認が不十分であり、また、複雑なシステムでは膨大な時間を要していた。これを解決するために、プログラムにより確認作業を自動化するシステムの導入がなされている。しかし、Ｗｅｂアプリケーションは対人を想定した構造を採用することが一般的であり、プログラムによる自動化では、人手による操作時には問題とならなかった、Ｗｅｂアプリケーションの内部状態の不整合が問題となり、実施しようとするテストが正しくできないという問題があった。Ｗｅｂアプリケーションの内部状態とは、Ｗｅｂアプリケーションが処理した内容に関して、データベース・ファイル等の記録装置やメモリ等に蓄積した情報等を指し、Ｗｅｂアプリケーション内部で前記情報を利用し挙動を選択的に変更するケースが増えてきている。
【０００５】
そこで、人によるＷｅｂブラウザでのＷｅｂアプリケーション操作を再現し、自動化することで、Ｗｅｂアプリケーションテストを実施する技術が提案されている。その技術の１つとして、人によるＷｅｂブラウザの操作イベントをスクリプトとして記録し、操作の一部や入力データの一部を変更した状態でのテストの繰返し実施することを支援する技術がある（特許文献１）。
しかし、上記技術では、Ｗｅｂブラウザを介してテストデータの投入を実施するため、実際のＷｅｂアプリケーションの攻撃の際に利用される情報についての変更が不十分である。それを解決する方法として、Ｗｅｂページ間のリンク識別情報に基づいて基本のリクエストを作成し、作成されたリクエストに対して、差分操作データに従った編集操作を行う技術（特許文献２）や、システムが管理している情報において、動的に値を変化させるマクロを利用することでテストの対象となるＷｅｂアプリケーションへのアクセスを実現する技術（特許文献３）があげられる。これらの技術によりテスト用リクエストを生成することで、Ｗｅｂブラウザへの操作入力では設定できないようなデータを含むテストを繰り返し実施することが可能となる。
【特許文献１】特開2005-266954 操作情報記録・再生装置
【特許文献２】特開2008-015709 テスト支援プログラム、テスト支援装置、およびテスト支援方法
【特許文献３】特開2005-250945 ウェブアプリケーション検査装置
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、Ｗｅｂアプリケーションテストを繰返し実施する場合、テスト内容によりＷｅｂアプリケーションの内部状態が変化することが想定される。Ｗｅｂアプリケーションに対するテストは、通常Ｗｅｂアプリケーションの誤動作を誘発する内容を含んでおり、その影響を考慮せずにテストを正確に実施することは困難である。従来技術では、Ｗｅｂアプリケーションの内部状態が変化した場合においても、テスト挙動を変化させることなく、Ｗｅｂアプリケーションテスト開始時のＷｅｂアプリケーションの内部状態から変化が発生していない前提で繰返しテストを実施するため、意図したＷｅｂアプリケーションテストが実施できない問題が存在した。
【０００７】
また、Ｗｅｂアプリケーションの内部状態は単一のリクエストおよびレスポンスの組だけでは完結せず、他のＷｅｂアプリケーションの内部状態に対しても影響が発生する場合が少なからず存在する。例えば、ＷｅｂアプリケーションＡが処理した内容に関して、その情報を他のＷｅｂアプリケーションＢが利用する場合が想定され、情報の蓄積を行うＷｅｂアプリケーションＡと、情報の閲覧を行うＷｅｂアプリケーションＢが別々の処理として記述されている場合等が該当する。この場合、テスト内容により生じたＷｅｂアプリケーションの内部状態の変化により、他のＷｅｂアプリケーションの動作に影響する場合があり、従来の技術では、テストを実施したＷｅｂアプリケーションの挙動に関してのみ結果の解析を実施していたため、テストの影響が他のＷｅｂアプリケーションへ派生する問題に関して正しくテストが実施できていないとい問題が存在した。
【０００８】
本発明は、上述した従来技術の課題を解決するためになされたものであり、Ｗｅｂサーバで稼働するＷｅｂアプリケーションのテストにおいて、Ｗｅｂアプリケーションの内部状態に変化があった場合のテストの継続性、Ｗｅｂアプリケーションの内部状態の変化が他のＷｅｂアプリケーションへ及ぼす影響についてのテストを実施可能にするテストプログラム、テスト装置およびテスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するために以下の手段を採用している。
【００１０】
本発明に係るＷｅｂアプリケーションテストプログラムは、コンピューターを、テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、ならびにテスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションまたは他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段として機能させることを特徴とする。
【００１１】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記基本情報記録手段が、Ｗｅｂブラウザからリクエストを受信するリクエスト受信手段、Ｗｅｂブラウザから受信した前記リクエストを指定された置換ルールに基づき編集したものを記録するリクエスト記録手段、Ｗｅｂブラウザから受信した前記リクエストを指定された置換ルールに基づき編集したものをＷｅｂアプリケーションに送信するリクエスト送信手段、Ｗｅｂアプリケーションが処理した結果として応答されるレスポンスを受信するレスポンス受信手段、前記レスポンスを指定された置換ルールに基づいて編集したものを記録するレスポンス記録手段、および前記レスポンスを指定された置換ルールに基づいて編集したものをＷｅｂブラウザに送信するレスポンス送信手段を備えることを特徴とする。
【００１２】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記内部状態再現情報生成手段が、前記基本情報記録部において記録されたＷｅｂアプリケーションのリクエスト・レスポンス情報に基づいてＷｅｂアプリケーションの内部状態の再現手順を生成する内部状態再現手順生成手段、内部状態再現用操作データを指定し、指定された操作データに基づいて生成された内部状態再現手順を変更する内部状態再現手順再構築手段、および生成または再構築された内部状態再現手順を表示する内部状態再現手順表示手段を備えることを特徴とする。
【００１３】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記内部状態再現情報生成手段が、生成または再構築された内部状態再現手順から画面遷移図を生成する手段および生成された画面遷移図を表示する手段を備えることを特徴とする。
【００１４】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記内部状態再現手段が、前記内部状態再現情報生成手段において生成された内部状態再現手順に基づいてＷｅｂアプリケーションの内部状態再現用リクエストを生成する内部状態再現リスエスト生成手段、生成された前記内部状態再現用リクエストをＷｅｂアプリケーションに対し送信するリクエスト送信手段、Ｗｅｂアプリケーションが前記内部状態再現用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、受信した前記レスポンスに対してＷｅｂアプリケーションの内部状態再現の成否結果を判定するレスポンス判定手段、前記内部状態再現用リクエスト、前記レスポンスおよび判定した前記内部状態再現の成否結果を保持する内部状態情報保持手段、ならびに前記内部状態情報保持手段において保持された情報に基づいてＷｅｂアプリケーションの内部状態再現用リクエストを生成する内部状態再現リクエスト生成手段を備えることを特徴とする。
【００１５】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記テスト実施手段が、前記内部状態再現情報生成手段において生成された内部状態再現手順、前記内部状態再現手段において保持された内部状態情報およびテストルールデータベースから得た情報に基づいてテスト用リクエストを生成するテスト用リクエスト生成手段、生成された前記テスト用リクエストをＷｅｂアプリケーションに対して送信するテスト用リクエスト送信手段、Ｗｅｂアプリケーションが前記テスト用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、前記テスト用リクエストおよび前記レスポンスを保持する内部状態情報保持手段、ならびに前記テスト用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト結果を判定し表示するテスト結果解析表示手段を備えることを特徴とする。
【００１６】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記テスト影響判定手段が、前記内部状態再現情報生成手段において生成された内部状態再現手順ならびに、前記内部状態再現手段および前記テスト実施手段において保持された内部状態情報に基づいて、Ｗｅｂアプリケーションテスト実施後に当該Ｗｅｂアプリケーションまたは他のＷｅｂアプリケーションの内部状態への影響を判定するためのテスト影響判定リクエストを生成するテスト影響判定リクエスト生成手段、生成された前記テスト影響判定用リクエストをＷｅｂアプリケーションに対し送信するテスト影響判定用リクエスト送信手段、Ｗｅｂアプリケーションがテスト影響判定用リクエストを処理した結果として出力するレスポンスを受信するレスポンス受信手段、前記テスト影響判定用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト影響結果を判定し表示するテスト影響結果判定表示手段、前記テスト影響判定用リクエスト、前記レスポンスおよび判定した前記テスト影響結果を保持する内部状態情報保持手段を備えることを特徴とする。
【００１７】
本発明に係るＷｅｂアプリケーションテストプログラムにおいて、前記テスト影響判定手段のうち、前記テスト影響判定用リクエストおよび前記レスポンスをテストルールデータベースに基づいて解析し、Ｗｅｂアプリケーションのテスト影響結果を判定し表示するテスト影響結果判定表示手段が、前記画面遷移図上にテスト影響結果判定を表示することを特徴とする。
【００１８】
本発明に係るＷｅｂアプリケーションテストプログラムは、コンピューターを、さらに、前記Ｗｅｂアプリケーションテストプログラムの実行主体となる装置とテスト対象となるＷｅｂアプリケーションとの間に設けられた中間機器または中間アプリケーションによる影響を測定する手段として機能させることを特徴とする。
【００１９】
本発明に係るＷｅｂアプリケーションテスト装置は、テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、およびテスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションまたは他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段を備えることを特徴とする。本発明のＷｅｂアプリケーションテスト装置が備える各手段は、本発明のＷｅｂアプリケーションテストプログラムがコンピューターを機能させる各手段と同様の特徴を備えることを特徴とする。
【００２０】
本発明に係るＷｅｂアプリケーションテスト方法は、テストを行うＷｅｂアプリケーションの情報を取得する基本情報記録手段、Ｗｅｂアプリケーションの内部状態の再現に必要な情報を生成する内部状態再現情報生成手段、Ｗｅｂアプリケーションの内部状態を再現するための内部状態再現手段、Ｗｅｂアプリケーションの内部状態に基づいてテストルールからテストリクエストを生成・送受信しテスト結果の判定を行うテスト実施手段、およびテスト実施に伴う内部状態の変化を引き継いだ状態でテストによる被テストＷｅｂアプリケーションまたは他のＷｅｂアプリケーションへの影響を判定するテスト影響判定手段を備えることを特徴とする。本発明のＷｅｂアプリケーションテスト方法が備える各手段は、本発明のＷｅｂアプリケーションテストプログラムがコンピューターを機能させる各手段と同様の特徴を備えることを特徴とする。
【発明の効果】
【００２１】
本発明のＷｅｂアプリケーションのテストプログラム、テスト装置およびテスト方法により、従来のプログラムではテストが実施できなかった内部状態により挙動が変化するＷｅｂアプリケーションに対して、その内部状態に応じたテストの実施が可能となる。
【００２２】
また、Ｗｅｂアプリケーションに対するテストが、被テストＷｅｂアプリケーションおよび他のＷｅｂアプリケーションの内部状態へ影響を与えている場合に、その影響を各Ｗｅｂアプリケーションに対してのアクセスを再現することでテストが可能となる。
【００２３】
また、開発中のＷｅｂアプリケーションなどで、特定の操作を行わなければ正常に動作しないＷｅｂアプリケーションに対しても、本発明の内部状態再現手段を適用することによりテストの実施が可能となる。
【００２４】
また、Ｗｅｂアプリケーションの内部状態を再現するための再現手順について画面遷移図を利用して指定することにより、各Ｗｅｂアプリケーションに対する再現手順を一括して指定することが可能となり、テストの設定にかかる手間を削減することが可能となる。
【００２５】
また、被テストＷｅｂアプリケーションとして、挙動が既知であるＷｅｂアプリケーションを用いることにより、本発明のＷｅｂアプリケーションテストプログラムを備えたＷｅｂアプリケーションテスト装置と被テストＷｅｂアプリケーションとの通信経路上に存在する中間機器または中間アプリケーションに関して、中間機器または中間アプリケーションがテスト結果に及ぼす影響を測定することによって、通過が許可されているテストパターンについて判定することが可能となる。特に、中間機器または中間アプリケーションがＷｅｂアプリケーションに対する攻撃を検知しまたは遮断するような機能を有している際に、該当中間機器または中間アプリケーションの有効性の測定に有用なものとなる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を、図面を利用して説明する。図１は、本発明の実施形態の概略を示す図である。本実施形態では、Ｗｅｂサーバ上のＷｅｂアプリケーションのテストを実施するための主な機能として、基本情報記録部１００、内部状態再現情報生成部１１０、内部状態再現部１２０、テスト実施部１３０、テスト影響判定部１４０が設けられている。
【００２７】
基本情報記録部１００は、テスト対象およびテスト対象への遷移を行うためのＷｅｂアプリケーションの情報の取得および記録を行う。基本情報記録部１００は、ＷｅｂブラウザからＷｅｂアプリケーションへの通信の中間に介在し、リクエスト受信部１０１でＷｅｂブラウザからのリクエストを受信する。リクエスト受信部１０１は、Ｗｅｂブラウザから受信した前記リクエストを必要に応じて指定された置換ルール等に基づいて編集し、リクエスト・レスポンス記録部１０５へ格納する。リクエスト送信部１０２は、リクエスト受信部１０１で生成された前記リクエストをＷｅｂアプリケーションへ送信する。レスポンス受信部１０３では、リクエスト送信部１０２により送信された前記リクエストをＷｅｂアプリケーションが処理した結果として応答されるレスポンスを受信する。レスポンス受信部１０３は、Ｗｅｂサーバから受信した前記レスポンスを必要に応じて指定された置換ルール等に基づいて編集し、リクエスト・レスポンス記録部１０５へ格納する。レスポンス送信部１０４は、レスポンス受信部１０３で受信した前記レスポンスをＷｅｂブラウザへ送信する。
【００２８】
内部状態再現情報生成部１１０は、基本情報記録部１００で記録された情報を元に、Ｗｅｂアプリケーションのテストを実施する際に必要な内部状態再現の手順を生成する。内部状態再現手順生成部１１２では、リクエスト・レスポンス記録部１０５にて記録されたＷｅｂアプリケーションのリクエストおよびレスポンス情報と、内部状態再現用操作データ取得部１１１で指定される情報からＷｅｂアプリケーションの内部状態を再現する手順を生成する。内部状態再現手順表示部１１３では、内部状態再現手順生成部１１２で生成された前記情報を例えばＷｅｂブラウザ上などに表示する。
【００２９】
図２は、内部状態再現手順生成部１１２において、リクエスト・レスポンス記録部１０５にて記録されたＷｅｂアプリケーションのリクエストおよびレスポンス情報から内部状態を再現する手順を生成する際の動作を示す図である。以下、図２に示す処理をステップ番号に沿って説明する。ここで、リクエストとそのリクエストに対するＷｅｂアプリケーションからのレスポンスの組をメッセージと定義し、メッセージＡはリクエストＡおよびレスポンスＡの組を示すものとする。
【００３０】
ステップＳ２０１では、リクエスト・レスポンス記録部１０５にて記録されたメッセージに対して、内部状態再現手順処理が実施されていないメッセージが存在するか否かを判定する。内部状態再現手順処理が実施されていないメッセージが存在する場合には、ステップＳ２０２へ処理が進められる。内部状態再現手順処理が実施されていないメッセージが存在しない場合にはステップＳ２１０へ処理が進められる。
【００３１】
ステップＳ２０２では、リクエスト・レスポンス記録部１０５にて記録されたメッセージに対して、内部状態再現手順処理が実施されていないメッセージのうち、末端のメッセージＡを取得する。
【００３２】
ステップＳ２０３では、リクエスト・レスポンス記録部１０５にて記録された順序において、メッセージＡの直前のメッセージＢ内のレスポンスＢがリダイレクトを示すレスポンスであるか否かを判定する。リダイレクトとは、レスポンスのＨＴＴＰステータスコードが３００番台を示す場合や、ＭＥＴＡタグ、ＪａｖａＳｃｒｉｐｔ等に代表されるＷｅｂページの遷移をＷｅｂブラウザに自動的に実行させる命令のことである。レスポンスＢがリダイレクトである場合、ステップＳ２０６へ処理が進められる。レスポンスＢがリダイレクトでない場合、ステップＳ２０４へ処理が進められる。
【００３３】
ステップＳ２０４では、リクエストＡに含まれるＵＲＬおよびパラメータの組を含むレスポンスＣを持つメッセージＣが存在するか否かを判定する。パラメータは、リクエストＡ内にＧＥＴパラメータとして含まれる場合、レスポンスＣ内でもＧＥＴパラメータとして指定されていることが望ましい。同様に、リクエストＡ内にＰＯＳＴパラメータとして含まれる場合、レスポンスＣ内でもＰＯＳＴパラメータとして指定されていることが望ましい。また、条件に一致するレスポンスが複数存在する場合、リクエストＡのメソッドがＧＥＴメソッドの場合、リクエスト・レスポンス記録部１０５内での記録されている順序が先頭に近いものを採用し、リクエストＡのメソッドがＰＯＳＴメソッドの場合、リクエスト・レスポンス記録部１０５内での記録されている順序がメッセージＡに近く、かつ、メッセージＡより先頭に近いものを採用する。レスポンスＣが存在する場合には、ステップＳ２０５へ処理が進められる。レスポンスＣが存在しない場合には、ステップＳ２０７へ処理が進められる。
【００３４】
ステップＳ２０５では、メッセージＣをメッセージＡの遷移元とし、メッセージＡを内部状態再現手順処理実施済みメッセージとして記録する。
【００３５】
ステップＳ２０６では、メッセージＢをメッセージＡの遷移元とし、メッセージＡを内部状態再現手順処理実施済みメッセージとして記録する。
【００３６】
ステップＳ２０７では、リクエストＡに含まれるＲｅｆｅｒｅｒ情報をＵＲＬに含むリクエストＤを持つメッセージＤが存在するか否かを判定する。Ｒｅｆｅｒｅｒ情報は、遷移元メッセージのリクエストがＰＯＳＴメソッドである場合、まったく異なる機能を持つＷｅｂアプリケーションが該当してしまうことが多く存在するため、条件に一致するレスポンスが複数存在する場合、リクエスト・レスポンス記録部１０５内での記録されている順序がメッセージＡに近く、かつ、メッセージＡより先頭に近いものを採用する。レスポンスＤが存在する場合には、ステップＳ２０８へ処理が進められる。レスポンスＤが存在しない場合には、ステップＳ２０９へ処理が進められる。
【００３７】
ステップＳ２０８では、メッセージＤをメッセージＡの遷移元とし、メッセージＡを内部状態再現手順処理実施済みメッセージとして記録する。
【００３８】
ステップＳ２０９では、メッセージＡの遷移元に該当するメッセージが存在しないため、メッセージＡが遷移開始位置とし、メッセージＡを内部状態再現手順処理実施済みメッセージとして記録する。
【００３９】
ステップＳ２１０では、リクエスト・レスポンス記録部１０５内での記録されている全てのメッセージに対して遷移関係を連結し、内部状態再現手順を生成する。内部状態再現手順は、Ｗｅｂアプリケーションの遷移手順とリクエスト生成時のパラメータ操作ルールとからなる。
【００４０】
図３は、ステップＳ２１０で生成される内部状態再現手順内のＷｅｂアプリケーション遷移手順の例である。ステップＳ２１０では、図３中の矢印のように遷移の末端から遡って内部状態再現手順を生成するが、実際に内部状態を再現するために各Ｗｅｂアプリケーションへのアクセスを行う際には、遷移開始位置のメッセージから順番に行う。内部状態再現手順は単一だけではなく複数生成することが可能であり、更に、同じメッセージを含む内部状態再現手順についても複数生成可能で、選択的にいずれかを利用することができる。生成された前記Ｗｅｂアプリケーション遷移手順を図３のような遷移元となるメッセージを結合した形で表記したものを画面遷移図と定義する。
【００４１】
更に、内部状態再現手順生成部１１２において、リクエスト・レスポンス記録部１０５にて記録されたＷｅｂアプリケーションのリクエストおよびレスポンス情報から生成された前記内部状態再現手順に対して、内部状態再現用操作データ取得部１１１によって指定されたデータにより遷移情報の変更を実施し、変更情報に基づいて内部状態再現手順の再構築を行うことも可能である。内部状態再現用操作データ取得部１１１で指定されるデータは、各メッセージの遷移元メッセージ情報や、各メッセージのリクエスト内情報の置換、生成ルールからなる。特に、画面遷移図を利用することで内部状態再現手順を視覚的に把握し、遷移元メッセージを変更し画面遷移図を生成しなおすことで、より正確な内部状態再現手順の生成の支援をすることが可能となる。
【００４２】
内部状態再現部１２０は、内部状態再現手順生成部１１２により生成された前記内部状態再現手順を実施し、Ｗｅｂアプリケーションの内部状態を外部からリクエストを発行し情報を提供することで再現する。内部状態再現リクエスト生成部１２１では、内部状態情報保持部１２３および内部状態再現手順生成部１１２から得た情報によりＷｅｂアプリケーションの内部状態を再現するためのリクエストを生成する。リクエストの生成には、内部状態再現手順生成部１１２で生成された画面遷移手順に従って、再現しようとするメッセージに対して遷移開始位置から順に処理を行う。生成された前記リクエストは、リクエスト・レスポンス送受信・判定部１２２によりＷｅｂアプリケーションに送信され、Ｗｅｂアプリケーションよるレスポンスを受信した後、リクエスト・レスポンスの組であるメッセージ情報を内部状態情報保持部１２３へ格納する。内部状態保持部１２３では、Ｗｅｂアプリケーションの内部状態の継続に必要な情報や、内部状態の再現状態など、具体的には、ヘッダ内に含まれるＣｏｏｋｉｅデータや、レスポンス内に含まれるリンク情報、ＦＯＲＭ情報等を保持する。
【００４３】
図４は、内部状態再現部１２０において、Ｗｅｂアプリケーションの内部状態を外部から再現する際の動作を示す図である。以下、図４に示す処理をステップ番号に沿って説明する。
【００４４】
ステップＳ４０１では、内部状態再現手順生成部１１２より、再現に必要な遷移開始位置から遷移終了位置までのメッセージ情報および再現方法情報を取得する。遷移終了位置とは、自身を遷移元とするメッセージが存在しないメッセージのことである。
【００４５】
ステップＳ４０２では、ステップＳ４０１で取得した遷移情報に対して、内部状態再現処理が遷移終了位置のメッセージまで実施されているか否かを判定する。内部状態再現処理が遷移終了位置のメッセージまで実施されていない場合は、ステップＳ４０３へ処理が進められる。内部状態再現処理が遷移終了位置のメッセージまで実施されている場合は、処理を終了する。
【００４６】
ステップＳ４０３では、ステップＳ４０１で取得した遷移情報内の、内部状態再現処理が未実施であるメッセージにおいて、遷移開始位置のメッセージから最も内部状態再現手順上で近いメッセージＡを取得する。
【００４７】
ステップＳ４０４では、メッセージＡが遷移開始位置メッセージであるか否かを判定する。メッセージＡが遷移開始位置メッセージである場合、Ｓ４０８へ処理が進められる。メッセージＡが遷移開始位置メッセージでない場合、Ｓ４０５へ処理が進められる。
【００４８】
ステップＳ４０５では、内部状態再現手順生成部１１２および、内部状態情報保持部１２３から、内部状態管理に関連する情報を取得する。
【００４９】
ステップＳ４０６では、ステップＳ４０５で取得した内部状態に関する情報およびリクエストＡからリクエストＡ´を生成する。ステップＳ４０５で取得した内部状態に関する情報には、リクエストデータ内のヘッダやパラメータ等の書き換えに関するデータが格納されており、これらのデータは、リクエストＡの遷移元メッセージのリクエストおよびレスポンスの双方から生成される。具体的には、ヘッダ内に含まれるＣｏｏｋｉｅデータや、レスポンス内に含まれるリンク情報、ＦＯＲＭ情報等が利用される。また、内部状態再現用操作データ取得部で指定された方法、例えばメッセージ内に含まれない文字列等への置換ルールやリクエストおよびレスポンス内に含まれるデータに関して正規表現等の解析ルールを利用した置換ルールなどによって、リクエストＡの情報を操作することが可能である。
【００５０】
ステップＳ４０７では、ステップＳ４０６で生成されたリクエストＡ´をＷｅｂアプリケーションへ送信する。
【００５１】
ステップＳ４０８では、リクエストＡをＷｅｂアプリケーションへ送信する。
【００５２】
ステップＳ４０９では、ステップＳ４０７またはステップＳ４０８で送信したリクエストに対するレスポンスＢを取得する。
【００５３】
ステップＳ４１０では、内部状態再現手順生成部１１２から取得したレスポンスＡと、ステップＳ４０９で取得したレスポンスＢとを比較し、双方の相関が高いか否かを判定する。相関の判定方法は、Ｄｉｆｆのような文書比較アルゴリズムやレスポンスのＨＴＭＬタグ構造の比較等の方法が考えられる。そのようなアルゴリズムでの比較結果において、相関の高低をわける閾値をあらかじめ定義し、その閾値からの差分によって相関の高低を判定する。レスポンスＡとレスポンスＢの相関が高い場合は、ステップＳ４１２へ処理が進められる。レスポンスＡとレスポンスＢの相関が低い場合は、ステップＳ４１１へ処理が進められる。
【００５４】
ステップＳ４１１では、内部再現状態の再現に失敗した可能性を示唆するために、再現異常の可能性を内部状態情報保持部１２３に記録する。
【００５５】
ステップＳ４１２では、メッセージＡの内部状態再現手順を内部状態情報保持部１２３に記録する。メッセージＡの内部状態再現手順には、リクエストＡの加工情報およびレスポンスＢの情報が格納されている。
【００５６】
テスト実施部１３０は、テスト対象となるＷｅｂアプリケーションに対するテストを実施する。テストリクエスト生成部１３１では、内部状態再現手順生成部１１２、内部状態情報保持部１２３およびテストルールデータベース１３３から得た情報によりテスト用リクエストを生成する。生成されたテスト用リクエストは、テスト用リクエスト・レスポンス送受信・判定部１３２によりＷｅｂアプリケーションに送信され、Ｗｅｂアプリケーションよるレスポンスを受信した後、リクエスト・レスポンスの組であるメッセージを内部状態情報保持部１２３へ格納する。テスト結果解析・表示部１３４で、テストルールデータベース１３３に従ってテストリクエスト、レスポンスを解析しＷｅｂアプリケーションのテスト結果を判定、その結果を表示する。テストルールデータベース１３３は、テストリクエスト生成時のリクエスト内情報の置換、生成ルールおよび、その操作によりＷｅｂアプリケーションが応答するレスポンスへの影響の解析ルールからなる。
【００５７】
図５は、テスト実施部１３０において、Ｗｅｂアプリケーションに対するテストを実施する際の動作を示す図である。以下、図５に示す処理をステップ番号に沿って説明する。
【００５８】
ステップＳ５０１では、内部状態再現手順生成部１１２および内部状態情報保持部１２３から、内部状態管理に関連する情報を取得する。
【００５９】
ステップＳ５０２では、テストルールデータベース１３３からテスト用リクエスト生成ルールを取得する。
【００６０】
ステップＳ５０３では、ステップＳ５０１およびステップＳ５０２で取得したテスト用リクエスト生成ルールから、テスト用リクエストを生成する。
【００６１】
ステップＳ５０４では、ステップＳ５０３で生成されたテスト用リクエストをＷｅｂアプリケーションに対して送信し、Ｗｅｂアプリケーションからテスト用リクエストを処理した結果のレスポンスを受信する。
【００６２】
ステップＳ５０５では、ステップＳ５０３で生成されたテストリクエストとステップＳ５０４で受信したレスポンスの組であるテストメッセージの内部状態情報を内部状態情報保持部１２３に記録する。
【００６３】
ステップＳ５０６では、テストルールデータベース１３３からテスト結果解析ルールを取得する。
【００６４】
ステップＳ５０７では、ステップＳ５０６で取得したテスト結果解析ルールを利用しステップＳ５０４で受信したレスポンスを解析し、結果を表示する。
【００６５】
テスト影響判定部１４０は、テスト実施部１３０でのテスト実施後に、内部状態再現手順生成部１１２により生成された内部状態再現手順を実施し、テストの実施による被テストＷｅｂアプリケーションまたは他のアプリケーションへの影響を判定する。テスト影響判定リクエスト生成部１４１では、内部状態情報保持部１２３および内部状態再現手順生成部１１２から得た情報により、テスト影響を判定するためのリクエストを生成する。リクエストの生成は、内部状態再現手順生成部１１２で生成された画面遷移手順に従って、影響を判定しようとするメッセージに対してテストメッセージの次のメッセージから順に処理を行う。生成された前記リクエストは、リクエスト・レスポンス送受信１４２によりＷｅｂアプリケーションに送信され、Ｗｅｂアプリケーションよるレスポンスを受信した後、リクエスト・レスポンスの組であるメッセージ情報を内部状態情報保持部１２３へ格納する。テスト影響判定・表示部１４３で、テストルールデータベース１３３に従ってテストリクエスト、レスポンスを解析しＷｅｂアプリケーションのテスト影響結果を判定、その結果を表示する。
【００６６】
図６は、内部状態再現部１２０において、Ｗｅｂアプリケーションの内部状態を外部から再現する際の動作を示す図である。以下、図６に示す処理をステップ番号に沿って説明する。
【００６７】
ステップＳ６０１では、内部状態再現手順生成部１１２より、遷移開始位置、つまりテストメッセージの次のメッセージから遷移終了位置までのメッセージ情報および内部状態再現手順を取得する。
【００６８】
ステップＳ６０２では、ステップＳ６０１で取得したメッセージ情報および内部状態再現手順に対して、テスト影響判定処理が遷移終了位置のメッセージまで実施されているか否かを判定する。テスト影響判定処理が遷移終了位置のメッセージまで実施されていない場合は、ステップＳ６０３へ処理が進められる。テスト影響判定処理が遷移終了位置のメッセージまで実施されている場合は、処理を終了する。
【００６９】
ステップＳ６０３では、ステップＳ６０１で取得したメッセージ情報および内部状態再現手順内の、テスト影響判定処理が未実施であるメッセージにおいて、遷移開始位置のメッセージから最も遷移情報上で近いメッセージＡを取得する。
【００７０】
ステップＳ６０４では、内部状態再現手順生成部１１２および、内部状態情報保持部１２３から、内部状態再現手順を取得する。
【００７１】
ステップＳ６０５では、ステップＳ６０４で取得した内部状態再現手順およびリクエストＡからテスト影響判定リクエストを生成する。
【００７２】
ステップＳ６０６では、ステップＳ６０５で生成されたテスト影響判定リクエストをＷｅｂアプリケーションへ送信する。
【００７３】
ステップＳ６０７では、ステップＳ６０６で送信したリクエストに対するレスポンスＢを受信する。
【００７４】
ステップＳ６０８では、ステップＳ６０５で生成されたテスト影響判定リクエストとステップＳ６０７で受信したレスポンスの組であるテスト影響判定メッセージの内部状態再現手順を内部状態情報保持部１２３に記録する。
【００７５】
ステップＳ６０９では、テストルールデータベース１３３からテスト結果解析ルールを取得する。
【００７６】
ステップＳ６１０では、ステップＳ６０９で取得したテスト結果解析ルールを利用してステップＳ６０７で受信したレスポンスを解析し、結果を表示する。
【００７７】
図７は、内部状態情報生成部１１０、内部状態再現部１２０、テスト実施部１３０、テスト影響判定部１４０において、Ｗｅｂアプリケーションの内部状態の再現およびテストの実施の流れを示す図である。
【００７８】
内部状態再現情報生成部１１０では、内部状態再現手順を生成し（Ｓ７０１）、内部状態再現手順を内部状態再現部１２０に渡す（Ｓ７０２）。
【００７９】
内部状態再現部１２０では、内部状態再現用リクエストを生成し（Ｓ７０３）送信する（Ｓ７０４）。Ｗｅｂアプリケーションからのレスポンスを受信し（Ｓ７０５）、受信した前記レスポンスに基づき内部状態情報を更新する（Ｓ７０６）。Ｓ７０３からＳ７０６の手順を、内部状態再現手順に従いテスト実施部１３０でテストを実施しようとするＷｅｂアプリケーションの内部状態を再現するまで繰り返し実施する。Ｗｅｂアプリケーションの内部状態を再現が終了した段階で、内部状態情報およびテスト要求をテスト実施部１３０へ渡す（Ｓ７０７）。
【００８０】
テスト実施部１３０では、テスト用リクエストを生成し（Ｓ７０８）送信する（Ｓ７０９）。Ｗｅｂアプリケーションからのレスポンスを受信し（Ｓ７１０）、受信した前記レスポンスの結果に対してテストルールに基づき解析を行い（Ｓ７１１）、内部状態情報を更新する（Ｓ７１２）。
【００８１】
内部状態再現部１２０ではテスト実施部１３０でテストが終了した段階で、内部状態情報およびテスト影響判定要求をテスト影響判定部１４０へ渡す（Ｓ７１３）。
【００８２】
テスト影響判定部１４０では、テスト影響判定用リクエストを生成し（Ｓ７１４）、送信する（Ｓ７１５）。Ｗｅｂアプリケーションからのレスポンスを受信（Ｓ７１６）およびテスト実施部１３０よりテストルールを取得し（Ｓ７１７、Ｓ７１８）、受信した前記レスポンスの結果に対して前記テストルールに基づきテスト影響の判定を行い（Ｓ７１９）、内部状態情報を更新する（Ｓ７２０）。Ｓ７１４からＳ７２１の手順を、内部状態再現手順に従い繰り返し実施する。Ｗｅｂアプリケーションのテスト影響判定が終了した段階で、内部状態情報およびテスト要求をテスト実施部１３０へ渡す（Ｓ７２２）。
【００８３】
内部状態再現部１２０では、テスト影響判定部１４０でテスト影響判定が終了した段階で、内部状態再現用リクエストを生成し（Ｓ７２３）送信する（Ｓ７２４）。Ｗｅｂアプリケーションからのレスポンスを受信し（Ｓ７２５）、受信した前記レスポンスに基づき内部状態情報を更新する（Ｓ７２６）。Ｓ７２３からＳ７２６の手順を、内部状態再現手順に従いＷｅｂアプリケーションの内部状態をテスト開始前の状態またはテスト開始前の状態に準ずる状態に再現するまで繰り返し実施する。
【００８４】
図７に示す動作を実施することで、例えば、認証機能を有しているシステムでパスワードの変更機能を提供するＷｅｂアプリケーションや、会員制のシステムで会員登録や退会機能を提供するＷｅｂアプリケーションなどにおいて、テストの対象となるＷｅｂアプリケーションへのアクセスを再現するためのログイン処理や、順次パラメータへ代入する値を変化させる必要があるような機能等の状態管理機能へのアクセスを実施（Ｓ７０３〜Ｓ７０６）し、また、テスト実施により、Ｗｅｂアプリケーションの利用する内部状態としてのデータベース等の記録装置上の情報が変更されてしまった場合においても、そのデータベース等の記録装置上の情報の変更により影響を受けるＷｅｂアプリケーションのテスト影響判定（Ｓ７１４〜Ｓ７２１）や、データベース等の記録装置上の情報をテスト実施前の状態と同じ状態または類似の状態へ再現を実施する（Ｓ７２３〜Ｓ７２６）ことで、テストの影響を正確に判定し、更に継続してテストを実施することが可能となる。また、例えば会員情報登録機能および会員情報表示機能というような入力を受け付け蓄積するＷｅｂアプリケーションと、蓄積された情報を表示するＷｅｂアプリケーションとで別々の構成をとっているＷｅｂアプリケーション群に関しても、テスト影響判定（Ｓ７１４〜Ｓ７２１）を実施することで、複数のＷｅｂアプリケーションを跨ったテストの実施が可能となる。
【００８５】
図８は、中間機器に対するテスト実施の図である。本発明のＷｅｂアプリケーションテストプログラムを備えるＷｅｂアプリケーションテスト装置 ８００およびＷｅｂアプリケーションが 稼働しているＷｅｂサーバ ８０２との間に、中間機器８０１を設置する。中間機器８０１では、Ｗｅｂアプリケーションテスト装置 ８００およびＷｅｂアプリケーションが 稼働しているＷｅｂサーバ ８０２の間の通信を取得し何らかの加工を施す機能を有する。Ｗｅｂアプリケーションが 稼働しているＷｅｂサーバ ８０２のＷｅｂアプリケーションはＷｅｂアプリケーションテスト装置 ８００が実施するテストに対しての挙動が既知であり、中間機器８０１を介することで前記既知の挙動の変化を観測することで中間機器８０１のテストを実施可能となる。
【００８６】
上記中間機器に対するテストについて、特に中間機器８０１がＷｅｂアプリケーションに対する攻撃を検知しまたは遮断するような機能を有している際に、中間機器８０１の有効性の測定に有用なものとなる。例えば、中間機器８０１により遮断することが定義されているルールについて、Ｗｅｂアプリケーションテスト装置 ８００のテストルールデータベース１３３に格納し、予め中間機器８０１がない状態でのＷｅｂアプリケーションが 稼働しているＷｅｂサーバ ８０２上のＷｅｂアプリケーションに対してのテストの実施を行い、中間機器８０１を設置した状態での前記Ｗｅｂアプリケーションでのテストの結果との差異を測定することで、中間機器８０１が遮断すべきルールが正常に動作しているかを判定することが可能となる。
【００８７】
例えば、文字列「Ａ」を含むリクエストを中間機器８０１が遮断するようなルールを保持している場合、テストルールデータベース１３３に対して、テストリクエスト生成時のリクエスト内情報の置換、生成ルールとして文字列「Ａ」を含むものを指定する。文字列「Ａ」を含むリクエストに対するＷｅｂアプリケーションが応答に文字列「Ｂ」が含まれることが既知である場合、Ｗｅｂアプリケーションが応答するレスポンスへの影響の解析ルールとして、応答に文字列「Ｂ」が含まれるか否かの判定を指定することにより、中間機器８０１が遮断を行ったか否かを判定することが可能となる。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態の概略を示す図である。
【図２】内部状態再現手順生成部の動作を示すフロー図である。
【図３】内部状態再現手順生成部により生成される内部状態再現手順を示す図            である。
【図４】内部状態再現部の動作を示すフロー図である。
【図５】テスト実施部の動作を示すフロー図である。
【図６】テスト影響判定部の動作を示すフロー図である。
【図７】内部状態再現およびテスト実施時の各機能の動作を示すシーケンス図            である。
【図８】中間機器に対するテスト実施の図である。
【符号の説明】
【００８９】
１００  基本情報記録部
１０１  リクエスト受信部
１０２  リクエスト送信部
１０３  レスポンス受信部
１０４  レスポンス送信部
１０５  リクエスト・レスポンス記録部
１１０  内部状態再現情報生成部
１１１  内部情報再現用操作データ取得部
１１２  内部状態再現手順生成部
１１３  内部状態再現手順表示部
１２０  内部状態再現部
１２１  内部状態再現リクエスト生成部
１２２  リクエスト・レスポンス送受信・判定部
１２３  内部状態情報保持部
１３０  テスト実施部
１３１  テスト用リクエスト生成部
１３２  テスト用リクエスト・レスポンス送受信部
１３３  テストルールデータベース
１３４  テスト結果解析・表示部
１４０  テスト影響判定部
１４１  テスト影響判定リクエスト生成部
１４２  リクエスト・レスポンス送受信部
１４３  テスト影響判定・表示部
１５０  Ｗｅｂアプリケーションが稼働しているＷｅｂサーバ 
１６０  Ｗｅｂブラウザ
８００  Ｗｅｂアプリケーションテスト装置 
８０１  中間機器 
８０２  Ｗｅｂアプリケーションが稼働しているＷｅｂサーバ
【図１】
2009301252.tif 000003
【図２】
2009301252.tif 000004
【図３】
2009301252.tif 000005
【図４】
2009301252.tif 000006
【図５】
2009301252.tif 000007
【図６】
2009301252.tif 000008
【図７】
2009301252.tif 000009
【図８】
2009301252.tif 000010