(57)【特許請求の範囲】
【請求項１】
処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、前記処理の単位に前記コーディング情報と前記設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納する設計情報取得手段と、
前記設計情報記憶手段に格納された、前記プログラムを構成する各処理に関する前記設計詳細情報に記載された前記コーディング情報と前記設計情報に基づいて、各処理に関するテスト情報を生成し、前記プログラムのテスト支援を行うテスト支援手段と
を備えたテスト支援装置。
【請求項２】
前記テスト支援手段は、
前記設計情報記憶手段に格納された、前記プログラムを構成する前記処理に関する前記設計詳細情報から、各処理を示す情報と、該処理に関する前記設計情報とを抽出し、該抽出した情報を対応付けて記載したテスト仕様書を生成するテスト仕様書生成手段を含む
請求項１記載のテスト支援装置。
【請求項３】
前記テスト支援手段は、
前記設計情報記憶手段に格納された、前記プログラムを構成する前記処理に関する前記設計詳細情報から、前記コーディング情報に含まれるテーブルの識別情報を抽出し、該抽出したテーブルの識別情報を選択可能に表示するテストデータ生成手段をさらに含む
請求項２記載のテスト支援装置。
【請求項４】
予め作成され、複数のプログラムにより参照される共通項目を記憶する共通項目記憶部から、前記プログラムの前記コーディング情報の受け付けの際に他のコードの入力操作とは異なる特定操作で入力された前記共通項目を、前記設計詳細情報に含めるプログラム開発支援手段をさらに備え、
前記テストデータ生成手段は、選択された前記テーブルの、前記設計詳細情報に記載された前記共通項目に関するテストデータの入力を受け付け、該入力されたテストデータを生成するスクリプトファイルを生成する
請求項３記載のテスト支援装置。
【請求項５】
前記テスト支援手段は、
テスト対象のプログラムに関する前記設計詳細情報の前記コーディング情報に含まれる出力テーブルの、前記設計詳細情報に含まれる前記共通項目の値を読み出して退避した後、前記プログラムを実行し、前記実行の結果得られた前記出力テーブルの前記共通項目の値と、前記退避した前記出力テーブルの前記共通項目の値とを含む実行結果を生成するテスト実行手段をさらに含む
請求項４記載のテスト支援装置。
【請求項６】
前記テスト支援手段は、
前記テスト仕様書生成手段が生成した前記テスト仕様書に記載された前記各処理を示す情報と、該処理に関する前記設計情報と、前記テスト実行手段により生成された前記実行結果と、を対応付けて記載したテスト結果報告書を生成するテスト結果報告書生成手段をさらに含む
請求項５記載のテスト支援装置。
【請求項７】
前記テスト仕様書生成手段は、前記処理が分岐処理である場合に、当該処理に含まれる分岐条件に基づいてテストパターンを生成すると共に、該テストパターンと、該テストパターンを適用した結果実行される内容とを対応付けて記載した前記テスト仕様書を作成する
請求項２乃至請求項６のいずれか１項記載のテスト支援装置。
【請求項８】
前記テスト実行手段は、前記プログラムの実行の結果得られた前記出力テーブルの前記共通項目の値と、前記退避した前記出力テーブルの前記共通項目の値とが異なる共通項目を、両者の値が一致する共通項目とは別の形態で表示する
請求項５または請求項６のいずれか１項記載のテスト支援装置。
【請求項９】
処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、前記処理の単位に前記コーディング情報と前記設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納し、
前記設計情報記憶手段に格納された、前記プログラムを構成する各処理に関する前記設計詳細情報に記載された前記コーディング情報と前記設計情報に基づいて、各処理に関するテスト情報を生成し、前記プログラムのテスト支援を行う
テスト支援方法。
【請求項１０】
処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、前記処理の単位に前記コーディング情報と前記設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納するステップと、
前記設計情報記憶手段に格納された、前記プログラムを構成する各処理に関する前記設計詳細情報に記載された前記コーディング情報と前記設計情報に基づいて、各処理に関するテスト情報を生成し、前記プログラムのテスト支援を行うステップとを
コンピュータに実行させるテスト支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの開発およびテストをサポートする技術に関する。
【背景技術】
【０００２】
バッチ処理システムは、複数の処理を担う複数のプログラムが所定の順序で実行されるシステムである。以下、これらのプログラムを「バッチプログラム」と称する。バッチプログラムの開発は、設計工程と製造工程とテスト工程の主に３つの工程に分けることができる。設計工程では、顧客の業務要件からシステム化することができる部分を抜き出し、プログラム作成に必要なプログラムの動作を記述した設計書が作成される。製造工程では、設計工程で作成された設計書を参照しながら、プログラムのコーディングが行われる。テスト工程では、製造工程で作成されたプログラムが設計書通りに動作するかどうかがテストされる。
【０００３】
バッチプログラムのテスト工程は、例えば、テスト仕様書の作成、テストデータの作成、プログラムの実行、実行結果の確認、テスト結果確証の保存等の工程を経て行われる。これらの工程を含むテスト作業は、煩雑であり手間と時間を要する。
【０００４】
また、上記テスト仕様書やテストデータは、通常は、プログラムの設計仕様書に基づいて、人手により作成される。よって、テスト品質は、作業者のスキルに依存すると共に、ばらつきが生じるケースが多い。したがって、属人的な要素に影響されることなくテスト品質を高めたいという要求は多い。
【０００５】
そこで、特許文献１には、プログラムの設計仕様書に基づいて、テスト仕様書とテストデータを自動的に生成することで、テスト仕様書とテストデータに対する属人的な要素の影響を抑える手法が開示されている。
【０００６】
また、特許文献２には、システムの保守性を確実に高めるよう、製造工程におけるプログラムの開発をサポートする技術が開示されている。
【０００７】
また、特許文献３には、書式の定まっていない設計仕様書に基づいてテスト仕様書の自動生成を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−２０４０６９号公報
【特許文献２】特開２０１５−０８４１４６号公報
【特許文献３】特開２００４−２６５３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、特許文献１には、プログラムの設計仕様書に基づいて、テスト仕様書とテストデータを自動的に生成する手法が開示されている。しかしながら、当該手法は、テンプレートをベースにした手法であるため、用意されたテンプレートに当てはまる構造のプログラムに適用範囲が限定されてしまうという課題がある。
【００１０】
また、特許文献２には、プログラム開発をサポートする技術は開示されるが、プログラムのテストを支援する技術については開示されていない。また、特許文献３には、クライアント／サーバシステムのＷｅｂアプリケーション等の画面系アプリケーションのテスト仕様書を作成する技術については開示されるが、バッチ系アプリケーションのテスト仕様書を作成する技術については開示されていない。
【００１１】
本願発明は、上記課題を鑑みてなされたものであり、様々な構造のプログラムのテストの効率化を支援することができるテスト支援装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１のテスト支援装置は、処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、前記処理の単位に前記コーディング情報と前記設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納する設計情報取得手段と、前記設計情報記憶手段に格納された、前記プログラムを構成する各処理に関する前記設計詳細情報に記載された前記コーディング情報と前記設計情報に基づいて、各処理に関するテスト情報を生成し、前記プログラムのテスト支援を行うテスト支援手段とを備える。
【００１３】
本発明の第１のテスト支援方法は、処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、前記処理の単位に前記コーディング情報と前記設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納し、前記設計情報記憶手段に格納された、前記プログラムを構成する各処理に関する前記設計詳細情報に記載された前記コーディング情報と前記設計情報に基づいて、各処理に関するテスト情報を生成し、前記プログラムのテスト支援を行う。
【００１４】
なお同目的は、上記の各構成を有するテスト支援方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１５】
本願発明によれば、様々な構造のプログラムのテストの効率化を支援することができるという効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態にかかるプログラム開発システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態にかかるプログラム開発システムのプログラム開発支援装置の詳細な構成を示すブロック図である。
【図３】本発明の第１の実施形態のプログラム開発支援装置が表示するプログラム開発画面に表示される設計情報入力画面イメージの一例を示す図である。
【図４】本発明の第１の実施形態のプログラム開発支援装置の設計情報取得部が生成した、通常処理に関する設計詳細情報を示す。
【図５】本発明の第１の実施形態のプログラム開発支援装置の設計情報取得部が生成した、入力処理に関する設計詳細情報を示す。
【図６】本発明の第１の実施形態のプログラム開発支援装置の設計情報取得部が生成した、マスタ参照処理に関する設計詳細情報を示す。
【図７】本発明の第１の実施形態のプログラム開発支援装置の設計情報取得部が生成した、出力処理に関する設計詳細情報を示す。
【図８】本発明の第１の実施形態のプログラム開発支援装置のテスト仕様書生成部がテスト仕様書を生成する動作を説明する図である。
【図９】本発明の第１の実施形態のプログラム開発支援装置のテスト仕様書生成部が生成する分岐条件に対するテスト仕様書の例を示す図である。
【図１０】本発明の第１の実施形態のプログラム開発支援装置のプログラム開発画面に表示されるテストデータ入力画面の一例を示す図である。
【図１１】本発明の第１の実施形態のプログラム開発支援装置のプログラム開発画面に表示されるテストデータ入力画面の具体的な画面イメージの一例を示す図である。
【図１２】本発明の第１の実施形態のプログラム開発支援装置のプログラム実行・結果確認サポート機能の処理の流れを示すフローチャートである。
【図１３】本発明の第１の実施形態のプログラム開発支援装置の設計リポジトリに記録された設計詳細情報を示す図である。
【図１４】本発明の第１の実施形態のプログラム開発支援装置が表示する結果確認画面の一例を示す図である。
【図１５】本発明の第１の実施形態のプログラム開発支援装置のテスト結果報告書生成部がテスト結果報告書を作成する動作を説明する画面イメージである。
【図１６】本発明の第２の実施形態にかかるテスト支援装置の構成を示すブロック図である。
【図１７】各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、図面における矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００１８】
第１の実施形態
図１は、本発明の第１の実施の形態に係るプログラム開発システム１の構成を示すブロック図である。プログラム開発システム１は、例えばバッチ処理システムを構成する複数のバッチプログラムを開発するコンピュータであり、ユーザ・インタフェース（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ：ＵＩ）１０とプログラム開発支援装置２０とを備える。なお、図１において、本発明の技術を説明する上で必要な機能ブロックのみを示し、この種のシステムに通常備えられる他の構成要素については、省略している。
【００１９】
ＵＩ１０は、プログラムの開発者が設計情報やコーディング情報等を入力するキーボード、マウスなどの入力手段や、モニタ（画面）などの表示手段を含む。
【００２０】
プログラム開発支援装置２０は、プログラムの開発およびプログラムテストの効率化を支援する装置である。ＵＩ１０は、図１に示すようにプログラム開発支援装置２０の外部に接続されてもよいし、内部に設けられてもよい。
【００２１】
プログラム開発支援装置２０は、プログラム開発支援部２１およびテスト支援部２２を備えている。プログラム開発支援部２１は、共通項目記憶部２３および利用履歴記憶部２４を備え、バッチプログラムのコーディング時に、複数のバッチプログラム間の共通項目の入力を効率化すると共に、開発したバッチ処理システムの保守性を高める機能を有する。
【００２２】
テスト支援部２２は、プログラム開発支援部２１を用いて作成されたプログラムが設計書通りに動作するかどうかのテストを支援する機能を有する。
【００２３】
なお、プログラム開発支援部２１は、ユーザが作成した仕様記述（以降、「設計情報」とも称する）に基づいてほぼ自動的にプログラムのソースコードを生成する機能を有し、この機能については、例えば特許文献２に記載されたものを用いる。また、プログラム開発支援部２１は、共通項目についても、ユーザが作成した仕様書や定義書などに基づいて自動的に生成可能である。以下の説明では、プログラム開発支援部２１によるプログラム開発支援に関する詳細な説明は省略し、テスト支援部２２と、それに関連するプログラム開発支援部２１の構成および動作について説明する。
【００２４】
図２は、図１に示すプログラム開発支援装置２０の詳細な構成を示すブロック図である。図２に示すように、プログラム開発支援装置２０は、ＵＩ制御部１０３、設計リポジトリ入出力部１０４、共通項目定義生成部１１２、データベーススキーマ情報１１３、ファイル仕様書１１４、設計リポジトリ１１５、共通項目定義１１６およびテスト支援部１３０を備える。
【００２５】
設計リポジトリ１１５は、共通項目１２１、利用履歴１２２、設計情報１２３およびテスト情報１２４を記憶する。共通項目１２１、利用履歴１２２は、それぞれ特許文献２に記載の共有項目記憶部、利用履歴記憶部が格納する情報と同様の情報を格納する。設計情報１２３と、テスト情報１２４は、プログラムの設計情報と、プログラムのテストに関する情報をそれぞれ格納する。
【００２６】
テスト支援部１３０は、設計情報取得部１３１、テスト仕様書生成部１３２、テストデータ生成部１３３、テスト実行部１３４およびテスト結果報告書生成部１３５を備える。
【００２７】
各構成要素の概要について説明する。
【００２８】
共通項目定義生成部１１２は、データベーススキーマ情報１１３とファイル仕様書１１４とを基に共通項目定義１１６を生成する。
【００２９】
ＵＩ制御部１０３は、図１に示したＵＩ１０を制御する機能を有する。具体的には、例えば、ＵＩ制御部１０３は、ユーザの指示に応じて、設計情報１５１、コーディング情報１５２および共通項目定義１１６を取得すると、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５に格納する。また、ＵＩ制御部１０３は、ユーザの指示に応じて、テスト情報１５３を取得してテスト支援部１３０に通知すると共に、テスト支援部１３０から取得した情報をＵＩ１０（画面）に表示等する。
【００３０】
設計リポジトリ入出力部１０４は、ＵＩ制御部１０３から入力された設計情報１５１、コーディング情報１５２、共通項目定義１１６等を、プログラムを構成する処理の単位に関連づけて設計リポジトリ１１５に記録する。
【００３１】
テスト支援部１３０は、本実施形態に係るプログラム開発支援装置２０により生成されたプログラムのテスト支援を行う。ここで、プログラム開発支援装置２０により生成されるプログラムは、処理の単位で分割されてコーディングされる。処理の単位とは、例えば、入力処理、参照処理、出力処理など、１つの意味のある動作を実行するためのまとまった記述である。
【００３２】
テスト支援部１３０の設計情報取得部１３１は、ＵＩ制御部１０３からバッチプログラムの処理の単位で呼び出される。呼び出されると、設計情報取得部１３１は、その処理を実行するプログラムのコーディング情報と仕様記述（設計情報）の入力を、ユーザから受け付ける画面を、ＵＩ制御部１０３を介してＵＩ１０に表示する。設計情報取得部１３１はまた、ユーザから入力されたコーディング情報と設計情報を、ＵＩ制御部１０３を介して取得すると、設計リポジトリ入出力部１０４を介して、それらを処理の単位で設計リポジトリ１１５に記録する。
【００３３】
テスト仕様書生成部１３２は、上記のように取得されたプログラムの設計情報に基づいて、テスト仕様書１４１を生成する。
【００３４】
テストデータ生成部１３３は、ユーザの指示に応じてＵＩ制御部１０３から呼び出されると、設計リポジトリ入出力部１０４を介して、テストデータとして作成する必要がある項目を設計リポジトリ１１５から取得する（詳細は後述する）。そして、テストデータ生成部１３３は、ユーザからテストデータを受け付ける画面を、ＵＩ制御部１０３を介してＵＩ１０に表示する。テストデータ生成部１３３はまた、ユーザから入力された情報に基づいて、テストデータ１４２を生成する。
【００３５】
テスト実行部１３４は、ユーザの指示に応じてＵＩ制御部１０３から呼び出されると、プログラム実行と結果確認に必要な情報を、設計リポジトリ入出力部１０４を介して、設計リポジトリ１１５から取得する。そして、テスト実行部１３４は、取得した情報に基づいて、テスト対象のプログラムの実行とプログラム実行前後のデータ比較結果（新旧データ比較表１４３）の生成を行う。テスト実行部１３４は、上記データ比較結果を、ＵＩ制御部１０３を介してＵＩ１０に表示する。
【００３６】
テスト結果報告書生成部１３５は、ユーザの指示に応じてＵＩ制御部１０３から呼び出されると、テスト結果報告に必要な情報を、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５から取得する。そして、テスト結果報告書生成部１３５は、取得した情報を基にテスト結果報告書１４４を生成する。
【００３７】
設計リポジトリ入出力部１０４は、ＵＩ制御部１０３、設計情報取得部１３１、テスト仕様書生成部１３２、テストデータ生成部１３３、テスト実行部１３４およびテスト結果報告書生成部１３５から呼び出され、プログラムを構成する処理の単位に、設計リポジトリ１１５に対して設計情報、テスト情報等の出力（記録）と参照を行う。
【００３８】
なお、図１に示したテスト支援部２２は、主に、図２に示すテスト支援部１３０、ＵＩ制御部１０３、設計リポジトリ入出力部１０４、設計リポジトリ１１５、およびテスト支援部１３０が生成するテスト仕様書１４１、テストデータ１４２、新旧データ比較表１４３およびテスト結果報告書１４４を含む。
【００３９】
本実施形態に係るプログラム開発支援装置２０は、特許文献２に記載されたプログラム開発サポート装置の機能に加えて、主に下記の５つの機能を有する。
【００４０】
＜第１の機能：設計情報入力機能＞
バッチプログラムの処理の単位に、設計情報の入力を受け付ける機能。
【００４１】
＜第２の機能：テスト仕様書生成機能＞
設計情報入力機能により入力を受け付けた設計情報に基づいて、テスト仕様書を生成する機能。
【００４２】
＜第３の機能：テストデータ入力機能＞
テストデータの入力を受け付ける機能。
【００４３】
＜第４の機能：プログラム実行・結果確認サポート機能＞
テスト対象のプログラムの実行と、実行結果の確認を支援する機能。
【００４４】
＜第５の機能：テスト結果報告書生成機能＞
テストの実行結果に基づいて、テスト結果報告書を生成する機能。
【００４５】
以下において、この５つの機能に重点をおいて説明する。
＜設計情報入力機能＞
まず、本第１の実施形態に係るプログラム開発支援装置２０の設計情報入力機能について説明する。
【００４６】
図３は、本第１の実施形態のプログラム開発支援装置２０がＵＩ１０に表示するプログラム開発画面２００に含まれる設計情報入力イメージの一例を示す図である。プログラム開発支援装置２０は、プログラム開発画面２００を表示すると共に、その画面に入力される情報を取得して、プログラム開発を効率的に行う支援をする。プログラム開発画面２００は、プログラム構造を定義するプログラムフロー図エリア２０１と、共通項目を表示する共通項目一覧エリア２０２を備える。
【００４７】
プログラムのコーディングを行う際、ユーザ（開発者）は、まず、図３のプログラムフロー図エリア２０１においてプログラムを処理単位（ノード）に分割し、ノードを用いてツリー形式でプログラム構造を組み立てる。各ノードの中身のコーディングについては、各ノードタイプ別に入力画面が用意される。
【００４８】
本実施形態では、各ノードの中身のコーディングの入力画面に、仕様記述（設計情報）の入力欄も設ける。具体的には、ユーザが、ノードの中身のコーディングをする際に、プログラムフロー図エリア２０１における各ノードをクリックすると、ＵＩ制御部１０３は、当該クリックを検出し、ノードがクリックされたことを設計情報取得部１３１に通知する。設計情報取得部１３１は、当該通知に応じて、クリックされた処理に対応する画面を（処理単位で）新規ウインドウとして表示する。例えば、プログラムフロー図エリア２０１における「処理Ａ」がクリックされると、設計情報取得部１３１は、「仕様記述」と「ソースコード記述」の各入力欄を備えた画面３００を、ＵＩ制御部１０３を介してＵＩ１０に表示する。
【００４９】
同様に、プログラムフロー図エリア２０１における「入力処理」、「マスタ参照処理」、「出力処理」がクリックされると、設計情報取得部１３１は、それぞれ画面３０１、３０２、３０３を、ＵＩ制御部１０３を介してＵＩ１０に表示する。図３における画面３００、３０１、３０２は、特許文献２に記載の機能に加えて、「仕様記述」の入力欄を有する。画面３０３は、特許文献２に記載の機能に加えて、「仕様入力ボタン」を有する。仕様入力ボタンがクリックされると、設計情報取得部１３１は、画面３０４に示す「出力処理仕様記述」入力欄を、ＵＩ制御部１０３を介してＵＩ１０に表示する。
【００５０】
ユーザは、上述した「仕様記述」の入力欄に、当該処理に関する設計情報を書き込む。
【００５１】
図４は、図３に示す「処理Ａ」に関して画面３００から入力された情報から設計情報取得部１３１が生成した、通常処理に関する設計詳細情報３１０を示す。図４に示すように、本実施形態では、設計詳細情報３１０は、符号３１１で示す情報を特許文献２に記載の情報に加えて有する。
【００５２】
設計詳細情報３１０には、設計情報３１２が含まれる。すなわち、本実施形態によれば、コーディング情報３１４と設計情報３１２とが処理単位に関連付けられて設計詳細情報３１０に記載される。符号３１１で示す情報には、また、テスト情報が含まれる。テスト情報には、入力テストデータの値、出力テストデータの値、テスト結果の値が、それぞれ記載される（詳細は後述する）。
【００５３】
同様に、図５、図６および図７は、それぞれ、図３に示す「入力処理」、「マスタ参照処理」および「出力処理」に関して、画面３０１、３０２および３０４に入力された情報から得られた設計詳細情報３２０、３３０および３４０を示す。設計詳細情報３２０、３３０および３４０は、それぞれ符号３２１、３３１および３４１に示す情報を、特許文献２に記載の情報に加えて有する。
【００５４】
設計情報取得部１３１により生成された設計詳細情報３２０、３３０、３４０により、それぞれコーディング情報と設計情報３２２、３３２、３４２とが処理単位に関連付けられている。
【００５５】
図５乃至図７に示すように、テスト情報は、入力項目３２３、参照項目３３３、出力項目３４３の項目名等を含んでもよい。これらの項目名は、コーディングの際に図１に示したプログラム開発支援部２１により記載される。すなわち、プログラム開発支援部２１は、入力処理、参照処理、出力処理等のコーディングの際、入力テーブル等のテーブルの項目を、特許文献２に記載の共通項目を特定させる仕組みであるドラッグアンドドロップ操作により入力された場合、設計詳細情報３２０、３３０、３４０におけるテスト情報の記録エリアに、その項目を記載する。
【００５６】
設計情報取得部１３１は、図４乃至図７に示すように生成した設計詳細情報３１０、３２０、３３０、３４０を、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５に記録する。以上の処理により、プログラムを構成する処理の単位で設計情報を取得することができる。
【００５７】
＜テスト仕様書生成機能＞
次に、プログラム開発支援装置２０のテスト仕様書生成機能について説明する。
【００５８】
図８は、プログラム開発支援装置２０におけるテスト仕様書生成部１３２がテスト仕様書を生成する動作を説明する図である。ここでは、図８のプログラムフロー図エリア４００に記載した構造のプログラムに関するテスト仕様書の生成について説明する。画面４０１乃至４０６を介して入力された情報に基づいて、上記設計情報入力機能の説明において示したように設計詳細情報が生成され、設計リポジトリ１１５に記録されているとする。
【００５９】
テスト仕様書生成部１３２は、所定のタイミングでテスト仕様書の生成を開始する。例えばテスト仕様書生成部１３２は、ユーザからの指示に基づいてテスト仕様書の生成を開始してもよいし、上記のように生成された設計詳細情報が設計リポジトリ１１５に記録されたタイミングでテスト仕様書の生成を開始してもよい。
【００６０】
テスト仕様書生成部１３２は、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５から設計詳細情報を読み出し、図８に示すようなテスト仕様書４５０を生成する。図８に示すように、テスト仕様書４５０は、テスト項目４５１と想定される結果４５２とを含む。テスト仕様書生成部１３２は、プログラムフロー図エリア４００に入力された処理名４１０と、上述のように処理単位で画面４０１乃至４０６に入力された仕様記述とが記載された設計詳細情報から、処理名と仕様記述（設計情報）とを抽出し、それぞれテスト項目４５１と想定される結果４５２にマッピングすることにより、テスト仕様書を生成する。
【００６１】
ここで、テスト仕様書生成部１３２は、プログラムに分岐処理が含まれる場合、分岐条件を解析してテストパターンを洗い出すと共に、テスト仕様書４５０にテストパターンを挿入する。
【００６２】
例えば図８には、画面４０３に分岐条件「Ｃ＝１００」を示す。このとき、テスト仕様書生成部１３２は、条件式に適用した結果が真になるパターンと偽になるパターン、すなわち、図８の符号４５３に示すように、「Ｃ＝１００」と「Ｃ＜＞１００」をテスト項目として生成する。そして、それぞれ「ＹＥＳの処理がされる」と「ＮＯの処理がされる」を想定される結果として生成する。なお、分岐条件は、解析し易くするため等号記号（＝、≠）と不等号記号（＞、＜、≧、≦）を使用して入力するルールを適用しても用いてもよい。また、分岐条件が複数の条件式からなる場合は、分岐条件を論理演算子（ＡＮＤ、ＯＲ、ＮＯＴ）を使用して入力するルールを適用しても用いてもよい。
【００６３】
図９は、複数の条件式からなる分岐条件に対するテスト仕様書の例を示す図である。図９（ａ）は、分岐条件が「Ａ＝１  ＡＮＤ  Ｂ＝１」である場合を示す。「Ａ＝１」を条件１、「Ｂ＝１」を条件２と称する。テスト仕様書生成部１３２は、条件１と条件２の結果がそれぞれ真と偽になる組合せのパターンを洗い出し、テストパターン４６０に示すようなマトリックス表を生成する。そして、テスト仕様書生成部１３２は、条件１と条件２の組合せのパターンをテスト仕様書４６１の「テスト項目」に、各パターンを適用した結果実行される処理（内容）を「想定される結果」に、それぞれマッピングすることにより、分岐処理に関するテスト仕様書を生成する。テストパターン４６０とテスト仕様書４６１は、分岐条件を論理演算子ＡＮＤを使用して入力した場合のサンプルである。
【００６４】
図９（ｂ）は、分岐条件が「Ａ＝１  ＯＲ  Ｂ＝１」である場合、すなわち、論理演算子ＯＲを使用して入力した場合のテストパターン４７０とテスト仕様書４７１のサンプルを示す。図９（ｂ）についても図９（ａ）の場合と同様に、テスト仕様書生成部１３２は、条件１と条件２の組合せのパターンをテスト仕様書４７１の「テスト項目」に、各パターンを適用した結果実行される処理を「想定される結果」に、それぞれマッピングする。これにより、分岐処理に関するテスト仕様書が生成される。
【００６５】
以上のように、テスト仕様書生成部１３２によりテスト仕様書１４１が生成される。テスト仕様書生成部１３２は、テスト仕様書１４１をファイルとして生成してもよい。
【００６６】
＜テストデータ入力機能＞
次に、プログラム開発支援装置２０のテストデータ入力機能について説明する。
【００６７】
図１０は、プログラム開発画面２００にテストデータ入力画面５００が表示されるイメージを示す図である。テストデータ入力画面５００は、テストデータ生成部１３３によりＵＩ制御部１０３を介してＵＩ１０に表示される。テストデータ生成部１３３は、例えば、テスト仕様書生成部１３２によるテスト仕様書の生成が終了し、ユーザからプログラムフロー図エリア２０１における各ノードがクリックされると、テストデータ生成指示を受けたと判断し、ＵＩ制御部１０３を介してＵＩ１０にテストデータ入力画面５００を表示してもよい。あるいは、テストデータ生成部１３３は、図示しないテストメニュー画面をＵＩ１０に表示して、ユーザからテストデータ生成指示を受け付けてもよい。
【００６８】
図１１は、図１０に示したテストデータ入力画面５００の具体的な画面イメージの一例を示す図である。図１１に示すように、テストデータ入力画面５００は、仕様記述表示エリア５１０、入力データエリア５２０および参照データエリア５３０を含む。
【００６９】
仕様記述表示エリア５１０は、テストデータ作成の要件となる各ノードの仕様記述を表示するエリアである。入力データエリア５２０は、プログラムに入力するテストデータに関する情報の入力を受け付けるエリアであり、プルダウンメニュー５２１、テストデータ入力エリア５２２、出力先フィールド５２３および生成ボタン５２４を含む。
【００７０】
参照データエリア５３０は、プログラムが参照するテストデータに関する情報の入力を受け付けるエリアであり、プルダウンメニュー５３１、テストデータ入力エリア５３２、出力先フィールド５３３および生成ボタン５３４を含む。
【００７１】
テストデータ生成部１３３は、ＵＩ制御部１０３からテストデータ生成指示を受けると、以下の処理を行う。すなわち、まず、テストデータ生成部１３３は、テストデータ生成指示を受けた処理名に関する設計情報を、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５から読み出す。そして、テストデータ生成部１３３は、読み出した設計情報を仕様記述表示エリア５１０に表示したテストデータ入力画面５００を表示する。
【００７２】
また、テストデータ生成部１３３は、設計リポジトリ入出力部１０４を介して設計リポジトリ１１５から、そのプログラムを構成する全処理に関する設計詳細情報を順次読み出し、ノードタイプが「入力処理」である設計詳細情報に含まれる入力テーブルの値（識別情報）（例えば図５に符号３２４で示す）を、プルダウンメニュー５２１にセットする。これにより、ユーザは、プルダウンメニュー５２１から入力データ（入力テーブル）を選択可能となる。
【００７３】
ユーザがプルダウンメニュー５２１から入力テーブルを選択すると、テストデータ生成部１３３は、選択された入力テーブルに含まれる入力項目をテストデータ入力エリア５２２に表示する。このとき、テストデータ生成部１３３は、プルダウンメニューから選択されたテーブル名が記録されている設計詳細情報の「入力項目」（例えば図５に符号３２３で示す）に記録されている項目のみを表示してもよい。これにより、その処理で利用されている項目に限定してテストデータの入力を受け付けることができる。ユーザは、テストデータ入力エリア５２２の入力項目に、所望のテストデータを入力し、出力先フィールド５２３に出力先を指定して、生成ボタン５２４を押下する。
【００７４】
ＵＩ制御部１０３は、生成ボタン５２４が押下されたことを検出すると、その旨をテストデータ生成部１３３に通知する。テストデータ生成部１３３は、上記通知に応じて、上記入力されたテストデータを生成するテストデータ生成スクリプトを生成する。そして、テストデータ生成部１３３は、設計リポジトリ入出力部１０４を介して、設計リポジトリ１１５に記憶される設計詳細情報におけるテスト情報記載エリア（例えば図４に符号３１３で示す）の「入力テストデータ」の値として、生成したスクリプトファイル名を記録する。
【００７５】
同様に、テストデータ生成部１３３は、ノードタイプが「マスタ参照処理」である設計詳細情報から、上記のように入力テーブルの値を読み出してプルダウンメニュー５３１にセットする。テストデータ入力エリア５３２に表示する項目についても、上記と同様である。
【００７６】
以上の動作により、テストデータ生成部１３３は、テストデータを生成する。テストデータの生成に際し、ユーザは、入力テーブルの全項目を意識することなく、プログラムで利用されている項目のみに関してテストデータを登録できるので、効率的にテストデータ作成を行うことができる。
【００７７】
＜プログラム実行・結果確認サポート機能＞
次に、プログラム開発支援装置２０のテスト対象プログラムの実行と結果確認のサポート機能について説明する。
【００７８】
プログラム開発支援装置２０は、例えばプログラム開発画面２００にテスト実行指示ボタンを追加してＵＩ１０に表示することにより、ユーザからテスト実行指示を受け付けてもよい。あるいは、テスト実行部１３４は、図示しないテストメニュー画面をＵＩ１０に表示しして、ユーザからテスト実行指示を受け付けてもよい。テスト実行指示を受けると、ＵＩ制御部１０３は、テスト実行部１３４にテスト実行を指示する。テスト実行部１３４は、上記指示に応じて、テスト対象のプログラムを実行する。
【００７９】
図１２は、プログラム実行・結果確認サポート機能の処理の流れを示すフローチャートである。また、図１３は、設計リポジトリ１１５に記録された、テスト情報を含む設計詳細情報６００の一例を示す図である。図１３に示すように、設計詳細情報６００は、例えばノード００１乃至ノード００６からなるプログラムに関する設計情報、テスト情報等が記載された設計詳細情報である。図１２および図１３を参照して、プログラム開発支援装置２０のプログラム実行・結果確認サポート機能について説明する。
【００８０】
テスト実行部１３４は、プログラムのテスト実行指示に応じて、まず、設計リポジトリ入出力部１０４を介して、設計リポジトリ１１５に記憶されるそのプログラムの設計詳細情報６００の記載から、ノードタイプ「出力処理」の出力テーブル６０１の値と、出力項目６０２の値を取得する（Ｓ１０１）。そして、テスト実行部１３４は、取得した値をメモリに退避する（Ｓ１０２）。
【００８１】
続いて、テスト実行部１３４は、設計詳細情報６００の記載を順番に検索し、「入力テストデータ」のファイル名を取得する（Ｓ１０３）。入力テストデータファイルが記載されている場合（例えば入力テストデータ６０３）（Ｓ１０４においてＹｅｓ）、上述のように退避した出力テーブル６０１の出力項目６０２の値をバックアップして（Ｓ１０５）、上記取得した入力テストデータをセットして、プログラムを実行する（Ｓ１０６）。
【００８２】
テスト実行部１３４は、プログラムの実行後、バックアップした出力テーブルの出力項目の値と、プログラム実行後の対応する値との比較表を生成し、新旧データ比較表１４３を出力する（Ｓ１０７）。そして、テスト実行部１３４は、設計詳細情報６００のテスト情報記載エリアの出力テストデータの値（例えば図１３の符号６０４で示す）に、生成したファイル名を記録する（Ｓ１０８）。
【００８３】
続いて、設計詳細情報６００に次のノードに関する記載がある場合（Ｓ１０９においてＹｅｓ）、テスト実行部１３４は、そのノードに関する設計詳細情報６００を参照すると共に（Ｓ１１０）、処理をＳ１０４に戻す。テスト実行部１３４は、上記一連の処理を、全ノードに関する設計詳細情報６００について繰り返す。テスト実行部１３４は、全ノードの処理完了後（Ｓ１０９においてＮｏ）、結果確認画面を表示する（Ｓ１１１）。
【００８４】
図１４は、テスト実行部１３４により表示される結果確認画面６１０の一例を示す図である。図１４に示すように、テスト実行部１３４は、結果確認画面６１０に、例えばテスト項目６１１、想定される結果６１２、ＯＫ／ＮＧ６１３および確証６１４の各エリアを表示する。テスト項目６１１は、図８のテスト仕様書４５０に含まれるテスト項目４５１にしたがってテストされた処理名である。想定される結果６１２は、テスト仕様書４５０に含まれる想定される結果４５２に対応する情報である。ＯＫ／ＮＧ６１３は、テスト結果を示し、初期表示の時点では空欄である。確証６１４は、入力データのファイル名と、出力結果を含むファイル名とを含む。入力データのファイル名と出力結果を含むファイル名は、設計詳細情報６００から抽出されて表示される。
【００８５】
入力データのファイル名と出力結果を含むファイル名がクリックされると、それぞれ入力データ確認画面６２０と出力結果確認画面６３０が表示される。具体的には、入力データのファイル名と出力結果を含むファイル名がクリックされると、ＵＩ制御部１０３はそれを検出すると共に、その旨をテスト実行部１３４に通知する。テスト実行部１３４は、入力データのファイル名がクリックされた通知に応じて、入力データ確認画面６２０を表示する。テスト実行部１３４は、出力結果を含むファイル名がクリックされた通知に応じて、出力結果確認画面６３０を表示する。
【００８６】
テスト実行部１３４は、設計詳細情報６００のテスト情報記載エリアの「入力テストデータ」に記載されているファイルに基づいて入力テストデータを取得して、その内容を入力データ確認画面６２０に表示する。テスト実行部１３４はまた、図１２の処理Ｓ１０７において生成した新旧データ比較表から、テスト実行後のデータを読み出して、出力結果確認画面６３０における該当する項目の「新」欄に表示する。またテスト実行部１３４は、新旧データ比較表から、テスト実行前のデータを読み出して、出力結果確認画面６３０における該当する項目の「旧」欄に表示する。
【００８７】
テスト実行部１３４はさらに、上記項目の「新」欄と「旧」欄の値の、テスト実行前後の状態も表示する。すなわち、「新」欄と「旧」欄の値が一致している場合は「一致」、一致していない場合は「不一致」と表示する。また、テスト実行後にデータが追加されている場合は「追加」、削除されている場合は「削除」を表示する。
【００８８】
テスト実行部１３４は、出力結果確認画面６３０の符号６３１、６３２に示すような、テスト実行前後で項目の値が変化している欄を、網掛け表示する等、ユーザが変化箇所を容易に特定できるように、テスト実行前後で項目の値が変化していない欄とは別の形態で表示してもよい。ユーザは、出力結果確認画面６３０を確認して、プログラムの実行結果に問題が無ければ、その結果を結果確認画面６１０のＯＫ／ＮＧ６１３欄に入力する。テスト実行部１３４は、入力を受け付け、設計詳細情報６００のテスト情報記載エリアの「テスト結果」のＯＫ／ＮＧを記録する。これにより、テスト項目とテスト結果が容易に紐づけられる。
【００８９】
以上のように、テスト実行部１３４は、テスト対象のプログラムを実行すると共に、プログラム実行前後の出力データに関する新旧データ比較表を生成してＵＩ１０に表示する。これにより、テスト結果の確認箇所を容易に特定できるようにユーザにテスト結果を提供するので、テスト作業が大幅に効率化できる。
【００９０】
＜テスト結果報告書生成機能＞
次に、プログラム開発支援装置２０のテスト結果報告書生成機能について説明する。
【００９１】
プログラム開発支援装置２０は、例えばプログラム開発画面２００にテスト結果報告書生成指示ボタンを追加してＵＩ１０に表示することにより、ユーザからテスト結果報告書生成指示を受け付けてもよい。あるいは、テスト結果報告書生成部１３５は、図示しないテストメニュー画面をＵＩ１０に表示して、ユーザからテスト結果報告書生成指示を受け付けてもよい。テスト結果報告書生成指示を受けると、ＵＩ制御部１０３は、テスト結果報告書生成部１３５にテスト結果報告書生成を指示する。テスト結果報告書生成部１３５は、上記指示に応じて、テスト結果報告書を作成する。
【００９２】
図１５は、テスト結果報告書生成部１３５が図４に示した設計詳細情報３１０に基づいてテスト結果報告書１４４を作成する動作を説明する図である。テスト結果報告書１４４は、例えば、図１４の結果確認画面６１０に示した「テスト項目」、「想定される結果」、「ＯＫ／ＮＧ」および「確証」の各項目を保持する。確証は、例えば、「入力データ」と「新旧比較結果」の各項目を保持する。
【００９３】
テスト結果報告書生成部１３５は、図１５の矢印で示されるように、設計詳細情報３１０の記載をテスト結果報告書１４４にマッピングする。すなわち、テスト結果報告書生成部１３５は、設計詳細情報３１０に記載のノード名３１９、設計情報３１５、テスト結果３１８の各値を、それぞれテスト結果報告書１４４の「テスト項目」、「想定される結果」、「ＯＫ／ＮＧ」の各項目にマッピングする。また、テスト結果報告書生成部１３５は、設計詳細情報３１０に記載の入力テストデータ３１６、出力テストデータ３１７の各値を、それぞれ「確証」の「入力データ」、「新旧比較結果」の各項目にマッピングする。以上のように、テスト結果報告書生成部１３５は、テスト対象のプログラムの実行結果に基づいて、テスト結果報告書１４４を作成することができる。
【００９４】
以上のように、本第１の実施形態によれば、設計情報取得部１３１は、プログラムを構成する処理の単位で設計情報を取得して詳細設計情報を生成し、設計リポジトリ１１５に格納する。テスト仕様書生成部１３２は、設計リポジトリ１１５に格納された詳細設計情報に基づいて処理の単位でテスト項目を生成し、テスト仕様書１４１に反映する。これにより、本第１の実施形態によれば、様々な構造のプログラムについて、処理の単位でテスト仕様書１４１を自動的に生成できるので、様々な構造のプログラムについて柔軟にテストの効率化を支援できるという効果が得られる。また、本第１の実施形態によれば、設計情報とテスト項目が１対１の関係となるので、テスト漏れを防ぐことができる。
【００９５】
また、テスト仕様書生成部１３２は、分岐処理について、分岐条件を解析して自動的にテストパターンを生成するので、テスト仕様書１４１の作成を効率化するとともに、テスト仕様書１４１の品質を高めることができるという効果が得られる。
【００９６】
また、プログラム開発支援部２１は、上記詳細設計情報に、その処理で利用される入出力テーブルの項目名を記載し、テストデータ生成部１３３は、詳細設計情報に記載された項目のテストデータのみを受け付ける。したがって、本第１の実施形態によれば、入出力テーブルの全項目のテストデータを生成する必要がないので、効率的にテストデータが作成できるという効果が得られる。
【００９７】
さらに、テスト実行部１３４は、設計リポジトリ１１５に格納された詳細設計情報に基づいて、テスト対象のプログラムを実行すると共に、プログラム実行前後の出力データに関する比較結果を生成する。したがって、本第１の実施形態によれば、属人的な作業を削減できテスト品質を向上できると共に、テスト工数を大幅に低減できるという効果が得られる。
【００９８】
さらに、本第１の実施形態によれば、設計リポジトリ１１５に格納する詳細設計情報により、プログラムの処理の単位で、テスト項目とテストデータとテスト結果を管理するので、テストに関する情報の関連性が明確になる。よって、作業者はテスト項目とテストデータとテスト結果の紐づけが不要となるので、テスト作業がさらに効率化できるという効果が得られる。
【００９９】
第２の実施形態
図１６は、本発明の第２の実施の形態に係るテスト支援装置７００の構成を示すブロック図である。図１６に示すように、テスト支援装置７００は、設計情報取得部７１０とテスト支援部７２０を備える。
【０１００】
設計情報取得部７１０は、処理の単位に分割されてコーディングされるプログラムの、当該処理に関するコーディング情報の入力と設計情報の入力を受け付け、処理の単位にコーディング情報と設計情報とを関連付けて記載した設計詳細情報を生成すると共に、該設計詳細情報を設計情報記憶手段に格納する。
【０１０１】
テスト支援部７２０は、設計情報記憶手段に格納された、プログラムを構成する各処理に関する設計詳細情報に記載されたコーディング情報と設計情報に基づいて、各処理に関するテスト情報を生成し、プログラムのテスト支援を行う。なお、設計情報取得部７１０は、上記第１の実施形態における設計情報取得部１３１を含み、テスト支援部７２０は、同じくテスト仕様書生成部１３２、テストデータ生成部１３３、テスト実行部１３４およびテスト結果報告書生成部１３５を含む。
【０１０２】
上記構成を採用することにより、本第２の実施形態によれば、プログラムの処理の単位で設計情報を取得すると共に、その設計情報に基づいてテスト情報を生成するので、様々な構造のプログラムのテストの効率化を支援することができるという効果が得られる。
【０１０３】
＜ハードウェア構成例＞
上述した各実施形態において図１および図２に示した各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、少なくとも、プログラム開発支援部２１、テスト支援部２２、ＵＩ制御部１０３、設計リポジトリ入出力部１０４、設計情報取得部１３１、テスト仕様書生成部１３２、テストデータ生成部１３３、テスト実行部１３４およびテスト結果報告書生成部１３５は、ソフトウェアプログラムの機能単位（ソフトウェアモジュール）と捉えることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１７を参照して説明する。
【０１０４】
図１７は、本発明の模範的な実施形態に係るプログラム開発支援装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。すなわち、図１７は、図１および図２に示したプログラム開発支援装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０１０５】
図１７に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク９０４（記憶装置）、
・外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９、
情報処理装置９００は、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【０１０６】
そして、上述した実施形態を例に説明した本発明は、図１７に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１および図２）における、プログラム開発支援部２１、テスト支援部２２、ＵＩ制御部１０３、設計リポジトリ入出力部１０４、設計情報取得部１３１、テスト仕様書生成部１３２、テストデータ生成部１３３、テスト実行部１３４およびテスト結果報告書生成部１３５、あるいはフローチャート（図１２）の機能である。
【０１０７】
本発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すればよい。
【０１０８】
また、上記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【０１０９】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１１０】
１  プログラム開発システム
２０  プログラム開発支援装置
２１  プログラム開発支援部
２２  テスト支援部
２３  共通項目記憶部
２４  利用履歴記憶部
１０３  ＵＩ制御部
１０４  設計リポジトリ入出力部
１１２  共通項目定義生成部
１１３  データベーススキーマ情報
１１４  ファイル仕様書
１１５  設計リポジトリ
１１６  共通項目定義
１２１  共通項目
１２２  利用履歴
１２３  設計情報
１２４  テスト情報
１３０  テスト支援部
１３１  設計情報取得部
１３２  テスト仕様書生成部
１３３  テストデータ生成部
１３４  テスト実行部
１３５  テスト結果報告書生成部
１４１  テスト仕様書
１４２  テストデータ
１４３  新旧データ比較表
１４４  テスト結果報告書
１５１  設計情報
１５２  コーディング情報
１５３  テスト情報
２００  プログラム開発画面
２０１  プログラムフロー図エリア
２０２  共通項目一覧エリア
３００乃至３０４、４０１乃至４０６  画面
４００  プログラムフロー図エリア
５００  テストデータ入力画面
６１０  結果確認画面
６２０  入力データ確認画面
６３０  出力結果確認画面
７００  テスト支援装置
７１０  設計情報取得部
７２０  テスト支援部
９００  情報処理装置
９０１  ＣＰＵ
９０３  ＲＡＭ
９０４  ハードディスク
９０５  通信インタフェース
９０６  バス
９０７  記憶媒体
９０８  リーダライタ
９０９  入出力インタフェース
【図１】
0006551082.tif 000002
【図２】
0006551082.tif 000003
【図３】
0006551082.tif 000004
【図４】
0006551082.tif 000005
【図５】
0006551082.tif 000006
【図６】
0006551082.tif 000007
【図７】
0006551082.tif 000008
【図８】
0006551082.tif 000009
【図９】
0006551082.tif 000010
【図１０】
0006551082.tif 000011
【図１１】
0006551082.tif 000012
【図１２】
0006551082.tif 000013
【図１３】
0006551082.tif 000014
【図１４】
0006551082.tif 000015
【図１５】
0006551082.tif 000016
【図１６】
0006551082.tif 000017
【図１７】
0006551082.tif 000018