(57)【要約】      （修正有）【課題】本番環境サーバに配布されたＷＥＢアプリケーションプログラムのすべての機能について簡易的に動作テストを行う。【解決手段】動作テストの対象となる画面プログラムファイル名の一覧および抽出対象となるエラーコードの一覧をＷＥＢアプリケーション運用環境サーバ２００のプログラムマスタ記憶部２０２およびエラーコードマスタ記憶部２０３より取得する。取得した画面プログラム名を動作状態検出の対象プログラムとして、動作テスト対象のプログラム名に対応するＷＥＢアプリケーションプログラムの動作リクエストをＷＥＢアプリケーション運用環境のＷＥＢサーバ２０１に送信し、ＷＥＢサーバからのレスポンスデータに抽出対象のエラーコードが含まれているかどうかを確認する。これによって、ＷＥＢアプリケーションプログラムの動作状態を検出し、ＷＥＢアプリケーションの動作テストを行う。【選択図】図１
2015052882.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、１以上の画面プログラムファイル、画面プログラム一覧を記憶したプログラムマスタ記憶部、エラーコードの一覧を記憶したエラーコードマスタ記憶部、とから構成されるＷＥＢアプリケーションの動作状態検出を行うＷＥＢアプリケーションテスト装置であって、
前記画面プログラムファイルの一覧またはプログラムマスタ記憶部から動作状態検出の対象となる画面プログラム名の一覧を取得し、取得した画面プログラム名を動作状態検出の対象プログラムとして対象プログラム一覧記憶部に記録するプログラム一覧取得部と、
前記エラーコードマスタ記憶部からエラーコードの一覧を取得し、取得したエラーコードを検出対象エラーコードとして対象エラーコード一覧記憶部に記録するエラーコード取得部と、
前記対象プログラム一覧記憶部に記憶されているプログラム名それぞれについて、プログラム名に対応するＷＥＢアプリケーションプログラムの動作リクエストを当該ＷＥＢアプリケーションが配置されたＷＥＢサーバに送信し、ＷＥＢサーバからのレスポンスデータを取得するレスポンス取得部と、
前記レスポンス取得部が取得したレスポンスデータに前記対象エラーコード一覧記憶部に記憶されているエラーコードが含まれているかどうかを確認することによってＷＥＢアプリケーションプログラムの動作状態を検出し、検出した動作状態をテスト結果記憶部に記録するレスポンス解析部と
から構成されることを特徴とするＷＥＢアプリケーションテスト装置。
【請求項２】
請求項１に記載のＷＥＢアプリケーションテスト装置はさらに、
前記ＷＥＢアプリケーションのログイン処理を行うＷＥＢアプリケーションプログラム名、ログイン処理に必要なパラメータ名とパラメータ値を記憶するテスト設定記憶部と、
前記テスト設定記憶部に記憶されたログイン処理を行うＷＥＢアプリケーションプログラム名に対応するＷＥＢアプリケーションプログラムの動作リクエストを当該ＷＥＢアプリケーションが配置されたＷＥＢサーバに、前記テスト設定記憶部に記憶されたログイン処理に必要なパラメータ名とパラメータ値と共に送信し、ＷＥＢサーバからセッション識別子を取得するセッション生成部と
から構成され、
前記レスポンス取得部は、ＷＥＢアプリケーションプログラムの動作リクエストをＷＥＢサーバに送信する際に、前記セッション識別子を併せて送信する
ことを特徴とするＷＥＢアプリケーションテスト装置。
【請求項３】
請求項１または請求項２に記載のＷＥＢアプリケーションテスト装置であって、
前記レスポンス取得部は、取得したレスポンスデータからＷＥＢアプリケーションプログラムの状態管理情報を取得し、取得した状態管理情報と共に動作リクエストをＷＥＢサーバに送信する
ことを特徴とするＷＥＢアプリケーションテスト装置。
【請求項４】
請求項１ないし３いずれか１項に記載のＷＥＢアプリケーションテスト装置の機能をコンピュータに実現させるためのＷＥＢアプリケーションテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷＥＢアプリケーションプログラムの動作テストを行うＷＥＢアプリケーションテスト装置およびそのプログラムに関し、特にテスト環境サーバで正常に動作していたＷＥＢアプリケーションプログラムを本番環境サーバに配布した際に本番環境サーバ上で配布したＷＥＢアプリケーションプログラムが正常に動作するかの実行テストを行う、ＷＥＢアプリケーションテスト装置およびそのプログラムに関するものである。
【背景技術】
【０００２】
一般的に、業務システムで利用される大規模なＷＥＢアプリケーションプログラムは多数のプログラムが複数の開発者の手によって作成される。そのため、複数の開発者によって作成された多数のプログラムが互いに協調して動作するかの動作テストが行われる。動作テストは開発されたＷＥＢアプリケーションプログラムをテスト環境のＷＥＢサーバに配置することによって行われる。
【０００３】
業務システムにおいては、機能ごとに複数のＷＥＢページのプログラムが作成される。テスト担当者や開発者は、クライアント装置のＷＥＢブラウザからテスト環境サーバに配置された業務アプリケーションのＷＥＢページを表示する。そして、ＷＥＢページの初期表示が正しく行われているか、情報の入力や画面遷移は正しく行われるか、などといった動作テストをすべての機能のＷＥＢページ画面を表示しながら行う。
【０００４】
このようにしてテスト環境サーバに配布された業務アプリケーションの機能テストを行い、すべての機能が正しく動作することが確認できたら、テスト環境のＷＥＢアプリケーションプログラムをすべて本番環境のＷＥＢサーバに配布する。本番環境サーバに配布されたＷＥＢアプリケーションプログラムはテスト環境サーバで動作テストが行われているので、すべての機能が正常に動作することが期待されている。
【０００５】
しかし、複数の開発者によって作成され動作テストされたプログラムを本番環境サーバ上に配布して実行するため、プログラム同士のバージョンの違いやプログラムの配布洩れ、テスト環境サーバと本番環境サーバの環境や設定の違いなどによりアプリケーションの実行エラーとなる場合がある。
【０００６】
このような本番環境サーバでの動作エラーを防止するために、通常はテスト環境サーバと本番環境サーバとで利用するＷＥＢサーバなどのミドルウェア製品やシステム構成を同じ状態にし、開発ＷＥＢサーバ環境で十分な実行テストを行った上で運用ＷＥＢサーバ環境にプログラムを配布することが行われている。
【０００７】
例えば、テスト環境サーバから本番環境サーバへ配布されたアプリケーションプログラムの実行テストを行う方法として、公知例１においてはテスト環境サーバでのアプリケーションプログラムの動作テストの結果を記憶しておき、動作テスト結果に応じて本番環境サーバへのプログラムの配布可否を決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１５２４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来技術として知られている方法は、テスト環境サーバでの動作テスト結果が問題なければ本番環境サーバに動作テスト済みのアプリケーションプログラムを配布するものである。したがって、テスト環境サーバでの動作テストが問題なければ、本番環境サーバでも配布したアプリケーションは問題なく動作するものとされる。しかし、テスト環境サーバでの動作テスト結果が問題なかったとしても、本番環境サーバに配布したプログラムが動作エラーとなる場合がある。
【００１０】
例えば、本番環境サーバに配布済みのプログラムと新たに配布したプログラムとのバージョンの違いによるエラーや、プログラムの配置場所の間違いといった配布ミスや、作業者の不注意によってテスト環境サーバと本番環境サーバの設定に違いが生じた場合や、テスト環境サーバと本番環境サーバで利用される業務データの違いなどが影響して本番環境サーバでの業務アプリケーションの動作がエラーとなる場合などである。
【００１１】
このような動作エラーの発生を防止するために、アプリケーションプログラムを本番環境サーバに配布した後においても、アプリケーションプログラムのすべての機能について動作テストを行う事が望ましい。しかし、特に大規模な業務アプリケーションになると、本番環境サーバでの業務アプリケーションの業務利用が開始された後に、仕様変更や障害などにより、一部の機能のみが修正される場合がある。
【００１２】
このような場合、一部の機能のみが修正され、修正された機能のみがテスト環境サーバで動作テストされる場合が多い。そして、動作テストが問題なければ修正された機能のプログラムのみが本番環境サーバに配布される。なぜならば、特に大規模な業務アプリケーションの開発においては、多数の開発者やテスト担当者によって多数のプログラム作成や動作テストが行われているため、一部の機能のみの修正でアプリケーションプログラムの動作テストを頻繁にやり直す事が困難だからである。そのため、先に述べた理由により、配布したプログラムだけでなく動作テストされていない他の機能のプログラムも本番環境サーバにおいて動作エラーとなる可能性がある。
【００１３】
本発明は上述のような点に顧みなされたものであり、本番環境サーバに配布されたＷＥＢアプリケーションプログラムのすべての機能について簡易的に動作テストを行うことができる、ＷＥＢアプリケーションテスト装置およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明におけるＷＥＢアプリケーションテスト装置は、少なくとも、１以上の画面プログラムファイル、画面プログラム一覧を記憶したプログラムマスタ記憶部、エラーコードの一覧を記憶したエラーコードマスタ記憶部、とから構成されるＷＥＢアプリケーションの動作状態検出を行うＷＥＢアプリケーションテスト装置であって、前記画面プログラムファイルの一覧またはプログラムマスタ記憶部から動作状態検出の対象となる画面プログラム名の一覧を取得し、取得した画面プログラム名を動作状態検出の対象プログラムとして対象プログラム一覧記憶部に記録するプログラム一覧取得部と、前記エラーコードマスタ記憶部からエラーコードの一覧を取得し、取得したエラーコードを検出対象エラーコードとして対象エラーコード一覧記憶部に記録するエラーコード取得部と、前記対象プログラム一覧記憶部に記憶されているプログラム名それぞれについて、プログラム名に対応するＷＥＢアプリケーションプログラムの動作リクエストを当該ＷＥＢアプリケーションが配置されたＷＥＢサーバに送信し、ＷＥＢサーバからのレスポンスデータを取得するレスポンス取得部と、前記レスポンス取得部が取得したレスポンスデータに前記対象エラーコード一覧記憶部に記憶されているエラーコードが含まれているかどうかを確認することによってＷＥＢアプリケーションプログラムの動作状態を検出し、検出した動作状態をテスト結果記憶部に記録するレスポンス解析部とから構成されることを特徴とする。
【００１５】
本発明によれば、動作テストとして動作状態検出を行うＷＥＢアプリケーションから直接、動作テストの対象となる画面プログラムの一覧とエラーコードを取得することによって、取得した画面すべてに対して動作テストを行うことが可能となる。また、取得したエラーコードに基づいて、動作状態検出をＷＥＢアプリケーションのレスポンスデータに含まれるエラーコードから判定することによって、ＷＥＢサーバの出力するエラーだけでなく、ＷＥＢアプリケーションが出力するエラーまでをも検出して動作状態検出を行うことができる。
【００１６】
また、本発明の一態様におけるＷＥＢアプリケーションテスト装置は、前記ＷＥＢアプリケーションテスト装置においてさらに、前記ＷＥＢアプリケーションのログイン処理を行うＷＥＢアプリケーションプログラム名、ログイン処理に必要なパラメータ名とパラメータ値を記憶するテスト設定記憶部と、前記テスト設定記憶部に記憶されたログイン処理を行うＷＥＢアプリケーションプログラム名に対応するＷＥＢアプリケーションプログラムの動作リクエストを当該ＷＥＢアプリケーションが配置されたＷＥＢサーバに、前記テスト設定記憶部に記憶されたログイン処理に必要なパラメータ名とパラメータ値と共に送信し、ＷＥＢサーバからセッション識別子を取得するセッション生成部とから構成され、前記レスポンス取得部は、ＷＥＢアプリケーションプログラムの動作リクエストをＷＥＢサーバに送信する際に、前記セッション識別子を併せて送信することを特徴とする。
【００１７】
本発明によれば、動作テストを行うＷＥＢアプリケーションからセッション識別子を取得することが可能となり、ログイン状態の管理をセッション識別子で管理するようなＷＥＢアプリケーションの画面プログラムの動作状態検出をも行えるようになる。
【００１８】
また、本発明の一態様におけるＷＥＢアプリケーションテスト装置は、前記ＷＥＢアプリケーションテスト装置、前記レスポンス取得部は、取得したレスポンスデータからＷＥＢアプリケーションプログラムの状態管理情報を取得し、取得した状態管理情報と共に動作リクエストをＷＥＢサーバに送信することを特徴とする。
【００１９】
本発明によれば、動作テストを行った画面プログラムのレスポンスデータから状態管理情報を取得して、次に動作テストを行う画面プログラムに状態管理情報と共に動作リクエストを送るため、直前の画面プログラムの状態管理情報に基づいて、動作リクエストされた画面プログラムの動作を行うようなＷＥＢアプリケーションの画面プログラムの動作状態の検出を正確に行えるようになる。
【００２０】
また、本発明は前記ＷＥＢアプリケーションテスト装置の機能をコンピュータに実現させるためのＷＥＢアプリケーションテストプログラムであってもよい。
【発明の効果】
【００２１】
本発明によれば、一部機能の修正であっても、すべての機能について運用環境において簡易的に動作テストを行うことが可能となる。これによって、本番環境サーバに配布済みのプログラムと新たに配布したプログラムとのバージョンの違いによるエラーを事前に発見することができる。
【００２２】
さらには、プログラムの配置場所の間違いといった配布ミスや、作業者の不注意によってテスト環境サーバと本番環境サーバの設定に違いが生じた場合であっても動作エラーを事前に検出することができるため、設定ミスを早期に発見できる。
【００２３】
さらには、テスト環境サーバと本番環境サーバで利用される業務データの違いなどが影響して本番環境サーバでの業務アプリケーションの動作エラーを事前に発見することができる。
【図面の簡単な説明】
【００２４】
【図１】ＷＥＢアプリケーションテスト装置の全体構成図である。
【図２】ＷＥＢサーバへの画面プログラムの配布イメージの一例の図である。
【図３】プログラムマスタ記憶部のデータ構造の一例を示す図である。
【図４】エラーコードマスタ記憶部のデータ構造の一例を示す図である。
【図５】テスト設定記憶部のデータ構造の一例を示す図である。
【図６】対象プログラム一覧記憶部のデータ構造の一例を示す図である。
【図７】対象エラーコード一覧記憶部のデータ構造の一例を示す図である。
【図８】対象エラーコード一覧記憶部のＨＴＴＰステータスコードのデータ構造の一例を示す図である。
【図９】テスト結果記憶部のデータ構造の一例を示す図である。
【図１０】ＷＥＢアプリケーションのログイン機能画面イメージを示した図である。
【図１１】ＷＥＢアプリケーションテスト装置を利用するためのアプリケーション画面イメージを示した図である。
【図１２】ＷＥＢアプリケーション動作テストの全体処理フローチャートである。
【図１３】ＷＥＢアプリケーション動作テスト処理フローチャートである。
【図１４】レスポンス文字列のヘッダ情報の一例を示した図である。
【図１５】リクエスト文字列の一例を示した図である。
【図１６】レスポンス文字列のヘッダ情報の一例を示した図である。
【図１７】リクエスト文字列の一例を示した図である。
【図１８】レスポンス文字列のＨＴＭＬ情報の一例を示した図である。
【図１９】レスポンス文字列のＨＴＭＬ情報の一例を示した図である。
【発明を実施するための形態】
【００２５】
以下、図面を用いながら、本発明の実施の形態について詳細に説明する。図１は、本発明におけるＷＥＢアプリケーションテスト装置１００および動作テスト対象となるＷＥＢアプリケーション運用環境サーバ２００の全体構成図を示したものである。
【００２６】
はじめに、本発明におけるＷＥＢアプリケーションテスト装置１００が動作テストの対象とするＷＥＢアプリケーション運用環境サーバ２００について説明する。
【００２７】
本発明におけるＷＥＢアプリケーションテスト装置１００が動作テストの対象とするＷＥＢアプリケーション運用環境サーバ２００は、少なくもと、１以上の画面プログラムファイルが配布されているＷＥＢサーバ２０１と、ＷＥＢアプリケーションの有する画面プログラムの一覧を記憶したプログラムマスタ記憶部２０２と、ＷＥＢアプリケーションから出力されるエラーコードの一覧を記憶したエラーコードマスタ記憶部２０３とから構成されるＷＥＢアプリケーション運用環境サーバ２００である。
【００２８】
ＷＥＢサーバ２０１は動作テストの対象となるＷＥＢアプリケーションを動作させるためのＷＥＢアプリケーションサーバ装置である。動作テスト対象となるＷＥＢアプリケーションはＷＥＢサーバ２０１に配布される。ＷＥＢサーバ２０１にＷＥＢアプリケーションテスト装置やクライアントＷＥＢブラウザなどからＷＥＢアプリケーションの動作リクエストが送信されると、動作リクエストを受けたＷＥＢサーバ２０１はＷＥＢアプリケーションを実行し、実行結果を動作リクエストの送信元に返却する。
【００２９】
図２はＷＥＢサーバ２０１に配布されたＷＥＢアプリケーションの画面プログラムの格納イメージを表したものである。図２で表されているように、例えば、ＷＥＢサーバ２０１には、Ｄ：￥ｉｎｅｔｐｕｂ￥ｗｗｗｒｏｏｔのフォルダにＴＯＰ００１０．ａｓｐｘと表示された画面プログラム名以下の複数の画面プログラム名のＷＥＢアプリケーションが格納される。
【００３０】
プログラムマスタ記憶部２０２には、ＷＥＢアプリケーションの有する画面プログラムの一覧が記憶される。プログラムマスタはＷＥＢアプリケーションの構成の一つであり、通常はＷＥＢアプリケーションと同様にＷＥＢアプリケーションの開発者によって作成され、プログラムマスタ記憶部２０２に記憶されている。
【００３１】
プログラムマスタ記憶部２０２はＷＥＢサーバ２０１内に保持するようになっていてもよいし、記憶装置をＷＥＢサーバ２０１とは別にデータベースサーバ装置のような記憶装置を構築し記憶装置に保持するようにしてもよい。
【００３２】
図３はプログラムマスタ記憶部２０２に記憶されているプログラムマスタのデータ構造の一例を表したものである。プログラムマスタ記憶部２０２にはプログラムマスタとして、例えば「画面ＩＤ」「画面ファイル名」「画面機能」のデータが保持される。「画面ＩＤ」は画面プログラムを一意に識別するための画面ＩＤが格納され、「画面ファイル名」には画面ＩＤに対応する画面プログラムのファイル名が格納され、「画面機能」には画面ＩＤに対応する画面プログラムの有する機能の説明が格納される。
【００３３】
エラーコードマスタ記憶部２０３には、ＷＥＢアプリケーションから出力されるエラーコードの一覧が記憶される。エラーコードマスタはＷＥＢアプリケーションの構成の一つであり、通常はＷＥＢアプリケーションと同様にＷＥＢアプリケーションの開発者によって作成され、エラーコードマスタ記憶部２０３に記憶されている。
【００３４】
エラーコードマスタ記憶部２０３はＷＥＢサーバ２０１内に保持するようになっていてもよいし、記憶装置をＷＥＢサーバ２０１とは別にデータベースサーバ装置のような記憶装置を構築し記憶装置に保持するようにしてもよい。
【００３５】
図４はエラーコードマスタ記憶部２０３に記憶されているエラーコードマスタのデータ構造の一例を表したものである。エラーコードマスタ記憶部２０３にはエラーコードマスタとして、例えば「エラーコード」「エラーメッセージ」のデータが保持される。「エラーコード」はエラーメッセージを一意に識別するためのエラーコードが格納され、「エラーメッセージ」はエラーコードに対応するエラーメッセージが格納される。
【００３６】
以上がＷＥＢアプリケーションテスト装置１００の動作テストの対象となるＷＥＢアプリケーション運用環境サーバ２００の構成となる。次に、ＷＥＢアプリケーションテスト装置１００の構成について説明する。
【００３７】
本発明におけるＷＥＢアプリケーションテスト装置１００は、プログラム一覧取得部１０１と、エラーコード取得部１０２と、レスポンス取得部１０３と、レスポンス解析部１０４と、セッション生成部１０５と、テスト結果表示部１０６と、テスト結果出力部１０７と、対象プログラム一覧記憶部１０８と、対象エラーコード一覧記憶部１０９と、テスト結果記憶部１１０と、テスト設定記憶部１１１とから構成される。
【００３８】
ＷＥＢアプリケーションテスト装置１００とＷＥＢアプリケーション運用サーバ２００は、インターネット回線やイントラネットＬＡＮ回線などの電器通信回線を通じて接続される。
【００３９】
また、ＷＥＢアプリケーションテスト装置１００とＷＥＢアプリケーション運用サーバ２００の間には負荷分散装置やプロキシ装置などのＷＥＢアプリケーションの利用を支援する装置が設置されていてもよい。
【００４０】
次に、ＷＥＢアプリケーションテスト装置１００の各構成要素について説明する。まず、テスト設定記憶部１１１には、ＷＥＢアプリケーションテスト装置１００がＷＥＢアプリケーション運用環境サーバ２００で動作するＷＥＢアプリケーションの動作テストを行うために必要な設定情報が記憶されている。
【００４１】
図５はテスト設定記憶部１１１に記憶されているテスト設定のデータ構造の例である。テスト設定は「設定値」と「設定項目」のペアで記録される。例えば、「設定値」として“ＢａｓｅＵＲＬ”、「設定項目」として“ｈｔｔｐ：／／ｗｗｗ．ｈａｎｂａｉ．ｃｏ．ｊｐ”が記憶されている場合は、ＷＥＢサーバ２０１に配布されているＷＥＢアプリケーションのＵＲＬがｈｔｔｐ：／／ｗｗｗ．ｈａｎｂａｉ．ｃｏ．ｊｐであることが設定されている。
【００４２】
テスト設定記憶部１１１に記憶されている設定値と設定項目は、後に説明するＷＥＢアプリケーションテスト装置１００の各構成要素の処理部で処理を行う際に参照され利用される。どのような設定値と設定項目が記憶されているかについて、ＷＥＢアプリケーションテスト装置１００の各構成要素の処理部の説明の記述と併せて後述する。
【００４３】
次に、プログラム一覧取得部１０１について説明する。プログラム一覧取得部１０１は、ＷＥＢアプリケーション運用環境サーバ２００のＷＥＢサーバ２０１の画面プログラム格納フォルダまたはプログラムマスタ記憶部２０２のプログラムマスタから動作テストの対象とするＷＥＢアプリケーションの画面プログラムのファイル名一覧を取得する処理部である。
【００４４】
例えば、ＷＥＢサーバ２０１に画面プログラムが図２に表されているように格納されている場合、プログラム一覧取得部１０１は、例えばＦＴＰ（ＦｉｌｅＴｒａｎｓｆｅｒＰｒｏｔｏｃｏｌ）を利用してＷＥＢサーバ２０１に接続して、画面プログラムのファイル名一覧を取得する。
【００４５】
より具体的には、プログラム一覧取得部１０１は、テスト設定記憶部よりＷＥＢサーバ２０１にＦＴＰで接続するための接続情報の設定値として「ＦＴＰホスト名」「ＦＴＰ接続ＩＤ」「ＦＴＰパスワード」の設定項目の値をそれぞれ取得する。例えば、図５を例にすると、「ＦＴＰホスト名」として“ｆｔｐ．ｈａｎｂａｉ．ｃｏ．ｊｐ”、「ＦＴＰ接続ＩＤ」として“ａｄｍｉｎｉｓｔｒａｔｏｒ”、「ＦＴＰパスワード」として“ａｄｍｉｎｐａｓｓ”の設定項目の値を取得する。
【００４６】
そして、取得したＦＴＰホスト名のｆｔｐ．ｈａｎｂａｉ．ｃｏ．ｊｐにＦＴＰで接続を行い、ＦＴＰ接続ＩＤとＦＴＰパスワードで認証を行う。そして、画面プログラムが図２に表されているように格納されている場合は、Ｄ：￥ｉｎｅｔｐｕｂ￥ｗｗｗｒｏｏｔ￥フォルダに配置されている画面プログラムのファイル名の一覧として“ＴＯＰ００１０．ａｓｐｘ”“ＵＲＩ００１０．ａｓｐｘ”・・・を取得することによって画面プログラムのファイル名一覧を取得することができる。
【００４７】
また、プログラムマスタ記憶部２０２がデータベースとして構成されており、図３で表されているようなプログラムマスタが記憶されている場合、プログラム一覧取得部１０１は、プログラムマスタが記憶されているデータベースに接続することによって画面プログラム一覧を取得する。
【００４８】
より具体的には、プログラム一覧取得部１０１は、テスト設定記憶部よりプログラムマスタが記憶されているプログラムマスタ記憶部２０２のデータベースに接続するための接続情報の設定値として「ＤＢホスト名」「ＤＢ名」「ＤＢＩＤ」「ＤＢパスワード」の設定項目の値をそれぞれ取得する。
【００４９】
例えば、図５を例にすると、「ＤＢホスト名」として“ｄｂ．ｈａｎｂａｉ．ｃｏ．ｊｐ”、「ＤＢ名」として“ｈａｎｂａｉｄｂ”、「ＤＢＩＤ」として“ｄｂｕｓｅｒ”、「ＤＢパスワード」として“ｄｂｐａｓｓ”の設定項目の値を取得する。そして、取得したＤＢホスト名のｄｂ．ｈａｎｂａｉ．ｃｏ．ｊｐのＤＢ名がｈａｎｂａｉｄｂのデータベースにデータベース接続プロトコルで接続を行い、ＤＢＩＤとＤＢパスワードで認証を行う。
【００５０】
そして、プログラムマスタが図３に表されているように格納されている場合は、ファイル名の一覧を検索して、ファイル名の一覧として“ＴＯＰ００１０．ａｓｐｘ”“ＵＲＩ００１０．ａｓｐｘ”・・・を取得することによって画面プログラムのファイル名の一覧を取得することができる。
【００５１】
プログラム一覧取得部１０１で取得された画面プログラムのファイル名の一覧は対象プログラム一覧記憶部１０８に記録される。図６は対象プログラム一覧記憶部１０８に記憶される動作テスト対象の画面プログラムのファイル名一覧が格納されたデータ構造を表したものである。動作テスト対象の画面プログラムのファイル名一覧は図６に表されているように、プログラム一覧取得部１０１で取得された画面プログラムのファイル名の一覧がそれぞれ記録される。
【００５２】
次に、エラーコード取得部１０２について説明する。エラーコード取得部１０２はＷＥＢアプリケーション運用環境サーバ２００のエラーコードマスタ記憶部２０３のエラーコードマスタから動作テストの対象となるＷＥＢアプリケーションのエラーコード一覧を取得する処理部である。
【００５３】
例えば、エラーコードマスタ記憶部２０３がデータベースとして構成されており、図４で表されているようなエラーコードマスタが記憶されている場合、エラーコード取得部１０２は、エラーコードマスタが記憶されているデータベースに接続することによってエラーコード一覧を取得する。
【００５４】
より具体的には、エラーコード取得部１０２は、テスト設定記憶部よりエラーコードマスタが記憶されているエラーコードマスタ記憶部２０３のデータベースに接続するための接続情報を取得し接続することにより、図４に表されているようなエラーコードマスタから「エラーコード」の一覧を取得する。
【００５５】
エラーコード取得部１０２で取得されたエラーコードの一覧は対象エラーコード一覧記憶部１０９に記録される。図７は対象エラーコード一覧記憶部１０９に記録される対象エラーコード一覧のデータ構造を表したものである。エラーコード一覧には図７に表されているように「エラーコード」「マッチングパターン」の情報が記録される。「エラーコード」とはエラーコード取得部１０２で取得したエラーコードであり、「マッチングパターン」はレスポンス解析部１０４でレスポンスデータからエラーコードを抽出する場合のマッチング抽出条件を正規表現で表したものである。
【００５６】
通常、マッチングパターンはエラーコードと同一文字列であるが、取得されたエラーコードに対応づけて任意の文字列もエラーとして抽出したい場合は、マッチングパターンとして正規表現を定義することができる。
【００５７】
例えば、図７において「エラーコード」に“ＥＲＲ１００１０”、「マッチングパターン」に“ＥＲＲ１００１０｛．＊｝”と記録されている場合は、レスポンスデータ解析部１０４で抽出対象となるエラーコードは“ＥＲＲ１００１０”または、正規表現“ＥＲＲ１００１０｛．＊｝”に該当する文字列であることを表す。
【００５８】
また、対象エラーコード一覧記憶部１０９には、エラーコード取得部１０２で取得されたエラーコードの一覧だけでなく、ＷＥＢサーバ２０１のレスポンスデータのヘッダ情報に含まれるＨＴＴＰステータスコードのうち、レスポンス解析部１０４で抽出するＨＴＴＰステータスコードの一覧も記憶される。図８はレスポンス解析部１０４で抽出対象となるＨＴＴＰステータスコードの一覧を記憶する抽出対象ステータスコード一覧のデータ構造の例を表したものである。
【００５９】
図８においては抽出対象ステータスコード一覧として「コード」「ステータス」「意味」が記憶されている。「コード」は抽出対象となるＨＴＴＰステータスコードを、「ステータス」はコードに対応するＨＴＴＰステータスを、「意味」はＨＴＴＰステータスの内容をそれぞれ意味する。例えば、「コード」に“２００”が、「ステータス」に「ＯＫ」が、「意味」に“リクエスト処理成功”が記録されている場合は、レスポンス解析部１０４で抽出対象となるＨＴＴＰステータスコードは“２００”であり、抽出対象のＨＴＴＰステータスコードのＨＴＴＰステータスは“ＯＫ”で、その意味は“リクエスト処理が成功”したということを表す。
【００６０】
次に、セッション生成部１０５について説明する。セッション生成部１０５は、ＷＥＢサーバ２０１で管理されるセッション情報を識別するためのセッション識別子を生成する処理部である。セッション情報とはＷＥＢアプリケーションを利用する利用者ごとに作成されるＷＥＢアプリケーション利用者の管理情報である。ＷＥＢアプリケーションを利用する利用者を識別するために、通常はＷＥＢアプリケーションのログイン処理機能等をＷＥＢサーバ２０１で実行することによってセッション情報がＷＥＢサーバ２０１内に作成される。
【００６１】
そして、利用者にはセッション識別子が返却される。利用者はＷＥＢアプリケーションにリクエストを送信する場合はセッション識別子を併せて送信することによって、ＷＥＢアプリケーションを実行する際にＷＥＢアプリケーション内に保存されているセッション情報を利用することができるようになる。
【００６２】
ＷＥＢアプリケーションによってはセッション情報が生成されていない利用者からのリクエスト処理は行わないようになっているものがあるため、ＷＥＢアプリケーションテスト装置１００では、セッション生成部１０５で必要に応じてＷＥＢアプリケーションのログイン処理等の動作を、動作テストを行う前に行い、セッション情報の作成およびセッション識別子の取得を行う。
【００６３】
具体的にセッション生成部１０５で行うセッション情報の作成およびセッション識別子の取得処理について説明する。図１０はＷＥＢアプリケーションのログイン機能をＷＥＢブラウザで表示した場合の画面例を示したものである。ＷＥＢアプリケーションをＷＥＢブラウザで利用する場合は、図１０に示すようなログイン画面を最初に表示して、ログイン画面で「ログインＩＤ］「パスワード」等の情報を入力し、ログイン処理のリクエストをＷＥＢサーバ２０１に送信することによってログイン処理が行われ、セッション情報の作成が行われる。そして、セッション識別子がＷＥＢブラウザに返却される。
【００６４】
通常、上記の様な処理はＷＥＢブラウザを利用者が操作して行うものであるが、セッション生成部１０５では、同様の処理を自動的に行うことによってセッション情報の作成およびセッション識別子の取得を行う。
【００６５】
より具体的には、セッション生成部１０５はセッション情報の生成およびセッション識別子の取得処理を行い場合は、まず始めに、テスト設定記憶部１１１よりＷＥＢアプリケーションのログイン処理機能を行うＵＲＬの情報を取得する。
【００６６】
例えば、図５のテスト設定のデータ構造の例においては「設定値」“ＬｏｇｉｎＵＲＬ”に対応する「設定項目」“ｈｔｔｐ：／／ｗｗｗ．ｈａｎｂａｉ．ｃｏ．ｊｐ／Ｌｏｇｉｎ．ａｓｐｘ”がＷＥＢアプリケーションのログイン処理機能を行うログインＵＲＬとなる。併せてログイン処理を行う為に必要なパラメータ値をテスト設定記憶部１１１より取得する。図１０に示されるようなログイン画面においては、「ログインＩＤ」「パスワード」「業務ＩＤ」がそれぞれ必要となる。
【００６７】
例えば、図５のテスト設定のデータ構造の例においては「設定値」“ログインＩＤ”に対応する「設定項目」“ａｕｔｈＩＤ＝ｕｓｅｒ００１”、「設定値」“パスワード”に対応する「設定項目」“ａｕｔｈＰａｓｓｗｏｒｄ＝ｐａｓｓ９４５”、「設定値」“業務ＩＤ”に対応する「設定項目」“ｔｙｐｅＩＤ＝ＨＡＮＢＡＩ”がそれぞれ取得される。
【００６８】
そして、取得したログインＵＲＬに基づいてＷＥＢサーバ２０１にログイン処理のリクエストを、取得したパラメータ“ａｕｔｈＩＤ＝ｕｓｅｒ００１”“ａｕｔｈＰａｓｓｗｏｒｄ＝ｐａｓｓ９４５”“ｔｙｐｅＩＤ＝ＨＡＮＢＡＩ”と併せて送信することによって、ＷＥＢサーバ２０１でＷＥＢアプリケーションのログイン処理が実行され、ＷＥＢサーバ２０１にセッション情報が作成される。
【００６９】
例えば、図１４は取得したログインＵＲＬ“ｈｔｔｐ：／／ｗｗｗ．ｈａｎｂａｉ．ｃｏ．ｊｐ／Ｌｏｇｉｎ．ａｓｐｘ”に取得したパラメータと共にＷＥＢサーバ２０１に送信するログイン処理リクエスト文字列の例である。
【００７０】
図１５のようなリクエスト文字列をＷＥＢサーバ２０１に送信すると、ＷＥＢサーバ２０１は要求されたログインＵＲＬの処理を行い、セッション情報を作成する。そして、ＷＥＢサーバ２０１より図１６のようなレスポンス文字列がセッション生成部１０５に返却される。セッション生成部１０５はレスポンス文字列よりセッション識別子を読み取る。
【００７１】
例えば、図１６はＣｏｏｋｉｅ情報でセッション識別子を管理する場合のレスポンス文字列の例であり、この場合においては４行目のｓｅｅｓｓｉｏｎ＝で始まる文字列がセッション識別子となる。このように、セッション識別子を取得し、テスト設定記憶部１１１にＷＥＢアプリケーションのログイン処理に必要な情報を予め記憶させておくことによって、セッション生成部１０５では自動的にＷＥＢアプリケーションのログイン処理を行い、セッション情報の作成およびセッション識別子の取得を行う事が可能となる。
【００７２】
次に、レスポンス取得部１０３について説明する。レスポンス取得部１０３は、対象プログラム一覧記憶部１０８から動作テストを行う画面プログラムのファイル名の一覧を取得し、取得した画面プログラムのファイル名それぞれに対して動作リクエストをＷＥＢサーバ２０１に送信し、ＷＥＢサーバ２０１からレスポンスデータを取得する処理を行う。
【００７３】
レスポンス取得部１０３では、ＷＥＢサーバ２０１に動作リクエストを送信する際に、セッション生成部１０５で取得されたセッション識別子を併せて送信する。また、ＷＥＢサーバ２０１から取得したレスポンスデータから動作管理情報の取得を行い、ＷＥＢサーバ２０１に動作リクエストを送信する場合は直前に取得された動作管理情報を併せてＷＥＢサーバ２０１に送信する。
【００７４】
このように、ＷＥＢサーバ２０１に動作リクエストを送信する際に、セッション識別子や動作管理情報を併せて送信することにより、ＷＥＢアプリケーションの実行にセッション情報が生成されていることが必要なＷＥＢアプリケーションや、直前の動作状態を動作管理情報で管理するようなＷＥＢアプリケーションであっても、正しく動作させ、レスポンス情報を取得することが可能となる。ＷＥＢサーバ２０１への動作リクエストの送信方法については、図面および処理フローチャートを用いて後述する。
【００７５】
次に、レスポンス解析部１０４について説明する。レスポンス解析部１０４は、レスポンス取得部１０３で取得したＷＥＢサーバ２０１からのＷＥＢアプリケーション実行結果のレスポンスデータの解析を行う処理部である。レスポンス解析部１０４ではレスポンスデータのヘッダ情報およびレスポンスに含まれるＨＴＭＬデータの情報に対象エラーコード一覧記憶部１０９に記憶されている対象エラーコードまたは対象ＨＴＴＰステータスコードが含まれているかどうかを解析することによって、動作リクエストしたＷＥＢアプリケーションの機能が正常に動作しているかどうかを解析する。解析した結果は、テスト結果記憶部１１０に記録される。
【００７６】
図９はテスト結果記憶部１１０に記録されるテスト結果のデータ構造の例を表したものである。テスト結果として「画面ファイル名」「実行結果」「アプリケーションエラーコード」「ＨＴＴＰコード」「ＨＴＴＰステータス」のそれぞれの値が記憶される。「画面ファイル名」には動作テストを行った画面ファイル名が、「実行結果」には動作テストを行った結果が、「アプリケーションエラーコード」にはレスポンスデータを解析した結果アプリケーションエラーコードが検出された場合に、そのエラーコードが、「ＨＴＴＰコード」にはレスポンスデータを解析した結果取得されたＨＴＴＰステータスコードが、「ＨＴＴＰステータス」にはＨＴＴＰコードに対応するＨＴＴＰステータス名が、それぞれ記録される。
【００７７】
例えば、ＴＯＰ００１０．ａｓｐｘの画面プログラムに対する動作リクエストのレスポンスデータをレスポンス解析部１０４で解析した結果、ＨＴＴＰステータスコードとして２００が抽出され、アプリケーションエラーコードは抽出されなかった場合は、テスト結果記憶部１１０には、「画面ファイル名」に“ＴＯＰ００１０．ａｓｐｘ”が、「ＨＴＴＰコード」に“２００”が、「ＨＴＴＰステータス」に“ＯＫ”が記録される。そして、ＨＴＴＰステータスはＯＫであり、アプリケーションエラーコードも抽出されていないことから、「実行結果」には“ＯＫ”が記録される。
【００７８】
また、ＵＲＩ００１０．ａｓｐｘの画面プログラムに対する動作リクエストのレスポンスデータをレスポンス解析部１０４で解析した結果、ＨＴＴＰステータスコードとして２００が抽出され、アプリケーションコードとしてＥＲＲ１００１０が抽出された場合は、テスト結果記憶部１１０には、「画面ファイル名」に“ＵＲＩ００１０．ａｓｐｘ”が、「ＨＴＴＰコード」に“２００”が、「ＨＴＴＰステータス」に“ＯＫ”が、「アプリケーションエラーコード」には“ＥＲＲ１００１０”が記録される。そして、ＨＴＴＰステータスはＯＫであり、アプリケーションエラーコードが抽出されていることから「実行結果」には“アプリエラー”が記録される。
【００７９】
また、ＵＲＩ００２０．ａｓｐｘの画面プログラムに対する動作リクエストのレスポンスデータをレスポンス解析部１０４で解析した結果、ＨＴＴＰステータスコードとして４００が抽出され、アプリケーションエラーコードは抽出されなかった場合は、テスト結果記憶部１１０には、「画面ファイル名」に“ＵＲＩ００２０．ａｓｐｘ”が、「ＨＴＴＰコード」に“４００”が、「ＨＴＴＰステータス」に“ＮｏｔＦｏｕｎｄ”が記録される。そして、ＨＴＴＰステータスがＯＫではなくＮｏｔＦｏｕｎｄエラーであり、アプリケーションエラーコードも抽出されていないことから、「実行結果」には“ＨＴＴＰエラー”が記録される。
【００８０】
以上が、レスポンス解析部１０４とテスト結果記憶部１１０の説明となる。レスポンス解析部１０４におけるレスポンスデータの解析方法については、図面および処理フローチャートを用いて後述する。
【００８１】
次に、テスト結果表示部１０６について説明する。テスト結果表示部１０６は、テスト結果記憶部１１０に記憶されたテスト結果を表示する表示部である。例えば、図１１はＷＥＢアプリケーションテスト装置１００を利用するためのアプリケーション画面の一例を表示したものである。このようなＷＥＢアプリケーションテスト装置１００を利用するためのアプリケーション画面の一部としてテスト結果表示部１０６は組み込まれる。図１１においては、チェック状況と記載された文字列の下部テキストボックス欄がテスト結果表示部１０６に該当し、テスト結果記憶部１１０のテスト結果が文字列として表示される。
【００８２】
また、テスト結果出力部１０７は、テスト結果記憶部１１０に記憶されたテスト結果を出力する処理部である。例えば、図１１のＷＥＢアプリケーションテスト装置１００の利用するためのアプリケーション画面においては、「結果出力」ボタンが押下されると、テスト結果出力部１０７によってテスト結果記憶部１１０に記憶されているテスト結果がＣＳＶ形式などのテキストファイルとして出力され、保存することができる。
【００８３】
以上がＷＥＢアプリケーションテスト装置１００の構成と、各構成要素の説明となる。次に、処理フローチャートを利用して、ＷＥＢアプリケーションテスト装置１００において行われるＷＥＢアプリケーションの動作テストの処理について詳述する。
【００８４】
図１２はＷＥＢアプリケーションテスト装置１００でおこなうＷＥＢアプリケーションの動作テストの全体処理フローである。ＷＥＢアプリケーションテスト装置１００でＷＥＢアプリケーションの動作テストを行う場合、まず最初に、ＷＥＢアプリケーション運用環境サーバ２００などの情報設定を行う（Ｓ１２０１）。
【００８５】
具体的には、テスト設定記憶部１１１にＷＥＢアプリケーション運用環境サーバ２００の環境として、図５に示されているような、各種情報を登録する。動作テストを行うＷＥＢアプリケーション運用環境サーバ２００のＷＥＢサーバ２０１のＵＲＬや、ＷＥＢアプリケーションのログイン処理を行うログインＵＲＬ、ログイン処理を行う際のリクエストパラメータ、ＷＥＢサーバ２０１からファイル情報を取得するためのＦＴＰ接続情報、プログラムマスタ記憶部２０２やエラーコードマスタ記憶部２０３のデータベースからデータを取得するためのデータベース接続情報などである。
【００８６】
ＷＥＢアプリケーション運用環境サーバ２００の情報がテスト設定記憶部に設定されたら、次に対象画面プログラムのファイル名一覧の取得を行う（Ｓ１２０２）。対象画面プログラムのファイル名一覧の取得は、プログラム一覧取得部１０１によって、ＷＥＢアプリケーション運用環境サーバ２００から動作テストの対象とする画面プログラムのファイル名一覧を取得することによって行われる。プログラム一覧取得部１０１による画面プログラムのファイル名一覧の取得処理と、取得した動作テスト対象の画面プログラムのファイル名一覧の対象プログラム一覧記憶部１０８への記録処理については前述したとおりである。
【００８７】
動作テストの対象となる画面プログラムのファイル名一覧の取得と記録が行われたら、次にアプリケーションエラーコードの取得を行う（Ｓ１２０３）。アプリケーションエラーコードの取得は、エラーコード取得部１０２によって、ＷＥＢアプリケーション運用環境サーバ２００からＷＥＢアプリケーションのエラーコードの一覧を取得することによって行われる。エラーコード取得部１０２によるアプリケーションエラーコードの取得処理と、取得したエラーコードの対象エラーコード一覧記憶部１０９への記録処理については前述したとおりである。
【００８８】
アプリケーションエラーコードの取得と記録が行われたら、次にアプリケーション動作テストが実行される（Ｓ１２０４）。アプリケーション動作テストの処理については図１３のＷＥＢアプリケーションの動作テスト処理フローを用いて後述する。ＷＥＢアプリケーションの動作テストの実行が完了したら、テスト結果の表示や出力が行われる（Ｓ１２０５）。
【００８９】
例えば、テスト結果の表示は、図１１に示すようなＷＥＢアプリケーションテスト装置１００を利用するためのアプリケーション画面にテスト結果表示部１０６を組み込んで表示される事は前述したとおりである。
【００９０】
以上が、ＷＥＢアプリケーションテスト装置１００で行われるＷＥＢアプリケーションの動作テストの全体処理の説明となる。次に、次に図１３の処理フローを用いてアプリケーション動作テストの処理について詳述する。この処理は、図１２のＷＥＢアプリケーションの動作テストの全体処理フローにおけるＳ１２０４のＷＥＢアプリケーションの動作テストの詳細になる。
【００９１】
ＷＥＢアプリケーションの動作テストでは、まずはじめに、セッション情報の作成（Ｓ１３０１）が行われる。セッション情報の作成はセッション生成部１０５で行われる。セッション生成部１０５で行われるセッション情報の作成およびセッション識別子の取得処理の詳細については前述したとおりである。ＷＥＢアプリケーションの動作テストを行う最初の段階で、動作テストの対象となるＷＥＢアプリケーションが稼動するＷＥＢサーバ２０１にセッション情報を作成し、セッション識別子を取得しておくことによって、ＷＥＢアプリケーションの動作にセッション情報を必要とする画面プログラムについても動作テストを行う事が可能となる。
【００９２】
セッション識別子の取得が出来ると、次に動作テストの対象となる画面プログラムのファイル名一覧の取得を行う（Ｓ１３０２）。動作テストの対象となる画面プログラムのファイル名の一覧は、前述したＳ１２０２において、プログラム一覧取得部１０１によって対象プログラム一覧記憶部１０８に記録されている。動作テストの対象となる画面プログラムのファイル名一覧を取得するためにレスポンス取得部１０３は、対象プログラム一覧記憶部１０８に記録されている画面プログラムのファイル名の一覧を読み込み、動作テスト対象の画面プログラム一覧とする。
【００９３】
動作テスト対象の画面プログラムのファイル名一覧が取得できたら、レスポンス取得部１０３は取得した画面プログラムのファイル名一覧の対象画面プログラムそれぞれについて繰り返し処理を行う（Ｓ１３０３）。まず、レスポンス取得部１０３は、ＷＥＢサーバ２０１に対象画面プログラムの動作リクエストを送信し、ＨＴＭＬ取得処理を行う（Ｓ１３０４）。
【００９４】
図１７はレスポンス取得部１０３がＷＥＢサーバ２０１に送信する動作リクエストのリクエスト文字列の例である。例えば、画面名がＵＲＩ００１０．ａｓｐｘの動作テストを行う場合は、テスト設定記憶部１１１よりＷＥＢサーバ２０１のＢａｓｅＵＲＬの値を設定値を読み込み、リクエスト文字列を生成する。図５のテスト設定記憶部１１１のデータ構造例においては、“ＢａｓｅＵＲＬ”の設定項目として“ｈｔｔｐ：／／ｗｗｗ．ｈａｎｂａｉ．ｃｏ．ｊｐ”が記憶されているので、図１６の１行目に表されているようなリクエスト文字列となる。併せて、リクエスト文字列には、３行目に表されているように、セッション生成部１０５で取得したセッション識別子を送信するための文字列も含まれる。
【００９５】
さらに、リクエスト文字列には、ＷＥＢアプリケーションで管理される画面管理情報などの文字列も含まれる。例えば、図１７の７行目、８行目の文字列が画面管理情報の文字列となる。画面管理情報の文字列は直前に取得した動作リクエストに対するレスポンスデータから抽出する文字列である。レスポンスデータからの画面管理情報の抽出処理については後述する。
【００９６】
図１７のようなリクエスト文字列をレスポンス取得部１０３からＷＥＢサーバ２０１に送信すると、ＷＥＢサーバ２０１上でリクエストされた画面プログラムの動作が行われ、レスポンスデータがレスポンス取得部１０３に返却される。
【００９７】
ここで、リクエスト文字列には、セッション識別子や画面管理情報などのＷＥＢアプリケーションによって管理される情報も含まれているため、ＷＥＢアプリケーションの実行にセッション情報や画面管理情報などのＷＥＢアプリケーション管理情報を必要とする機能であっても問題なく動作テストを行うことができる。
【００９８】
レスポンス取得部１０３はＷＥＢサーバ２０１に動作テスト対象画面の動作リクエストを送信し、動作結果のレスポンスデータを受け取ると、受け取ったレスポンスデータをレスポンス解析部１０４に渡す。レスポンス解析部１０４ではレスポンスデータをレスポンス取得部１０３から受け取ると、まずヘッダ情報の解析を行い、解析結果のテスト結果記憶部への記録を行う（Ｓ１３０５）。図１４はＷＥＢサーバ２０１からレスポンス取得部１０３に返却されるレスポンスデータのヘッダ情報の一例を表したものである。レスポンス解析部１０４ではレスポンスデータのヘッダ情報を受け取ると、ヘッダ情報からＨＴＴＰレスポンスコードの読み取りを行う。
【００９９】
通常は図１４で表されているように、レスポンスデータのヘッダ情報の１行目にＨＴＴＰで始まる文字列でステータスコードは記載されて返却される。図１４の１行目の例でいえば、“２００”がＨＴＴＰステータスコードであり、“ＯＫ”がＨＴＴＰステータスである。これら以外にも抽出対象となる、ＨＴＴＰステータスコードとＨＴＴＰステータスは対象エラーコード一覧記憶部１０９に図８に表されているような組み合わせで記録されている。
【０１００】
レスポンス解析部１０４では、図８に表されているようなＨＴＴＰステータスコードとＨＴＴＰステータスをレスポンスデータのヘッダ情報から読み取り、読み取ったＨＴＴＰステータスコードとＨＴＴＰステータスを、対応する画面プログラムのファイル名に対応付けて、テスト結果記憶部１０４に記録する。
【０１０１】
例えば、画面プログラムのファイル名“ＴＯＰ００１０．ａｓｐｘ”の動作リクエストの結果、レスポンスデータのヘッダ情報から、ＨＴＴＰステータスコード“２００”、ＨＴＴＰステータス“ＯＫ”の情報を読みよった場合、図９の１レコード目に示されているような形で「画面ファイル名」に“ＴＯＰ００１０．ａｓｐｘ”が、「ＨＴＴＰステータスコード」に“２００”が、「ＨＴＴＰステータス」に“ＯＫ”が、テスト結果記憶部１１０にそれぞれ記録される。
【０１０２】
ヘッダ情報の解析を行い、テスト結果記憶部１１０にＨＴＴＰステータスコード、ＨＴＴＰステータスの記録を行ったら、次に、レスポンス解析部１０４ではＨＴＭＬ情報の解析を行い、解析結果をテスト結果記憶部１１０への記録を行う（Ｓ１３０６）。レスポンスデータのＨＴＭＬ情報は例えば図１８で表されるようなＨＴＭＬ形式のデータである。
【０１０３】
レスポンス解析部１０４では、まず始めに、レスポンスデータのＨＴＭＬデータからｉｎｐｕｔタグの属性項目ｔｙｐｅの値がｈｉｄｄｅｎとなっているタグの項目情報を読み取る。ｉｎｐｕｔタグのｔｙｐｅ属性項目の項目と項目値は、通常はクライアントＷＥＢブラウザがＷＥＢサーバにリクエストを送信する際に、リクエスト情報と併せてＷＥＢサーバに送信されるパラメータ値であるからである。例えば、ＷＥＢアプリケーションによっては、この値に画面状態の情報や操作状態の情報などの画面管理情報を持たせておくことによって、不正な操作が行われていないかの検証を行うものもある。
【０１０４】
図１８においては、ｉｎｐｕｔタグの属性項目ｔｙｐｅの値がｈｉｄｄｅｎとなっているタグの項目情報として、ｎａｍｅが“ＶＩＥＷＳＴＡＴＥ”でｖａｌｕｅが“４Ｇｂ２５Ｍ”の情報およびｎａｍｅが“ＥＶＥＮＴＶＡＬＩＤＡＴＩＯＮ”でｖａｌｕｅが“ｊｋｗＮＡ９”の情報を読み取り、“ＶＩＥＷＳＴＡＴＥ＝４Ｇｂ２５Ｍ”と“ＥＶＥＮＴＶＡＬＩＤＡＴＩＯＮ＝ｊｋｗＮＡ９”の値を次のリクエスト送信のために一時記憶する。一時記憶したこれらの値は、次にレスポンス取得部１０３がＷＥＢアプリケーションに動作リクエストを送信する際にリクエスト文字列と併せてＷＥＢサーバ２０１に送信される。
【０１０５】
例えば、図１７のようなリクエスト文字列において、ここで一時記憶している値を７行目および８行目に表されているように付加して、リクエスト文字例をＷＥＢサーバ２０１に送信する。このような情報は通常、ＷＥＢアプリケーションでは動作管理情報として利用される。
【０１０６】
レスポンスデータのＨＴＭＬデータからｉｎｐｕｔタグの属性項目ｔｙｐｅの値がｈｉｄｄｅｎとなっているタグの項目情報を読み取りを行ったら次に、アプリケーションエラーコードがレスポンスデータのＨＴＭＬデータに含まれていないかの確認を行う。例えば、図１９はアプリケーションエラーコードが含まれているＨＴＭＬデータの例を示したものである。レスポンス解析部１０４では、対象エラーコード一覧記憶部１０９より抽出対象となるエラーコードおよびマッチングパターンを読み取り、読み取ったエラーコードと同じ文字列がＨＴＭＬデータに含まれていないかを検証する。また、マッチングパターンが定義されている場合は、ＨＴＭＬデータからマッチングパターンによる正規表現のマッチングを試み、該当する文字列がＨＴＭＬデータに含まれているかを検証する。
【０１０７】
例えば、図１９においては、対象エラーコード一覧記憶部１０９に含まれているエラーコード“ＥＲＲ１００１０”がＨＴＭＬデータ中に含まれているため、ＨＴＭＬデータにアプリケーションエラーコードが含まれていると判断される。エラーコードが含まれていると判断された場合は、抽出されたアプリケーションエラーコードをテスト結果記憶部１１０に記録する。図１９が画面ファイル名“ＵＲＩ００１０．ａｓｐｘ”の動作リクエストの結果のレスポンスデータに含まれるＨＴＭＬデータであったとすると、テスト結果記憶部１１０には、「画面ファイル名」に“ＵＲＩ００１０．ａｓｐｘ”が、「アプリケーションエラーコードに“ＥＲＲ１００１０”が記録される。
【０１０８】
ヘッダ情報の解析（Ｓ１３０５）、ＨＴＭＬ情報の解析（Ｓ１３０６）が完了したら、次に実行結果の判定が行われる（Ｓ１３０７）。実行結果の判定は、テスト結果記憶部１１０に記憶されている、「ＨＴＴＰステータス」および「アプリケーションエラーコード」の値によって決定される、例えば、「ＨＴＴＰステータス」が“ＯＫ”であり、アプリケーションエラーコードも抽出されていない場合、いずれも問題なく動作していることになるので、「実行結果」には“ＯＫ”が記録される。
【０１０９】
また、「ＨＴＴＰステータス」が“ＯＫ”であり、「アプリケーションエラーコード」になんからかのエラーコードが記録されている場合は、アプリケーションエラーが発生していることになることから「実行結果」には“アプリエラー”が記録される。さらに、「ＨＴＴＰステータス」に“ＯＫ”以外が記録されており、「アプリケーションエラーコード」は抽出されていない場合は、なんらかのＨＴＴＰエラーが発生している可能性があることから、「実行結果」には“ＨＴＴＰエラー”が記録される。ここで示した実行結果の判定方法は一例であり、ＷＥＢアプリケーションに応じて他の判定方法であってもよい。
【０１１０】
以上のような処理により実行結果の判定と記録が完了したら、次にＳ１３０２で取得したすべての画面プログラムに対して処理を行ったかを判定する（Ｓ１３０８）。未処理の画面プログラムがある場合は、Ｓ１３０３に戻り次の画面プログラムの処理を行う（Ｓ１３０８：ＮＯ）。すべての画面プログラムの処理が完了した場合は、ＷＥＢアプリケーションの動作テストの処理を完了する（Ｓ１３０８：ＹＥＳ）。
【０１１１】
以上がＷＥＢアプリケーションの動作テスト処理の詳細となる。以上のような処理によって、ＷＥＢアプリケーションの動作テストの結果はテスト結果記憶部１１０に記憶され、記憶されたテスト結果は、前述したようにテスト結果表示部１０６によって、例えば、図１１のようなＷＥＢアプリケーションテスト装置１００のアプリケーションプログラムの画面にテスト結果が表示されたり、テスト結果出力部１０７によって、例えば、テスト結果記憶部１１０の内容をＣＳＶ形式のテキストデータとして出力する事も可能である。
【０１１２】
以上、図面やフローチャートを用いて本発明におけるＷＥＢアプリケーションテスト装置の具体的な実施例について説明した。実施例において示したように、本発明のＷＥＢアプリケーションテスト装置の仕組みを利用することによって、ＷＥＢアプリケーションの動作テストを自動的にすべての画面プログラムに対して行うことが可能となる。
【０１１３】
例えば、ＷＥＢアプリケーションプログラムの一部の機能のみが修正され、修正された機能のみがテスト環境サーバで動作テストされたような場合であっても、ＷＥＢアプリケーション運用環境サーバ２００上で修正を行った機能だけでなく、すべての画面プログラムに対して効率的に動作テストを行う事が可能となり、ＷＥＢアプリケーションプログラムの動作テストをＷＥＢアプリケーション運用環境サーバ上で頻繁にやり直す事が容易に可能となる。
【０１１４】
上記実施例においては、ＷＥＢアプリケーションテスト装置１００の各処理部に基づいて説明を行ったが、上記実施例はハードウェアロジックやプログラムによって各種の処理を実行することが実現されているコンピュータに処理を実行させる方法であってもよいし、上記実施例を行う予め用意されたプログラムをコンピュータに読み込ませて実行するようなプログラムであってもよい。
【０１１５】
また、本発明の技術範囲は前述した実施形態に左右されるものではなく、当業者であれば特許請求の範囲に記載された技術的思想の範囲内において想到することが明らかである変更例についても当然に本発明の技術的範囲に属するものである。
【符号の説明】
【０１１６】
１００  ＷＥＢアプリケーションテスト装置
１０１  プログラム一覧取得部
１０２  エラーコード取得部
１０３  レスポンス取得部
１０４  レスポンス解析部
１０５  セッション生成部
１０６  テスト結果表示部
１０７  テスト結果出力部
１０８  対象プログラム一覧取得部
１０９  対象エラーコード一覧記憶部
１１０  テスト結果記憶部
１１１  テスト設定記憶部
２００  ＷＥＢアプリケーション運用環境サーバ
２０１  ＷＥＢサーバ
２０２  プログラムマスタ記憶部
２０３  エラーコードマスタ記憶部
【図１】
2015052882.tif 000003
【図２】
2015052882.tif 000004
【図３】
2015052882.tif 000005
【図４】
2015052882.tif 000006
【図５】
2015052882.tif 000007
【図６】
2015052882.tif 000008
【図７】
2015052882.tif 000009
【図８】
2015052882.tif 000010
【図９】
2015052882.tif 000011
【図１０】
2015052882.tif 000012
【図１１】
2015052882.tif 000013
【図１２】
2015052882.tif 000014
【図１３】
2015052882.tif 000015
【図１４】
2015052882.tif 000016
【図１５】
2015052882.tif 000017
【図１６】
2015052882.tif 000018
【図１７】
2015052882.tif 000019
【図１８】
2015052882.tif 000020
【図１９】
2015052882.tif 000021