(57)【要約】【課題】ウェブブラウザからのＨＴＴＰリクエストに対するＨＴＴＰレスポンスをウェブブラウザに送信してウェブブラウザに表示させる試験装置を得ること。【解決手段】試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとＴＣＰコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるＨＴＴＰリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したＨＴＴＰリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したＨＴＴＰレスポンスを受信し、当該ＨＴＴＰレスポンスをウェブブラウザに送信するデータ中継部を備えた。【選択図】          図１
2014149767.tif 000002
【特許請求の範囲】
【請求項１】
試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとＴＣＰコネクションを確立して接続する試験装置であって、
前記ウェブブラウザから送信されるＨＴＴＰリクエストから前記ウェブブラウザの情報を示すパラメータを取得し、実環境から収集したＨＴＴＰリクエスト内のパラメータを前記パラメータに変更して前記ウェブサーバに送信することにより、前記ウェブサーバから前記ウェブブラウザに対応したＨＴＴＰレスポンスを受信し、当該ＨＴＴＰレスポンスを前記ウェブブラウザに送信するデータ中継部を備えることを特徴とする試験装置。
【請求項２】
前記データ中継部は、前記ウェブサーバから受信したＨＴＴＰレスポンスにウェブページの転送先を示すリダイレクト先ＵＲＬが含まれている場合、前記リダイレクト先ＵＲＬの値を保持するとともに、リダイレクト先ＵＲＬとして前記データ中継部のＩＰアドレスとポート番号とした当該ＨＴＴＰレスポンスを前記ウェブブラウザに送信することにより、前記ウェブブラウザからＨＴＴＰリクエストを受信し、ＵＲＬを保持された前記リダイレクト先ＵＲＬの値とし、前記パラメータは保存せずに、当該ＨＴＴＰリクエストを前記ウェブサーバに送信することを特徴とする請求項１に記載の試験装置。
【請求項３】
前記データ中継部は、前記データ中継部と前記ウェブブラウザとの間に第１のプロキシサーバが存在する場合、前記第１のプロキシサーバとＴＣＰコネクションを確立し、前記第１のプロキシサーバを介して前記ウェブブラウザと接続し、前記第１のプロキシサーバを介して前記ウェブブラウザからＨＴＴＰリクエストを受信し、前記第１のプロキシサーバを介して前記ウェブブラウザにＨＴＴＰレスポンスを送信することを特徴とする請求項１又は２のいずれかに記載の試験装置。
【請求項４】
前記データ中継部は、前記データ中継部と前記ウェブサーバとの間に第２のプロキシサーバが存在する場合、前記第２のプロキシサーバとＴＣＰコネクションを確立し、前記第２のプロキシサーバを介して前記ウェブサーバと接続し、前記第２のプロキシサーバを介して前記ウェブサーバにＨＴＴＰリクエストを送信し、前記第２のプロキシサーバを介して前記ウェブサーバからＨＴＴＰレスポンスを受信することを特徴とする請求項１から３のいずれかに記載の試験装置。
【請求項５】
前記実環境から収集したネットワークデータからＨＴＴＰリクエストを抽出して前記データ中継部に通知するデータ解析部と、
前記データ中継部からの指示により前記ウェブブラウザの起動と停止とを制御するブラウザ制御部を備え、
前記データ中継部は、前記データ解析部から実環境のＨＴＴＰリクエストを通知されると前記ブラウザ制御部に前記ウェブブラウザの起動を指示し、また、前記リダイレクト先ＵＲＬを含まないＨＴＴＰレスポンスを受信すると、前記ブラウザ制御部にウェブブラウザの停止を指示することを特徴とする請求項１から４のいずれかに記載の試験装置。
【請求項６】
試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとＴＣＰコネクションを確立して接続するステップと、
前記ウェブブラウザから送信されるＨＴＴＰリクエストから前記ウェブブラウザの情報を示すパラメータを取得し、実環境から収集したＨＴＴＰリクエスト内のパラメータを前記パラメータに変更して前記ウェブサーバに送信するステップと、
前記ウェブサーバから前記ウェブブラウザに対応したＨＴＴＰレスポンスを受信し、当該ＨＴＴＰレスポンスを前記ウェブブラウザに送信するステップと、
を有する試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実環境と同様な試験環境を構築して試験対象装置の動作を検証する試験装置に関する。
【背景技術】
【０００２】
試験対象装置の動作検証は、試験用に生成したデータを利用して行われている（例えば、特許文献１）。
特許文献１では、試験用のデータを試験対象のウェブサーバに送信することにより、アクセス負荷の試験を行う技術が公開されている。試験用のデータを作成するウェブ負荷試験装置は、ウェブブラウザをウェブ負荷試験装置内に保持し、ウェブサーバと接続することにより試験用のデータとなるＨＴＴＰリクエストを生成する。試験時には、ウェブ負荷試験装置がＨＴＴＰリクエストをウェブサーバに送信し、ＨＴＴＰレスポンスを受信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２３４２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、ウェブサーバから送信されたＨＴＴＰレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することについては記載されていない。したがって、従来技術では、ウェブサーバから送信されたＨＴＴＰレスポンスが正常なものかどうかを検証することができないという問題点があった。
【０００５】
本発明は上記のような問題点を解決するためになされたもので、ウェブブラウザからのＨＴＴＰリクエストに対するＨＴＴＰレスポンスをウェブブラウザに送信してウェブブラウザに表示させる試験装置を得ることを目的としている。
【課題を解決するための手段】
【０００６】
試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとＴＣＰコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるＨＴＴＰリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したＨＴＴＰリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したＨＴＴＰレスポンスを受信し、当該ＨＴＴＰレスポンスをウェブブラウザに送信するデータ中継部を備えた。
【発明の効果】
【０００７】
本発明によれば、ウェブブラウザからウェブサーバに送信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る試験装置を含むシステムの構成例を示す図。
【図２】実施の形態１に係るＨＴＴＰリクエストを示す図。
【図３】実施の形態１に係るＨＴＴＰレスポンスを示す図。
【図４】実施の形態１に係るウェブブラウザ、試験装置及びウェブサーバの処理の流れを示すシーケンス図。
【図５】実施の形態１に係るウェブブラウザ、試験装置及びウェブサーバの処理の流れを示すシーケンス図。
【図６】実施の形態１に係るウェブブラウザ、プロキシサーバ、試験装置及びウェブサーバの処理の流れを示すシーケンス図。
【図７】実施の形態１に係るウェブブラウザ、プロキシサーバ、試験装置及びウェブサーバの処理の流れを示すシーケンス図。
【図８】実施の形態１に係るウェブブラウザ、試験装置、プロキシサーバ及びウェブサーバの処理の流れを示すシーケンス図。
【図９】実施の形態１に係るウェブブラウザ、試験装置、プロキシサーバ及びウェブサーバの処理の流れを示すシーケンス図。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、実施の形態１に係る試験装置１３を含むシステムの構成例を示す図である。図１は、実環境１と試験環境１１から構成される。実環境１は端末２、スイッチ３及びサーバ装置４から構成される。端末２では、ウェブブラウザ５が動作している。スイッチ３は、端末２とサーバ装置４との間で送受信されるネットワークデータを宛先によって振り分けているとともに、ネットワークデータを試験環境１１へ送信する。サーバ装置４では、ウェブサーバ６が動作している。
【００１０】
ウェブサーバ５とウェブブラウザ６との通信にはＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が用いられている。ウェブブラウザ５からウェブサーバ６への要求メッセージがＨＴＴＰリクエストである。ＨＴＴＰリクエストに対する応答メッセージがＨＴＴＰレスポンスである。ウェブサーバ６はＨＴＴＰリクエストに従って処理を行い、その結果をＨＴＴＰレスポンスとしてウェブブラウザ５に通知する。ＨＴＴＰレスポンスには、ＨＴＴＰリクエストの内容に応じてドキュメントや画像等のコンテンツの情報が付加される場合がある。
【００１１】
試験環境１１は、端末１２、試験装置１３、試験対象装置１４から構成される。端末１２では、ウェブブラウザ１５が動作している。試験対象装置１４では、ウェブサーバ１６が動作している。試験装置１３は、データ収集部１７、データ解析部１８、データ中継部１９、及びブラウザ制御部２０から構成される。試験装置１３はスイッチ３から実環境１のネットワークデータを収集し、収集したネットワークデータを利用してウェブサーバ１６の動作を検証するための試験を行う。
【００１２】
データ収集部１７は、実環境１からネットワークデータを収集し、ファイルに保存する。データ収集部１７は、実環境１のスイッチ３のミラーポートからネットワークを流れるネットワークデータを、プロミスカスモードによって収集し、ファイルに保存する。スイッチ３には、あるポートが送受信するネットワークデータのコピーを、同時に別のポートから送出する機能があり、コピーを送出するポートをミラーポートと呼ぶ。また、プロミスカスモードとは、ネットワークを流れるすべてのネットワークデータを受信するモードである。
【００１３】
なお、データ収集部１７は、試験装置１３とは別の装置としてもよい。データ収集部１７は、ネットワークデータを収集した後にネットワークデータをファイルに保存するようにすればよい。
【００１４】
データ解析部１８は、ネットワークデータが保存されたファイルを読込む。データ解析部１８は、ネットワークデータからウェブサーバ５へのＨＴＴＰリクエストを抽出し、データ中継部１９に通知する。データ解析部１８は、ネットワークデータのうち宛先ＩＰアドレスが試験対象装置１４のＩＰアドレスに一致し、さらに宛先ポート番号がウェブブラウザ５とウェブサーバ６との通信に使われているポート番号に一致するネットワークデータを抽出する。データ解析部１８及びデータ中継部１９は、あらかじめ実環境ネットワーク１の端末２及びサーバ装置４のＩＰアドレスを保持しているものとする。
【００１５】
データ中継部１９は、端末１２側及び試験対象装置１４側の２つのＩＰアドレスを保持している。データ中継部１９の端末１２側のＩＰアドレスをＡ１する。データ中継部１９の試験対象装置１４側のＩＰアドレスをＡ２とする。端末１２のＩＰアドレスをＡ３とする。試験対象装置１４のＩＰアドレスをＡ４とする。これらのＩＰアドレスを含めて試験に必要な値は試験設定ファイルに記述され、あらかじめデータ解析部１８及びデータ中継部１９に入力される。
【００１６】
データ中継部１９は、端末１２のウェブブラウザ１５を起動するようにブラウザ制御部２０に通知する。ブラウザ制御部２０は、ウェブブラウザ１５を起動するように端末１２に通知する。端末１２はウェブブラウザ１５を起動し、ＨＴＴＰリクエストをデータ中継部１９に送信する。データ中継部１９は、ウェブブラウザ１５からのＨＴＴＰリクエストを、ネットワークデータから抽出したサーバ装置４へのＨＴＴＰリクエストに置き換え、試験対象装置１４のウェブサーバ１６に送信する。
【００１７】
ウェブサーバ１６は、ＨＴＴＰリクエストの内容に応じた処理を行い、ＨＴＴＰレスポンスをデータ中継部１９に送信する。データ中継部１９は、ＨＴＴＰレスポンスをウェブブラウザ１５に送信し、ウェブブラウザ１５はＨＴＴＰレスポンスを受信する。試験者は、ウェブブラウザ１５に表示される内容を確認することにより、ウェブサーバ１６から正常なＨＴＴＰレスポンスが送信されたか検証する。
【００１８】
ＨＴＴＰレスポンスには、リダイレクト先ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が含まれている場合がある。リダイレクトとは、ＨＴＴＰリクエストで指定したＵＲＬの転送先のＵＲＬを示す機能である。データ中継部１９は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが含まれていた場合、その情報をリダイレクトフラグ及びリダイレクト先ＵＲＬ保存バッファに保存する。リダイレクトフラグは、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが含まれていたかどうかを示すためのフラグである。リダイレクト先ＵＲＬ保存バッファは、リダイレクト先ＵＲＬの値を保存するバッファである。
【００１９】
次に、ＨＴＴＰリクエストとＨＴＴＰレスポンスのメッセージ構造を示す。
図２は、実施の形態１に係るＨＴＴＰリクエスト２１を示す図である。ＨＴＴＰリクエスト２１は、リクエストライン２２、ヘッダ２３及びメッセージボディ２４から構成される。リクエストライン２２には、メソッド、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｎｄｉｃａｔｏｒ）、プロトコルが順に記述される。
【００２０】
メソッドには、ウェブサーバに対してどのような処理を要求するかを指定する。ＨＴＴＰリクエスト２１では、メソッドは「ＧＥＴ」である。「ＧＥＴ」は、ウェブサーバ１６上のファイルを要求するメソッドである。ＵＲＩには、目的のコンテンツの場所を指定する。ＨＴＴＰリクエスト２１では、「ｈｔｔｐ://ｗｗｗ.ａａａ.ｃｏｍ」である。なお、ＵＲＬはＵＲＩの一種である。プロトコルには、通信に利用するプロトコルとそのバージョンを指定する。ＨＴＴＰリクエスト２１では、「ＨＴＴＰ／１．１」である。
【００２１】
ヘッダ２３には、制御情報が記述される。Ｕｓｅｒ−Ａｇｅｎｔは、送信元のウェブブラウザやＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の種類やバージョン等の情報を通知するパラメータである。メッセージボディ２４には、ウェブサーバに対して送信するドキュメント等がある場合のみ記述される。なお、ＨＴＴＰリクエスト２１は、ＨＴＴＰリクエストの一例である。
【００２２】
図３は、実施の形態１に係るＨＴＴＰレスポンス３１を示す図である。ＨＴＴＰレスポンス３１は、ステータスライン３２、ヘッダ３３及びメッセージボディ３４から構成される。ステータスライン３２は、ＨＴＴＰリクエストに対する処理結果を示す。ステータスライン３２には、プロトコル、ステータスコード、フレーズが順に記述される。プロトコルには、通信に利用するプロトコルとバージョンを指定する。ＨＴＴＰレスポンス３１では、「ＨＴＴＰ／１．１」である。ステータスコードは、ウェブサーバからの応答状況を示すコードである。ＨＴＴＰレスポンス３１では、「２００」である。「２００」は正常にデータを送信できたことを示す。フレーズはステータスコードの意味を示す。ＨＴＴＰレスポンス３１では、「ＯＫ」である。
【００２３】
ヘッダ３３には、制御情報が記述される。「Ｌｏｃａｔｉｏｎ」は、ウェブサーバがウェブブラウザにリダイレクト先ＵＲＬを通知するパラメータである。リダイレクト先ＵＲＬは「ｈｔｔｐ://ｗｗｗ.ｂｂｂ.ｃｏｍ」である。メッセージボディ３４は、ウェブブラウザに対して送信するドキュメント等がある場合のみ記述される。なお、ＨＴＴＰレスポンス３１は、ＨＴＴＰレスポンスの一例である。
【００２４】
次に動作について説明する。
図４は、実施の形態１に係るウェブブラウザ１５、試験装置１３及びウェブサーバ１６の処理の流れを示すシーケンス図である。図４は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。
【００２５】
データ中継部１９は、データ解析部１８がネットワークデータから抽出した、ウェブサーバ６へのＨＴＴＰリクエストがデータ解析部１８から通知されるとステップＳ４０１より処理を開始する。このＨＴＴＰリクエストをＨＴＴＰリクエストＲｅｑ４１とする（図４には図示していない）。
ステップＳ４０１において、データ中継部１９は、リダイレクトフラグを参照する。リダイレクトフラグはオフのため、処理はステップＳ４０２へ進む。
ステップＳ４０２において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の起動を指示し、データ中継部１９のＩＰアドレスＡ１及び待ち受けポート番号Ｂ１を通知する。処理はステップＳ４０３へ進む。
【００２６】
ステップＳ４０３において、ブラウザ制御部２０は、ウェブブラウザ１５に起動を指示し、データ中継部１９のＩＰアドレスＡ１及び待ち受けポート番号Ｂ１を通知する。処理はステップＳ４０４へ進む。
ステップＳ４０４において、ウェブブラウザ１５は、データ中継部１９に対してＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃１が確立される。処理はステップＳ４０５へ進む。
【００２７】
ステップＳ４０５において、ウェブブラウザ１５は、ＨＴＴＰリクエストＲｅｑ４２をＴＣＰコネクション＃１でデータ中継部１９に送信する。処理はステップＳ４０６へ進む。
ステップＳ４０６において、データ中継部１９は、データ解析部１８から通知されたＨＴＴＰリクエストＲｅｑ４１のヘッダのＵｓｅｒ−Ａｇｅｎｔの値に、ＨＴＴＰリクエストＲｅｑ４２のＵｓｅｒ−Ａｇｅｎｔの値を設定し、ＨＴＴＰリクエストＲｅｑ４３とする。処理はステップＳ４０７へ進む。
【００２８】
ステップＳ４０７において、データ中継部１９はウェブサーバ１６に対してＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃２が確立される。データ中継部１９は、あらかじめウェブサーバ１６の待ち受けポート番号Ｂ４を保持しているものとする。処理はステップＳ４０８へ進む。
ステップＳ４０８において、データ中継部１９は、ＨＴＴＰリクエストＲｅｑ４３をＴＣＰコネクション＃２でウェブサーバ１６に送信する。処理はステップＳ４０９へ進む。
【００２９】
ステップＳ４０９において、ウェブサーバ１６は、ＨＴＴＰリクエストＲｅｑ４３に対するＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃２でデータ中継部１９に送信する。処理はステップＳ４１０へ進む。
ステップＳ４１０において、データ中継部１９は、リダイレクトフラグをオフにする。処理はステップＳ４１１へ進む。
ステップＳ４１１において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃１でウェブブラウザ１５に送信する。処理はステップＳ４１２へ進む。
【００３０】
ステップＳ４１２において、データ中継部１９は、ＴＣＰコネクション＃２を切断する。処理はステップＳ４１３へ進む。
ステップＳ４１３において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の終了を指示する。処理はステップＳ４１４へ進む。
ステップＳ４１４において、ブラウザ制御部２０は、ウェブブラウザ１５に終了を指示する。処理はステップＳ４１５へ進む。
ステップＳ４１５において、ウェブブラウザ１５は、ＴＣＰコネクション＃１を切断し、終了する。
【００３１】
図５は、実施の形態１に係るウェブブラウザ１５、試験装置１３及びウェブサーバ１６の処理の流れを示すシーケンス図である。図５は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定される場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。図５のステップＳ５０１〜Ｓ５０８の処理は、図４のステップＳ４０１〜Ｓ４０８と同じであるため、説明を省略する。
【００３２】
Ｓ５０１〜Ｓ５０８の処理が行われ、処理はステップＳ５０９へ進む。ステップＳ５０９において、ウェブサーバ１６は、リダイレクト先ＵＲＬを指定したＨＴＴＰレスポンスＲｅｓ５１をデータ中継部１９に送信する。リダイレクト先ＵＲＬが指定されるヘッダのパラメータはいくつかあり、例えば、ＬｏｃａｔｉｏｎやＭＥＴＡタグである。処理はステップＳ５１０へ進む。
【００３３】
ステップＳ５１０において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬをリダイレクト先ＵＲＬ保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬにＩＰアドレスＡ１及びポート番号Ｂ１を設定し、ＨＴＴＰレスポンスＲｅｓ５２とする。処理はステップＳ５１１へ進む。
【００３４】
ステップＳ５１１において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５２をＴＣＰコネクション＃１でウェブブラウザ１５に送信する。処理はステップＳ５１２へ進む。
ステップＳ５１２において、ウェブブラウザ１５は、ＨＴＴＰレスポンスＲｅｓ５２のリダイレクト先ＵＲＬを、ＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＴＣＰコネクション＃１でデータ中継部１９に送信する。処理はステップＳ５１３へ進む。
【００３５】
ステップＳ５１３において、データ中継部１９は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部１９は、リダイレクト先ＵＲＬ保存バッファの値をＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＨＴＴＰリクエストＲｅｑ５２とする。処理はステップＳ５１４へ進む。
【００３６】
ステップＳ５１４において、データ中継部１９は、ＨＴＴＰリクエストＲｅｑ５２をＴＣＰコネクション＃２でウェブサーバ１６に送信する。処理はステップＳ５１５へ進む。
ステップＳ５１５において、ウェブサーバ１６は、ＨＴＴＰリクエストＲｅｑ５２に対するＨＴＴＰレスポンスＲｅｓ５３をデータ中継部１９に送信する。処理はステップＳ５１６へ進む。
ステップＳ５１６において、データ中継部１９は、リダイレクトフラグをオフに設定する。処理はステップＳ５１７へ進む。
【００３７】
ステップＳ５１７において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃２でウェブブラウザ１５に送信する。処理はステップＳ５１８へ進む。
ステップＳ５１８において、データ中継部１９は、ＴＣＰコネクション＃２を切断する。処理はステップＳ５１９へ進む。
ステップＳ５１９において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の終了を指示する。処理はステップＳ５２０へ進む。
ステップＳ５２０において、ブラウザ制御部２０は、ウェブブラウザ１５に終了を指示する。処理はステップＳ５２１へ進む。
ステップＳ５２１において、ウェブブラウザ１５はＴＣＰコネクション＃１を切断し、終了する。
【００３８】
次に、端末１２と試験装置１３との間に第１のプロキシサーバとしてプロキシサーバ６１が存在する構成における動作について説明する。
図６は、実施の形態１に係るウェブブラウザ１５、プロキシサーバ６１、試験装置１３及びウェブサーバ１６の処理の流れを示すシーケンス図である。図６は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定されない場合のシーケンスである。シーケンスの開始時には、リダイレクトフラグはオフに設定されている。図６のステップＳ６０８〜Ｓ６１２の処理は、図４のＳ４０６〜Ｓ４１０の処理と同じであるため、説明を省略する。
【００３９】
データ中継部１９は、データ解析部１８からウェブサーバ６へのＨＴＴＰリクエストが通知されるとステップＳ６０１より処理を開始する。このＨＴＴＰリクエストをＨＴＴＰリクエストＲｅｑ４１とする（図６には図示していない）。
ステップＳ６０１において、データ中継部１９は、リダイレクトフラグを参照する。リダイレクトフラグがオフのため、処理はステップＳ６０２へ進む。
ステップＳ６０２において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の起動を指示する。処理はステップＳ６０３へ進む。
【００４０】
ステップＳ６０３において、ブラウザ制御部２０は、ウェブブラウザ１５に起動を指示し、データ中継部１９のＩＰアドレスＡ１及び待ち受けポート番号Ｂ１を通知する。処理はステップＳ６０４へ進む。
ステップＳ６０４において、ウェブブラウザ１５は、プロキシサーバ６１にＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃３が確立される。ウェブブラウザ１５は、あらかじめプロキシサーバ６１のＩＰアドレス及び待ち受けポート番号を保持しているものとする。処理はステップＳ６０５へ進む。
ステップＳ６０５において、ウェブブラウザ１５は、ＨＴＴＰリクエストＲｅｑ４２をＴＣＰコネクション＃３でプロキシサーバ６１に送信する。処理はステップＳ６０６へ進む。
【００４１】
ステップＳ６０６において、プロキシサーバ６１は、ウェブサーバ１５から受信したＨＴＴＰリクエストＲｅｑ４２のＵＲＬからデータ中継部１９のＩＰアドレスＡ１及び待ち受けポート番号Ｂ１を取得する。プロキシサーバ６１は、データ中継部１９にＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃４が確立される。処理はステップＳ６０７へ進む。
ステップＳ６０７において、プロキシサーバ６１は、ＨＴＴＰリクエストＲｅｑ４２をＴＣＰコネクション＃４でデータ中継部１９に送信する。処理はステップＳ６０８へ進む。ステップＳ６０８〜Ｓ６１２の処理が行われ、ステップＳ６１３へ進む。
【００４２】
ステップＳ６１３において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃４でプロキシサーバ６１に送信する。処理はステップＳ６１４へ進む。
ステップＳ６１４において、プロキシサーバ６１は、ＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃３でウェブブラウザ１５に送信する。処理はステップＳ６１５へ進む。
【００４３】
ステップＳ６１５において、データ中継部１９は、ＴＣＰコネクション＃２を切断する。処理はステップＳ６１６へ進む。
ステップＳ６１６において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の終了を指示する。処理はステップＳ６１７へ進む。
ステップＳ６１７において、ブラウザ制御部２０は、ウェブブラウザ１５に終了を指示する。処理はステップＳ６１８へ進む。
ステップＳ６１８において、ウェブブラウザ１５はＴＣＰコネクション＃３を切断し、終了する。処理はステップＳ６１９へ進む。
ステップＳ６１９において、データ中継部１９は、ＴＣＰコネクション＃３を切断し、終了する。
【００４４】
図７は、実施の形態１に係るウェブブラウザ１５、プロキシサーバ６１、試験装置１３及びウェブサーバ１６の処理の流れを示すシーケンス図である。図７は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定される場合のシーケンスである。図７のステップＳ７０１〜Ｓ７１０の処理は図６のＳ６０１〜Ｓ６１０と同じであり、図７のステップＳ７２３〜Ｓ７２７の処理は図６のＳ６１５〜Ｓ６１９と同じため、説明を省略する。
【００４５】
ステップＳ７０１〜Ｓ７１０の処理が行われ、処理はステップＳ７１１へ進む。
ステップＳ７１１において、ウェブサーバ１６は、リダイレクト先ＵＲＬを指定したＨＴＴＰレスポンスＲｅｓ５１をデータ中継部１９に送信する。処理はステップＳ７１２へ進む。
ステップＳ７１２において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬをリダイレクト先ＵＲＬ保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬにＩＰアドレスＡ１及びポート番号Ｂ１を設定し、ＨＴＴＰレスポンスＲｅｓ５２とする。処理はステップＳ７１３へ進む。
【００４６】
ステップＳ７１３において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５２をＴＣＰコネクション＃４でプロキシサーバ６１に送信する。処理はステップＳ７１４へ進む。
ステップＳ７１４において、プロキシサーバ６１は、ＨＴＴＰレスポンスＲｅｓ５２をＴＣＰコネクション＃３でウェブブラウザ１５に送信する。処理はステップＳ７１５へ進む。
【００４７】
ステップＳ７１５において、ウェブブラウザ１５は、ＨＴＴＰレスポンスＲｅｓ５２のリダイレクト先ＵＲＬを、ＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＴＣＰコネクション＃３でプロキシサーバ６１に送信する。処理はステップＳ７１６へ進む。
ステップＳ７１６において、プロキシサーバ６１は、ＨＴＴＰリクエストＲｅｑ５１をＴＣＰコネクション＃４でデータ中継部１９に送信する。処理はステップＳ７１７へ進む。
【００４８】
ステップＳ７１７において、データ中継部１９は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部１９は、リダイレクト先ＵＲＬ保存バッファの値をＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＨＴＴＰリクエストＲｅｑ５２とする。処理はステップＳ７１８へ進む。
ステップＳ７１８において、データ中継部１９は、ＨＴＴＰリクエストＲｅｑ５２をＴＣＰコネクション＃２でウェブサーバ１６に送信する。処理はステップＳ７１９へ進む。
【００４９】
ステップＳ７１９において、ウェブサーバ１６は、ＨＴＴＰリクエストＲｅｑ５２に対するＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃２でデータ中継部１９に送信する。処理はステップＳ７２０へ進む。
ステップＳ７２０において、データ中継部１９は、リダイレクトフラグをオフにする。処理はステップＳ７２１へ進む。
ステップＳ７２１において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃４でプロキシサーバ６１に送信する。処理はステップＳ７２２へ進む。
【００５０】
ステップＳ７２２において、プロキシサーバ６１は、ＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃３でウェブブラウザ１５に送信する。処理はステップＳ７２３へ進む。ステップＳ７２３〜ステップＳ７２７に処理が行われ、終了する。
【００５１】
次に、試験装置１３と試験対象装置１４との間に第２のプロキシサーバとしてプロキシサーバ８１が存在する構成における処理について説明する。
図８は、実施の形態１に係る端末１２、試験装置１３、プロキシサーバ８１及び試験対象装置１４の処理を示すシーケンス図である。図８は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定されない場合のシーケンスである。図８のステップＳ８０１〜Ｓ８０６の処理は、図４のステップＳ４０１〜Ｓ４０６の処理と同じであるため、説明を省略する。
【００５２】
ステップＳ８０１〜Ｓ８０６の処理が行われ、処理はステップＳ８０７へ進む。
ステップＳ８０７において、データ中継部１９はプロキシサーバ８１に対してＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃５が確立される。データ中継部１９は、あらかじめプロキシサーバ８１のＩＰアドレス及び待ち受けポート番号を保持しているものとする。処理はステップＳ８０８へ進む。
ステップＳ８０８において、データ中継部１９は、ＨＴＴＰリクエストＲｅｑ４３をＴＣＰコネクション＃５でプロキシサーバ８１に送信する。処理はステップＳ８０９へ進む。
【００５３】
ステップＳ８０９において、プロキシサーバ８１は、データ中継部１９から受信したＨＴＴＰリクエストＲｅｑ４３のＵＲＬからウェブサーバ１６のＩＰアドレスＡ４及び待ち受けポート番号Ｂ４を取得する。プロキシサーバ８１は、ウェブサーバ１６にＴＣＰコネクションの確立を要求し、ＴＣＰコネクション＃６が確立される。処理はステップＳ８１０へ進む。
ステップＳ８１０において、プロキシサーバ８１は、ＨＴＴＰリクエストＲｅｑ４３をＴＣＰコネクション＃６でウェブサーバ１６に送信する。処理はステップＳ８１１へ進む。
【００５４】
ステップＳ８１１において、ウェブサーバ１６は、ＨＴＴＰリクエストＲｅｑ４３に対するＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃６でプロキシサーバ８１に送信する。処理はステップＳ８１２へ進む。
ステップＳ８１２において、プロキシサーバ８１は、ＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃５でデータ中継部１９に送信する。処理はステップＳ８１３へ進む。
ステップＳ８１３において、データ中継部１９は、リダイレクトフラグをオフにする。処理はステップＳ８１４へ進む。
【００５５】
ステップＳ８１４において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ４１をＴＣＰコネクション＃１でウェブブラウザ１５に送信する。処理はステップＳ８１５へ進む。ステップＳ８１５において、データ中継部１９は、ＴＣＰコネクション＃５を切断する。処理はステップＳ８１６へ進む。
ステップＳ８１６において、ウェブサーバ１６は、ＴＣＰコネクション＃６を切断する。処理はステップＳ８１７へ進む。
【００５６】
ステップＳ８１７において、データ中継部１９は、ブラウザ制御部２０にウェブブラウザ１５の終了を指示する。処理はステップＳ８１８へ進む。
ステップＳ８１８において、ブラウザ制御部２０は、ウェブブラウザ１５に終了を指示する。処理はステップＳ８１９へ進む。
ステップＳ８１９において、ウェブブラウザ１５は、ＴＣＰコネクション＃１を切断し、終了する。
【００５７】
図９は、実施の形態１に係るウェブブラウザ１５、試験装置１３、プロキシサーバ８１及びウェブサーバ１６の処理の流れを示すシーケンス図である。図９は、ＨＴＴＰレスポンスにリダイレクト先ＵＲＬが指定される場合のシーケンスである。図９のステップＳ９０１〜Ｓ９１０の処理は図８のＳ８０１〜Ｓ８１０と同じであり、図９のステップＳ９２３〜Ｓ９２７の処理は図８のＳ８１５〜Ｓ８１９と同じため、説明を省略する。
【００５８】
Ｓ９０１〜Ｓ９１０の処理が行われ、処理はステップＳ９１１へ進む。
ステップＳ９１１において、ウェブサーバ１６は、リダイレクト先ＵＲＬを指定したＨＴＴＰレスポンスＲｅｓ５１をＴＣＰコネクション＃６でプロキシサーバ８１に送信する。処理はステップＳ９１２へ進む。
ステップＳ９１２において、プロキシサーバ８１は、ＨＴＴＰレスポンスＲｅｓ５１をＴＣＰコネクション＃５でデータ中継部１９に送信する。処理はステップＳ９１３へ進む。
【００５９】
ステップＳ９１３において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬをリダイレクト先ＵＲＬ保存バッファに保存し、リダイレクトフラグをオンに設定する。また、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５１のリダイレクト先ＵＲＬにＩＰアドレスＡ１及びポート番号Ｂ１を設定し、ＨＴＴＰレスポンスＲｅｓ５２とする。処理はステップＳ９１４へ進む。
【００６０】
ステップＳ９１４において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５２をＴＣＰコネクション＃１でウェブブラウザ１５に送信する。処理はステップＳ９１５へ進む。
ステップＳ９１５において、ウェブブラウザ１５は、ＨＴＴＰレスポンスＲｅｓ５２のリダイレクト先ＵＲＬを、ＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＴＣＰコネクション＃１でデータ中継部１９に送信する。処理はステップＳ９１６へ進む。
【００６１】
ステップＳ９１６において、データ中継部１９は、リダイレクトフラグを参照する。リダイレクトフラグがオンのため、データ中継部１９は、リダイレクト先ＵＲＬ保存バッファの値をＨＴＴＰリクエストＲｅｑ５１のＵＲＬに設定し、ＨＴＴＰリクエストＲｅｑ５２とする。処理はステップＳ９１７へ進む。
【００６２】
ステップＳ９１７において、データ中継部１９は、ＨＴＴＰリクエストＲｅｑ５２をＴＣＰコネクション＃５でプロキシサーバ８１に送信する。処理はステップＳ９１８へ進む。
ステップＳ９１８において、プロキシサーバ８１は、ＨＴＴＰリクエストＲｅｑ５２をＴＣＰコネクション＃６でウェブサーバ１６に送信する。処理はステップＳ９１９へ進む。
【００６３】
ステップＳ９１９において、ウェブサーバ１６は、ＨＴＴＰリクエストＲｅｑ５２に対するＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃６でプロキシサーバ８１に送信する。処理はステップＳ９２０へ進む。
ステップＳ９２０において、プロキシサーバ８１は、ＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃５でデータ中継部１９に送信する。処理はステップＳ９２１へ進む。
ステップＳ９２１において、データ中継部１９は、リダイレクトフラグをオフに設定する。処理はステップＳ９２２へ進む。
【００６４】
ステップＳ９２２において、データ中継部１９は、ＨＴＴＰレスポンスＲｅｓ５３をＴＣＰコネクション＃２でウェブブラウザ１５に送信する。処理はステップＳ９２３へ進む。ステップＳ９２３〜Ｓ９２７の処理が行われ、終了する。
【００６５】
したがって、本実施の形態では、試験環境の端末上で動作するウェブブラウザ及び試験対象装置上で動作するウェブサーバとＴＣＰコネクションを確立して接続する試験装置であって、ウェブブラウザから送信されるＨＴＴＰリクエストからウェブブラウザの情報を示すパラメータを取得し、実環境から収集したＨＴＴＰリクエスト内のパラメータを変更してウェブサーバに送信することにより、ウェブサーバからウェブブラウザに対応したＨＴＴＰレスポンスを受信し、当該ＨＴＴＰレスポンスをウェブブラウザに送信するデータ中継部を備えているので、ウェブブラウザからウェブサーバに送信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスをウェブブラウザが受信したときに正常に動作するかを検証することができる。
【符号の説明】
【００６６】
１  実環境
２  端末
３  スイッチ
４  サーバ装置
５  ウェブブラウザ
６  ウェブサーバ
１１  試験環境
１２  端末
１３  試験装置
１４  試験対象装置
１５  ウェブブラウザ
１６  ウェブサーバ
１７  データ収集部
１８  データ解析部
１９  データ中継部
２０  ブラウザ制御部
２１  ＨＴＴＰリクエスト
２２  リクエストライン
２３  ヘッダ
２４  メッセージボディ
３１  ＨＴＴＰレスポンス
３２  ステータスライン
３３  ヘッダ
３４  メッセージボディ
【図１】
2014149767.tif 000003
【図２】
2014149767.tif 000004
【図３】
2014149767.tif 000005
【図４】
2014149767.tif 000006
【図５】
2014149767.tif 000007
【図６】
2014149767.tif 000008
【図７】
2014149767.tif 000009
【図８】
2014149767.tif 000010
【図９】
2014149767.tif 000011