(57)【要約】【課題】通信の再現にかかる時間を短くすることが可能な中継サーバ、中継プログラム及び中継方法を提供することを目的としている。【解決手段】記憶部に格納されたウェブサーバとウェブブラウザ間の通信記録において、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する検出部と、前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択するテスト実行部と、を有する。【選択図】図５
2014146104.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に格納されたウェブサーバとウェブブラウザ間の通信記録において、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する検出部と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択するテスト実行部と、を有する中継サーバ。
【請求項２】
前記通信記録は、前記ウェブブラウザから前記ウェブサーバに対して送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザに対して送信されるレスポンスデータとを含み、
前記検出部は、
通信記録のリクエストデータに、前記通信記録の直前の通信記録のレスポンスデータと対応する値が含まれるとき、前記直前の通信記録を前記所定の入力操作に係る通信記録とする請求項１記載の中継サーバ。
【請求項３】
前記所定の入力操作は、前記ウェブサーバにより提供されるサービスへのログイン情報を入力する操作である請求項１又は２記載の中継サーバ。
【請求項４】
テスト実行部は、
前記第一の再現部を実行して再現された通信の記録である第一の通信記録と、前記第二の再現部を実行して再現された通信の記録である第二の通信記録とを比較する請求項１乃至３の何れか一項に記載の中継サーバ。
【請求項５】
ウェブサーバとウェブブラウザ間の通信記録が格納された記憶部を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、をコンピュータに実行させる中継プログラム。
【請求項６】
コンピュータによる中継方法であって、該コンピュータが、
ウェブサーバとウェブブラウザ間の通信記録が格納された記憶部を参照して前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出し、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバとウェブブラウザ間の通信を中継する中継サーバ、中継プログラム及び中継方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、ユーザの操作などの動作履歴をもとに、システムの動作を再現する技術が開示されている。
【０００３】
ウェブシステムにおいても、ユーザの操作を再現する技術がある。ウェブシステムでは、ウェブサーバが、ウェブブラウザでの操作のもと、当該ウェブブラウザとの間でＨＴＴＰ（Hyper Text Transfer Protocol）でデータのやりとりをして、該当するサービスを提供する。この際、ウェブサーバとウェブブラウザとの間に、データを中継する中継サーバが設置される場合がある。
【０００４】
中継サーバは、ウェブサーバとウェブブラウザとの間の通信メッセージの履歴を通信記録として記録し、この通信履歴を用いて通信を再現する。これにより、ユーザがウェブサーバへの操作を再現したい場合に、ウェブブラウザでのウェブサーバへの操作を再び行う代わりに、中継サーバが通信履歴を用いて通信を再現することで自動的に該当するサービスへの操作を再現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−８４８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、例えば操作の再現に用いられる通信記録に、ユーザの操作と無関係な通信記録が含まれている場合がある。この場合中継サーバは、不要な通信まで再現するため、通信の再現に時間がかかる。
【０００７】
１つの側面では、本発明は、通信の再現にかかる時間を短くすることが可能な中継サーバ、中継プログラム及び中継方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一様態によれば、記憶部に格納されたウェブサーバとウェブブラウザ間の通信記録において、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する検出部と、前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択するテスト実行部と、を有する。
【０００９】
上記各部は、上記各部を実現する処理をコンピュータに実行させるプログラム、上記各処理を手順としてンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
実施形態によれば、通信の再現にかかる時間を短くすることができる。
【図面の簡単な説明】
【００１１】
【図１】ウェブ中継システムにおけるログイン画面の表示について説明する図である。
【図２】ウェブ中継システムの構成例を示す図である。
【図３】中継サーバのハードウェアの構成例を示す図である。
【図４】中継サーバの機能構成を説明する図である。
【図５】中継サーバの動作を説明するフローチャートである。
【図６】ログイン画面検出部の処理を説明するフローチャートである。
【図７】ログイン画面判定条件を説明する第一の図である。
【図８】ログイン画面判定条件を説明する第二の図である。
【図９】テスト実行部による再現モジュールの実行結果の比較を説明する図である。
【発明を実施するための形態】
【００１２】
以下に本実施例の概要について説明する。本実施例では、ウェブサーバとウェブブラウザとの間の通信を再現する際に、ウェブブラウザにおけるユーザの操作と関係した通信を再現し、ユーザの操作と無関係な通信の再現を省略する。
【００１３】
本実施例では、ユーザの操作と無関係な通信の一つとして、ウェブサーバが提供するサービスへログインする際のログイン画面表示を再現する通信に着目した。
【００１４】
図１は、ウェブ中継システムにおけるログイン画面表示について説明する図である。
【００１５】
ウェブ中継システム１００において、ユーザがウェブブラウザ１１０に表示されたログイン画面にアクセスしてログイン操作を行うと、ウェブブラウザ１１０は中継サーバ２００へログインを要求するリクエストデータを送信する（ステップＳ１１）。中継サーバ２００は、プロキシ部２１０により、受信したリクエストデータをウェブサーバ１２０へ転送する（ステップＳ１２）。プロキシ部２１０は、通信記録を記録するものである。プロキシ部２１０の詳細は後述する。
【００１６】
ウェブサーバ１２０は、リクエストデータを受けると、これに応答したレスポンスデータを中継サーバ２００へ送信する（ステップＳ１３）。中継サーバ２００において、プロキシ部２１０は、レスポンスデータをウェブブラウザ１１０へ転送する（ステップＳ１４）。ここでウェブブラウザ１１０にはログイン画面が表示される。
【００１７】
中継サーバ２００においてプロキシ部２１０は、中継サーバ２００が転送したリクエストデータと、レスポンスデータとを通信記録２８１として通信記録データベース２８０に格納する（ステップＳ１５）。通信記録２８１は、ログイン画面をウェブブラウザ１１０に表示させるための通信記録である。
【００１８】
ウェブブラウザ１１０は、ユーザによりログイン情報（例えばＩＤとパスワード）が入力されると、ログイン情報と共にログインリクエストデータを中継サーバ２００に送信する（ステップＳ１６）。中継サーバ２００は、プロキシ部２１０により、ログインリクエストデータをウェブサーバ１２０へ転送する（ステップＳ１７）。
【００１９】
ウェブサーバ１２０は、ログイン後のメニュー画面のレスポンスデータを中継サーバ２００へ送信する（ステップＳ１８）。中継サーバ２００のプロキシ部２１０は、このレスポンスデータをウェブブラウザ１１０へ転送する（ステップＳ１９）。
【００２０】
中継サーバ２００においてプロキシ部２１０は、中継サーバ２００がステップＳ１７で転送したリクエストデータとステップＳ１９で転送したレスポンスデータとを通信記録２８２として通信記録データベース２８０に格納する（ステップＳ２０）。通信記録２８２は、ログイン情報をウェブサーバ１２０へ通知し、ログイン後の画面をウェブブラウザ１１０に表示させるための通信記録である。
【００２１】
中継サーバ２００は、ログイン操作を再現する際は、通信記録から通信を再現させる再現モジュールにより通信記録２８１と通信記録２８２を再現すれば良い。再現モジュールの詳細は後述する。
【００２２】
ところで近年のウェブシステムでは、ログイン情報を含むリクエストデータを直接ウェブサーバ１２０へ送信することでログイン操作を再現するものがある。この場合には、ログイ情報を入力させるためのログイン画面を表示させるための通信記録２８１の再現は不要となる。
【００２３】
そこで本実施例では、ログイン操作の再現に際し、ログイン画面表示のための通信記録２８１が不要か否かを判断する。そして本実施例では、ログイン画面表示が不要であった場合には、再現モジュールが再現する通信記録から通信記録２８１を削除することで、通信の再現にかかる時間を短縮する。
【００２４】
以下に図面を参照して本実施例のウェブ中継システム１００について説明する。図２は、ウェブ中継システムの構成例を示す図である。
【００２５】
本実施例のウェブ中継システム１００は、ウェブブラウザ１１０と、ウェブサーバ１２０と、中継サーバ２００とを有する。中継サーバ２００は、ウェブブラウザ１１０とウェブサーバ１２０との間の通信を中継する。ウェブブラウザ１１０は、ウェブサービスを利用するパーソナルコンピュータなどのユーザ端末である。ウェブサーバ１２０は、ウェブサービスを実施する。尚ウェブ中継システム１００では、ウェブサーバ１２０を中継サーバ２００及びウェブブラウザ１１０と同一のネットワーク上に適用した場合であっても良いし、ウェブサーバ１２０を外部装置として異なるネットワーク上に適用した場合であっても良い。
【００２６】
本実施例では、ウェブブラウザ１１０からリクエストデータが送信されると、中継サーバ２００がリクエストデータをウェブサーバ１２０へ転送する。ウェブサーバ１２０は、リクエストデータを受けて、サービスを提供するためのレスポンスデータを中継サーバ２００へ転送する。中継サーバ２００は、このレスポンスデータをウェブブラウザ１１０へ送信する。
【００２７】
図３は、中継サーバのハードウェアの構成例を示す図である。本実施例の中継サーバ２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６及びインターフェース装置２７で構成される。
【００２８】
入力装置２１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置２７は、モデム，ＬＡＮ（Local Area Network）カードなどで構成されており、ネットワークに接続する為に用いられる。
【００２９】
本発明の中継プログラムは、中継サーバ２００を制御する各種プログラムの少なくとも一部である。中継プログラムは例えば記録媒体２８の配布やネットワークからのダウンロードなどによって提供される。中継プログラムを記録した記録媒体２８は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３０】
また、中継プログラムを記録した記録媒体２８がドライブ装置２３にセットされると、中継プログラムは記録媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされた中継プログラムは、インターフェース装置２７を介して補助記憶装置２４にインストールされる。
【００３１】
中継サーバ２００は、インストールされた中継プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２５は、コンピュータの起動時に補助記憶装置２４から中継プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納された中継プログラムに従って、後述するような各種処理を実現している。
【００３２】
以下に図４を参照して本実施例の中継サーバ２００の機能構成を説明する。図４は、中継サーバの機能構成を説明する図である。
【００３３】
本実施例の中継サーバ２００は、プロキシ部２１０、再現モジュール生成部２２０、ログイン画面検出部２３０、通信抽出部２４０、テスト実行部２５０、通信記録データベース２８０を有する。
【００３４】
本実施例のプロキシ部２１０は、ウェブブラウザ１１０が行う一連の操作に関わるウェブブラウザ１１０及びウェブサーバ１２０間の通信の履歴を通信記録として通信記録データベース２８０に記録する。
【００３５】
本実施例の再現モジュール生成部２２０は、通信記録データベース２８０に格納された通信記録に基づき、通信を再現する再現モジュール２６０を生成する。また本実施例の再現モジュール生成部２２０は、通信抽出部２４０により通信記録データベース２８０から抽出された通信記録に基づき、後述する再現モジュール２７０を生成する。
【００３６】
ログイン画面検出部２３０は、通信記録データベース２８０に格納された通信記録からログイン画面表示に関する通信記録を検出する。ログイン画面検出部２３０の処理の詳細は後述する。
【００３７】
通信抽出部２４０は、通信記録データベース２８０に記録された通信記録のうち、ログイン画面検出部２３０で検出された通信記録以外の通信記録を抽出する。すなわち本実施例の通信抽出部２４０は、通信記録データベース２８０に記録された通信記録から、ログイン画面表示に関する通信記録を除いた通信記録を抽出する。
【００３８】
よって本実施例の再現モジュール生成部２２０は、ログイン画面表示に関する通信記録を含む通信記録に基づき生成された再現モジュール２６０と、ログイン画面表示に関する通信記録を除いた通信記録に基づき生成された再現モジュール２７０とを生成する。
【００３９】
本実施例のテスト実行部２５０は、ウェブブラウザ１１０とウェブサーバ１２０とを有するウェブシステムにおいてログイン操作を再現する際に、ログイン画面表示の通信記録が不要か否かを判断するテストを実行する。具体的にはテスト実行部２５０は、再現モジュール生成部２２０に２つの再現モジュール２６０、２７０を生成させ、それぞれの再現モジュール２６０、２７０を実行させる。そしてテスト実行部２５０は、２つの再現モジュール２６０、２７０の実行結果に基づきログイン画面表示の通信記録が不要か否かを判断し、再現モジュール２６０、２７０の何れかを選択する。
【００４０】
以下に図５を参照して本実施例の中継サーバ２００の動作を説明する。図５は、中継サーバの動作を説明するフローチャートである。
【００４１】
本実施例の中継サーバ２００において、テスト実行部２５０がテストの実行指示を受けてテストの実行を開始する（ステップＳ５０１）。テスト実行部２５０は、再現モジュール生成部２２０に対して再現モジュール２６０を生成させる（ステップＳ５０２）。再現モジュール生成部２２０は、通信記録データベース２８０内の通信記録を用いて再現モジュール２６０を生成する。
【００４２】
尚本実施例のテスト実行部２５０は、例えばプロキシ部２１０がウェブブラウザ１１０の行う一連の操作に関わる通信記録を通信記録データベース２８０に格納し終わったとき、テストの実行指示を受けたものと判断しても良い。また本実施例は、例えばウェブ中継システム１００の管理者等によりテストの実行指示を受け付けたとき、テストの実行を開始しても良い。
【００４３】
続いてテスト実行部２５０は、再現モジュール２６０を実行させ、実行結果を記録する（ステップＳ５０３）。
【００４４】
次に中継サーバ２００は、ログイン画面検出部２３０により通信記録データベース２８０を参照し、通信記録からログイン画面表示に関する通信記録２８１を検出する（ステップＳ５０４）。ステップＳ５０４の詳細は後述する。
【００４５】
続いて中継サーバ２００は、通信抽出部２４０により、通信記録データベース２８０からステップＳ５０４で検出された通信記録２８１を除いた通信記録を抽出する（ステップＳ５０５）。続いて中継サーバ２００は、再現モジュール生成部２２０にステップＳ５０５で抽出した通信記録を用いた再現モジュール２７０を生成させる（ステップＳ５０６）。次に中継サーバ２００は、テスト実行部２５０により再現モジュール２７０を実行させ、実行結果を記録する（ステップＳ５０７）。
【００４６】
続いて中継サーバ２００は、テスト実行部２５０により、再現モジュール２６０の実行結果と再現モジュール２７０の実行結果とを比較し、実行結果が一致するか否かを判断する（ステップＳ５０８）。本実施例では、再現モジュール２６０、２７０それぞれを実行することで再現モジュール２６０、２７０それぞれにより再現された通信の通信記録が実行結果として得られる。実行結果の比較の詳細は後述する。
【００４７】
本実施例では、ステップＳ５０８において実行結果が一致する場合とは、ログイン画面表示に関する通信記録２８１を省いてもログイン操作を再現できることを示す。よってテスト実行部２５０は、通信記録２８１を含まない再現モジュール２７０を中継サーバ２００に実装する再現モジュールに選択し、再現モジュール２６０を削除して（ステップＳ５０９）、テストを終了する。
【００４８】
本実施例では、ステップＳ５０８において実行結果が一致しない場合とは、通信記録２８１を省くとログイン操作が再現されないことを示す。これは、ログイン操作を再現する際に、通信記録２８１が必要であることを示す。よってテスト実行部２５０は、通信記録２８１を含む再現モジュール２６０を選択し、再現モジュール２７０を削除して（ステップＳ５１０）、テストを終了する。
【００４９】
以上のように本実施例では、ログイン画面表示に関する通信記録２８１を省いてもログイン操作を再現できる場合には、通信記録２８１を含まない再現モジュール２７０を用いる。再現モジュール２７０は、通信記録２８１を含む再現モジュール２６０と比べて再現する通信の数が少ないため、通信の再現にかかる時間を短くすることができる。
【００５０】
以下に、ステップＳ５０４におけるログイン画面検出部２３０の処理について説明する。図６は、ログイン画面検出部の処理を説明するフローチャートである。
【００５１】
本実施例のログイン画面検出部２３０は、通信記録データベース２８０から通信記録の配列Ｒ［ｎ］を取得する（ステップＳ６０１）。通信記録の配列Ｒ［ｎ］とは、リクエストデータと、このリクエストデータに対応するレスポンスデータとの組みを示す。またｎは、通信記録データベース２８０に格納された通信記録の個数である。
【００５２】
続いてログイン画面検出部２３０は、ログイン画面表示に関する通信記録２８１を格納する集合Ｓを用意し（ステップＳ６０２）、変数ｉ＝０とする（ステップＳ６０３）。
【００５３】
次にログイン画面検出部２３０は、ｎ＝ｉとし、ステップＳ６０１で取得した配列Ｒ［ｉ］が、ログイン画面判定条件を満たすか否かを判断する（ステップＳ６０４）。ログイン画面判定条件の詳細は後述する。
【００５４】
ステップＳ６０４で配列Ｒ［ｉ］がログイン画面判定条件を満たすとき、ログイン画面検出部２３０は、この配列Ｒ［ｉ］で示される通信記録をログイン画面表示に関する通信記録と判断し、配列Ｒ［ｉ］で示される通信記録を集合Ｓに追加する（ステップＳ６０５）。
【００５５】
ステップＳ６０４で配列Ｒ［ｎ］がログイン画面判定条件を満たさないとき、ログイン画面検出部２３０は、ｉ＝ｉ＋１とする（ステップＳ６０６）。続いてログイン画面検出部２３０は、ｉ＞ｎ−２を満たすか否かを判断する（ステップＳ６０７）。具体的にはログイン画面検出部２３０は、通信記録データベース２８０内の通信記録全てについて、ステップＳ６０４の処理を行ったか否かを判断する。
【００５６】
ステップＳ６０７でｉ＞ｎ−２を満たさない場合、ログイン画面検出部２３０はステップＳ６０４へ戻る。ステップＳ６０７でｉ＞ｎ−２を満たす場合、ログイン画面検出部２３０は、集合Ｓに格納された通信記録を出力し（ステップＳ６０８）、処理を終了する。
【００５７】
本実施例において、集合Ｓに含まれる通信記録は、ログイン画面表示に関する通信記録となる。よって本実施例の通信抽出部２４０は、通信記録データベース２８０に格納された通信記録から集合Ｓを除いた通信記録を抽出する。
【００５８】
次に本実施例のログイン画面判定条件について説明する。本実施例のログイン画面判定条件は、配列Ｒ［ｉ］のレスポンスデータにpassword型のinputタグが含まれ、且つ配列Ｒ［ｉ＋１］のリクエストデータにpassword型のinputタグのname属性値と同じ名前のバラメータが存在することである。
【００５９】
図７は、ログイン画面判定条件を説明する第一の図である。図７では、配列Ｒ［ｉ］をリクエストデータ７１とレスポンスデータ７２の組みとし、配列Ｒ［ｉ＋１］をリクエストデータ７３とレスポンスデータ７４の組みとした。
【００６０】
配列Ｒ［ｉ］のレスポンスデータ７２には、password型のinputタグ７２１が含まれる。inputタグ７２１に含まれるname属性値は、pwである。配列Ｒ［ｉ＋１］のリクエストデータ７３には、inputタグ７２１に含まれるname属性値であるpwが含まれる。すなわち配列Ｒ［ｉ＋１］は配列Ｒ［ｉ］でログイン情報（name,password）が入力された後の通信記録であり、配列Ｒ［ｉ］はログイン画面表示に関する通信記録２８１であることがわかる。
【００６１】
よってログイン画面検出部２３０は、配列Ｒ［ｉ］はログイン画面判定条件を満たすと判断する。
【００６２】
また本実施例のログイン画面判定条件は、例えばSet-cookieを用いた条件としても良い。具体的には例えばログイン画面判定条件は、配列Ｒ［ｉ］のレスポンスデータのヘッダにSet-cookieが含まれず、且つ配列Ｒ［ｉ＋１］のレスポンスデータのヘッダにSet-cookieが含まれることであっても良い。
【００６３】
図８は、ログイン画面判定条件を説明する第二の図である。図８では、配列Ｒ［ｉ］をリクエストデータ８１とレスポンスデータ８２の組みとし、配列Ｒ［ｉ＋１］をリクエストデータ８３とレスポンスデータ８４の組みとした。
【００６４】
配列Ｒ［ｉ］のレスポンスデータ８２のヘッダには、Set-cookieは含まれていない。そして配列Ｒ［ｉ＋１］のレスポンスデータ８４のヘッダにはSet-cookieが含まれる。すなわち配列Ｒ［ｉ＋１］の直前の通信記録である配列Ｒ［ｉ］は、ログイン情報（name,password）を入力するログイン画面表示に関する通信記録２８１であることがわかる。
【００６５】
よってログイン画面検出部２３０は、配列Ｒ［ｉ］はログイン画面判定条件を満たすと判断する。
【００６６】
次にテスト実行部２５０による再現モジュール２６０の実行結果と再現モジュール２７０の実行結果との比較について説明する。図９は、テスト実行部による再現モジュールの実行結果の比較を説明する図である。図９（Ａ）は再現モジュール２６０を実行して通信を再現した結果の通信記録を示しており、図９（Ｂ）は再現モジュール２７０を実行して通信を再現した結果の通信記録を示している。
【００６７】
図９（Ａ）に示す再現モジュール２６０により再現された通信の通信記録９０は、リクエストデータ９１とレスポンスデータ９２を含む。また図９（Ｂ）に示す再現モジュール２７０により再現された通信の通信記録９３は、リクエストデータ９４とレスポンスデータ９５を含む。
【００６８】
本実施例のテスト実行部２５０は、通信記録９０のレスポンスデータ９２に含まれるレスポンスコードと、通信記録９３のレスポンスデータ９５に含まれるレスポンスコードと、を比較する。レスポンスコードとは、リクエストに対して返されるレスポンスの意味を自動的に処理できるようにするために設けられた３桁の数字である。
【００６９】
本実施例のテスト実行部２５０は、レスポンスデータ９２に含まれるレスポンスコードとレスポンスデータ９５に含まれるレスポンスコードとを比較し、一致していた場合に再現モジュール２７０が正常に通信を再現したと判断する。すなわちテスト実行部２５０は、レスポンスコードが一致した場合に、ログイン画面表示に関する通信記録２８１を除いた再現モジュール２７０でも、正常にログイン操作が再現できると判断する。
【００７０】
図９の例では、レスポンスデータ９２に含まれるレスポンスコードとレスポンスデータ９５に含まれるレスポンスコードは何れも２００であり、一致している。よって本実施例のテスト実行部２５０は、再現モジュール２７０でも正常にログイン操作を再現できると判断し、再現モジュール２７０を中継サーバ２００の有する再現モジュールとして選択し、再現モジュール２６０を削除する。
【００７１】
以上のように本実施例では、再現モジュールを生成する際に、ログイン画面表示の通信記録が不要か否かを判断する。そして本実施例では、ログイン画面表示の通信記録が不要であった場合には、この通信記録を除いた通信記録に基づき再現モジュールを生成する。よって本実施例によれば、不要な通信の再現を削減し、通信の再現にかかる時間を短くすることができる。
【００７２】
開示の技術では、以下に記載する付記のような構成が考えられる。
（付記１）
記憶部に格納されたウェブサーバとウェブブラウザ間の通信記録において、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する検出部と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択するテスト実行部と、を有する中継サーバ。
（付記２）
前記通信記録は、前記ウェブブラウザから前記ウェブサーバに対して送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザに対して送信されるレスポンスデータとを含み、
前記検出部は、
通信記録のリクエストデータに、前記通信記録の直前の通信記録のレスポンスデータと対応する値が含まれるとき、前記直前の通信記録を前記所定の入力操作に係る通信記録とする付記１記載の中継サーバ。
（付記３）
前記所定の入力操作は、前記ウェブサーバにより提供されるサービスへのログイン情報を入力する操作である付記１又は２記載の中継サーバ。
（付記４）
テスト実行部は、
前記第一の再現部を実行して再現された通信の記録である第一の通信記録と、前記第二の再現部を実行して再現された通信の記録である第二の通信記録とを比較する付記１乃至３の何れか一項に記載の中継サーバ。
（付記５）
前記テスト実行部は、
前記第一の通信記録のレスポンスデータに含まれるレスポンスコードと、前記第二の通信記録のレスポンスデータに含まれるレスポンスコードとが一致するとき、前記第二の再現部を選択し、前記第一の再現部を削除する付記４記載の中継サーバ。
（付記６）
前記テスト実行部の指示を受けて、前記第一の再現部と前記第二の再現部とを生成する生成部を有する付記１乃至５の何れか一項に記載の中継サーバ。
（付記７）
ウェブサーバとウェブブラウザ間の通信記録が格納された記憶部を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、をコンピュータに実行させる中継プログラム。
（付記８）
コンピュータによる中継方法であって、該コンピュータが、
ウェブサーバとウェブブラウザ間の通信記録が格納された記憶部を参照して前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出し、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する中継方法。
【００７３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００７４】
１００  ウェブ中継システム
１１０  ウェブブラウザ
１２０  ウェブサーバ
２００  中継サーバ
２１０  プロキシ部  
２２０  再現モジュール生成部
２３０  ログイン画面検出部
２４０  通信抽出部
２５０  テスト実行部
２６０、２７０  再現モジュール
２８０  通信記録データベース
【図１】
2014146104.tif 000003
【図２】
2014146104.tif 000004
【図３】
2014146104.tif 000005
【図４】
2014146104.tif 000006
【図５】
2014146104.tif 000007
【図６】
2014146104.tif 000008
【図７】
2014146104.tif 000009
【図８】
2014146104.tif 000010
【図９】
2014146104.tif 000011