(57)【要約】【課題】Ｗｅｂアプリケーションの検査処理の効率化と検査結果の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ること。【解決手段】（Ａ）において、Ｊａｖａソース断片９０３に記述されている「org.apache.struts.taglib.bean.WriteTag」が、カスタムタグ９０１のタグクラス１００１として、「AddForm」がname属性の属性値１００２として、「result」がproperty属性の属性値１００３として、抽出される。（Ｂ）において、「<!--testStart expected=“5”-->」が検査情報のＨＴＭＬコメント９１１として出力される。つぎに、Ｗｅｂアプリケーション５２１を通常通り実行させると、出力項目７０１として出力値「５」が出力される。終了した後に、「<!--testEnd -->」がＨＴＭＬコメント９１２として出力される。これにより。検査情報付きレスポンスＨＴＭＬ９１０が生成される。【選択図】図１０
2008112300.tif 000002
【特許請求の範囲】
【請求項１】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付けさせる受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行させる実行工程と、
前記実行工程によって実行することにより得られた出力項目の検査に用いられる検査情報を取得させる取得工程と、
前記取得工程によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成させる生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信させる送信工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【請求項２】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に当該出力項目の検査に用いられる検査情報を関連付けた前記リクエストに対するレスポンスを受信させる受信工程と、
前記受信工程によって受信されたレスポンス内の前記検査情報に基づいて、前記レスポンス内の前記出力項目を検査させる検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力させる出力工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【請求項３】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付けさせる受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行させる実行工程と、
前記実行工程による前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を特定させる特定工程と、
前記実行工程によって実行することにより得られた出力項目に、前記特定工程によって特定されたメタ情報を関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成させる生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信させる送信工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【請求項４】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を関連付けた前記リクエストに対するレスポンスを受信させる受信工程と、
前記Ｗｅｂアプリケーションの実行内容ごとのメタ情報に関連付けられている検査情報の集合の中から、前記受信工程によって受信されたレスポンス内のメタ情報に関連付けられている検査情報を取得させる取得工程と、
前記取得工程によって取得された検査情報に基づいて、前記レスポンス内の前記出力項目を検査させる検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力させる出力工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【請求項５】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付手段と、
前記受付手段によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行手段と、
前記実行手段によって実行することにより得られた出力項目の検査に用いられる検査情報を取得する取得手段と、
前記取得手段によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成手段と、
前記生成手段によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信手段と、
を備えることを特徴とするＷｅｂアプリケーション検査装置。
【請求項６】
ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行工程と、
前記実行工程によって実行することにより得られた出力項目の検査に用いられる検査情報を取得する取得工程と、
前記取得工程によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信工程と、
を含んだことを特徴とするＷｅｂアプリケーション検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、Ｗｅｂアプリケーションシステム開発時に実施されるＷｅｂアプリケーションの自動検査をおこなうＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法に関する。
【背景技術】
【０００２】
従来から、Ｗｅｂアプリケーションのテストは、テスト実施者がＷｅｂブラウザを動作させながら出力項目を目視で確認する方法や、テスト用プログラムを記述し、あるリクエストを入力した際の出力をプログラム内で確認する方法によりおこなわれるのが一般的である。
【０００３】
目視で確認する方法では、テスト実施者はテスト仕様書に実行する処理および入力値・期待値を記述し、このテスト仕様書に沿って人手により１件ずつ入力値を入力して処理を実施する。その際に、画面に表示される出力結果値と、テスト仕様書に記述される期待値を目視で比較することにより、テスト実施者が合否の判定をおこなう。このとき、出力結果値が画面上のどこに表示されるかは通常テスト仕様書には記述されないため、テスト実施者がそれぞれ判断して表示場所を特定している。
【０００４】
一方、テスト用プログラムを利用する方法としては、下記非特許文献１および非特許文献２を組み合わせた方法が一般的に知られている。この方法では、各ツールで指定された規約に則り、ＨＴＴＰのリクエストを作成し、Ｗｅｂアプリケーションが配備されたＷｅｂサーバにこのリクエストを送信する。Ｗｅｂアプリケーション内で処理された結果としてＨＴＴＰレスポンスがＷｅｂサーバより返却され、このＨＴＴＰレスポンスをテスト用プログラム内で解析することにより、合否判定をおこなう。
【０００５】
このテスト用プログラムを利用する方法は、一度テスト用プログラムを記述してしまえば、何度でも同じテストを自動的に実行することができるメリットがある。また、一度実行されたテストを再実行するリグレッションテストでは、最初に実行したテストの際に受信したＨＴＴＰレスポンスをログなどの形式で記録しておき、再実行時に記録しておいたログとの突合せをおこなうことで、再実行時のテストを自動化する方法も考えられる。
【０００６】
【非特許文献１】Jakarta Cactus、［online］、［平成１８年１０月１０日検索］、インターネット＜ＵＲＬ：http://jakarta.apache.org/cactus＞
【非特許文献２】HttpUnit、［online］、［平成１８年１０月１０日検索］、インターネット＜ＵＲＬ：http://httpunit.sourceforge.net/＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した目視で確認する方法では、テスト仕様書の記述は比較的容易だが、人手が中心となるために出力結果値と期待値が一致していない場合でも、その違いを見落とすリスクが発生してしまうという問題があった。たとえば、出力結果値が画面上のどこに存在するかがすぐに分からないこともあり、場所の特定に時間を要する他、実際の出力場所を見誤る可能性もある。
【０００８】
また、目視で確認する方法では、同一のテストを何度もおこなうリグレッションテスト時にはテストを実行するごとに大きな工数を必要とする。したがって、検査の効率化を損ない、検査期間が長期化してしまうという問題があった。
【０００９】
また、上述したテスト用プログラムを利用する方法では、検査対象の出力項目がＨＴＴＰレスポンスのどこに出現するかを特定することが、目視で確認する方法よりもさらに困難であるという問題があった。
【００１０】
一方、目視で確認しやすくするために、テスト用プログラム中でこの位置情報を正確に記述すると、小さなデザインの変更でもテスト用プログラムを書き直す必要が発生し、仕様変更時のコストが大きくなるという問題が生じることとなる。
【００１１】
また、テスト用プログラム自体にバグがある場合には、テスト自体の信頼性が問題視されることになるが、テスト用プログラムにバグがないことを証明する手段は現在提案されていない。
【００１２】
さらに、上述したリグレッションテストなどのようにログなどの記録によるテスト再実行の自動化をおこなう方法の場合、初回のＨＴＴＰレスポンスと再実行時のＨＴＴＰレスポンスが、ヘッダ部を除いて厳密に一致していないと、完全な自動化が実現できないという問題が生じることとなる。
【００１３】
たとえば、Ｗｅｂアプリケーションの出力項目として、「受付日」のような毎回変化する項目が存在する場合、この項目が変化してしまうために、テスト用プログラムにバグがなくてもログの結果と一致しないこととなり、検査結果が不合格になってしまうという問題が生じることとなる。
【００１４】
この発明は、上述した従来技術による問題点を解消するため、Ｗｅｂアプリケーションの検査処理の効率化と検査結果の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ることができるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、第１の発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法は、ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付け、受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行し、実行することにより得られた出力項目の検査に用いられる検査情報を取得し、取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成し、生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信することを特徴とする。
【００１６】
この発明によれば、出力項目の検査を実行するコンピュータ装置が、出力項目とともにその検査情報も自動的に取得することができる。
【００１７】
また、上記発明において、前記出力項目が固定値である場合、前記検査情報として、前記Ｗｅｂアプリケーションの仕様書に記述された期待値を取得することとしてもよい。
【００１８】
この発明によれば、レスポンスを受信することにより、出力項目と期待値との比較検査を実行することができる。
【００１９】
また、上記発明において、前記出力項目が不定値である場合、前記検査情報として、前記出力項目が満たすべき検査条件を取得することとしてもよい。
【００２０】
この発明によれば、レスポンスを受信することにより、出力項目が検査条件を遵守／違反していることを検査することができる。
【００２１】
また、第２の発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法は、ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に当該出力項目の検査に用いられる検査情報を関連付けた前記リクエストに対するレスポンスを受信し、受信されたレスポンス内の前記検査情報に基づいて、前記レスポンス内の前記出力項目を検査し、検査された検査結果を前記出力項目に関連付けて出力することを特徴とする。
【００２２】
この発明によれば、検査結果と出力項目との対応関係の明確化を図ることができる。
【００２３】
また、上記発明において、前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された期待値である場合、前記出力項目と前記期待値とが一致するか否かを判断し、一致した場合には合格であることを示すメッセージを、不一致である場合には不合格であることを示すメッセージを、前記検査結果として出力することとしてもよい。
【００２４】
この発明によれば、期待値と一致すべき出力項目の合否の明確化を図ることができる。
【００２５】
また、上記発明において、前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された前記出力項目が満たすべき検査条件である場合、前記出力項目を示す出力値が前記検査条件を遵守しているか否かを判断し、前記検査条件を遵守している場合には合格であることを示すメッセージを、違反している場合には不合格であることを示すメッセージを、前記検査結果として出力することとしてもよい。
【００２６】
この発明によれば、出力項目が満たすべき検査条件の合否の明確化を図ることができる。
【００２７】
また、上記発明において、前記検査結果に前記出力項目を関連付けて表示画面に表示することとしてもよい。
【００２８】
この発明によれば、検査結果と出力項目との対応関係を視覚的に明確にすることができる。
【００２９】
また、上記発明において、前記レスポンスを、前記検査結果に前記出力項目を関連付けたレスポンスに再構成し、再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信することとしてもよい。
【００３０】
この発明によれば、リクエストの送信元となるコンピュータ装置において、検査結果と出力項目との対応関係を視覚的に明確にすることができる。
【００３１】
また、第３の発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法は、ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付け、受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行し、前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を特定し、実行することにより得られた出力項目に、特定されたメタ情報を関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成し、生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信することを特徴とする。
【００３２】
この発明によれば、出力項目の検査を実行するコンピュータ装置が、出力項目とともにそのメタ情報も自動的に取得することができる。
【００３３】
また、第４の発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法は、ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を関連付けた前記リクエストに対するレスポンスを受信し、前記Ｗｅｂアプリケーションの実行内容ごとのメタ情報に関連付けられている検査情報の集合の中から、前記受信工程によって受信されたレスポンス内のメタ情報に関連付けられている検査情報を取得し、取得された検査情報に基づいて、前記レスポンス内の前記出力項目を検査し、検査された検査結果を前記出力項目に関連付けて出力することを特徴とする。
【００３４】
この発明によれば、同一の出力項目に関するメタ情報の特定と検査情報の取得とを、異なるコンピュータ装置で実現することができる。
【００３５】
また、上記発明において、前記出力項目が固定値である場合、前記検査情報として、前記Ｗｅｂアプリケーションの仕様書に記述された期待値を取得することとしてもよい。
【００３６】
この発明によれば、レスポンスを受信することにより、出力項目と期待値との比較検査を実行することができる。
【００３７】
また、上記発明において、前記出力項目が不定値である場合、前記検査情報として、前記出力項目が満たすべき検査条件を取得することとしてもよい。
【００３８】
この発明によれば、レスポンスを受信することにより、出力項目が検査条件を遵守／違反していることを検査することができる。
【００３９】
また、上記発明において、前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された期待値である場合、前記出力項目と前記期待値とが一致するか否かを判断し、一致した場合には合格であることを示すメッセージを、不一致である場合には不合格であることを示すメッセージを、前記検査結果として出力することとしてもよい。
【００４０】
この発明によれば、期待値と一致すべき出力項目の合否の明確化を図ることができる。
【００４１】
また、上記発明において、前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された前記出力項目が満たすべき検査条件である場合、前記出力項目が前記検査条件を遵守しているか否かを判断し、前記検査条件を遵守している場合には合格であることを示すメッセージを、違反している場合には不合格であることを示すメッセージを、前記検査結果として出力することとしてもよい。
【００４２】
この発明によれば、出力項目が満たすべき検査条件の合否の明確化を図ることができる。
【００４３】
また、上記発明において、前記検査結果を前記出力項目に関連付けて表示画面に表示することとしてもよい。
【００４４】
この発明によれば、検査結果と出力項目との対応関係を視覚的に明確にすることができる。
【００４５】
また、上記発明において、前記メタ情報の替わりに前記検査情報を前記出力項目に関連付けて表示画面に表示することとしてもよい。
【００４６】
この発明によれば、出力項目に対応する検査情報を確認することができる。
【００４７】
また、上記発明において、前記レスポンスを、前記検査結果を前記出力項目に関連付けたレスポンスに再構成し、再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信することとしてもよい。
【００４８】
この発明によれば、リクエストの送信元となるコンピュータ装置において、検査結果と出力項目との対応関係を視覚的に明確にすることができる。
【００４９】
また、上記発明において、前記レスポンスを、前記メタ情報の替わりに前記検査情報を前記出力項目に関連付けたレスポンスに再構成し、再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信することとしてもよい。
【００５０】
この発明によれば、リクエストの送信元となるコンピュータ装置において、検査情報と出力項目との対応関係を視覚的に明確にすることができる。
【発明の効果】
【００５１】
本発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法によれば、Ｗｅｂアプリケーションの検査処理の効率化と検査結果の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００５２】
[実施の形態]
以下に添付図面を参照して、この発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法の好適な実施の形態を詳細に説明する。まずは、下記の実施の形態１および実施の形態２において共通する内容について説明する。
【００５３】
（Ｗｅｂアプリケーション検査システムの概略構成）
まず、この発明の実施の形態にかかるＷｅｂアプリケーション検査システムの概略構成について説明する。図１は、この発明の実施の形態にかかるＷｅｂアプリケーション検査システムの概略構成を示す説明図である。
【００５４】
Ｗｅｂアプリケーション検査システム１００は、クライアント１０１と、Ｗｅｂサーバ１０２と、プロキシサーバ１０３と、管理サーバ１０４とが、インターネットなどのネットワークにより相互に交信可能に接続されている。なお、Ｗｅｂサーバ１０２、プロキシサーバ１０３および管理サーバ１０４は、一台のサーバマシンとして構成することとしてもよく、いずれか２つのサーバを一台のサーバマシンとして構成することとしてもよい。
【００５５】
クライアント１０１は、テスト実施者が利用するコンピュータ装置である。クライアント１０１は、Ｗｅｂサーバ１０２にアクセスすることで、Ｗｅｂサーバ１０２内のあるＷｅｂアプリケーションに与える入力値を含むリクエストをＷｅｂサーバ１０２に送信するとともに、そのレスポンスをＷｅｂサーバ１０２から受信する。そして、そのレスポンスをディスプレイに表示することができる。
【００５６】
Ｗｅｂサーバ１０２は、検査対象となるＷｅｂアプリケーションがインストールされているコンピュータ装置である。Ｗｅｂサーバ１０２は、Ｗｅｂアプリケーションを実行することにより、クライアント１０１に対し当該Ｗｅｂアプリケーションに応じたサービスを提供することができる。また、Ｗｅｂサーバ１０２において、Ｗｅｂアプリケーションの検査を実行することとしてもよい。
【００５７】
プロキシサーバ１０３は、クライアント１０１とＷｅｂサーバ１０２間で通信されるデータを中継するコンピュータ装置である。プロキシサーバ１０３において、Ｗｅｂアプリケーションの検査を実行することとしてもよい。また、プロキシサーバ１０３にＷｅｂアプリケーションの検査機能や後述する管理サーバ１０４の管理機能や仕様書ＤＢがない場合は、プロキシサーバ１０３をＷｅｂアプリケーション検査システム１００から外してもよい。
【００５８】
管理サーバ１０４は、Ｗｅｂアプリケーションの仕様書の内容を管理するコンピュータ装置である。管理サーバ１０４は、仕様書ＤＢ１０５を備えている。仕様書ＤＢ１０５は、メタ情報と呼び出し回数と期待値と検査条件とからなる仕様書情報が電子化されたデータベースである。
【００５９】
管理サーバ１０４は、情報の要求元（たとえば、Ｗｅｂサーバ１０２、プロキシサーバ１０３、またはクライアント１０１）から送信されてくるメタ情報をてがかりとして、該当する期待値や検査条件を仕様書ＤＢ１０５から抽出して、要求元に送信する。この管理サーバ１０４の管理機能や仕様書ＤＢ１０５は、Ｗｅｂサーバ１０２やプロキシサーバ１０３に備えられていてもよい。
【００６０】
（コンピュータ装置のハードウェア構成）
つぎに、図１に示したコンピュータ装置のハードウェア構成について説明する。図２は、図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。図２において、コンピュータ装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００６１】
ここで、ＣＰＵ２０１は、コンピュータ装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。
【００６２】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをコンピュータ装置に読み取らせたりする。
【００６３】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００６４】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００６５】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００６６】
スキャナ２１２は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００６７】
（仕様書ＤＢ１０５の記憶内容）
つぎに、この発明の実施の形態にかかる仕様書ＤＢ１０５の記憶内容について説明する。図３は、この発明の実施の形態にかかる仕様書ＤＢ１０５の記憶内容を示す説明図である。この仕様書ＤＢ１０５の記憶内容は、仕様書どおりにあらかじめ作成される。
【００６８】
図３において、仕様書ＤＢ１０５は、メタ情報と呼び出し回数と期待値と検査条件とが関連付けて記憶されている。メタ情報とは、タグクラスとその属性からなる情報である。タグクラスとは、Ｗｅｂアプリケーションのタグが属するクラスである。属性とは、タグクラスの詳細情報であり、タグクラスに属するタグの属性名（name）と属性値（property）とを含む。
【００６９】
また、期待値とは、タグクラス、属性名、および属性値からなるメタ情報により特定されるタグを実行した場合に出力値として期待される値である。また、検査条件とは、タグにより特定される出力値の検査処理を実行する際に参照される条件である。
【００７０】
たとえば、検査条件「unchecked」は、検査処理を実行しないことを意味している。また、検査条件「exists」は、出力項目として何らかの文字列が存在する／しないことだけを検査することを意味している。文字列の詳細については、検査は実行しない。また、検査条件「format」は、出力項目として文字列のフォーマット情報のみを検査することを意味する。また、検査条件「range」は、出力項目としての文字列があらわす数値の範囲を検査することを意味する。また、検査条件「length」は、出力項目の文字列長の範囲を検査する。そのほか、文字の種類（漢字、かな、カナ、アルファベット、全角／半角）などの種類についても検査条件として規定してもよい。
【００７１】
このような検査条件を導入することにより、毎回変化する不定値に対して、検査を行わないようにすることを明示的に記述することが可能となる。また、値の存在検査、フォーマット検査、範囲検査を提供することで、不定値に対しても最低限の検査を行うことができるため、より高品質なテストが可能となる。以降、期待値および／または検査条件を、「検査情報」と称す。なお、仕様書ＤＢ１０５は、具体的には、たとえば、図２に示したＲＯＭ２０２，ＲＡＭ２０３，ＨＤ２０５などの記録媒体によってその機能を実現する。
【００７２】
（Ｗｅｂアプリケーション検査システム１００の機能的構成）
つぎに、この発明の実施の形態にかかるＷｅｂアプリケーション検査システム１００の機能的構成について説明する。図４は、この発明の実施の形態にかかるＷｅｂアプリケーション検査システム１００の機能的構成を示すブロック図である。
【００７３】
図４に示したＷｅｂアプリケーション検査システム１００において、符号４００は、Ｗｅｂアプリケーションがインストールされているコンピュータ装置であり、たとえば、Ｗｅｂサーナが該当する。また、符号４１０は、Ｗｅｂアプリケーションを検査するコンピュータ装置であり、たとえば、Ｗｅｂサーバ１０２、プロキシサーバ１０３、管理サーバ１０４、またはクライアント１０１が該当する。
【００７４】
まず、コンピュータ装置４００は、受付部４０１と、実行部４０２と、特定部４０３と、取得部４０４と、生成部４０５と、送信部４０６と、から構成されている。なお、これらの機能的構成は、図２に示したＲＯＭ２０２，ＲＡＭ２０３，ＨＤ２０５などの記録媒体に記録されているプログラムを、ＣＰＵ２０１に実行させることによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【００７５】
受付部４０１は、Ｗｅｂサーバ１０２にインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける機能を有する。具体的には、Ｗｅｂアプリケーションの所在を特定するＵＲＬやディレクトリ、Ｗｅｂページの入力欄に入力データなどの入力値を含むリクエストを受け付ける。受け付ける方法としては、コンピュータ装置４００のキーボード２１０などの入力装置を操作することで入力してもよく、また、クライアント１０１のキーボード２１０などの入力装置を操作することで、クライアント１０１から送信されてくるリクエストを受信することとしてもよい。
【００７６】
また、実行部４０２は、受付部４０１によって受け付けられたリクエストに含まれている入力値を与えてＷｅｂアプリケーションを実行する機能を有する。Ｗｅｂアプリケーションの計算結果を出力項目という。出力項目は、Ｗｅｂアプリケーションが実行されると、その出力位置が自動的に決定されるようにプログラムされている。ここで、出力位置とは、リクエストに対するレスポンスを解釈して画面表示する場合の表示位置である。
【００７７】
また、特定部４０３は、実行部４０２によるＷｅｂアプリケーションの実行内容に関するメタ情報を特定する機能を有する。具体的には、たとえば、ある処理が実行されたときのその処理に関するタグクラスおよびタグクラス属性を示す記述を、Ｗｅｂアプリケーションの実行内容をソースコード化した情報の中から特定する。
【００７８】
また、取得部４０４は、特定部４０３によって特定されたメタ情報をてがかりとして、仕様書ＤＢ１０５の中から検査情報（期待値、検査条件）を取得する機能を有する。コンピュータ装置４００内に仕様書ＤＢ１０５がある場合には、仕様書ＤＢ１０５から検査情報を抽出する。一方、コンピュータ装置４００内に仕様書ＤＢ１０５がない場合には、仕様書ＤＢ１０５を有する外部サーバ（たとえば、管理サーバ１０４）に対しメタ情報を含む検査情報のリクエストを送信する。そして、外部サーバから送信されてくる検査情報を受信することで、検査情報を取得することができる。
【００７９】
また、生成部４０５は、受付部４０１により受け付けられたリクエストに対するレスポンスを生成する。具体的には、検査情報が取得された場合には、その検査情報を出力項目に関連付けて埋め込むことにより、リクエストに対するレスポンスを生成する。一方、メタ情報が特定され、その検査情報が取得されていない場合には、メタ情報を出力項目に関連付けて埋め込むことにより、リクエストに対するレスポンスを生成する。
【００８０】
具体的には、検査情報やメタ情報が出力項目とともに表示画面に表示できるように、検査情報やメタ情報を出力項目の出力位置に関連付けて埋め込む。たとえば、ＨＴＭＬ形式によりレスポンスを生成する場合、出力項目に対して検査情報やメタ情報をＨＴＭＬコメントとして記述することで、出力項目とともに表示することができる。なお、特に検査情報を含むレスポンスを「検査情報付きレスポンス」と称し、メタ情報を含むレスポンスを「メタ情報付きレスポンス」と称す。
【００８１】
また、送信部４０６は、生成部４０５によって生成されたレスポンスを、出力項目の検査を実行するコンピュータ装置４１０に送信する。これにより、検査対象となる出力項目とともに、検査に必要な検査情報やメタ情報がコンピュータ装置４１０に送信されることとなる。
【００８２】
このように、コンピュータ装置４００によれば、検査情報付きレスポンスを送信することにより、送信先のコンピュータ装置において、出力項目に対する検査条件を取得することなく、検査を実行することができる。また、メタ情報付きレスポンスを送信することにより、同一の出力項目に対しメタ情報の特定と検査情報の取得を、別のコンピュータ装置により実行することができるため、コンピュータ装置間で処理負荷を分担することができる。
【００８３】
つぎに、コンピュータ装置４１０の機能的構成について説明する。コンピュータ装置４１０は、受信部４１１と、取得部４１２と、検査部４１３と、再構成部４１４と、出力部４１５と、から構成されている。なお、これらの機能的構成は、図２に示したＲＯＭ２０２，ＲＡＭ２０３，ＨＤ２０５などの記録媒体に記録されているプログラムを、ＣＰＵ２０１に実行させることによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【００８４】
受信部４１１は、コンピュータ装置４００から送信されてくるレスポンスを受信する機能を有する。具体的には、コンピュータ装置４００から送信されてくる検査情報付きレスポンスやメタ情報付きレスポンスを受信する。
【００８５】
また、取得部４１２は、メタ情報付きレスポンスが受信された場合、そのメタ情報をてがかりとして、仕様書ＤＢ１０５の中から検査情報（期待値、検査条件）を取得する機能を有する。コンピュータ装置４１０内に仕様書ＤＢ１０５がある場合には、仕様書ＤＢ１０５から検査情報を抽出する。一方、コンピュータ装置４１０内に仕様書ＤＢ１０５がない場合には、仕様書ＤＢ１０５を有する外部サーバ（たとえば、管理サーバ１０４）に対しメタ情報を含む検査情報のリクエストを送信する。そして、外部サーバから送信されてくる検査情報を受信することで、検査情報を取得することができる。
【００８６】
また、検査部４１３は、検査情報に基づいて出力項目の検査を実行する機能を有する。具体的には、たとえば、検査情報が、Ｗｅｂアプリケーションの仕様書に記述された期待値である場合、出力項目と期待値とが一致するか否かを判断する。一致した場合には合格であることを示すメッセージを、不一致である場合には不合格であることを示すメッセージを、検査結果として出力することとなる。
【００８７】
また、検査情報が、Ｗｅｂアプリケーションの仕様書に記述された出力項目が満たすべき検査条件である場合、出力項目が検査条件を遵守しているか否かを判断する。そして、検査条件を遵守している場合には合格メッセージを、違反している場合には不合格メッセージを、検査結果として出力することとなる。
【００８８】
たとえば、検査条件が、出力項目の存在の是非に関する情報「exists」である場合、出力項目が存在していれば、合格メッセージを、出力項目が存在していなければ、不合格メッセージを検査結果として出力する。これとは反対に、出力項目が存在していれば、不合格メッセージを、出力項目が存在していなければ、合格メッセージを検査結果として出力することとしてもよい。
【００８９】
また、検査条件が、出力項目のフォーマットに関する制限情報「format」である場合、検査条件を遵守している場合には合格メッセージを、違反している場合には不合格メッセージを、検査結果として出力することとなる。たとえば、検査条件が『出力項目が４桁以上の不定の数値にはカンマを入れる』である場合、出力項目となる５桁の不定数値が「１２３４５」とすると違反したとして不合格となり、「１２，３４５」とすると遵守したとして合格となる。
【００９０】
また、検査条件が、出力項目が数値である場合に当該数値の数値範囲に関する制限情報「range」である場合、検査条件を遵守している場合には合格メッセージを、違反している場合には不合格メッセージを、検査結果として出力することとなる。たとえば、検査条件が『出力項目は４桁以下の数値』である場合、出力項目となる不定数値が「１２３４５」とすると違反したとして不合格となり、「１２３４」とすると遵守したとして合格となる。
【００９１】
また、検査条件が、出力項目が文字列である場合に当該文字列の文字列長に関する制限情報「length」である場合、検査条件を遵守している場合には合格メッセージを、違反している場合には不合格メッセージを、検査結果として出力することとなる。たとえば、検査条件が『出力項目は４文字以下の文字列』である場合、出力項目となる文字列が「ａｂｃｄｅ」とすると違反したとして不合格となり、「ａｂｃｄ」とすると遵守したとして合格となる。
【００９２】
なお、検査条件が、出力項目の検査を実行しないことを意味する情報「unchecked」である場合、検査部４１３は検査を実行しない。この場合は、その旨のメッセージを検査結果として出力することとなる。
【００９３】
また、再構成部４１４は、受信されたレスポンスを検査結果に応じて再構成する機能を有する。具体的には、たとえば、検査結果となる合格／不合格メッセージをフレーム情報として付加することでレスポンスの記述内容を再構成する。
【００９４】
また、コンピュータ装置４００からメタ情報付きレスポンスを受信した場合には、再構成部４１４は、メタ情報付きレスポンスに埋め込まれているメタ情報に替えて検査情報を埋め込むこととしてもよい。これにより、再構成されたレスポンスを受信したコンピュータ装置４１０では、レスポンスのソースを表示することで、検査情報を確認することができる。
【００９５】
また、出力部４１５は、検査部４１３によって検査された検査結果を出力項目に関連付けて出力する機能を有する。具体的には、コンピュータ装置４１０に表示する場合には、再構成部４１４により再構成されたレスポンスを表示画面に表示する。レスポンスには出力項目が含まれているため、出力項目が表示画面に表示される。また、検査結果となる合格／不合格メッセージをフレーム情報として付加されている場合には、同一または別の表示画面で合格／不合格メッセージが表示される。
【００９６】
また、出力部４１５は、再構成されたレスポンスを、コンピュータ装置４１０とは別のコンピュータ装置、たとえば、コンピュータ装置４００（たとえば、Ｗｅｂサーバ１０２）にリクエストを送信したコンピュータ装置（たとえば、クライアント１０１）に送信することとしてもよい。この場合、クライアント１０１において、再構成されたレスポンスに含まれている出力項目やその検査結果となる合格／不合格メッセージが表示される。
【００９７】
このように、コンピュータ装置４１０によれば、出力項目についての検査を自動実行することができる。また、検査結果と出力項目とを関連付けることにより、レスポンスの送信先となるコンピュータ装置において、出力項目とその検査結果とを同時に表示することが可能となり、テスト実施者による確認作業の容易化を実現することができる。また、メタ情報に替えて検査情報を埋め込むことにより、ソースを表示することで出力項目がそのような検査をパスしたかを視覚的に確認することができる。
【００９８】
以下、上述したＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法の実施の形態１および実施の形態２について詳細に説明する。なお、上述した実施の形態と共通部分や同一箇所には同一符号を付し、その説明を省略する。
【００９９】
[実施の形態１]
実施の形態１について説明する。実施の形態１は、Ｗｅｂサーバ１０２において検査情報取得処理およびアスペクト注入処理をおこない、プロキシサーバ１０３で検査処理をおこなう構成である。すなわち、実施の形態１では、主に、Ｗｅｂサーバ１０２が図４に示したコンピュータ装置４００となり、プロキシサーバ１０３がコンピュータ装置４１０となる。
【０１００】
（各コンピュータ装置の内部構成）
図５は、図１に示した各コンピュータ装置の実施の形態１における内部構成を示すブロック図である。まず、クライアント１０１の内部構成について説明する。図５において、クライアント１０１は、Ｗｅｂブラウザ５１１と実行ナビゲータ５１２と一覧表示エンジン５１３とを有する。
【０１０１】
Ｗｅｂブラウザ５１１は、Ｗｅｂサーバ１０２のＷｅｂアプリケーション５２１に対してＨＴＴＰリクエストを生成して送信したり、Ｗｅｂサーバ１０２またはプロキシサーバ１０３からのＨＴＭＬ形式のレスポンス（以下、「レスポンスＨＴＭＬ」と称す。）を受信する通信機能と、受信されたレスポンスＨＴＭＬを解析する解析機能と、その解析結果をディスプレイに描画する描画機能とを有するプログラムである。描画内容は、検査結果５１４とＷｅｂアプリケーション５２１の実行結果５１５とに分割される。
【０１０２】
また、実行ナビゲータ５１２は、つぎに実行すべき操作を管理サーバ１０４から取得し画面表示するためにインストールされたプログラムである。また、一覧表示エンジン５１３は、実行ナビゲータ５１２によって画面表示された出力項目の期待値を画面表示するためにインストールされたプログラムである。
【０１０３】
つぎに、Ｗｅｂサーバ１０２の内部構成について説明する。Ｗｅｂサーバ１０２は、Ｗｅｂアプリケーション５２１と検査情報取得エンジン５２２とプリプロセッサ５２３とコンパイラ５２４とＡＰサーバ５２５とを有する。ＡＰサーバ５２５は、Ｗｅｂアプリケーション５２１の実行環境となるプログラムであり、プリプロセッサ５２３とコンパイラ５２４を有している。なお、このＡＰサーバ５２５は、図４に示した受付部４０１、生成部４０５及び送信部４０６に相当する構成である。
【０１０４】
ここで、米国サンマイクロシステムズが規定するＪＳＰおよびＪａｖａ（登録商標）言語仕様に則る場合、プリプロセッサ５２３としてＪＳＰ展開エンジンを適用することができ、コンパイラ５２４としてＪＡＶＡコンパイラ５２４を適用することができる。
【０１０５】
ＡＰサーバ５２５には、検査対象となるＷｅｂアプリケーション５２１が実装され、ビジネスロジック５２６とテンプレートファイル５２７から構成される。ビジネスロジック５２６とは、ビジネス取引などの動作処理を実行するＷｅｂアプリケーション５２１の論理記述であり、たとえば、『お客様が買い物カゴに品物をいれた時に、在庫確認をするように決めている。』、『送信ボタンを押すと、カード会社に認証をとるようにしている。』といった、各々の業務の流れ方を取り決めた論理記述である。
【０１０６】
また、テンプレートファイル５２７とは、画面デザインと出力項目の表示位置を定義するファイルである。ＪＡＶＡ（登録商標）を用いる場合、テンプレートファイル５２７としてＪＳＰファイルを適用することができる。
【０１０７】
このように、近年のＷｅｂアプリケーション５２１開発においては、デザイン機能とビジネスロジック５２６機能を分離する手法が一般化しつつある。このため、ビジネスロジック５２６内で処理された出力項目がＪＳＰファイル５２７内のカスタムタグで指定された位置に表示されるような構造となる。なお、このＷｅｂアプリケーション５２１、ビジネスロジック５２６、およびテンプレートファイル（ＪＳＰファイル）５２７は、図４に示した実行部４０２および特定部４０３に相当する構成である。
【０１０８】
また、検査情報取得エンジン５２２は、管理サーバ１０４から検査情報を取得するためにインストールされたプログラムである。具体的には、管理サーバ１０４に対しタグクラスおよびメタ情報を送信することで、仕様書ＤＢ１０５から抽出された検査情報を取得することができる。検査情報取得エンジン５２２は、たとえば、AspectJなどのアスペクト指向のプログラミング言語により構成される。なお、この検査情報取得エンジン５２２は、図４に示した取得部４０４に相当する構成である。
【０１０９】
つぎに、プロキシサーバ１０３の内部構成について説明する。プロキシサーバ１０３は、プロキシエンジン５３１と検査エンジン５３２とを有する。プロキシエンジン５３１は、クライアント１０１およびＷｅｂサーバ１０２間のアクセスを代行する機能を有する。
【０１１０】
また、検査エンジン５３２は、Ｗｅｂサーバ１０２から送信されてくる検査情報付きレスポンスＨＴＭＬ９１０に埋め込まれている検査情報および出力値に基づいて、Ｗｅｂアプリケーション５２１が正常に実行されているか否かを検査する機能を有する。そして、検査結果５１４をプロキシエンジン５３１に受け渡す。
【０１１１】
たとえば、検査情報に期待値が含まれている場合、当該期待値および出力値の一致判定をおこなう。また、検査情報に検査条件が含まれている場合、出力値が検査条件に合致するか否かを判定する。なお、このプロキシエンジン５３１は、図４に示した受信部４１１および出力部４１５に相当する構成であり、検査エンジン５３２は、取得部４１２、検査部４１３、および再構成部４１４に相当する構成である。
【０１１２】
つぎに、管理サーバ１０４の内部構成について説明する。管理サーバ１０４は、テストケース管理部５４１を有する。テストケース管理部５４１は、テスト実施者がおこなうテストケースを管理するためにインストールされたプログラムである。具体的には、テストケースごとにＷｅｂサーバ１０２のＵＲＬおよび入力値を関連付けており、クライアント１０１からテストケースが指定されると、対応するＷｅｂサーバ１０２のＵＲＬおよび入力値を当該クライアント１０１に送信する。
【０１１３】
また、上述したように、テストケース管理部５４１は、検査情報の要求元（たとえば、Ｗｅｂサーバ１０２、プロキシサーバ１０３、またはクライアント１０１）から送信されてくるタグクラスおよびメタ情報をてがかりとして、該当する期待値を仕様書ＤＢ１０５から抽出して、要求元に送信する。なお、このテストケース管理部５４１は、図４に示した取得部４０４に相当する構成である。
【０１１４】
（Ｗｅｂサーバ１０２の運用時における実行処理）
ここで、実施の形態１にかかるＷｅｂサーバ１０２の運用時の実行処理についてＪＡＶＡを適用した場合を例にして説明する。図６は、実施の形態１にかかるＷｅｂサーバ１０２の運用時の実行処理を示すシーケンス図であり、図７は、実施の形態１にかかるＷｅｂサーバ１０２の運用時の実行処理内容を示す説明図である。なお、運用時はクライアント１０１を操作するのはテスト実施者ではなく一般利用者となる。
【０１１５】
図６において、まず、クライアント１０１はリクエスト生成処理を実行する（ステップＳ６０１）。具体的には、クライアント１０１を操作することで、Ｗｅｂサーバ１０２のＵＲＬと入力値を取得し、Ｗｅｂブラウザ５１１でＨＴＴＰリクエストを生成する。そして、Ｗｅｂブラウザ５１１がＷｅｂサーバ１０２に対しＨＴＴＰリクエストを送信する。
【０１１６】
つぎに、Ｗｅｂブラウザ５１１からのＨＴＴＰリクエストを受信すると、Ｗｅｂサーバ１０２は、受信されたＨＴＴＰリクエストのリクエスト解析処理を実行する（ステップＳ６０２）。具体的には、ＡＰサーバ５２５が、受信されたＨＴＴＰリクエストの内容（リクエスト行やメッセージ・ヘッダ、エンティティ・ボディ）を分析して、検査対象となるビジネスロジック５２６を呼び出す。ビジネスロジック５２６は、図７（Ａ）に示したように、ＨＴＴＰリクエストの内容を分析して画面への出力項目を計算／登録する。
【０１１７】
つぎに、Ｗｅｂサーバ１０２は、出力項目展開処理を実行する（ステップＳ６０３）。具体的には、ＪＳＰ展開エンジン５２３が、図７（Ｂ）に示したように、ＪＳＰファイル５２７内の出力項目の出力位置を決定する。そして、そのＪＳＰファイル５２７を出力項目の出力位置が指定されたソースコードに変換する。コンパイラ５２４は、変換されたソースコードをバイナリファイルにコンパイルすることで、画面クラスファイルを生成する。
【０１１８】
つぎに、Ｗｅｂサーバ１０２は、レスポンス生成処理を実行する（ステップＳ６０４）。具体的には、ＡＰサーバ５２５は画面クラスファイルを呼び出して実行する。このときにＪＳＰファイル５２７中に含まれるカスタムタグ（図７（Ｂ）のＪＳＰファイル５２７内の１１行目に示したタグ：<bean:write.../>）が画面クラスファイル中で評価され、ビジネスロジック５２６が計算した出力項目を出力結果に変換する。
【０１１９】
この結果、画面クラスファイルは、図７（Ｃ）に示したようなレスポンスＨＴＭＬ７００に変換され、カスタムタグの位置に出力項目７０１が埋め込まれる。出力項目７０１が埋め込まれたレスポンスＨＴＭＬ７００は、ＡＰサーバ５２５によりクライアント１０１のＷｅｂブラウザ５１１に送信される。
【０１２０】
また、クライアント１０１は、Ｗｅｂサーバ１０２から送信されてくるレスポンスＨＴＭＬ７００を受信することによりＷｅｂアプリケーション５２１の実行結果表示処理を実行する（ステップＳ６０５）。具体的には、Ｗｅｂブラウザ５１１が、受信されたレスポンスＨＴＭＬ７００を描画することにより、Ｗｅｂアプリケーション５２１の実行結果５１５を画面に表示する。利用者は、さらにこの画面中に存在するハイパーリンクを辿ることで、複数の画面から構成される複雑なトランザクションを有するアプリケーションであっても、同様の処理が繰り返し実行されて、処理を完了することができる。
【０１２１】
（Ｗｅｂサーバ１０２の検査時における実行処理内容）
つぎに、実施の形態１にかかるＷｅｂサーバ１０２の検査時の実行処理内容についてＪＡＶＡを適用した場合を例にして説明する。図８は、実施の形態１にかかるＷｅｂサーバ１０２の検査時の実行処理を示すシーケンス図であり、図９および図１０は、実施の形態１にかかるＷｅｂサーバ１０２の検査時の実行処理内容を示す説明図である。なお、検査時はクライアント１０１を操作するのは一般利用者ではなくテスト実施者となる。
【０１２２】
図８において、まず、クライアント１０１はリクエスト生成処理を実行する（ステップＳ８０１）。具体的には、クライアント１０１を操作することで、Ｗｅｂサーバ１０２のＵＲＬと入力値を管理サーバ１０４から要求し、管理サーバ１０４から送信されてくるＵＲＬおよび入力値を受信する。
【０１２３】
そして、Ｗｅｂブラウザ５１１により、運用時と同様、Ｗｅｂブラウザ５１１でＨＴＴＰリクエストを生成する。このあと、Ｗｅｂブラウザ５１１がＨＴＴＰリクエストを送信する。Ｗｅｂブラウザ５１１から送信されたＨＴＴＰリクエストは、プロキシサーバ１０３によりＷｅｂサーバ１０２に転送される（ステップＳ８０２）。そして、プロキシサーバ１０３から転送されたＨＴＴＰリクエストを受信する。
【０１２４】
Ｗｅｂサーバ１０２は、受信されたＨＴＴＰリクエストのリクエスト解析処理を実行する（ステップＳ８０３）。具体的には、ＡＰサーバ５２５が、受信されたＨＴＴＰリクエストの内容（リクエスト行やメッセージ・ヘッダ、エンティティ・ボディ）を分析して、検査対象となるビジネスロジック５２６を呼び出す。ビジネスロジック５２６は、図７（Ａ）に示した場合と同様、ＨＴＴＰリクエストの内容を分析して画面への出力項目７０１を計算する。
【０１２５】
つぎに、Ｗｅｂサーバ１０２は、出力項目展開処理を実行する（ステップＳ８０４）。具体的には、ＪＳＰ展開エンジン５２３が、図９（Ａ）に示したように、ＪＳＰファイル５２７内の出力項目７０１の表示位置を決定する。そして、図９（Ｂ）に示したように、そのＪＳＰファイル５２７を出力項目７０１の出力位置が指定されたソースコード９０２に変換する。ソースコード９０２に変換することで、ＪＳＰファイル５２７のカスタムタグ９０１は、Ｊａｖａソース断片９０３に変換される。Ｊａｖａソース断片９０３は、カスタムタグ９０１に相当するクラスのdoStartTag()メソッドとdoEndTag()メソッドを呼び出すようなコードである。
【０１２６】
そして、コンパイラ５２４は、図９（Ｃ）に示したように、変換されたソースコード９０２をバイナリファイルにコンパイルすることで、画面クラスファイル９０４を生成する。ここまでのＷｅｂサーバ１０２内における動作は運用時と同様である。
【０１２７】
つぎに、Ｗｅｂサーバ１０２は、アスペクト注入処理を実行する（ステップＳ８０５）。具体的には、検査情報取得エンジン５２２が、管理サーバ１０４に対し検査情報の要求をおこなう。たとえば、メタ情報を抽出して、検査情報要求として管理サーバ１０４に送信する。管理サーバ１０４では、メタ情報をてがかりとして検査情報を抽出する（ステップＳ８０６）。そして、抽出された検査情報を検査情報取得エンジン５２２に返す。
【０１２８】
そして、検査情報取得エンジン５２２は、図９（Ｄ）に示したように、画面クラスファイル９０４中のカスタムタグ９０１に相当する記述（ここでは、doStartTag()メソッドとdoEndTag()メソッド）に管理サーバ１０４からの検査情報をＨＴＭＬコメントとして埋め込むことで、画面クラスファイル９０４をアスペクト付きＪＡＶＡクラスファイル９０５に変換する（アスペクトの織り込み）。アスペクトの織り込みとは、不特定多数のソースコード９０２群における特定の動作に対して、まとめて別の動作に置き換える処理を指す。
【０１２９】
この例では、ＪＳＰファイル５２７のカスタムタグ９０１は、ＪＳＰ展開エンジン５２３によりＪａｖａソース断片９０３に変換されるが、このときＪａｖａソース断片９０３においては、カスタムタグ９０１に相当するクラスのdoStartTag()メソッドとdoEndTag()メソッドを呼び出すようなコードが生成される。
【０１３０】
このＪａｖａソース断片９０３を有するＪａｖａソースコード９０２をＪａｖａコンパイラ５２４によりコンパイルしても、画面クラスファイル９０４中には上述のdoStartTag()メソッドとdoEndTag()メソッドとを呼び出すバイトコードが含まれている。この場合、doStartTag()メソッドとdoEndTag()メソッドの呼び出しに相当する部分に対してアスペクトを織り込むことにより、これらの部分に対するＷｅｂアプリケーション５２１の動作を置き換える。
【０１３１】
また、カスタムタグ９０１には、name属性「name="AddForm"」とproperty属性「property="result"」が存在する。これらはＪａｖａソース断片９０３においてはsetName()メソッドとsetProperty()メソッドに変換される。これらのset系メソッドに対してもアスペクトを織り込むことでアスペクト付きＪａｖａクラスファイル９０５からname属性「name="AddForm"」とproperty属性「property="result"」にアクセスできるようにしている。
【０１３２】
このようにして、検査情報取得エンジン５２２は、画面クラスファイル９０４における各メソッド呼び出しに対してアスペクトを織り込み、アスペクト付きＪＡＶＡクラスファイル９０５に変換する。
【０１３３】
このあと、Ｗｅｂサーバ１０２は、レスポンス生成処理を実行する（ステップＳ８０７）。具体的には、ＡＰサーバ５２５は、アスペクト付きＪＡＶＡクラスファイル９０５を実行することにより、図９（Ｅ）に示したような検査情報付きレスポンスＨＴＭＬ９１０が生成される。検査情報付きレスポンスＨＴＭＬ９１０には、運用時と比較するとＨＴＭＬコメントが付加されている。
【０１３４】
また、図１０（Ａ）では、アスペクト付きＪＡＶＡクラスファイル９０５により動作が置き換えられることによって、検査情報付きレスポンスＨＴＭＬ９１０がどのようにして生成されるかを示している。検査情報取得エンジン５２２はAspectJなどのアスペクト指向のプログラミング言語により構成されている場合、検査情報取得エンジン５２２およびＡＰサーバ５２５は、つぎの手順（１）〜（６）で検査情報付きレスポンスＨＴＭＬ９１０を生成する。
【０１３５】
（１）Ｊａｖａソース断片９０３のsetPageContext()メソッドが属するクラスのクラス名を取得する。この例では、図９（Ｂ）および図１０（Ａ）に示したＪａｖａソース断片９０３の１４５行目に記述されている「org.apache.struts.taglib.bean.WriteTag」が、カスタムタグ９０１のタグクラス１００１として取得される。
【０１３６】
（２）タグクラス１００１とＪａｖａソース断片９０３上のsetXxx()メソッドを属性リストとして抽出する。この例では、図９（Ｂ）および図１０（Ａ）に示したＪａｖａソース断片９０３の１４８行目に記述されている「AddForm」がname属性の属性値１００２として、１４９行目に記述されている「result」がproperty属性の属性値１００３として、抽出される。
【０１３７】
（３）カスタムタグ９０１を構成するタグクラス１００１と属性値１００２，１００３をテストケース管理部５４１に送信する。仕様書ＤＢ１０５には図３に示したように、タグクラス、name属性およびproperty属性の属性値をあらわすメタ情報、呼び出し回数、期待値が格納されており、テストケース管理部５４１は、検査情報取得エンジン５２２から受信したメタ情報と、同一のタグクラス名および属性値で呼び出された回数に応じた検査情報を検査情報取得エンジン５２２に返却する。
【０１３８】
呼び出し回数を指定するのは、ＪＳＰファイル５２７内で、ループなどの繰り返しがあると、同一のクラス名かつ同一の属性値のカスタムタグ９０１が複数回呼ばれる可能性があり、呼び出された順序によって期待値が変化することが一般的なためである。
【０１３９】
（４）doStartTag()メソッドが呼び出される直前に、検査情報がＨＴＭＬとしてコメント化されたＨＴＭＬコメント９１１を出力する。これにより、図９（Ｅ）および図１０（Ｂ）に示したように、「<!--testStart expected=“5”-->」が表示される。
【０１４０】
（５）doStartTag()メソッドおよびdoEndTag()メソッドを実行し、Ｗｅｂアプリケーション５２１を通常通り実行させる。これにより、図９（Ｅ）および図１０（Ｂ）に示したように、実行結果５１５の出力項目７０１として出力値「５」が表示される。
【０１４１】
（６）doEndTag()が終了した直後に、ＨＴＭＬコメント９１２を出力する。これにより、図１０（Ｂ）に示したように、「<!--testEnd -->」が表示される。
【０１４２】
図１１は、上記（１）〜（６）によるＷｅｂアプリケーション５２１の実行結果５１５を示す説明図である。図１１に示したように、検査情報付きレスポンスＨＴＭＬ９１０では、出力項目「５」の出力位置の前後に、期待値がＨＴＭＬコメントとして配置されて出力されることとなる。これにより、運用時におけるレスポンスＨＴＭＬ７００の替わりに、検査情報付きレスポンスＨＴＭＬ９１０がプロキシサーバ１０３に返却されることとなる。
【０１４３】
つぎに、図８にもどって、シーケンスの続きを説明する。プロキシサーバ１０３は、検査処理を実行する（ステップＳ８０８）。具体的には、プロキシエンジン５３１がＡＰサーバ５２５から送信されてくる検査情報付きレスポンスＨＴＭＬ９１０を受信して、検査エンジン５３２が期待値と出力項目７０１とを比較することによりＷｅｂアプリケーション５２１の検査を実行する。
【０１４４】
すなわち、検査エンジン５３２は、検査情報付きレスポンスＨＴＭＬ９１０の内部を走査し、「<!--testStart expected=“ＸＸＸ”-->」と「<!--testEnd -->」とに囲まれた部分を検索する。なお、ＸＸＸには検査情報としての文字列（期待値や検査条件）が記述されていることとする。そして、このタグに囲まれた部分の文字列を、Ｗｅｂアプリケーション５２１の実行結果５１５となる出力項目と判断する。
【０１４５】
検査エンジン５３２は、この出力項目７０１の直前のＨＴＭＬコメントにおける検査情報に基づいて、出力項目７０１の検査を実行する。たとえば、検査情報に期待値が含まれている場合、出力項目７０１との一致判定を実行する。そして、誤り（不一致）であれば、検査情報付きレスポンスＨＴＭＬ９１０中における行数、桁数、何番目の出力項目７０１が期待値と異なるかなどといった位置情報を内部に記憶しておく。
【０１４６】
検査エンジン５３２は、検査情報に検査条件が含まれている場合には、出力項目７０１の検査の実行に際し、当該検査条件を考慮する。たとえば、含まれている検査条件が「unchecked」である場合は、検査処理を実行しない。
【０１４７】
また、含まれている検査条件が「exists」である場合、出力項目７０１として何らかの文字列が存在する／しないことだけを検査する。文字列の詳細については、検査は実行しない。また、含まれている検査条件が「format」である場合、出力項目７０１として文字列のフォーマット情報のみを検査する。たとえば、出力項目７０１について３桁後のカンマの存在の有無や小数桁数などを検査する。
【０１４８】
また、含まれている検査条件が「range」である場合、出力項目７０１としての文字列があらわす数値の範囲を検査する。たとえば、負の数は誤りであるなどを検査する。また、含まれている検査条件が「length」である場合、出力項目７０１の文字列長の範囲を検査する。
【０１４９】
このように、出力項目７０１には、伝票番号のように、実行するごとに結果がことなるものが存在する。実施例では、仕様書ＤＢ１０５としてすべての出力項目７０１に対して期待値を記述することを要求するが、これらの毎回変化する出力項目７０１の期待値は記述できない問題がある。
【０１５０】
したがって、このような検査条件により、毎回変化する不定値に対して、検査を行わないようにすることを明示的に記述することが可能となる。また、値の存在検査、フォーマット検査、範囲検査を提供することで、不定値に対しても最低限の検査を実行できるため、より高品質なテストが可能となる。
【０１５１】
つぎに、プロキシサーバ１０３は、再構成処理を実行する（ステップＳ８０９）。具体的には、プロキシエンジン５３１は検査情報付きレスポンスＨＴＭＬ９１０を再構成し、ＨＴＭＬ中にフレーム情報を付加し、Ｗｅｂブラウザ５１１に返却する。フレーム情報は、画面を上下に分割するフレームをあらわす。
【０１５２】
上フレームに表示される情報として、検査情報付きレスポンスＨＴＭＬ９１０に検査結果５１４が付加される。また、下フレームに表示される情報として、Ｗｅｂアプリケーション５２１の実行結果５１５となる検査情報付きレスポンスＨＴＭＬ９１０がそのまま付加される。プロキシサーバ１０３は、このように再構成された検査情報付きレスポンスＨＴＭＬ９１０をクライアント１０１に送信する。
【０１５３】
このあと、クライアント１０１は、プロキシサーバ１０３から送信されてくる再構成後の検査情報付きレスポンスＨＴＭＬ９１０を受信することにより、Ｗｅｂアプリケーション５２１の検査結果および実行結果表示処理を実行する（ステップＳ８１０）。
【０１５４】
具体的には、Ｗｅｂブラウザ５１１が、受信された検査情報付きレスポンスＨＴＭＬ９１０を描画することにより、上フレームとして記述された検査結果５１４と下フレームとして記述された実行結果５１５とを、ともに画面上に表示する。これにより、Ｗｅｂブラウザ５１１においては、検査結果５１４が不合格であった場合、位置情報および不合格となったクラス名、属性値を検査結果５１４として表示することができる。
【０１５５】
図１２は、ステップＳ８１０におけるＷｅｂブラウザ５１１の画面表示例を示す説明図である。Ｗｅｂブラウザ５１１では、ＨＴＭＬコメントは評価されないため、運用時と同一の画面（実行結果５１５）がＷｅｂブラウザ５１１の下部に表示されることになる。また、実行結果５１５が複数ある場合、実行結果５１５ごとに検査結果を表示することとしてもよく、また、所定数の実行結果５１５についての検査結果５１４が合格メッセージであれば、単一の合格メッセージを表示することとしてもよい。
【０１５６】
この結果、テスト実施者はＷｅｂブラウザ５１１上の画面項目を一つずつ目視で検査しなくても、検査結果５１４を確認するだけで合否判定をおこなうことができる。また、位置情報を確認することで、どの画面項目に誤りがあったかをすばやく判断することができる効果がある。
【０１５７】
また、実施の形態１では、プロキシサーバ１０３を本来のプロキシ処理とＷｅｂアプリケーション５２１の検査処理とを兼用することにより、サーバの導入台数の低減化を図ることができる。
【０１５８】
また、上述したＷｅｂサーバ１０２では、ＡＰサーバ５２５によりアスペクト付きＪＡＶＡクラスファイル９０５（バイナリファイル）を実行することにより、検査情報付きレスポンスＨＴＭＬ９１０を生成して、プロキシサーバ１０３に送信することとしたが、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）のようにＷｅｂサーバ１０２上で直接実行される形式でも構わない。
【０１５９】
このように、実施の形態１によれば、Ｗｅｂアプリケーション５２１の検査処理の効率化と検査結果５１４の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ることができる。
【０１６０】
[実施の形態２]
つぎに、実施の形態２について説明する。実施の形態１は、Ｗｅｂサーバ１０２において検査情報取得処理およびアスペクト注入処理をおこない、プロキシサーバ１０３で検査処理をおこなう構成としたが、実施の形態２では、Ｗｅｂサーバ１０２においてメタ情報取得処理およびアスペクト注入処理をおこない、プロキシサーバ１０３で検査処理をおこなう構成とする。
【０１６１】
実施の形態２では、Ｗｅｂサーバ１０２に検査情報取得エンジン５２２が実装されていないため、管理サーバ１０４から期待値の取得処理は実行されず、Ｗｅｂサーバ１０２は、検査情報付きレスポンスＨＴＭＬ９１０を生成するのではなく、メタ情報が埋め込まれたメタ情報付きレスポンスＨＴＭＬを生成することとなる。以下、実施の形態２について説明する。なお、実施の形態１と同一構成には同一符号を付し、その説明を省略する。
【０１６２】
（各コンピュータ装置の内部構成）
図１３は、図１に示した各コンピュータ装置の実施の形態２における内部構成を示すブロック図である。実施の形態２では、Ｗｅｂサーバ１０２において、検査情報取得エンジン５２２の代わりにメタ情報挿入エンジン５２８がインストールされている。メタ情報挿入エンジン５２８は、図１０（Ａ）に示したように、Ｊａｖａソース断片９０３から、タグクラス１００１、name属性の属性値１００２、およびproperty属性の属性値１００３からなるメタ情報を特定する。そして、出力項目７０１のコメント文として挿入する。また、Ｗｅｂサーバ１０２と管理サーバ１０４とは直接通信する必要はない。
【０１６３】
また、プロキシサーバ１０３には、管理サーバ１０４のテストケース管理部５４１と通信可能な検査エンジン５３３がインストールされている。この検査エンジン５３３は、テストケース管理部５４１と通信可能であることのほかは、実施の形態１の検査エンジン５３２と同様の検査処理を実行する。
【０１６４】
（Ｗｅｂサーバ１０２の検査時における実行処理内容）
つぎに、実施の形態２にかかるＷｅｂサーバ１０２の検査時の実行処理内容についてＪＡＶＡを適用した場合を例にして説明する。Ｗｅｂサーバ１０２の運用時の実行処理内容については、実施の形態１と同一であるため省略する。図１４は、実施の形態２にかかるＷｅｂサーバ１０２の検査時の実行処理を示すシーケンス図であり、図１５および図１６は、実施の形態２にかかるＷｅｂサーバ１０２の検査時の実行処理内容を示す説明図である。なお、検査時はクライアント１０１を操作するのは一般利用者ではなくテスト実施者となる。
【０１６５】
まず、クライアント１０１のリクエスト生成処理（ステップＳ１４０１）、プロキシサーバ１０３のリクエスト転送（ステップＳ１４０２）、Ｗｅｂサーバ１０２のリクエスト解析処理（ステップＳ１４０３）、および出力項目展開処理（ステップＳ１４０４）まで、ならびに検査結果および実行結果表示処理（ステップＳ１４１０）については、実施の形態１のステップＳ８０１〜ステップＳ８０４まで、ならびにステップＳ８１０と同一である。したがって、図１５に示した（Ａ）〜（Ｃ）までの処理の流れも、図８に示した（Ａ）〜（Ｃ）までの処理の流れと同一である。
【０１６６】
図１４において、出力項目展開処理（ステップＳ１４０４）のあと、Ｗｅｂサーバ１０２は、アスペクト注入処理を実行する（ステップＳ１４０５）。具体的には、メタ情報挿入エンジン５２８が、画面クラスファイル９０４にメタ情報を挿入することで、図１５（Ｄ）に示したように、アスペクト付きＪＡＶＡクラスファイル９１５を得る。
【０１６７】
つぎに、Ｗｅｂサーバ１０２は、レスポンス生成処理を実行する（ステップＳ１４０６）。具体的には、ＡＰサーバ５２５が、アスペクト付きＪＡＶＡクラスファイル９１５を実行することで、メタ情報付きレスポンスＨＴＭＬ９２０を生成する。図１５（Ｅ）に示したように、メタ情報付きレスポンスＨＴＭＬ９２０には、運用時と比較すると、ＨＴＭＬコメント９２１，９２２が付加されている。このあと、Ｗｅｂサーバ１０２は、生成されたメタ情報付きレスポンスＨＴＭＬ９２０をプロキシサーバ１０３に送信する。
【０１６８】
また、図１６では、アスペクト付きＪＡＶＡクラスファイル９１５により動作が置き換えられることによって、どのようにメタ情報付きレスポンスＨＴＭＬ９２０が生成されるかを示している。メタ情報挿入エンジン５２８はAspectJなどのアスペクト指向のプログラミング言語により構成されている場合、メタ情報挿入エンジン５２８およびＡＰサーバ５２５は、つぎの手順（１）〜（５）でメタ情報付きレスポンスＨＴＭＬ９２０を生成する。
【０１６９】
（１）Ｊａｖａソース断片９０３のsetPageContext()メソッドが属するクラスのクラス名を取得する。この例では、図１５（Ｂ）および図１６（Ａ）に示したＪａｖａソース断片９０３の１４５行目に記述されている「org.apache.struts.taglib.bean.WriteTag」が、カスタムタグ９０１のタグクラス１００１として取得される。
【０１７０】
（２）タグクラス１００１とＪａｖａソース断片９０３上のsetXxx()メソッドを属性リストとして抽出する。この例では、図１５（Ｂ）および図１６（Ａ）に示したＪａｖａソース断片９０３の１４８行目に記述されている「AddForm」がname属性の属性値１００２として、１４９行目に記述されている「result」がproperty属性の属性値１００３として、抽出される。
【０１７１】
（３）doStartTag()メソッドが呼び出される直前に、メタ情報がＨＴＭＬとしてコメント化されたＨＴＭＬコメント１６０１を出力する。これにより、図１６（Ｂ）に示したように、「<!--testStart class="WriteTag" name="AddForm" property="result" -->」が表示される。
【０１７２】
（４）doStartTag()メソッドおよびdoEndTag()メソッドを実行し、Ｗｅｂアプリケーション５２１を通常通り実行させる。これにより、図１６（Ｂ）に示したように、実行結果５１５の出力項目７０１として出力値「５」が表示される。
【０１７３】
（５）doEndTag()が終了した直後に、ＨＴＭＬコメント１６０２を出力する。これにより、図１６（Ｂ）に示したように、「<!--testEnd -->」が表示される。
【０１７４】
図１７は、上記（１）〜（５）によるＷｅｂアプリケーション５２１の実行結果５１５を示す説明図である。図１７に示したように、メタ情報付きレスポンスＨＴＭＬ９２０では、出力項目７０１である出力値「５」の出力位置の前後に、メタ情報を示すＨＴＭＬコメント９２１，９２２が配置されて出力されることとなる。これにより、運用時におけるレスポンスＨＴＭＬ７００の替わりに、メタ情報付きレスポンスＨＴＭＬ９２０がプロキシサーバ１０３に返却されることとなる。
【０１７５】
つぎに、図１４にもどって、シーケンスの続きを説明する。プロキシサーバ１０３は、検査処理を実行する（ステップＳ１４０７）。具体的には、プロキシエンジン５３１が、Ｗｅｂサーバ１０２からら送信されているメタ情報付きレスポンスＨＴＭＬ９２０を受信する。そして、受信されたメタ情報付きレスポンスＨＴＭＬ９２０を検査エンジン５３３に受け渡すことにより、検査エンジン５３３は、メタ情報付きレスポンスＨＴＭＬ９２０の検査を実行する。
【０１７６】
検査エンジン５３３は、メタ情報付きレスポンスＨＴＭＬ９２０の内部を走査し、「<!--testStart ＸＸＸ-->」と「<!--testEnd -->」に囲まれた部分の値を検索する。なお、ＸＸＸにはメタ情報としての文字列が記入されている。そして、このタグに囲まれた部分の文字列を、Ｗｅｂアプリケーション５２１の実行結果５１５となる出力項目７０１と判断する。そして、検査エンジン５３３は、「<!--testStart ＸＸＸ-->」におけるメタ情報の記述ＸＸＸを切り出して、検査情報要求として管理サーバ１０４に送信する。
【０１７７】
このとき、管理サーバ１０４は、検査情報抽出処理を実行する（ステップＳ１４０８）。具体的には、テストケース管理部５４１が、仕様書ＤＢ１０５を参照し、受信されたメタ情報に関連付けられている検査情報を仕様書ＤＢ１０５から抽出して、検査エンジン５３３に返却する。
【０１７８】
検査エンジン５３３は、管理サーバ１０４からの検査情報に基づいて、出力項目７０１の検査を実行する。たとえば、検査情報に期待値が含まれている場合、出力項目７０１との一致判定を実行する。そして、誤り（不一致）であれば、検査情報付きレスポンスＨＴＭＬ９１０中における行数、桁数、何番目の出力項目７０１が期待値と異なるかなどといった位置情報を内部に記憶しておく。
【０１７９】
検査エンジン５３３は、検査情報に検査条件が含まれている場合には、出力項目７０１の検査の実行に際し、当該検査条件を考慮する。たとえば、含まれている検査条件が「unchecked」である場合は、検査処理を実行しない。
【０１８０】
また、含まれている検査条件が「exists」である場合、出力項目７０１として何らかの文字列が存在する／しないことだけを検査する。文字列の詳細については、検査は実行しない。また、含まれている検査条件が「format」である場合、出力項目７０１として文字列のフォーマット情報のみを検査する。たとえば、出力項目７０１について３桁後のカンマの存在の有無や小数桁数などを検査する。
【０１８１】
また、含まれている検査条件が「range」である場合、出力項目７０１としての文字列があらわす数値の範囲を検査する。たとえば、負の数は誤りであるなどを検査する。また、含まれている検査条件が「length」である場合、出力項目７０１の文字列長の範囲を検査する。
【０１８２】
このように、出力項目７０１には、伝票番号のように、実行するごとに結果が異なるものが存在する。実施例では、仕様書ＤＢ１０５としてすべての出力項目７０１に対して期待値を記述することを要求するが、これらの毎回変化する出力項目７０１の期待値は記述できない問題がある。
【０１８３】
したがって、このような検査条件により、毎回変化する不定値に対して、検査を行わないようにすることを明示的に記述することが可能となる。また、値の存在検査、フォーマット検査、範囲検査を提供することで、不定値に対しても最低限の検査を実行できるため、より高品質なテストが可能となる。
【０１８４】
つぎに、プロキシサーバ１０３は、再構成処理を実行する（ステップＳ１４０９）。具体的には、プロキシエンジン５３１はメタ情報付きレスポンスＨＴＭＬ９２０中のメタ情報のＨＴＭＬコメント９２１に替えて、検査情報のＨＴＭＬコメント９１１を挿入する。また、フレーム情報も追加する。フレーム情報は、画面を上下に分割するフレームをあらわす。
【０１８５】
上フレームに表示される情報として、検査結果５１４（合否結果と、不合格時には不合格の出力項目７０１の位置情報）が付加される。また、下フレームに表示される情報として、検査情報のＨＴＭＬコメント９１１が挿入された検査情報付きレスポンスＨＴＭＬ９１０がそのまま付加される。プロキシサーバ１０３は、このように再構成された検査情報付きレスポンスＨＴＭＬ９１０をクライアント１０１に送信する。
【０１８６】
このあと、クライアント１０１は、プロキシサーバ１０３から送信されてくる再構成後の検査情報付きレスポンスＨＴＭＬ９１０を受信することにより、Ｗｅｂアプリケーション５２１の検査結果および実行結果表示処理を実行する（ステップＳ１４１０）。
【０１８７】
このように、メタ情報付きレスポンスＨＴＭＬ９２０を解析し自動検査した結果をテスト実施者に通知するプロセスでも、実施の形態１と同様の効果を得ることができる。また、実施の形態２では、レスポンスの中に障害検出箇所のタグの詳細を取得できるため、より詳細な障害情報をテスト実行者に通知することができる。また、アスペクト内で通信を行う必要がなくなることで、Ｗｅｂアプリケーション５２１の動作が簡素化し、動作が安定するとともに高速化を実現することができる。
【０１８８】
このように、実施の形態２によれば、Ｗｅｂアプリケーション５２１の検査処理の効率化と検査結果５１４の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ることができる。
【０１８９】
［その他の変形例］
以下、上述した実施の形態１および実施の形態２の変形例について説明する。実施の形態１および実施の形態２では、検査エンジン５３３をＷｅｂサーバ１０２外のサーバ（たとえば、プロキシサーバ１０３）に実装させていたが、検査エンジン５３３をＷｅｂサーバ１０２に実装することとしてもよい。
【０１９０】
たとえば、Servletにおけるフィルタ機能を利用し、ＡＰサーバ５２５が送出するＨＴＭＬデータを監視したり、ApacheモジュールなどによりＷｅｂサーバ１０２の拡張機能を利用し、Ｗｅｂサーバ１０２が送出するＨＴＭＬデータを監視することにより実現化可能である。この場合、検査処理用のサーバをあらたに導入する必要がないため、サーバの導入台数の低減化を図ることができるとともに、検査工程も簡略化することができる。
【０１９１】
また、Ｗｅｂブラウザ５１１とともに検査エンジン５３３が実装された専用ブラウザをクライアント１０１に実装することとしてもよい。この場合、検査結果５１４の通知方法を柔軟にカスタマイズすることが可能となる。たとえば、ブラウザ画面とは別に検査結果通知画面を持たせることができ、テスト実施者に対するユーザインターフェースの改善を図ることができる。
【０１９２】
また、検査エンジン５３３をクライアント１０１内のＷｅｂブラウザ５１１に実装することとしてもよい。たとえば、Ｗｅｂブラウザ５１１にプラグイン機能を実装することで、Ｗｅｂブラウザ５１１のような汎用ブラウザを用いて検査処理を実行することができる。
【０１９３】
この場合も、検査結果５１４の通知方法を柔軟にカスタマイズすることが可能となる。たとえば、ブラウザ画面とは別に検査結果通知画面を持たせることができ、テスト実施者に対するユーザインターフェースの改善を図ることができる。また、専用ブラウザとした場合に比べ、検査エンジン５３３の開発を容易におこなうことができる。
【０１９４】
また、クライアント１０１に検査エンジン５３３を汎用ブラウザ（Ｗｅｂブラウザ５１１内）に実装した場合、検査エンジン５３３は、汎用ブラウザの出力ファイルやキャッシュファイルを検査する構成としてもよい。汎用ブラウザは受信されたレスポンスＨＴＭＬ７００をファイルとして出力する機能を持たせる。これにより、検査エンジン５３３の開発が容易で、どのようなブラウザでも適用することができる。
【０１９５】
また、実施の形態１および実施の形態２では、運用実行環境と検査実行環境を分離するために、検査情報取得エンジン５２２やメタ情報挿入エンジン５２８が出力するアスペクト付きＪＡＶＡクラスファイル９０５，９１５を、ＪＡＶＡコンパイラ５２４が出力する画面クラスファイル９０４と置き換える方法を取ったが、他に以下１）〜３）のような方法が可能である。
【０１９６】
１）ＪＡＶＡ仮想マシンによる動的アスペクト織り込み処理を利用する方法。
２）ＪＡＶＡクラスローダへの拡張をおこなう方法。
３）常にアスペクト付きＪＡＶＡクラスファイル９０５，９１５を利用し、アスペクト内で外部の定義ファイルなどを読み出し、検査情報やメタ情報を挿入するか否かを決定する方法。
【０１９７】
以上説明したように、本発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法によれば、Ｗｅｂアプリケーションの検査処理の効率化と検査結果の確認作業の容易化とを同時に実現することにより、検査の信頼性の向上を図ることができる。
【０１９８】
なお、本実施の形態で説明したＷｅｂアプリケーション検査方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１９９】
（付記１）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付けさせる受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行させる実行工程と、
前記実行工程によって実行することにより得られた出力項目の検査に用いられる検査情報を取得させる取得工程と、
前記取得工程によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成させる生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信させる送信工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【０２００】
（付記２）前記取得工程は、
前記出力項目が固定値である場合、前記検査情報として、前記Ｗｅｂアプリケーションの仕様書に記述された期待値を取得させることを特徴とする付記１に記載のＷｅｂアプリケーション検査プログラム。
【０２０１】
（付記３）前記取得工程は、
前記出力項目が不定値である場合、前記検査情報として、前記出力項目が満たすべき検査条件を取得させることを特徴とする付記１に記載のＷｅｂアプリケーション検査プログラム。
【０２０２】
（付記４）前記検査条件は、
前記出力項目の検査を実行しないことを意味する情報であることを特徴とする付記３に記載のＷｅｂアプリケーション検査プログラム。
【０２０３】
（付記５）前記検査条件は、
前記出力項目の存在の是非に関する情報であることを特徴とする付記３に記載のＷｅｂアプリケーション検査プログラム。
【０２０４】
（付記６）前記検査条件は、
前記出力項目のフォーマットに関する制限情報であることを特徴とする付記３に記載のＷｅｂアプリケーション検査プログラム。
【０２０５】
（付記７）前記検査条件は、
前記出力項目が数値である場合、当該数値の数値範囲に関する制限情報であることを特徴とする付記３に記載のＷｅｂアプリケーション検査プログラム。
【０２０６】
（付記８）前記検査条件は、
前記出力項目が文字列である場合、当該文字列の文字列長に関する制限情報であることを特徴とする付記３に記載のＷｅｂアプリケーション検査プログラム。
【０２０７】
（付記９）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に当該出力項目の検査に用いられる検査情報を関連付けた前記リクエストに対するレスポンスを受信させる受信工程と、
前記受信工程によって受信されたレスポンス内の前記検査情報に基づいて、前記レスポンス内の前記出力項目を検査させる検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力させる出力工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【０２０８】
（付記１０）前記検査工程は、
前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された期待値である場合、前記出力項目と前記期待値とが一致するか否かを判断させ、
前記出力工程は、
一致した場合には合格であることを示すメッセージを、不一致である場合には不合格であることを示すメッセージを、前記検査結果として出力させることを特徴とする付記９に記載のＷｅｂアプリケーション検査プログラム。
【０２０９】
（付記１１）前記検査工程は、
前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された前記出力項目が満たすべき検査条件である場合、前記出力項目を示す出力値が前記検査条件を遵守しているか否かを判断させ、
前記出力工程は、
前記検査条件を遵守している場合には合格であることを示すメッセージを、違反している場合には不合格であることを示すメッセージを、前記検査結果として出力させることを特徴とする付記９に記載のＷｅｂアプリケーション検査プログラム。
【０２１０】
（付記１２）前記出力工程は、
前記検査結果に前記出力項目を関連付けて表示画面に表示させることを特徴とする付記９〜１１のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２１１】
（付記１３）前記レスポンスを、前記検査結果に前記出力項目を関連付けたレスポンスに再構成させる再構成工程を前記コンピュータに実行させ、
前記出力工程は、
前記再構成工程によって再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信させることを特徴とする付記９〜１１のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２１２】
（付記１４）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付けさせる受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行させる実行工程と、
前記実行工程による前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を特定させる特定工程と、
前記実行工程によって実行することにより得られた出力項目に、前記特定工程によって特定されたメタ情報を関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成させる生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信させる送信工程と、
コンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【０２１３】
（付記１５）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を関連付けた前記リクエストに対するレスポンスを受信させる受信工程と、
前記Ｗｅｂアプリケーションの実行内容ごとのメタ情報に関連付けられている検査情報の集合の中から、前記受信工程によって受信されたレスポンス内のメタ情報に関連付けられている検査情報を取得させる取得工程と、
前記取得工程によって取得された検査情報に基づいて、前記レスポンス内の前記出力項目を検査させる検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力させる出力工程と、
をコンピュータに実行させることを特徴とするＷｅｂアプリケーション検査プログラム。
【０２１４】
（付記１６）前記取得工程は、
前記出力項目が固定値である場合、前記検査情報として、前記Ｗｅｂアプリケーションの仕様書に記述された期待値を取得させることを特徴とする付記１５に記載のＷｅｂアプリケーション検査プログラム。
【０２１５】
（付記１７）前記取得工程は、
前記出力項目が不定値である場合、前記検査情報として、前記出力項目が満たすべき検査条件を取得させることを特徴とする付記１５に記載のＷｅｂアプリケーション検査プログラム。
【０２１６】
（付記１８）前記検査条件は、
前記出力項目の検査を実行しないことを意味する情報であることを特徴とする付記１７に記載のＷｅｂアプリケーション検査プログラム。
【０２１７】
（付記１９）前記検査条件は、
前記出力項目の存在の是非に関する情報であることを特徴とする付記１７に記載のＷｅｂアプリケーション検査プログラム。
【０２１８】
（付記２０）前記検査条件は、
前記出力項目のフォーマットに関する制限情報であることを特徴とする付記１７に記載のＷｅｂアプリケーション検査プログラム。
【０２１９】
（付記２１）前記検査条件は、
前記出力項目が数値である場合、当該数値の数値範囲に関する制限情報であることを特徴とする付記１７に記載のＷｅｂアプリケーション検査プログラム。
【０２２０】
（付記２２）前記検査条件は、
前記出力項目が文字列である場合、当該文字列の文字列長に関する制限情報であることを特徴とする付記１７に記載のＷｅｂアプリケーション検査プログラム。
【０２２１】
（付記２３）前記検査工程は、
前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された期待値である場合、前記出力項目と前記期待値とが一致するか否かを判断させ、
前記出力工程は、
一致した場合には合格であることを示すメッセージを、不一致である場合には不合格であることを示すメッセージを、前記検査結果として出力させることを特徴とする付記１６に記載のＷｅｂアプリケーション検査プログラム。
【０２２２】
（付記２４）前記検査工程は、
前記検査情報が、前記Ｗｅｂアプリケーションの仕様書に記述された前記出力項目が満たすべき検査条件である場合、前記出力項目が前記検査条件を遵守しているか否かを判断させ、
前記出力工程は、
前記検査条件を遵守している場合には合格であることを示すメッセージを、違反している場合には不合格であることを示すメッセージを、前記検査結果として出力させることを特徴とする付記１７〜２２のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２２３】
（付記２５）前記出力工程は、
前記検査結果を前記出力項目に関連付けて表示画面に表示させることを特徴とする付記１５〜２４のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２２４】
（付記２６）前記出力工程は、
前記メタ情報の替わりに前記検査情報を前記出力項目に関連付けて表示画面に表示させることを特徴とする付記１５〜２５のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２２５】
（付記２７）前記レスポンスを、前記検査結果を前記出力項目に関連付けたレスポンスに再構成させる再構成工程を前記コンピュータに実行させ、
前記出力工程は、
前記再構成工程によって再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信させることを特徴とする付記１５〜２４のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２２６】
（付記２８）前記再構成工程は、
前記レスポンスを、前記メタ情報の替わりに前記検査情報を前記出力項目に関連付けたレスポンスに再構成させ、
前記出力工程は、
前記再構成工程によって再構成されたレスポンスを前記リクエストの送信元となるコンピュータ装置に送信させることを特徴とする付記１５〜２４のいずれか一つに記載のＷｅｂアプリケーション検査プログラム。
【０２２７】
（付記２９）付記１〜２８のいずれか一つに記載のＷｅｂアプリケーション検査プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０２２８】
（付記３０）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付手段と、
前記受付手段によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行手段と、
前記実行手段によって実行することにより得られた出力項目の検査に用いられる検査情報を取得する取得手段と、
前記取得手段によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成手段と、
前記生成手段によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信手段と、
を備えることを特徴とするＷｅｂアプリケーション検査装置。
【０２２９】
（付記３１）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に当該出力項目の検査に用いられる検査情報を関連付けた前記リクエストに対するレスポンスを受信する受信手段と、
前記受信手段によって受信されたレスポンス内の前記検査情報に基づいて、前記レスポンス内の前記出力項目を検査する検査手段と、
前記検査手段によって検査された検査結果を前記出力項目に関連付けて出力する出力手段と、
を備えることを特徴とするＷｅｂアプリケーション検査装置。
【０２３０】
（付記３２）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付手段と、
前記受付手段によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行手段と、
前記実行手段による前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を特定する特定手段と、
前記実行手段によって実行することにより得られた出力項目に、前記特定手段によって特定されたメタ情報を関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成手段と、
前記生成手段によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信手段と、
を備えることを特徴とするＷｅｂアプリケーション検査装置。
【０２３１】
（付記３３）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を関連付けた前記リクエストに対するレスポンスを受信する受信手段と、
前記Ｗｅｂアプリケーションの実行内容ごとのメタ情報に関連付けられている検査情報の集合の中から、前記受信手段によって受信されたレスポンス内のメタ情報に関連付けられている検査情報を取得する取得手段と、
前記取得手段によって取得された検査情報に基づいて、前記レスポンス内の前記出力項目を検査する検査手段と、
前記検査手段によって検査された検査結果を前記出力項目に関連付けて出力する出力手段と、
を備えることを特徴とするＷｅｂアプリケーション検査装置。
【０２３２】
（付記３４）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行工程と、
前記実行工程によって実行することにより得られた出力項目の検査に用いられる検査情報を取得する取得工程と、
前記取得工程によって取得された検査情報を前記出力項目に関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信工程と、
を含んだことを特徴とするＷｅｂアプリケーション検査方法。
【０２３３】
（付記３５）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に当該出力項目の検査に用いられる検査情報を関連付けた前記リクエストに対するレスポンスを受信する受信工程と、
前記受信工程によって受信されたレスポンス内の前記検査情報に基づいて、前記レスポンス内の前記出力項目を検査する検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力する出力工程と、
を含んだことを特徴とするＷｅｂアプリケーション検査方法。
【０２３４】
（付記３６）ＷｅｂサーバにインストールされているＷｅｂアプリケーションに与える入力値を含むリクエストを受け付ける受付工程と、
前記受付工程によって受け付けられたリクエストに含まれている前記入力値を与えて前記Ｗｅｂアプリケーションを実行する実行工程と、
前記実行工程による前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を特定する特定工程と、
前記実行工程によって実行することにより得られた出力項目に、前記特定工程によって特定されたメタ情報を関連付けて埋め込むことにより、前記リクエストに対するレスポンスを生成する生成工程と、
前記生成工程によって生成されたレスポンスを、前記出力項目の検査を実行するコンピュータ装置に送信する送信工程と、
を含んだことを特徴とするＷｅｂアプリケーション検査方法。
【０２３５】
（付記３７）ＷｅｂサーバにインストールされているＷｅｂアプリケーションがリクエストに応じて実行された場合、その実行により得られる出力項目に前記Ｗｅｂアプリケーションの実行内容に関するメタ情報を関連付けた前記リクエストに対するレスポンスを受信する受信工程と、
前記Ｗｅｂアプリケーションの実行内容ごとのメタ情報に関連付けられている検査情報の集合の中から、前記受信工程によって受信されたレスポンス内のメタ情報に関連付けられている検査情報を取得する取得工程と、
前記取得工程によって取得された検査情報に基づいて、前記レスポンス内の前記出力項目を検査する検査工程と、
前記検査工程によって検査された検査結果を前記出力項目に関連付けて出力する出力工程と、
を含んだことを特徴とするＷｅｂアプリケーション検査方法。
【産業上の利用可能性】
【０２３６】
以上のように、本発明にかかるＷｅｂアプリケーション検査プログラム、該プログラムを記録した記録媒体、Ｗｅｂアプリケーション検査装置、およびＷｅｂアプリケーション検査方法は、Ｗｅｂアプリケーション開発時におけるテスト工程に有用である。
【図面の簡単な説明】
【０２３７】
【図１】この発明の実施の形態にかかるＷｅｂアプリケーション検査システムの概略構成を示す説明図である。
【図２】図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態にかかる仕様書ＤＢの記憶内容を示す説明図である。
【図４】この発明の実施の形態にかかるＷｅｂアプリケーション検査システムの機能的構成を示すブロック図である。
【図５】図１に示した各コンピュータ装置の実施の形態１における内部構成を示すブロック図である。
【図６】実施の形態１にかかるＷｅｂサーバの運用時の実行処理を示すシーケンス図である。
【図７】実施の形態１にかかるＷｅｂサーバの運用時の実行処理内容を示す説明図である。
【図８】実施の形態１にかかるＷｅｂサーバの検査時の実行処理を示すシーケンス図である。
【図９】実施の形態１にかかるＷｅｂサーバの検査時の実行処理内容を示す説明図（その１）である。
【図１０】実施の形態１にかかるＷｅｂサーバの検査時の実行処理内容を示す説明図（その２）である。
【図１１】実施の形態１にかかるＷｅｂアプリケーションの実行結果を示す説明図である。
【図１２】ステップＳ８１０におけるＷｅｂブラウザの画面表示例を示す説明図である。
【図１３】図１に示した各コンピュータ装置の実施の形態２における内部構成を示すブロック図である。
【図１４】実施の形態２にかかるＷｅｂサーバの検査時の実行処理を示すシーケンス図である。
【図１５】実施の形態２にかかるＷｅｂサーバの検査時の実行処理内容を示す説明図（その１）である。
【図１６】実施の形態２にかかるＷｅｂサーバの検査時の実行処理内容を示す説明図（その２）である。
【図１７】実施の形態２にかかるＷｅｂアプリケーションの実行結果を示す説明図である。
【符号の説明】
【０２３８】
１００  Ｗｅｂアプリケーション検査システム
１０１  クライアント
１０２  Ｗｅｂサーバ
１０３  プロキシサーバ
１０４  管理サーバ
４００，４１０  コンピュータ装置
４０１  受付部
４０２  実行部
４０３  特定部
４０４  取得部
４０５  生成部
４０６  送信部
４１１  受信部
４１２  取得部
４１３  検査部
４１４  再構成部
４１５  出力部
【図１】
2008112300.tif 000003
【図２】
2008112300.tif 000004
【図３】
2008112300.tif 000005
【図４】
2008112300.tif 000006
【図５】
2008112300.tif 000007
【図６】
2008112300.tif 000008
【図７】
2008112300.tif 000009
【図８】
2008112300.tif 000010
【図９】
2008112300.tif 000011
【図１０】
2008112300.tif 000012
【図１１】
2008112300.tif 000013
【図１２】
2008112300.tif 000014
【図１３】
2008112300.tif 000015
【図１４】
2008112300.tif 000016
【図１５】
2008112300.tif 000017
【図１６】
2008112300.tif 000018
【図１７】
2008112300.tif 000019