(57)【要約】【課題】  プログラムテストの所要時間を短縮し、自動化する。【解決手段】  データ生成プログラム50により、オリジナルデータ60から実テーブル110〜130を生成し、データベース40に記憶させる（S1）。これにより、テストの準備が完了する。テストプログラム10は、テスト手順に基づいて、テストに使用する実テーブルを選択し、データ切替プログラム30に指示を出す（S2）。データ切替プログラム30は、指定された実テーブルについて仮想テーブル100を生成する（S3）。仮想テーブル100は、選択された実テーブルのシノニムとして生成される。テストプログラム10は、テスト対象のアプリケーションプログラム20にテスト実行を指示する（S4）。プログラム20は、仮想テーブル100を介して実テーブルにアクセスする（S5，S6）。テストプログラム10は、プログラム20の処理結果を取得し、検証可能である（S7）。【選択図】        図１
2006227820.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のテストデータを記憶するデータベースと、
予め設定されたテスト条件に基づいて、前記データベースに記憶された前記各テストデータをテスト対象プログラムにそれぞれ供給し、前記テスト対象プログラムに所定の処理を実行させるテスト制御部と、
前記テスト制御部からの指示に基づいて、前記テスト対象プログラムによりアクセスされる仮想テーブルを前記各テストデータのいずれか一つと論理的に接続させるテストデータ切替部と、
を備えたプログラムテストシステム。
【請求項２】
前記テスト条件に基づいて、オリジナルデータから前記各テストデータをそれぞれ生成し、これら生成した前記各テストデータを前記データベースにそれぞれ記憶させるテストデータ生成部をさらに備えた請求項１に記載のプログラムテストシステム。
【請求項３】
前記テストデータ切替部は、前記各テストデータのうち前記テスト制御部により指示されたテストデータに基づいて前記仮想テーブルを生成させる請求項１に記載のプログラムテストシステム。
【請求項４】
前記テストデータ切替部は、前記テスト制御部から前記各テストデータの切替を指示される度に、既に生成されている前記仮想テーブルを削除し、前記テスト制御部から指示されたテストデータに基づいて前記仮想テーブルを新たに生成させる請求項１に記載のプログラムテストシステム。
【請求項５】
予め設定されたテスト条件に基づいて、オリジナルデータから複数種類のテストデータをそれぞれ生成し、これら生成した前記各テストデータをデータベースにそれぞれ記憶させるステップと、
前記テスト条件に基づいて、前記各テストデータのうちテスト対象プログラムに供給すべきテストデータを選択するステップと、
前記テスト対象プログラムによりアクセスされる仮想テーブルを、前記選択されたテストデータに基づいて生成するステップと、
前記仮想テーブルを介してアクセスされる前記選択されたテストデータを用いて、前記テスト対象プログラムに所定の処理を実行させるステップと、
前記テスト対象プログラムによる前記所定の処理の実行結果を記憶するステップと、
を含むプログラムテスト方法。
【請求項６】
予め設定されたテスト条件に基づいて、データベースに記憶された各テストデータをテスト対象プログラムにそれぞれ供給し、前記テスト対象プログラムに所定の処理を実行させるテスト制御機能と、
前記テスト制御機能からの指示に基づいて、前記テスト対象プログラムによりアクセスされる仮想テーブルを前記各テストデータのいずれか一つと論理的に接続させるテストデータ切替機能と、
をコンピュータ上で実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムテストシステム及びプログラムテスト方法に関する。
【背景技術】
【０００２】
例えば、ウェブアプリケーションプログラムのようなプログラム製品は、概要設計、基本設計及び詳細設計等を経てプログラムコードが作成される。そして、このプログラム製品は、種々のテストによって動作が検証され、必要な修正が行われた後で製品として出荷され、実際に使用される。
【０００３】
プログラム製品が正常に動作するか否かをテストするために、プログラム製品は、データベースに接続される。プログラム製品は、データベースに格納されたデータを用いて処理を行う。この処理結果を解析することにより、プログラム製品に修正が必要か否か等を判断することができる（特許文献１）。
【特許文献１】特開２００４−２２０３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プログラム製品にテスト用のデータを供給する方法としては、例えば、テスト実施者が人為的にテストデータを作成し、このテストデータをデータベースにセットする方法や、既に稼働している実アプリケーションプログラムで使用されている実データの全部または一部をテストデータとして使用する方法が知られている。
【０００５】
また、テストの自動化を考慮して、例えば、CSV（Comma Separated Values）形式やXML（eXtensible Markup Language）形式等のテストファイルを予め用意しておき、このテストファイルをデータベースにインポートさせる方法も知られている。
【０００６】
しかし、テストデータを人為的に用意する場合は、異なる処理結果が得られるように複数種類のテストデータをそれぞれ作成しなければならず、しかも手動操作でデータを入れ替える必要がある。従って、テスト作業の作業性が低く、効率的にプログラムをテストすることができない。
【０００７】
これに対し、例えば、実在のデータを用いてCSV形式のファイルを生成し、データベースにインポートする場合は、人為的にテストデータを作成する手間がいらず、作業性は若干改善される。しかし、この場合でも、テスト実施者によるデータファイルのインポート作業やデータ切替時のデータ消去作業に手間がかかるため、作業効率が低い。
【０００８】
プログラム製品をテストする場合は、できるだけ多種類のテストデータを用いて、多方面から繰り返しテストを行うことが好ましい。従来技術では、各回のテストの作業性が低いため、テスト作業の完了までに長時間を必要とする。また、テスト中は、テスト実施者の存在を必要とするため、プログラム製品のテストに要するコストも増大する。
【０００９】
そこで、本発明の目的は、効率的にプログラムのテストを行うことができるようにしたプログラムテストシステム及びプログラムテスト方法を提供することある。本発明の他の目的は、プログラムのテストを自動的に、かつ比較的短時間で行うことができるようにしたプログラムテストシステム及びプログラムテスト方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明の一つの観点に従うプログラムテストシステムは、複数種類のテストデータを記憶するデータベースと、予め設定されたテスト条件に基づいて、データベースに記憶された各テストデータをテスト対象プログラムにそれぞれ供給し、テスト対象プログラムに所定の処理を実行させるテスト制御部と、テスト制御部からの指示に基づいて、テスト対象プログラムによりアクセスされる仮想テーブルを各テストデータのいずれか一つと論理的に接続させるテストデータ切替部と、を備える。
【００１１】
ここで、テストデータとは、テスト対象プログラムをテストするために使用されるデータであり、例えば、テーブル形式のデータセットとして構築することができる。テストデータは、例えば、テストデータ生成部によって生成可能である。テストデータ生成部は、テスト条件に基づいて、オリジナルデータから各テストデータをそれぞれ生成し、これら生成した各テストデータをデータベースにそれぞれ記憶させることができる。テスト条件とは、例えば、テスト項目や各テスト項目で使用するテストデータの種類等のような、テストに必要な条件や手順を示す情報である。所定の処理とは、テスト対象プログラムによって実行される一つまたは複数の情報処理を意味する。テスト対象プログラムは、単体プログラムとして構成することもできるし、複数の単体プログラムを結合または連携させたプログラムとして構成することもできる。
【００１２】
仮想テーブルとは、テスト対象プログラムによってアクセスされる仮想的なテーブルであり、その実体は存在しない。仮想テーブルは、実体であるテストデータにアクセスするための窓口である。つまり、テスト対象プログラムの直接のアクセス先は、仮想テーブルであるが、アクセス対象のテストデータは仮想テーブルとは異なる別の物理的な記憶位置に記憶されている。
【００１３】
仮想テーブルは、例えば、データベース技術で使用されるシノニムやエイリアス等のような代替名技術を用いることにより、実現可能である。即ち、テストデータ切替部は、各テストデータのうちテスト制御部により指示されたテストデータに基づいて仮想テーブルを生成させることができる。あるいは、仮想テーブルと実際のデータを記憶するテーブルとをマッピングすることにより、仮想テーブルを介してテスト対象プログラムにテストデータを供給することもできる。
【００１４】
テストデータ切替部は、テスト制御部から各テストデータの切替を指示される度に、既に生成されている仮想テーブルを削除し、テスト制御部から指示されたテストデータに基づいて仮想テーブルを新たに生成させることもできる。つまり、各テストデータ毎にそれぞれ異なる仮想テーブルが生成され、いずれか一つの仮想テーブルがテスト対象プログラムのアクセス先として使用される。
【００１５】
本発明の他の観点に従うプログラムテスト方法は、予め設定されたテスト条件に基づいて、オリジナルデータから複数種類のテストデータをそれぞれ生成し、これら生成した各テストデータをデータベースにそれぞれ記憶させるステップと、テスト条件に基づいて、各テストデータのうちテスト対象プログラムに供給すべきテストデータを選択するステップと、テスト対象プログラムによりアクセスされる仮想テーブルを、選択されたテストデータに基づいて生成するステップと、仮想テーブルを介してアクセスされる前記選択されたテストデータを用いて、テスト対象プログラムに所定の処理を実行させるステップと、テスト対象プログラムによる所定の処理の実行結果を記憶するステップと、を含む。
【００１６】
本発明の機能、手段、ステップの全部または一部は、例えば、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。そして、このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができる。または、コンピュータプログラムをインターネット等の通信ネットワークを介して、配信することもできる。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に詳述するように、複数種類のテストデータ（110-130）を記憶するデータベース（40）と、予め設定されたテスト条件（11）に基づいて、データベース（40）に記憶された各テストデータ（110-130）をテスト対象プログラム（20）にそれぞれ供給し、テスト対象プログラム（20）に所定の処理を実行させるテスト制御部（10）と、テスト制御部（10）からの指示に基づいて、テスト対象プログラム（20）によりアクセスされる仮想テーブル（100）を各テストデータ（110-130）のいずれか一つと論理的に接続させるテストデータ切替部（30）と、を備えたプログラムテストシステムが開示される。
【００１８】
また、本システムは、テスト条件（11）に基づいて、オリジナルデータ（60）から各テストデータ（110-130）をそれぞれ生成し、これら生成した各テストデータ（110-130）をデータベース（40）にそれぞれ記憶させるテストデータ生成部（50）を備えている。
【実施例１】
【００１９】
図１は、プログラムテストシステムの全体構成を示すブロック図である。このシステムは、例えば、テストプログラム１０と、アプリケーションプログラム２０と、データ切替プログラム３０と、データベース４０と、データ生成プログラム５０と、オリジナルデータ６０とを備えて構成することができる。
【００２０】
テストプログラム１０は、アプリケーションプログラム（以下、「プログラム」）２０のテストを行うためのプログラムである。プログラム２０は、例えば、ウェブアプリケーションに利用されるプログラムである。より具体的には、例えば、プログラム２０は、顧客管理プログラム、社員管理プログラム、売上げ管理プログラム、在庫管理プログラム、利息計算プログラム、予約管理プログラム、財務管理プログラム等のような種々のアプリケーションプログラムとして生成される。
【００２１】
データ切替プログラム３０は、プログラム２０に供給するテスト用のデータセットを切り替えるためのプログラムであり、テストプログラム１０により使用される。データベース４０は、プログラム２０によって使用されるテスト用データを格納した複数種類の実テーブル１１０，１２０，１３０がそれぞれ記憶されている。
【００２２】
データ生成プログラム５０は、例えば、図外の他のアプリケーションプログラムにより使用されている既存のオリジナルデータ６０に基づいて、実テーブル１１０〜１３０をそれぞれ生成する。オリジナルデータ６０は、本システムとは異なる別のコンピュータシステム内に存在してもよい。即ち、データ生成プログラム５０は、例えば、通信ネットワークを介して他のデータベースにアクセスし、そのデータベースから取得したデータセットに基づいて実テーブル１１０〜１３０をそれぞれ生成することもできる。
【００２３】
また、データ生成プログラム５０は、実テーブル１１０〜１３０の全部または一部を自動的に生成可能である。テスト実施者がデータ生成プログラム５０を利用して、半自動的に実テーブル１１０〜１３０を生成する構成でもよい。データ生成プログラム５０は、テストプログラム１０からの指示に基づいて作動する構成でもよく、テストプログラム１０とは独立してデータ生成プログラム５０のみを単独で作動させる構成でもよい。
【００２４】
仮想テーブル１００と実テーブル１１０〜１３０との関係はさらに後述するが、仮想テーブル１００は、例えば、実テーブル１１０〜１３０のシノニムとして生成することができる。仮想テーブル１００は、実テーブル１１０〜１３０へアクセスするための窓口であり、実テーブル１１０〜１３０と論理的に接続されている。仮想テーブル１００は、各実テーブル１１０〜１３０のそれぞれについて、一対一で生成される。本実施例では、実テーブル１１０に対応する仮想テーブル１０１と、実テーブル１２０に対応する仮想テーブル１０２と、実テーブル１３０に対応する仮想テーブル１０３の全体を総称して、仮想テーブル１００と呼ぶ。
【００２５】
先に全体動作の概要を説明すると、まず最初に、データ生成プログラム５０を用いて、オリジナルデータ６０から実テーブル１１０〜１３０を生成し、実テーブル１１０〜１３０をデータベース４０に記憶させる（Ｓ１）。実テーブル１１０〜１３０をデータベース４０に記憶させることにより、テスト開始の準備が完了する。
【００２６】
次に、テストプログラム１０は、テスト手順に基づいて、テストに使用する実テーブル１１０を選択し、データ切替プログラム３０に指示を出す（Ｓ２）。データ切替プログラム３０は、テストプログラム１０から指定された実テーブルについて仮想テーブル１００を生成する（Ｓ３）。
【００２７】
テストプログラム１０は、仮想テーブル１００を生成させた後、プログラム２０に対して情報処理の実行を指示する（Ｓ４）。プログラム２０は、仮想テーブル１００を介して実テーブルにアクセスし（Ｓ５）、実テーブルからデータを読出し（Ｓ６）、この読出したデータを処理する。例えば、プログラム２０は、所定の検索条件を満たすデータ群を実テーブルから読出し、このデータ群を所定の順序で配置して画面を生成する。
【００２８】
テストプログラム１０は、プログラム２０の処理結果を取得し、その処理結果について評価することができる（Ｓ７）。例えば、テストプログラム１０は、その実テーブルを用いた場合に予測される処理結果との差分を算出することができる。あるいは、処理結果の自動的な評価を行わず、単に処理結果を記憶するだけでもよい。
【００２９】
図２は、本システムとコンピュータ資源との関係を模式的に示す説明図である。本システムは、少なくとも一つ以上のコンピュータシステムを用いて構成可能である。コンピュータシステムは、ハードウェア資源及びソフトウェア資源を備えている。ハードウェア資源としては、例えば、CPU（Central Processing Unit）、ROM（Read Only Memory）やRAM（Random Access Memory）等の内部記憶装置、HDD（Hard Disk Drive）等の補助記憶装置、通信インターフェース等を挙げることができる。ソフトウェア資源としては、例えば、OS（Operating System）、デバイスドライバ、ファイルシステム、その他のプログラムモジュール等を挙げることができる。
【００３０】
補助記憶装置２２０には、例えば、種々のプログラムデータ２２１とデータ群２２２とが記憶されている。このプログラムデータ２２１をデータ処理装置２１０が読み込んで実行することにより、テストプログラム１０，プログラム２０，データ切替プログラム３０及びデータ生成プログラム５０の各機能がそれぞれ実現される。
【００３１】
内部記憶装置２３０には、例えば、データベース４０を構築することができる。データベース４０は、補助記憶装置２２０に記憶されたデータ群を管理する。なお、データベース４０の少なくとも一部を、補助記憶装置２２０内に構築することもできる。
【００３２】
プログラム２０は、既に述べたように、単体プログラムとして構成してもよいし、図２に示すように、複数のプログラムを結合または連携させた多層のプログラム集合体として構成することもできる。例えば、プログラム２０は、ユーザインターフェース（UI）層２１と、イベントハンドラ層２２と、ロジック層２３と、データアクセス層２４とから複数階層の構造で構成することもできる。
【００３３】
UI層２１は、例えば、ウェブブラウザ等への情報の出力及びウェブブラウザ等からの情報入力を行うためのプログラムである。イベントハンドラ層２２は、例えば、ユーザによる画面操作等のようなUI層２１で生じたイベント（ユーザ要求）を検出するためのプログラムである。ロジック層２３は、例えば、データのチェックや演算等を行うためのプログラムである。データアクセス層２４は、例えば、データベース４０へのデータ入出力を行うためのプログラムである。なお、これら各層２１〜２４は、それぞれ複数のプログラムから構成することができる。
【００３４】
図３は、テスト管理テーブル１１とオリジナルデータ６０及び実テーブル１１０〜１３０との関係を模式的に示す説明図である。
テスト管理テーブル１１は、テストプログラム１０により使用される。テスト管理テーブル１１には、プログラム２０のテストを制御するための情報が記憶される。例えば、テスト管理テーブル１１は、テスト項目と、テスト内容と、そのテスト項目で使用されるシノニム名と、そのテスト項目で使用される実テーブル名と、そのテスト項目のテスト結果とをそれぞれ対応付けることにより、構成することができる。ここで、シノニム名は仮想テーブルを特定するための仮想テーブル識別情報と、実テーブル名は実テーブルを特定するための実テーブル識別情報と、それぞれ呼び変えることもできる。
【００３５】
テストプログラム１０は、例えば、テスト管理テーブル１１に登録されている各テスト項目を上から順番に実行することができる。各テスト項目毎に、それぞれ異なるテストデータのセット（実テーブル）が使用される。あるいは、共通のテストデータセットを複数のテスト項目で共通に使用することもできる。
【００３６】
ここでは、第１番目のテスト項目に実テーブル１１０を、第２番目のテスト項目に実テーブル１２０を、第３番目のテスト項目に実テーブル１３０をそれぞれ使用する場合を例に挙げて説明する。他のテスト項目では、実テーブル１１０〜１３０のいずれかを使用するものとする。
【００３７】
そこで、テスト実施者は、テスト開始前に、予めオリジナルデータ６０に基づいて、実テーブル１１０〜１３０をそれぞれ生成させ、データベース４０に記憶させておく。オリジナルデータ６０は、実テーブル１１０〜１３０と同様に、テーブルデータとして構成することができる。このテーブルは、例えば、カラム名と、型と、必須属性と、キーと、内容とをそれぞれ対応付けることにより、構成することができる。
【００３８】
カラム名には、例えば、氏名、年齢、性別、職業、職種、配偶者の有無、郵便番号、国名、都道府県名、市町村名、それ以外の詳細住所、電話番号、電子メールアドレス、銀行口座番号等がセットされる。型には、例えば、各カラムの内容として登録される情報が数字であるか文字であるか等を区別するための情報がセットされる。必須属性には、そのカラムの内容登録が必須であるか否かを示す情報がセットされる。キーは、検索時に使用される優先順位を示す情報がセットされる。内容には、カラムに登録される具体的な情報がセットされる。
【００３９】
実テーブル１１０〜１３０は、各テスト項目の意図に沿うように、オリジナルデータ６０の一部を抽出することにより、生成することができる。実テーブル１１０〜１３０は、オリジナルデータ６０と同一のテーブル構造を備えて生成することもできるし、オリジナルデータ６０とは異なるテーブル構造で生成することもできる。また、実テーブル１１０〜１３０は、共通のオリジナルデータ６０からそれぞれ生成することもできるし、それぞれ異なるオリジナルデータから生成することもできる。
【００４０】
図４は、オリジナルデータ６０，実テーブル１１０〜１３０及び仮想テーブル１０１〜１０３の関係を模式的に示す説明図である。上述のように、実テーブル１１０〜１３０は、共通の又は異なるオリジナルデータ６０から生成することができる。そして、各実テーブル１１０〜１３０にそれぞれ一対一で対応する仮想テーブル１０１〜１０３がそれぞれ生成される。実テーブル１１０のデータを利用する場合、プログラム２０は、仮想テーブル１０１を介して実テーブル１１０にアクセスする。同様に、実テーブル１２０，１３０のデータを利用する場合、プログラム２０は、仮想テーブル１０２，１０３を介して実テーブル１２０，１３０にアクセスする。
【００４１】
例えば、実テーブル１１０→実テーブル１２０→実テーブル１３０の順番で使用される場合、まず最初に仮想テーブル１０１が生成される。実テーブル１１０から実テーブル１２０へテストデータセットを切り替える場合、仮想テーブル１０１は削除され、仮想テーブル１０２が生成される。同様に、実テーブル１２０から実テーブル１３０へ切り替える場合、仮想テーブル１０２は削除され、仮想テーブル１０３が生成される。再び実テーブル１１０を使用する場合は、仮想テーブル１０３に代えて仮想テーブル１０１が新たに生成される。なお、仮想テーブルの削除とは、その仮想テーブルにアクセスするための情報（シノニム名）を消去等することを意味する。
【００４２】
図５は、テスト処理の全体概要を示すフローチャートである。まず、テスト実施者は、データ生成プログラム５０を用いて、テストに使用する予定の実テーブル１１０〜１３０をそれぞれ生成し、データベース４０に記憶させる（Ｓ１１）。
【００４３】
テスト開始の準備が整うと、テスト実施者は、テスト開始をテストプログラム１０に指示する。テストプログラム１０は、データ切替プログラム３０を呼び出し（Ｓ１２）、既に作成済みの仮想テーブル１００が存在するか否かを確認する（Ｓ１３）。
【００４４】
既に作成済みの仮想テーブル１００が存在する場合（S13：YES）、テストプログラム１０は、データ切替プログラム３０によって、その作成済みの仮想テーブル１００を削除させる（Ｓ１４）。なお、テスト開始直後は、まだ仮想テーブル１００が生成されていないので、Ｓ１３では「NO」と判定されてＳ１５に移る。
【００４５】
テストプログラム１０は、テスト管理テーブル１１を参照し、実行すべきテスト項目に応じた実テーブルを選択する（Ｓ１５）。テストプログラム１０は、この選択した実テーブルをプログラム２０が利用できるようにするために、データ切替プログラム３０によって仮想テーブル１００を生成させる（Ｓ１６）。
【００４６】
テストプログラム１０は、仮想テーブル１００の生成を指示した後、プログラム２０に対して情報処理の実行を指示する（Ｓ１７）。テストプログラム１０は、例えば、所定の地域に住んでいるユーザ全員を抽出させる等の処理の実行をプログラム２０に対して指示する。
【００４７】
テストプログラム１０は、プログラム２０の処理結果（応答）を取得し、その内容を検証する（Ｓ１８）。そして、テストプログラム１０は、テスト管理テーブル１１に登録されている全てのテスト項目についてテストを完了したか否かを判定する（Ｓ１９）。
【００４８】
実施されていないテスト項目が残っている場合（S19：NO）、テストプログラム１０は、Ｓ１２に戻り、Ｓ１２〜Ｓ１８の各ステップを繰り返す。ここで、最初のテスト項目を実施するために既に仮想テーブル１００がＳ１６で生成されている。従って、Ｓ１３では、「YES」と判定され、作成済みの仮想テーブル１００は削除される（Ｓ１４）。
【００４９】
図６は、テストプログラム１０の一部を示す説明図である。このように、テストプログラム１０は、データ切替プログラム３０を呼び出し、シノニム名及び実テーブル名を指定することにより、データ切替プログラム３０に仮想テーブル１００を作成させる。また、テストプログラム１０は、プログラム２０に対して、テスト実行を指示する。
【００５０】
本実施例は、上述のように構成されるので、以下の効果を奏する。本実施例では、テスト対象のアプリケーションプログラム２０に接続させる実テーブル１１０〜１３０を、仮想テーブル１００を介して自動的に切り替える構成を採用した。従って、実テーブル１１０〜１３０を用意するだけで、以後のテストを自動的に実施することができ、プログラムテストの作業効率を向上させることができる。これにより、例えば、製品開発までに多数のテストが行われる比較的大規模なウェブアプリケーションプログラムについて、そのプログラムテストを効率的に行うことができ、開発工程を合理化することができる。
【００５１】
本実施例では、仮想テーブル１００を介して、プログラム２０と実テーブル１１０〜１３０を論理的に接続する構成とした。従って、テストデータをテスト用のデータベースにインポートする方式に比べて、テスト時間を短縮することができ、テスト作業の作業性を向上させることができる。本実施例では、インポート作業は不要であり、また、各回のテスト終了後に、インポートしたデータを消去する作業も行う必要がないためである。本実施例では、前回のテストで使用した仮想テーブルを削除し、次回のテストで使用する仮想テーブルを生成するだけでよく、テストに要する時間を短縮できる。
【００５２】
本実施例では、実テーブル１１０〜１３０のシノニム（仮想テーブル１００）を生成し、プログラム２０は、シノニムを介して実テーブル１１０〜１３０のいずれか一つにアクセスする構成とした。従って、比較的簡易な構成で、テスト作業の自動化及び効率改善を図ることができる。
【００５３】
本実施例では、オリジナルデータ６０から実テーブル１１０〜１３０をそれぞれ生成するデータ生成プログラム５０を備える構成とした。従って、テスト準備の段階も自動化または半自動化することができ、作業効率を向上させることができる。
【実施例２】
【００５４】
図７に基づいて、第２実施例を説明する。本実施例では、共通の仮想テーブル１００を各実テーブル１１０〜１３０とそれぞれ論理的に接続させる。図７は、仮想テーブル１００と実テーブル１１０〜１３０の関係を示す模式図である。仮想テーブル１００は、アプリケーションプログラム２０からのアクセスを受け付ける共通の窓口であり、全ての実テーブル１１０〜１３０について共通に使用される。
【００５５】
仮想テーブル１００と各実テーブル１１０〜１３０とは、データ切替プログラム３０Ａによって切替可能に接続される。データ切替プログラム３０Ａにより使用されるマッピングテーブル３１には、仮想テーブル１００と実テーブル１１０〜１３０とのマッピング関係が定義されている。このマッピングテーブル３１を参照することにより、データ切替プログラム３０Ａは、仮想テーブル１００へのアクセスを仮想テーブル１００に接続された実テーブルに引き渡す。また、データ切替プログラム３０Ａは、テストプログラム１０からの指示に基づいてマッピングテーブル３１を書き換えることにより、仮想テーブル１００を別の実テーブルに接続させることもできる。
このように構成される本実施例でも前記実施例と同様の効果を得られる。
【００５６】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、当業者であれば、前記各実施例を適宜組み合わせることができる。
【図面の簡単な説明】
【００５７】
【図１】本実施例によるプログラムテストシステムの全体概要を示すブロック図である。
【図２】プログラムテストシステムのハードウェア構造を模式的に示す説明図である。
【図３】テスト管理テーブルと実テーブル等との関係を示す説明図である。
【図４】仮想テーブルと実テーブル等との関係を示す説明図である。
【図５】プログラムテストの全体処理を示すフローチャートである。
【図６】テストプログラムの一部を具体的に示す説明図である。
【図７】第２実施例に係るプログラムテストシステムの要部を示す説明図である。
【符号の説明】
【００５８】
１０…テストプログラム、１１…テスト管理テーブル、２０…アプリケーションプログラム、２１…ユーザインターフェース層、２２…イベントハンドラ層、２３…ロジック層、２４…データアクセス層、３０，３０Ａ…データ切替プログラム、３１…マッピングテーブル、４０…データベース、５０…データ生成プログラム、６０…オリジナルデータ、１００，１０１，１０２，１０３…仮想テーブル、１１０，１２０，１３０…実テーブル、２１０…データ処理装置、２２０…補助記憶装置、２２１…プログラムデータ、２２２…データ群、２３０…内部記憶装置
【図１】
2006227820.tif 000003
【図２】
2006227820.tif 000004
【図３】
2006227820.tif 000005
【図４】
2006227820.tif 000006
【図５】
2006227820.tif 000007
【図６】
2006227820.tif 000008
【図７】
2006227820.tif 000009