(57)【要約】【課題】  テストコードの追加や変更、別のテストコードへの切り替えの度にテストコードを再配備する手間や時間を減らすことによって、テストをスムーズに行えるようにし、開発のスピードアップを図る。【解決手段】  Ｗｅｂサーバ２０は、クライアントＰＣ１０からテストコードを受信し、受信したテストコードと該当するテスト対象アプリケーション２１３とを組合せてテスト処理を行う。【選択図】  図１
2007018091.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数の外部装置と通信回線を介して接続される情報処理装置であって、
前記外部装置からテストコードを受信する受信手段と、
前記受信手段により受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理手段とを有することを特徴とする情報処理装置。
【請求項２】
前記テスト処理管理手段は、当該情報処理装置の動作を停止させることなく、テストコードによるテスト処理を管理機能への機能拡張が可能なソフトウェアを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記テスト処理管理手段は、前記外部装置から受信する文字列データであるテストコードをバイナリデータに変換してテスト処理を実行させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記テスト処理管理手段は、テスト処理を終了する度に該当するテストコードを削除することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
第１の情報処理装置と一又は複数の第２の情報処理装置とが通信回線を介して接続される情報処理システムであって、
前記第１の情報処理装置は、
前記第２の情報処理装置からテストコードを受信する受信手段と、
前記受信手段により受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理手段とを有することを特徴とする情報処理システム。
【請求項６】
一又は複数の外部装置と通信回線を介して接続される情報処理装置によるアプリケーション開発支援方法であって、
前記外部装置からテストコードを受信する受信ステップと、
前記受信ステップにより受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理ステップとを含むことを特徴とするアプリケーション開発支援方法。
【請求項７】
請求項６に記載のアプリケーション開発支援方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＷｅｂアプリケーションの開発支援を行うための情報処理装置、情報処理システム、アプリケーション開発支援方法及びプログラムに関するものである。
【背景技術】
【０００２】
現在、社内ネットワークや広域ネットワークの普及により、ネットワークを介した様々な情報・サービスが提供されている。また、最近のほとんどのクライアントコンピュータには、ＷＷＷ用のＷｅｂブラウザが実装されている。そのため、Ｗｅｂページ提供用のプログラムが実装されたサーバコンピュータを使用してサービスを提供すれば、クライアント側に特別なプログラムを組み込まずに済み、システムの導入が容易となる。そこで、Ｗｅｂサーバで実行させる業務用のアプリケーションシステム（プログラム）の開発が盛んに行われている。
【０００３】
Ｗｅｂサーバとそこで実行させる業務用アプリケーションシステムでは、Ｗｅｂブラウザからのリクエストを受け取り、それで指定された処理を行い、その結果となる画面のＷｅｂページをＷｅｂブラウザに返す。そのため、結果に応じて動的に内容が変わるＷｅｂページを生成する機能（例えば、サーブレットやＪＳＰ）が用いられることが多い。
【０００４】
また、これらのアプリケーションシステムのうち大規模なものは、起動するために時間がかかるため、要求の度に起動するのではなく起動したまま要求を待ち続ける仕組みになっていることが多い。
【０００５】
近年のアプリケーションシステムの開発において、開発サイクルはますます短くなってきている。開発サイクルを短縮することは顧客ニーズとして強い要求事項であり、短期間に開発を行うことが求められている。それらの顧客ニーズに対応し、Ｗｅｂアプリケーションシステムの開発サイクルに対応するためにも、その開発作業を軽減させ、且つ、スピードアップを図る必要がある。
【０００６】
そして、アプリケーションシステムの開発段階においては、作成したアプリケーションシステムが仕様通りに動作するかを確かめるためのテストが一般に行われている。Ｗｅｂサーバ上の業務用アプリケーションのテストでは、Ｗｅｂブラウザを用いたテストも行われるが、これは人がＷｅｂブラウザを操作しなければならないため、時間と労力がかかる。そこで、Ｗｅｂサーバ側にテスト用のプログラムを組み込み、それによって少ない人手でアプリケーションをテストすることもよく行われている。
【０００７】
【特許文献１】特開２００１−３４４１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、Ｗｅｂサーバ側にテスト用のプログラム（テストコード）を組み込むには、テスト対象のアプリケーションと一緒にテストコードを予めサーバサイドに配備（プログラムコードのコピー、設定ファイルの更新等）をしておく必要がある。大規模なアプリケーションシステムではテストの種類も非常に多く、テストコードの追加や変更、別のテストコードへの切り替えの度にサーバサイドに再配備する必要があり、多くの時間と手間を要していた。
【０００９】
そこで、本発明の目的は、テストコードの追加や変更、別のテストコードへの切り替えの度にテストコードを再配備する手間や時間を減らすことによって、テストをスムーズに行えるようにし、開発のスピードアップを図ることにある。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、一又は複数の外部装置と通信回線を介して接続される情報処理装置であって、前記外部装置からテストコードを受信する受信手段と、前記受信手段により受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理手段とを有することを特徴とする。
本発明の情報処理システムは、第１の情報処理装置と一又は複数の第２の情報処理装置とが通信回線を介して接続される情報処理システムであって、前記第１の情報処理装置は、前記第２の情報処理装置からテストコードを受信する受信手段と、前記受信手段により受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理手段とを有することを特徴とする。
本発明のアプリケーション開発支援方法は、一又は複数の外部装置と通信回線を介して接続される情報処理装置によるアプリケーション開発支援方法であって、前記外部装置からテストコードを受信する受信ステップと、前記受信ステップにより受信するテストコードに、該当するテスト対象アプリケーションのテスト処理を実行させるテスト処理管理ステップとを含むことを特徴とする。
本発明のプログラムは、前記アプリケーション開発支援方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、アプリケーションのテスト処理を行う情報処理装置側にテストコードを配備せず、外部装置からテストコードを取得してテストを実行させるように構成したので、テストコードの追加や変更、別のテストコードへの切り替えの度に当該情報処理装置側にテストコードを再配備する手間や時間を減らすことができ、テストをスムーズに行えるようになり、開発のスピードアップを図ることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
図１は、本発明の実施形態に係るＷｅｂアプリケーション開発支援システムの構成を示す図である。図１に示すように、本実施形態に係るＷｅｂアプリケーション開発支援システムは、クライアントＰＣ１０とＷｅｂサーバ２０とから構成される。図１では、Ｗｅｂサーバ２０に通信回線を介して接続されるクライアントＰＣ１０が１台である場合を示しているが、複数のクライアントＰＣ１０が接続された構成であってもよい。
【００１４】
クライアントＰＣ１０は、例えばＨＴＭＬ、ＸＭＬ、テキスト等により記述されるＷｅｂページを閲覧するためのＷｅｂブラウザがインストールされている。このＷｅｂブラウザ１０１は、その一機能として、Ｗｅｂサーバ２０に対して各種テストコードのテスト実行の依頼等を行うためのリクエスタ１０２を備える。
【００１５】
リクエスタ１０２は、テスト用のデータやプログラムから構成されるテストコードとともに、それらテストコードのテスト順序を管理するための実行リストを一つのファイル（以下、テストファイルと称す）にまとめて保持する。クライアントＰＣ１０からＷｅｂサーバ２０に対してテストを依頼する際には、リクエスタ１０２は、各テストコードと実行リストから成るテストファイルをＨＴＴＰリクエストによってＷｅＢサーバ２０に送信する。
【００１６】
Ｗｅｂサーバ２０は、Ｗｅｂサーバ２０の標準機能２１１であるＨＴＴＰリクエスト（レスポンス）の送受信機能を利用してテストファイルをクライアントＰＣ１０から受信する。
【００１７】
また、Ｗｅｂサーバ２０内には、ＪＳＰ（Java（登録商標） Server Pages）２１２が組み込まれており、ＪＳＰ２１２は、クライアントＰＣ１０から受信した各テストコードを読み込み、テストコード毎に、該当するテスト対象アプリケーションのテスト処理を実行させるエントリとしての機能を実現する。従来は、テストコードをＷｅｂサーバに配置する度にＷｅｂサーバ２０を停止させて設定ファイルへの定義の追加等を行う必要があったが、本実施形態のようにＪＳＰ２１２でエントリを構成した場合、Ｗｅｂサーバ２０を停止させることなくＷｅｂサーバ２０の機能によってＪＳＰ２１２はエントリへの機能拡張を行うことができる。従って、テストをスムーズに行うことが可能となり、開発のスピードアップを図ることが可能となる。なお、本実施形態では、ＪＳＰによってエントリを構成しているが、本発明はこれに限られず、Ｗｅｂサーバの動作を停止させることなく、エントリへの機能拡張が可能なソフトウェアであればよく、例えばＡＳＰ（Active Server Pages）やＣＧＩ（Common Gateway Interface）等も本発明に適用可能である。また、サーブレットによってエントリを構成することも可能である。
【００１８】
各テストコードに対するテスト結果は、同じくＷｅｂサーバ標準機能２１１を用いて結果ファイルとしてクライアントＰＣ１０に対して返信される。各テストコードは、該当するテスト対象アプリケーションのテスト結果情報（例えば、エラーメッセージ等）を生成し、ＪＳＰ２１２がそれらのテスト結果情報を集計した結果ファイルを生成し、Ｗｅｂサーバ標準機能２１１が結果ファイルをクライアントＰＣ１０に対して返信する。クライアントＰＣ１０は、受信した結果ファイルの内容をユーザに対して提示するための画面情報を生成し、表示パネル等の表示手段上に表示させる。結果ファイルの例としては、テスト処理の成否情報、実行時間、エラーメッセージ、実行ログ（テスト対象のアプリケーションログ、テストコードそのもののログ）、テスト実行前後のＷｅｂサーバ２０の状態（データベースなど各種リソースの状態、メモリ使用量などパフォーマンス指標）等が挙げられる。  
【００１９】
なお、本実施形態では、Ｗｅｂサーバ標準機能２１１によるデータの送受信機能を利用しているため、ＪＳＰ２１２の機能拡張にデータ送受信機能を含ませず、エントリ機能を実現するのみで足りるため、エントリの再配備をスムーズに行うことが可能となる。
【００２０】
図２は、クライアントＰＣ１０の機能構成を示すブロック図である。図２に示すように、クライアントＰＣ１０は、仕様書データ入力部１０５、ソースコードジェネレータ１０６、第１の変換部１０７、ファイル生成部１０８、第２の変換部１０９、通信部１１０、画面情報生成部１１１及び表示制御部１１２を備える。なお、通信部１１０は、リクエスタ１０２の機能であり、仕様書データ入力部１０５、ソースコードジェネレータ１０６、第１の変換部１０７、ファイル生成部１０８、第２の変換部１０９、画面情報生成部１１１及び表示制御部１１２は、リクエスタ１０２以外のクライアントＰＣ１０の機能である。
【００２１】
仕様書データ入力部１０５は、クライアントＰＣ１０に接続されるキーボードやマウス等の入力手段から入力された、又はＣＤ−ＲＯＭやフレキシブルディスク等の記録媒体を介して入力された仕様書データをクライアントＰＣ１０内に入力する。なお、仕様書データには、データやプログラム等のテストコードが記述されている。
【００２２】
ソースコードジェネレータ１０６は、仕様書データのソースコードを生成する。このソースコードは、コンピュータが理解できるバイナリデータに変換される前の、人間が理解できる言語で記述された文字列データである。
【００２３】
第１の変換部１０７は、ソースコードジェネレータ１０６によって生成されたソースコードをコンピュータが理解できるバイナリデータに変換する。
【００２４】
ファイル生成部１０８は、バイナリデータに変換された各テストコードとそれらテストコードのテスト順序等が記述される文字列データの実行リストとをまとめたテストファイルを生成する。
【００２５】
第２の変換部１０９は、テストファイル内の各テストコードを文字列データに変換する。なお、この変換処理によって生成される文字列データは、ソースコードジェネレータ１０６で生成される文字列データとは異なる。即ち、ソースコードジェネレータ１０６では、仕様書データに対応する文字列データが生成されるが、第１の変換部１０７では、ソースコードジェネレータ１０６で生成される文字列データの意味に対応するバイナリデータが生成され、第２の変換部１０９では、バイナリデータの意味を踏まえず単純に２進数データを文字列データに変換したものである。
【００２６】
通信部１１０は、Ｗｅｂサーバ２０との間でＨＴＴＰリクエスト、ＨＴＴＰレスポンスによるデータの送受信を制御する。画面情報生成部１１１は、Ｗｅｂサーバ２０から受信する結果ファイルから画面情報を生成する。表示制御部１１２は、画面情報生成部部１１１によって生成される画面情報を、クライアントＰＣ１０と接続される表示パネル上で表示させる。
【００２７】
図３は、Ｗｅｂサーバ２０の機能構成を示すブロック図である。図３に示すように、Ｗｅｂサーバ２０は、受信部２１４、変換部２１５、リスト解析部２１６、テスト実行／テストコード削除部２１７、結果ファイル生成部２１９及び送信部２１８を備える。なお、受信部２１４及び送信部２１８は、Ｗｅｂサーバ標準機能２１１の機能であり、変換部２１５、リスト解析部２１６、テスト実行管理／テストコード削除部２１７及び結果ファイル生成部２１９はＪＳＰ２１２の機能である。
【００２８】
受信部２１４は、クライアントＰＣ１０とのＨＴＴＰリクエストによるデータの受信を、送信部２１８は、クライアントＰＣ１０とのＨＴＴＰレスポンスによるデータの送信を制御する。上述したように、本実施形態ではこれらの機能をＷｅｂサーバ２０の標準機能によって実現している。
【００２９】
変換部２１５は、クライアントＰＣ１０から受信するテストファイル内の各テストコードを文字列データからバイナリデータに変換する。変換部２１５を一機能とするエントリを構成するＪＳＰは、文字列操作に特化したプログラムであるため、バイナリデータを直接受け取ることができない。そのため、クライアントＰＣ１０の第２の変換部１０９で各テストコードをバイナリデータから文字列データに一旦変換しているが、エントリが文字列データで受け取った後、この変換部２１５によってコンピュータが認識可能なバイナリデータに変換している。この変換処理によってクライアントＰＣ１０のソースコードジェネレータ１０６によって生成されたテストコードが復元される。
【００３０】
リスト解析部２１６は、テストファイル内に含まれる実行リストから、当該テストファイル内の各テストコードの実行順序を解析する。
【００３１】
テスト実行管理／テストコード削除部２１７は、リスト解析部２１６によって解析された実行順序に従ってテストファイル内のテストコードによるテスト処理を管理する。また、テスト実行管理／テストコード削除部２１７は、テストを終えたテストコードをその都度削除する。テストコードによっては、互いに同時にＷｅｂサーバ２０内に存在することによってテスト動作に不具合を生じさせてしまうことがある。本実施形態のように、テストが終了したテストコードをその都度削除していくことによって、その不具合を招く危険性を低減することが可能となる。これは、複数のクライアントＰＣからのテストコードをマルチスレッドによって同時に処理している場合にはその効果は顕著となる。結果ファイル生成部２１９は、各テストコードによるテスト処理の結果を集計して結果ファイルを生成する。送信部２１８は、結果ファイル生成部２１９によって生成された結果ファイルをＨＴＴＰレスポンスとしてクライアントＰＣ１０に対して送信する。
【００３２】
図４は、本実施形態に係るＷｅｂアプリケーション開発支援システムの動作の流れを示すフローチャートである。
【００３３】
クライアントＰＣ１０の仕様書データ入力部１０５は、キーボード等によって入力された仕様書データ（テストコード）を入力する（ステップＳ４０１）。続いて、ソースコードジェネレータ１０６は、入力された仕様書データのソースコードを生成する（ステップＳ４０２）。
【００３４】
続いて、第１の変換部１０７は、ソースコードジェネレータ１０６によって生成されたソースコードをバイナリデータに変換する（ステップＳ４０３）。次に、ファイル生成部１０８は、バイナリデータに変換された各テストコードとそれらテストコードのテスト順序等が記述される文字データの実行リストとをまとめたテストファイルを生成する（ステップＳ４０４）。
【００３５】
続いて、第２の変換部１０９は、テストファイル内の各テストコードを文字列データに変換する（ステップＳ４０５）。次に、通信部１１０は、文字列データに変換されたテストコードを含むテストファイルをＨＴＴＰリクエストによってＷｅｂサーバ２０に対して送信する（ステップＳ４０６）。
【００３６】
Ｗｅｂサーバ２０は、受信部２１４によってテストファイルをクライアントＰＣ１０から受信する（ステップＳ４０７）。次に、受信したテストファイル内の各テストコードを文字列データからコンピュータが認識可能なバイナリデータに変換する（ステップＳ４０８）。
【００３７】
続いて、リスト解析部２１６は、テストファイル内に含まれる実行リストから、当該テストファイル内の各テストコードの実行順序を解析し、テスト実行管理／テストコード削除部２１７は、その解析結果に従って各テストコードにテスト処理を実行させるとともに、テストを終了したテストコードを削除する（ステップＳ４０９）。結果ファイル生成部２１９は、各テストコードによるテスト処理結果を集計して結果ファイルを生成する（ステップＳ４１４）。
【００３８】
続いて、送信部２１８は、結果ファイル生成部２１９によって生成された結果ファイルをＨＴＴＰレスポンスによってクライアントＰＣ１０に対して送信する（ステップＳ４１０）。
【００３９】
クライアントＰＣ１０の通信部１１０は、Ｗｅｂサーバ２０から結果ファイルを受信する（ステップＳ４１１）。続いて、画面情報生成部１１１は、Ｗｅｂサーバ２０から受信した結果ファイルに基づいて、当該結果ファイルの内容をユーザに対して提示するための画面情報を生成する（ステップＳ４１２）。
【００４０】
続いて、表示制御部１１２は、画面情報生成部１１１によって生成された画面情報を表示パネル上に表示させる（ステップＳ４１３）。表示パネル上での画面情報の表示例としては、当該テストファイル内のテストコードのうち、どのテストコードにエラーが生じたか等を表示することが挙げられる。
【００４１】
なお、本実施形態では、テスト対象アプリケーション２１３をＷｅｂサーバ２０内に搭載した場合を例に挙げているが、他の実施形態として、テスト対象アプリケーション２１３をＷｅｂサーバ２０と通信回線を介して接続されるＡＰサーバ等の外部装置内に搭載し、Ｗｅｂサーバ２０が必要に応じてテスト対象となるテスト対象アプリケーションを逐次外部装置から読み込み、テスト処理を実行する構成としてもよい。
【００４２】
以上のように、本実施形態によれば、テストコードを予めＷｅｂサーバ側に配備せずに、クライアントＰＣ側からＷｅｂサーバに対して送信するようにしたので、テストコードの追加や変更、別のテストコードへの切り替えの度にＷｅｂサーバ側にテストコードを再配備する手間や時間を減らすことができるため、テストをスムーズに行えるようになり、開発のスピードアップを図ることが可能となる。
【００４３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００４４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００４６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態に係るＷｅｂアプリケーション開発支援システムの構成を示す図である。
【図２】クライアントＰＣの機能構成を示すブロック図である。
【図３】Ｗｅｂサーバの機能構成を示すブロック図である。
【図４】Ｗｅｂアプリケーション開発支援システムの動作の流れを示すフローチャートである。
【符号の説明】
【００４９】
１０：クライアントＰＣ
２０：Ｗｅｂサーバ
１０１：Ｗｅｂブラウザ
１０２：リクエスタ
１０５：仕様書データ入力部
１０６：ソースコードジェネレータ
１０７：第１の変換部
１０８：ファイル生成部
１０９：第２の変換部
１１０：通信部
１１１：画面情報生成部
１１２：表示制御部
２１１：Ｗｅｂサーバ標準機能
２１２：ＪＳＰ（Java（登録商標） Server Pages）
２１３：テスト対象アプリケーション
２１４：受信部
２１５：変換部
２１６：リスト解析部
２１７：テスト実行管理／テストコード削除部
２１８：送信部
２１９：結果ファイル生成部
【図１】
2007018091.tif 000003
【図２】
2007018091.tif 000004
【図３】
2007018091.tif 000005
【図４】
2007018091.tif 000006