(57)【要約】【課題】所定のプログラムを生成するツールの検査において、テスト担当者が費やす労力や時間を軽減しつつテスト品質を維持することができる検査技法を提供することを目的とする。【解決手段】プログラム生成ツールを検査するためのプログラムであって、検査用入力条件ファイルと出力期待値ファイルを記憶する記憶装置及びディスプレイを備えるコンピュータに、記憶装置から検査用入力条件ファイルを読み出してプログラム生成ツールを実行し、実行結果データを生成するステップと、生成された実行結果データを含む実行結果ファイルを生成し記憶装置に格納するステップと、記憶装置から出力期待値ファイルを読み出して記憶装置に格納された実行結果ファイルと比較するステップと、出力期待値ファイルと実行結果ファイルとの比較結果に基づいてプログラム生成ツールの検査結果をディスプレイに出力するステップを実行させる。【選択図】図２
2009181180.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査するためのプログラムであって、
前記検査のために予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶装置及びディスプレイを備えるコンピュータに、
前記記憶装置に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行ステップと、
前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶装置に格納する実行結果ファイル格納ステップと、
前記記憶装置に記憶された前記出力期待値ファイルと前記記憶装置に格納された前記実行結果ファイルとを比較する比較ステップと、
前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を前記ディスプレイに出力する検査結果出力ステップ
を実行させるプログラム。
【請求項２】
前記記憶装置は、前記プログラム生成ツールの正常時の動作結果を検査するために予め設定された正常テスト検査用入力条件ファイルと、前記正常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データとしての所定のプログラムを含む出力期待値ファイルを記憶しており、
前記ツール実行ステップは、
前記記憶装置に記憶された前記正常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、所定のプログラムを実行結果データとして生成し、
前記実行結果ファイル格納ステップは、
前記実行結果データとしての所定のプログラムを含む実行結果ファイルを生成し、前記生成された前記実行結果データとしての所定のプログラムを含む実行結果ファイルを前記記憶装置に格納し、
前記比較ステップは、
前記記憶装置に記憶された前記期待値データとしての所定のプログラムを含む前記出力期待値ファイルと、前記記憶装置に格納された前記実行結果データとしての所定のプログラムを含む前記実行結果ファイルと、を比較し、
前記検査結果出力ステップは、
前記期待値データとしての所定のプログラムを含む前記出力期待値ファイルと前記実行結果データとしての所定のプログラムを含む前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの正常テストの検査結果を前記ディスプレイに出力することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記記憶装置は、前記プログラム生成ツールのエラー時の動作結果を検査するために予め設定された異常テスト検査用入力条件ファイルと、前記異常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールがエラーを仕様どおりに検出した場合に生成される期待値データとしての所定のメッセージを含む出力期待値ファイルを記憶しており、
前記ツール実行ステップは、
前記記憶装置に記憶された前記異常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、所定のエラーを検出した場合に実行結果データとして所定のメッセージを生成し、
前記実行結果ファイル格納ステップは、
前記実行結果データとしての所定のメッセージを含む実行結果ファイルを生成し、前記生成された前記実行結果データとしての所定のメッセージを含む実行結果ファイルを前記記憶装置に格納し、
前記比較ステップは、
前記記憶装置に記憶された前記期待値データとしての所定のメッセージを含む前記出力期待値ファイルと、前記記憶装置に格納された前記実行結果データとしての所定のメッセージを含む前記実行結果ファイルと、を比較し、
前記検査結果出力ステップは、
前記期待値データとしての所定のメッセージを含む前記出力期待値ファイルと、前記実行結果データとしての所定のメッセージを含む前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの異常テストの検査結果を前記ディスプレイに出力することを特徴とする請求項１に記載のプログラム。
【請求項４】
前記検査結果出力ステップは、
前記出力期待値ファイルと前記実行結果ファイルとが一致する場合は、前記プログラム生成ツールが仕様どおりに動作したことを示す検査結果を前記ディスプレイに出力することを特徴とする請求項１に記載のプログラム。
【請求項５】
前記プログラム生成ツールに対して１つ以上の検査項目が設定されている場合に、前記記憶装置は、前記１つ以上の検査項目のそれぞれについて予め設定された前記検査用入力条件ファイルと前記出力期待値ファイルとを、それぞれが対応する検査項目のフォルダに記憶しており、
前記ツール実行ステップは、
前記記憶装置から、対象検査項目に係るフォルダに記憶された検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、前記対象検査項目に係る実行結果データを生成し、
前記実行結果ファイル格納ステップは、
前記生成された前記対象検査項目に係る実行結果データを含む実行結果ファイルを生成し、前記生成された前記対象検査項目に係る実行結果データを含む実行結果ファイルを、前記記憶装置の対象検査項目に係る他のフォルダに格納し、
前記比較ステップは、
前記記憶装置の前記対象検査項目に係るフォルダに記憶された前記対象検査項目に係る出力期待値ファイルと、前記記憶装置の前記対象検査項目に係る他のフォルダに記憶された前記対象検査項目に係る前記実行結果ファイルと、を比較することを特徴とする請求項１に記載のプログラム。
【請求項６】
予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査する検査装置であって、
前記検査のために予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶手段と、
前記記憶手段に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行手段と、
前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶手段に格納する実行結果ファイル格納手段と、
前記記憶手段に記憶された前記出力期待値ファイルと前記記憶手段に格納された前記実行結果ファイルとを比較する比較手段と、
前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を出力する検査結果出力手段
を備える検査装置。
【請求項７】
予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶装置、ディスプレイ及び制御手段を備えるコンピュータにおいて、予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査する検査方法であって、
前記記憶装置に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行ステップと、
前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶装置に格納する実行結果ファイル格納ステップと、
前記記憶装置に記憶された前記出力期待値ファイルと前記記憶装置に格納された前記実行結果ファイルとを比較する比較ステップと、
前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を前記ディスプレイに出力する検査結果出力ステップ
を備えることを特徴とする検査方法。
【請求項８】
予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査するためのプログラムであって、
前記検査のために予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが正常に動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶装置及びディスプレイを備えるコンピュータに、
前記記憶装置に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行ステップと、
前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶装置に格納する実行結果ファイル格納ステップと、
前記記憶装置に記憶された前記出力期待値ファイルと前記記憶装置に格納された前記実行結果ファイルとを比較する比較ステップと、
前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を前記ディスプレイに出力する検査結果出力ステップ
を実行させる前記プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムが仕様通りに動作するか否かを検査するための情報処理技術に関し、特に、ユーザが設定した条件に従って所定のプログラムを自動的に生成するプログラム生成ツールの検査に適用して好適な情報処理技術に関する。
【背景技術】
【０００２】
近年、さまざまなプログラミング言語を用いてプログラム（ソフトウェア）が作成されている。作成されたプログラムに対しては、そのプログラムが正しく動作するか否かを確認するために様々なテストが行われる。かかるテストの目的の一つは、プログラムの設計過程や製造過程等で発生した、いわゆるバグ（プログラムの欠陥）を発見することである。このようなテストとしては、例えば、ブラックボックステストが知られている。ブラックボックステストとは、プログラムの入出力に注目し、仕様通りにプログラムが動作するか（もしくは仕様通りに動作しないか）をテストするものである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述したようなブラックボックステストを行う場合、テスト担当者は、次のような手順を踏んでいる。まず、テスト担当者は、検査対象となるプログラムの仕様に応じて様々な検査項目を設定し、この設定した検査項目ごとにテスト用の入力データを生成する。次に、テスト担当者は、生成したテスト用の入力データに基づいて検査対象となるプログラムを実行し、その出力結果を得る。そして、テスト担当者は、得られた出力結果と仕様書の内容を目視で比較・確認し、検査対象となるプログラムが仕様通りに動作したか否かを判断する。
【０００４】
しかしながら、このようなテストの手法では、テスト担当者が、各々の検査項目について、テストの出力結果と仕様書の内容を目視で確認しなければならず、その確認作業は煩雑である。また、テストの検査項目数が膨大な場合には、かかるテストに多大な労力と時間を要してしまう。さらにまた、確認作業はテスト担当者の目視で行われるため、チェック漏れといった人為的ミスによるテスト品質の低下という問題もある。
【０００５】
一方、近年では、プログラムの簡易作成を目的とした様々なツール（ソフトウェア）が提案されている。このようなツールは、例えば、プログラミングの初心者ユーザ向けに開発されており、ユーザが入力条件を設定すれば所定のプログラム言語に従ったプログラムを自動的に生成する機能を備える。
【０００６】
このようなプログラム自動生成ツールを開発し提供する側は、当該ツールをユーザに提供する前に、かかるツールが正常に動作するか否か、すなわちツールにバグがないかどうかを検査する必要がある。プログラム自動生成ツールの検査には、上述したテスト手法を適用することができるが、かかる場合においても、目視による出力結果と仕様書の比較確認作業では、労力や時間を要するとともにテスト品質の低下という問題がある。
【０００７】
そこで、本発明は、所定のプログラムを生成するツールの検査において、テスト担当者が費やす労力や時間を軽減しつつテスト品質を維持することができる新たな検査手法または検査装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明は、予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査するためのプログラムであって、前記検査のために予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶装置及びディスプレイを備えるコンピュータに、前記記憶装置に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行ステップと、前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶装置に格納する実行結果ファイル格納ステップと、前記記憶装置に記憶された前記出力期待値ファイルと前記記憶装置に格納された前記実行結果ファイルとを比較する比較ステップと、前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を前記ディスプレイに出力する検査結果出力ステップを実行させる。
【０００９】
また、前記記憶装置は、前記プログラム生成ツールの正常時の動作結果を検査するために予め設定された正常テスト検査用入力条件ファイルと、前記正常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データとしての所定のプログラムを含む出力期待値ファイルを記憶しており、前記ツール実行ステップは、前記記憶装置に記憶された前記正常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、所定のプログラムを実行結果データとして生成し、前記実行結果ファイル格納ステップは、前記実行結果データとしての所定のプログラムを含む実行結果ファイルを生成し、前記生成された前記実行結果データとしての所定のプログラムを含む実行結果ファイルを前記記憶装置に格納し、前記比較ステップは、前記記憶装置に記憶された前記期待値データとしての所定のプログラムを含む前記出力期待値ファイルと、前記記憶装置に格納された前記実行結果データとしての所定のプログラムを含む前記実行結果ファイルと、を比較し、前記検査結果出力ステップは、前記期待値データとしての所定のプログラムを含む前記出力期待値ファイルと前記実行結果データとしての所定のプログラムを含む前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの正常テストの検査結果を前記ディスプレイに出力することを特徴とする。
【００１０】
さらにまた、前記記憶装置は、前記プログラム生成ツールのエラー時の動作結果を検査するために予め設定された異常テスト検査用入力条件ファイルと、前記異常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールがエラーを仕様どおりに検出した場合に生成される期待値データとしての所定のメッセージを含む出力期待値ファイルを記憶しており、前記ツール実行ステップは、前記記憶装置に記憶された前記異常テスト検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、所定のエラーを検出した場合に実行結果データとして所定のメッセージを生成し、前記実行結果ファイル格納ステップは、前記実行結果データとしての所定のメッセージを含む実行結果ファイルを生成し、前記生成された前記実行結果データとしての所定のメッセージを含む実行結果ファイルを前記記憶装置に格納し、前記比較ステップは、前記記憶装置に記憶された前記期待値データとしての所定のメッセージを含む前記出力期待値ファイルと、前記記憶装置に格納された前記実行結果データとしての所定のメッセージを含む前記実行結果ファイルと、を比較し、前記検査結果出力ステップは、前記期待値データとしての所定のメッセージを含む前記出力期待値ファイルと、前記実行結果データとしての所定のメッセージを含む前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの異常テストの検査結果を前記ディスプレイに出力することを特徴とする。
【００１１】
また、前記検査結果出力ステップは、前記出力期待値ファイルと前記実行結果ファイルとが一致する場合は、前記プログラム生成ツールが正常に動作したことを示す検査結果を前記ディスプレイに出力することを特徴とする。
【００１２】
また、前記プログラム生成ツールに対して１つ以上の検査項目が設定されている場合に、前記記憶装置は、前記１つ以上の検査項目のそれぞれについて予め設定された前記検査用入力条件ファイルと前記出力期待値ファイルとを、それぞれが対応する検査項目のフォルダに記憶しており、前記ツール実行ステップは、前記記憶装置から、対象検査項目に係るフォルダに記憶された検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、前記対象検査項目に係る実行結果データを生成し、前記実行結果ファイル格納ステップは、前記生成された前記対象検査項目に係る実行結果データを含む実行結果ファイルを生成し、前記生成された前記対象検査項目に係る実行結果データを含む実行結果ファイルを、前記記憶装置の対象検査項目に係る他のフォルダに格納し、前記比較ステップは、前記記憶装置の前記対象検査項目に係るフォルダに記憶された前記対象検査項目に係る出力期待値ファイルと、前記記憶装置の前記対象検査項目に係る他のフォルダに記憶された前記対象検査項目に係る前記実行結果ファイルと、を比較することを特徴とする。
【００１３】
また、上記課題を解決するための本発明は、予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査する検査装置であって、前記検査のために予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶手段と、前記記憶手段に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行手段と、前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶手段に格納する実行結果ファイル格納手段と、前記記憶手段に記憶された前記出力期待値ファイルと前記記憶手段に格納された前記実行結果ファイルとを比較する比較手段と、前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を出力する検査結果出力手段を備える。
【００１４】
さらにまた、上記課題を解決するための本発明は、予め設定された検査用入力条件ファイルと、前記検査用入力条件ファイルに基づいて前記プログラム生成ツールが仕様どおりに動作した場合に生成される期待値データを含む出力期待値ファイルと、をそれぞれ記憶する記憶装置、ディスプレイ及び制御手段を備えるコンピュータにおいて、予め設定された入力条件ファイルに基づいて所定のプログラム言語に従うプログラムを生成するプログラム生成ツールを検査する検査方法であって、前記記憶装置に記憶された前記検査用入力条件ファイルに基づいて前記プログラム生成ツールを実行し、実行結果データを生成するツール実行ステップと、前記生成された実行結果データを含む実行結果ファイルを生成し、前記生成された実行結果ファイルを前記記憶装置に格納する実行結果ファイル格納ステップと、前記記憶装置に記憶された前記出力期待値ファイルと前記記憶装置に格納された前記実行結果ファイルとを比較する比較ステップと、前記出力期待値ファイルと前記実行結果ファイルとの比較結果に基づいて、前記プログラム生成ツールの検査結果を前記ディスプレイに出力する検査結果出力ステップを備えることを特徴とする。
【００１５】
さらにまた、上記課題を解決するための本発明は、上述したプログラムを格納したコンピュータによって読み取り可能な記録媒体としても成立する。
【００１６】
なお、本明細書において「仕様」とは、テスト対象となるプログラム生成ツールの開発において当該ツールの動作を既述した一連の文書であり、主にツールが受け付けるべき入力を列挙し、それら入力に対してそのツールがどのように動作するかを既述したものである。プログラム生成ツールのテストにおいて用いる仕様書は、テスト担当者によって決定される。
【００１７】
なお、本明細書において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【発明の効果】
【００１８】
本発明によれば、出力期待値ファイルと実行結果ファイルとの比較結果に基づいてプログラム生成ツールに対する検査の結果が自動的に出力されるので、テスト担当者が目視で出力結果データと仕様書を比較する必要がなくなる。これにより、テスト作業が簡易になるだけでなく、作業に要する労力と時間を多いに軽減することが可能になる。また、人為的ミスを防止してテスト品質を維持することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ本発明に係るプログラム生成ツールの検査技法について詳細に説明する。なお、本発明に係るプログラム生成ツールの検査技法は、予め設定された入力条件に基づいて所定のプログラム言語に従うプログラムを自動生成する機能を備えるソフトウェア（以下、「プログラム生成ツール」という。）に対して適用することができる。
【００２０】
（１）本発明に係る検査技法が適用されるプログラム生成ツールの概要
【００２１】
ここで、図１を用いて、本発明に係る検査技法が適用されるプログラム生成ツールの概要について説明する。本実施形態では、本発明に係る検査技法を、一例として、所定の検査装置上で実行されるテストプログラム（ソースプログラム）を自動生成する機能を備えたプログラム生成ツールに適用する場合について説明する。
【００２２】
図１に示すプログラム生成ツール３０４は、例えばＣＰＵ等を備える汎用のコンピュータにインストールされ実行されることで以下の機能を発揮する。具体的には、プログラム生成ツール３０４がインストールされたコンピュータのＣＰＵは、プログラム生成ツール３０４に従い、テスト定義等が予めユーザによって設定された各種入力条件ファイル（３０１、３０２、３０３）を読み込むと、所定の検査装置上で実行されるテストプログラム（３０５、３０６、３０７、３０８）を自動生成する。
【００２３】
なお、入力条件ファイルは、例えば、所定の検査装置上で実行する全テストに共通する設定を行うテストデータベースファイル３０１、テスト毎にパラメータ値等を設定するテストパラメータファイル３０２、テストプログラムの雛型を設定するテストテンプレートファイル３０３等の各種ファイルから構成される。また、テストプログラムは、例えば、メインファイル３０５、システム定義ファイル３０６、グローバル定義ファイル３０７、ソケット定義ファイル３０８等の各種ファイルから構成される。
【００２４】
プログラム生成ツール３０４によれば、テストプログラムの作成担当者が、自らテストプログラム作成用の特定のプログラム言語を習得してテストプログラムを最初から作成する必要がなく、より簡易かつ短時間でテストプログラムを生成することができる。
【００２５】
なお、プログラム生成ツール３０４は、プログラム生成処理中に何らかのエラーを検出した場合は（入力条件ファイルのユーザの設定に不備がある場合など）、エラーメッセージ３０９を画面に出力して処理を中止する。また、発生したエラーやワーニングが生成処理を中断させる程度のものでない場合は、生成処理を続行し、この生成処理が完了した場合には、これらエラーやワーニングを示すメッセージを生成ログ３１０として出力する。
【００２６】
（２）本実施の形態に係るプログラム生成ツールの検査技法の概要
【００２７】
以下、図２〜図９を用いて、このような機能を備えるプログラム生成ツール３０４に対するテスト、すなわち、プログラム生成ツール３０４が仕様どおりにテストプログラムを生成するか否か、または、プログラム生成ツール３０４が仕様どおりにエラーメッセージや生成ログを出力しているか否か等を、本発明に係るプログラム生成ツールの検査技法を適用して検査する。
【００２８】
なお、本実施形態では、かかるテストの一例として、プログラム生成ツール３０４の正常時の動作結果を検査する「正常テスト」と、エラーが起きたときのプログラム生成ツール３０４の動作結果を検査する「異常テスト」を、それぞれ実行する。なお、テスト構成はこれに限られず、どのようなテストを実行するかはテスト仕様に応じて任意に設定することができる。
【００２９】
図２は、プログラム生成ツール検査装置の機能構成を示す図である。図３は、プログラム生成ツール検査装置のハードウェア構成を示すブロック図である。
【００３０】
図２に示すように、プログラム生成ツールを検査するためのプログラムがインストールされたプログラム生成ツール検査装置１（以下、「ツール検査装置１」という）は、主な構成として、ツール検査装置１の動作全体を制御する制御手段１１と、プログラム生成ツールの検査処理に必要な情報を記憶するための記憶手段１２とを備える。
【００３１】
ツール検査装置１には、例えば図３に示すようなＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、外部記憶装置１０４、ユーザインタフェース１０５、ディスプレイ１０６、プリンタ１０７、および通信インタフェース１０８を備える汎用のコンピュータを適用することができる。ツール検査装置１は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。
【００３２】
ツール検査装置１は、ＣＰＵ１０１が、ＲＯＭ１０２、ＲＡＭ１０３、外部記憶装置１０４などに記憶された又は通信ネットワークを介してダウンロードされた所定のプログラム（本発明にかかるプログラム生成ツールの検査処理内容を規定したプログラム）を実行することにより、ツール検査装置１を後述する各種機能実現手段（図２を参照）として機能させる。
【００３３】
すなわち図２に示す制御手段１１は、主な構成として、入力条件ファイル設定手段１１１、出力期待値ファイル設定手段１１２、プログラム生成ツール実行手段１１３、実行結果ファイル格納手段１１４、実行結果比較手段１１５、検査結果出力手段１１６を備える。また、記憶手段１２は、主な構成として、入出力条件ファイル記憶手段１２１、結果ファイル記憶手段１２２、プログラム記憶手段１２３を備える。
【００３４】
入力条件ファイル設定手段１１１は、プログラム生成ツール３０４が所定のテストプログラムを自動生成する際に参照する各種入力条件ファイルと同じデータ構造及びファイル構造を備えるデータファイル（以下、「検査用入力条件ファイル」という）を検査用に設定する。
【００３５】
ユーザは、例えば図４に示すようなテスト仕様（検査項目）を参照しながら、ユーザインタフェース１０５を介して検査用入力条件ファイルの内容を任意に設定することができる。検査項目が正常テストと異常テストを含む場合は、ユーザは、正常テスト用のデータと異常テスト用のデータをそれぞれ設定した検査用入力条件ファイルを用意する。
【００３６】
図４は、プログラム生成ツール３０４に対するテスト仕様の一例を示す図である。ここでは、テストの検査項目の一部が定義されている。（ng001）中の(ng)は、検査の種類「異常テスト」を示し、（001）は、検査番号（001番目）を示している。検査項目の内容は、「パラメータシートの項目が全て未入力の場合の確認」が定義されている。よって、ユーザが、パラメータシートの項目を全て未入力にしたファイルを設定すると、設定されたファイルは、検査項目名（ng001）が付与された検査用入力条件ファイルとして、入出力条件ファイル記憶手段１２１に記憶される（図５参照）。
【００３７】
図５は、入出力条件ファイル記憶手段１２１のデータ構成の一例を示す図である。入出力条件ファイル記憶手段１２１は、テストの種類と項番がそれぞれ付与されたフォルダを備えている。各フォルダには、図１に示す３種類の入力条件ファイル（prm_file.xls, tdm_file.xls, tmp_file.xls）にそれぞれ対応する検査用入力条件ファイルが格納される。なお、本実施形態では、検査用入力条件ファイルに表計算ソフトウェアの形式を採用しているが、ファイル形式は任意のものを採用することができる。
【００３８】
次に、出力期待値ファイル設定手段１１２は、検査用入力条件ファイルに基づいてプログラム生成ツール３０４が仕様どおりに動作した場合に生成される出力結果（期待値データ）を出力期待値ファイルとして設定する。例えば、図４に示す検査項目（ng001）について期待値データを設定する場合には、すでに設定した検査項目（ng001）の検査用入力条件ファイルに基づいてプログラム生成ツール３０４が仕様どおりに動作した場合に生成される出力結果（例えば、既定のエラーメッセージ）を含む出力期待値ファイルを設定する。この設定された出力期待値ファイルは、入出力条件ファイル記憶手段１２１の該当フォルダ内に格納される（図５参照）。図５は、入出力条件ファイル記憶手段１２１が、検査用入力条件ファイルと一緒に出力期待値ファイルをテキストファイル（err.txt）の形式でフォルダ（ng001）１２１−１下に格納していることを示している。
【００３９】
なお、検査項目が正常テストである場合は、出力結果（期待値データ）はテストプログラムであり、テストプログラムを含む出力期待値ファイルが、入出力条件ファイル記憶手段１２１に記憶される。図５に示す入出力条件ファイル記憶手段１２１のフォルダ（ok001）１２１−３には、検査用入力条件ファイルと一緒に、４つのテストプログラムを示す出力期待値ファイル（aaa.tdl, aaa_global.tdl，aaa_socket.tdl, aaa_system.tdl）が格納されている。
【００４０】
なお、入力条件ファイル設定手段１１１及び出力期待値ファイル設定手段１１２が設定するファイル形式やファイル数は、上述したものに限られず、検査対象となるプログラムの仕様に応じて適宜設定することができる。
【００４１】
次に、図２に戻り説明を続ける。プログラム生成ツール実行手段１１３は、入出力条件ファイル記憶手段１２１から検査用入力条件ファイルを読み出し、この読み出された検査用入力条件ファイルに基づいてＲＡＭ１０３等に記憶されたプログラム生成ツール３０４を実行し、実行結果データを生成する。
【００４２】
実行結果ファイル格納手段１１４は、プログラム生成ツール実行手段１１３によって生成された実行結果データを含む実行結果ファイルを生成し、この生成された実行結果ファイルを結果ファイル記憶手段１２２に格納する。図５に示す結果ファイル記憶手段１２２のフォルダ（ok001）１２２−３には、４つのテストプログラムを示す実行結果ファイル（aaa.tdl, aaa_global.tdl，aaa_socket.tdl, aaa_system.tdl）が格納されている。また、結果ファイル記憶手段１２２のフォルダ（ng001）１２２−１下には、実行結果ファイルが、エラーメッセージを含むテキストファイル（err.txt）として格納されている。
【００４３】
実行結果比較手段１１５は、出力期待値ファイル設定手段１１２によって設定された出力期待値ファイルを入出力条件ファイル記憶手段１２１から読み出し、この読み出された出力期待値ファイルと実行結果ファイル格納手段１１４によって結果ファイル記憶手段１２２に格納された実行結果ファイルとを比較する。出力期待値ファイルと実行結果ファイルの比較は、実行結果比較手段１１５が、各ファイルに記載された内容を行単位で比較することにより行われる。実行結果比較手段１１５は、予め指定された所定の行以外の行を比較し、全ての行について比較結果が一致する場合に、ファイル同士が一致すると判断する一方、一致しない行が存在する場合に、検査はＮＧと判断する。ユーザは、例えば、「行頭キーワード」を登録することができ、実行結果比較手段１１５は、この行頭キーワードに合致する行を比較対象から除外する。これにより、生成されたテストプログラムに含まれる「生成日時」や「プログラムバージョン」といった各テストプログラム固有の出力情報を、実行結果比較手段１１５の比較対象から除外することができる。
【００４４】
例えば、検査項目が（ok001）である場合は、入出力条件ファイル記憶手段１２１のフォルダ（ok001）１２１−３下に格納された出力期待値ファイル（aaa.tdl, aaa_global.tdl，aaa_socket.tdl, aaa_system.tdl）と、結果ファイル記憶手段１２２のフォルダ（ok001）１２２−３下に格納された実行結果ファイル（aaa.tdl, aaa_global.tdl，aaa_socket.tdl, aaa_system.tdl）とを比較する。
【００４５】
検査結果出力手段１１６は、実行結果比較手段１１５による出力期待値ファイルと実行結果ファイルとの比較結果に基づいて、プログラム生成ツール３０４の検査結果をディスプレイ１０６に出力する。なお、検査結果はプリンタ１０７に出力してもよいし、通信インタフェース１０８を介して外部に送信してもよい。
【００４６】
また、記憶手段１２は、主な構成として、入出力条件ファイル記憶手段１２１、結果ファイル記憶手段１２２、プログラム記憶手段１２３を備える。
【００４７】
入出力条件ファイル記憶手段１２１は、上述したように、入力条件ファイル設定手段１１１によって設定された検査用入力条件ファイルと、出力期待値ファイル設定手段１１２によって設定された出力期待値ファイルとを、それぞれ検査番号で紐付けて組にして対応するフォルダ内に記憶する。
【００４８】
結果ファイル記憶手段１２２は、実行結果ファイル格納手段１１４によって生成された実行結果ファイルを、検査番号で紐付けて対応するフォルダ内に記憶する。
【００４９】
プログラム記憶手段１２３は、テストの対象であるプログラム生成ツール３０４と、プログラム生成ツール３０４の検査処理を規定した検査プログラム１２３Ａと、を記憶する。
【００５０】
（３）本実施の形態に係る検査プログラム１２３Ａに従う検査処理
【００５１】
次に、本実施の形態に係る検査プログラム１２３Ａに従う検査処理について図６〜図９を用いて説明する。なお、後述するフローチャートにおける各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００５２】
図６は、検査プログラム１２３Ａに基づいてツール検査装置１が実行する検査処理の手順（おもに正常テストの場合）を示すフローチャートである。図６に示す検査処理は、ＣＰＵ１０１の制御のもと、ツール検査装置１がＲＡＭ１０３にロードされた検査プログラム１２３Ａに規定されたステップを実行することにより実現する。
【００５３】
プログラム生成ツール３０４に対するテストの前準備として、テスト仕様に応じた検査用入力条件ファイル及び出力期待値ファイルの設定がある。入力条件ファイル設定手段１１１は、ユーザインタフェース１０５を介してユーザより検査用入力条件ファイルの設定指示を受け付けると、検査用入力条件ファイルを設定し、指定された検査番号と対応付けて入出力条件ファイル記憶手段１２１へ格納する（ＳＴＥＰ１０１）。
【００５４】
次に、出力期待値ファイル設定手段１１２は、ユーザより出力期待値ファイルの設定指示を受け付けると、出力期待値ファイルを設定し、指定された検査番号と対応付けて結果ファイル記憶手段１２２へ格納する（ＳＴＥＰ１０３）。これにより、プログラム生成ツール３０４に対するテストの前準備が完了する。
【００５５】
制御手段１１は、例えば図示しないメニュー画面からプログラム生成ツール３０４に対するテスト実行命令を受け付けると、テストを開始する。制御手段１１は、対象となるテストが正常テストであるか否かを判定し、判定結果が肯定である場合は（ＳＴＥＰ１０５；Ｙｅｓ）、正常テスト処理を開始し、判定結果が否定、すなわち異常テストである場合は（ＳＴＥＰ１０５；Ｎｏ）、異常テスト処理を開始する。
【００５６】
正常テスト処理が開始されると、プログラム生成ツール実行手段１１３は、入出力条件ファイル記憶手段１２１から対象となる検査番号（以下、「対象検査番号」という。）のフォルダに記憶された正常テスト用の検査用入力条件ファイルを読み出す（ＳＴＥＰ１０７）。
【００５７】
プログラム生成ツール実行手段１１３は、読み出した検査用入力条件ファイルに基づいて、プログラム生成ツールを実行し、実行結果データを生成する（ＳＴＥＰ１０９）。ここで、正常テストの場合は、検査用入力条件ファイルに正常なデータ（仕様で規定された通りのデータ）が設定されているので、プログラム生成ツール２０３が仕様どおりに正常に動作した場合は、所定のテストプログラム（例えば、図１に示す４種類のテストプログラム）が実行結果データとして得られるはずである。
【００５８】
次に、実行結果ファイル格納手段１１４は、生成された所定のテストプログラムを含む実行結果ファイルを生成し、対象検査番号と対応付けて結果ファイル記憶手段１２２へ格納する（ＳＴＥＰ１１１）。
【００５９】
実行結果比較手段１１５は、入出力条件ファイル記憶手段１２１から対象検査番号のフォルダに記憶された正常テスト用の出力期待値ファイルを読み出し、読み出した出力期待値ファイルと、結果ファイル記憶手段１２２の対象検査番号のフォルダに格納された実行結果ファイル（例えば、４種類のテストプログラム）とを、比較する（ＳＴＥＰ１１３）。
【００６０】
検査結果出力手段１１６は、実行結果比較手段１１５による比較の結果、実行結果ファイルのうち出力期待値ファイルと一致しないものは存在しないと判断した場合は（ＳＴＥＰ１１５；Ｎｏ）、対象検査番号についてプログラム生成ツール３０４が仕様どおりに動作したものと判断し、対象検査番号についての検査結果をディスプレイ１０６に出力する（ＳＴＥＰ１１７）。なお、検査結果はプリンタ１０７へ出力してもよい。そして、検査結果出力手段１１６は、次の検査番号に進むか否かを判断する（ＳＴＥＰ１２１）。すべての検査番号について処理が終わっていない（次の検査番号がある）場合は（ＳＴＥＰ１２１；Ｙｅｓ）、ＳＴＥＰ１０７に戻り、次の検査番号についてテストを続行する。一方、すべての検査番号について処理が終わっている（次の検査番号がない）場合は（ＳＴＥＰ１２１；Ｎｏ）、処理を終了する。
【００６１】
図７は、ツール検査装置１のディスプレイ１０６に出力された検査結果の一例を示す図である。図７に示すように、ディスプレイ１０６には、検査画面４０１が表示されており、検査画面４０１は、検査結果を表示する検査結果表示領域４０２を備える。検査結果表示領域４０２には、検査入力条件ファイルごとに各検査番号のテスト結果が示されている。
【００６２】
なお、ＳＴＥＰ１１５の判断において、検査結果出力手段１１６は、実行結果比較手段１１５による比較の結果、実行結果ファイルのうち出力期待値ファイルと一致しないものが存在すると判断した場合は（ＳＴＥＰ１１５；Ｙｅｓ）、対象検査番号目についてプログラム生成ツール３０４が仕様どおりに動作していないと判断し、既定のエラー処理を実行する（ＳＴＥＰ１１９）。
【００６３】
次に、異常テストの場合の処理について図８を用いて説明する。図８は、検査プログラム１２３Ａに基づいてツール検査装置１が実行する検査処理の手順（異常テストの場合）を示すフローチャートである。図８に示す各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００６４】
制御手段１１は、対象テストが異常テストであると判断した場合は（図６のＳＴＥＰ１０５；Ｎｏ）、異常テスト処理を開始する（ＳＴＥＰ２０１）。
【００６５】
異常テスト処理が開始されると、プログラム生成ツール実行手段１１３は、入出力条件ファイル記憶手段１２１から対象検査番号のフォルダに記憶された異常テスト用の検査用入力条件ファイルを読み出す（ＳＴＥＰ２０３）。
【００６６】
次に、プログラム生成ツール実行手段１１３は、読み出した異常テスト用の検査用入力条件ファイルに基づいて、プログラム生成ツール２０３を実行し、実行結果データを生成する（ＳＴＥＰ２０５）。ここで、異常テストの場合は、エラーを発生させるデータが予め検査用入力条件ファイルに設定されているので、プログラム生成ツール２０３が仕様どおりに動作した場合、所定のエラーメッセージ（エラーメッセージやワーニングメッセージ）またはテストプログラムが実行結果データとして得られるはずである。
【００６７】
なお、本実施形態のプログラム生成ツール２０３は、通常の生成処理中に何らかのエラーを検出した場合は、エラーメッセージを画面に出力して生成処理を中断するか、または、生成処理は中断せずに生成処理完了後にエラーまたはワーニングメッセージをログ出力するように規定されている。しかし、プログラム生成ツール２０３の検査では、プログラム生成ツール２０３が仕様どおりにエラーまたはワーニングメッセージを出力しているか否かを検査するために、後述するように、通常の生成処理においてはエラーメッセージとして画面に出力されるメッセージを、実行結果ファイルとして出力する。
【００６８】
実行結果ファイル格納手段１１４は、実行結果データに応じて処理を続行する。実行結果データがテストプログラムである場合は（ＳＴＥＰ２０７）、このテストプログラムを含む実行結果ファイルを生成し、対象検査番号と対応付けて結果ファイル記憶手段１２２へ格納する（ＳＴＥＰ２０９）。
【００６９】
そして実行結果比較手段１１５は、入出力条件ファイル記憶手段１２１から対象検査番号のフォルダに記憶された異常テスト用の出力期待値ファイルを読み出し、読み出した出力期待値ファイルと、結果ファイル記憶手段１２２の対象検査番号のフォルダに格納された実行結果ファイル（テストプログラム）とを、比較する（ＳＴＥＰ２１１）。
【００７０】
一方、実行結果ファイル格納手段１１４は、実行結果データがエラーメッセージである場合は（ＳＴＥＰ２１３）、このエラーメッセージを含む実行結果ファイルを生成し、対象検査番号と対応付けて結果ファイル記憶手段１２２へ格納する（ＳＴＥＰ２１５）。
【００７１】
そして実行結果比較手段１１５は、入出力条件ファイル記憶手段１２１から対象検査番号のフォルダに記憶された異常テスト用の出力期待値ファイルを読み出し、読み出した出力期待値ファイルと、結果ファイル記憶手段１２２の対象検査番号のフォルダに格納された実行結果ファイル（エラーメッセージ）とを、比較する（ＳＴＥＰ２１７）。
【００７２】
また、実行結果ファイル格納手段１１４は、実行結果データがログのメッセージである場合は（ＳＴＥＰ２２１）、このログのメッセージを含む実行結果ファイルを生成し、対象検査番号と対応付けて結果ファイル記憶手段１２２へ格納する（ＳＴＥＰ２２１）。
【００７３】
そして、実行結果比較手段１１５は、入出力条件ファイル記憶手段１２１から対象検査番号のフォルダに記憶された異常テスト用の出力期待値ファイルを読み出し、読み出した出力期待値ファイルと、結果ファイル記憶手段１２２の対象検査番号のフォルダに格納された実行結果ファイル（ログのメッセージ）とを、比較する（ＳＴＥＰ２２３）。
【００７４】
検査結果出力手段１１６は、それぞれの実行結果データについて、実行結果比較手段１１５による比較の結果、実行結果ファイルのうち出力期待値ファイルと一致しないものは存在しないと判断した場合は（ＳＴＥＰ２２５；Ｎｏ）、対象検査番号についてプログラム生成ツール３０４が仕様どおりに動作したものと判断し、対象検査番号についての検査結果をディスプレイ１０６に出力する（ＳＴＥＰ２２７）。そして、次の検査番号に進むか否かを判断する（ＳＴＥＰ２３１）。
【００７５】
すべての検査番号について処理が終わっていない（次の検査番号がある）場合は（ＳＴＥＰ２３１；Ｙｅｓ）、ＳＴＥＰ２０３に戻り、検査を続行する。一方、すべての検査番号について処理が終わっている（次の検査番号がない）場合は（ＳＴＥＰ２３１；Ｎｏ）、処理を終了する。
【００７６】
なお、ＳＴＥＰ２２５の判断において、検査結果出力手段１１６は、実行結果比較手段１１５による比較の結果、実行結果ファイルのうち出力期待値ファイルと一致しないものが存在すると判断した場合は（ＳＴＥＰ２２５；Ｙｅｓ）、対象検査番号についてツールが仕様どおりに動作していないと判断し、既定のエラー処理を実行する（ＳＴＥＰ２２９）。
【００７７】
（４）本実施形態の効果
【００７８】
上述した本実施形態によれば、出力期待値ファイルと実行結果ファイルとの比較が自動的に行われ、その結果に基づいてプログラム生成ツール３０４に対する検査結果が出力される。従って、テスト担当者は、検査用入力条件ファイルと出力期待値ファイルとを設定するだけで良く、テスト作業が簡易になるだけでなく労力と時間を多いに軽減することが可能になる。また、目視で出力結果データと仕様書を比較する必要がなくなるので、人為的ミスを防止してテスト品質を維持することが可能になる。
【００７９】
また、プログラム生成ツール３０４に機能追加等して仕様を一部変更した場合には、かかる仕様の変更が他の部分に影響を及ぼしていないかどうか再度テストを実行する必要がある。本実施形態に係る検査技法によれば、仕様変更をしていない箇所については、仕様変更前に実施したテストの出力期待値ファイルや出力結果ファイルをそのまま利用して仕様変更後のツールに対するテストを実行することができる。従って、仕様変更の際のテスト作業についても労力と時間を多いに軽減することが可能になる。
【００８０】
また、本実施形態に係る検査技法によれば、出力期待値と実行結果とをファイル単位で比較しているので、エラーの発生場所（バグが存在する場所）を容易に特定することができる。さらにまた、本実施形態では、テストプログラム、エラーメッセージおよびログを同じテキスト形式で出力しているので、ファイル形式に応じて実行結果比較手段１１５の構成を変更する必要がなく、効率的に検査を実行することが可能になる。
【００８１】
また、本実施形態に係る検査技法によれば、検査用入力条件ファイル、出力期待値ファイル、実行結果ファイルをテスト仕様書の検査番号に対応づけて管理しているので、テスト実行中にエラーが生じた場合にも、エラーの発生場所（バグが存在する場所）を容易に特定することができる。
【００８２】
（５）その他の実施の形態
【００８３】
なお、本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、上記フローチャート中の各工程（符号が付与されていない部分的な工程を含む）は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００８４】
上記実施形態では、出力期待値ファイルをユーザが設定する場合について説明したが、出力期待値ファイルの設定方法はこれに限られない。例えば、あるテストで得た出力結果ファイルを出力期待値ファイルとして設定し、この出力期待値ファイルを次のテストで使用するようにしてもよい。
【００８５】
また、上記実施形態では、テスト実行前に正常テストか異常テストかを判断する場合について説明したが、かかる判断を行わないように構成してもよい。例えば、図８に示す異常テスト処理の工程に従って検査番号順に正常テスト及び異常テスト処理を実行すれば、正常テストの場合はテストプログラムが実行結果として得られるので、ＳＴＥＰ２０７〜２１１において処理することができる。
【図面の簡単な説明】
【００８６】
【図１】本実施の形態に係るプログラム生成ツールを説明するための図である。
【図２】本実施の形態に係るツール検査装置１の機能構成を示す図である。
【図３】本実施の形態に係るツール検査装置１のハードウェア構成を示す図である。
【図４】本実施の形態に係るテスト仕様書の一例を示す図である。
【図５】本実施の形態に係る記憶手段１２のデータ構成の一例を示す図である。
【図６】本実施の形態に係る検査処理の手順を示すフローチャートである。
【図７】本実施の形態に係るツール検査装置１に表示された検査結果の一例を示す図である。
【図８】本実施の形態に係る検査処理の手順を示すフローチャートである。
【符号の説明】
【００８７】
１  ツール検査装置
１１  制御手段
１２  記憶手段
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  外部記憶装置
１０５  ユーザインタフェース
１０６  ディスプレイ
１０７  プリンタ
１０８  通信インタフェース
１１１  入力条件ファイル設定手段
１１２  出力期待値ファイル設定手段
１１３  プログラム生成ツール実行手段
１１４  実行結果ファイル格納手段
１１５  実行結果比較手段
１１６  検査結果出力手段
１２１  入出力条件ファイル記憶手段
１２２  結果ファイル記憶手段
１２３  プログラム記憶手段
１２３Ａ  検査プログラム
２０３  プログラム生成ツール
３０１  テストデータベースファイル
３０２  テストパラメータファイル
３０３  テストテンプレートファイル
３０４  プログラム生成ツール
３０４  プログラム生成ツール
３０５  メインファイル
３０５  検査プログラム
３０６  システム定義ファイル
３０７  グローバル定義ファイル
３０８  ソケット定義ファイル
３０９  エラーメッセージ
３１０  生成ログ
４０１  検査画面
４０２  検査結果表示領域
【図１】
2009181180.tif 000003
【図２】
2009181180.tif 000004
【図３】
2009181180.tif 000005
【図４】
2009181180.tif 000006
【図５】
2009181180.tif 000007
【図６】
2009181180.tif 000008
【図８】
2009181180.tif 000009
【図７】
2009181180.tif 000010