(57)【要約】【課題】複数のモジュールから構成されたシステムにおいて、テスト実施時の負担を軽減することにより、効率的に結合テストを行なうための結合テストシステム、結合テスト方法及び結合テストプログラムを提供する。【解決手段】アプリケーション実行環境上で必要な共通制御処理を行なう共通制御モジュールを加工して生成された汎用ドライバ２１１は、共通制御処理の実行後、外部インターフェイス１０から取得したモジュール名の検証モジュール２４をコールする。この検証モジュール２４は、ＤＢ初期設定後にテスト対象の個別業務モジュール２２をコールする。個別業務モジュール２２は、アプリケーション実行環境と同一のテスト環境において、テストデータ及びＤＢ設定値を用いて個別業務処理を実行する。個別業務モジュール２２からの出力値を取得した検証モジュール２４は、出力結果を検証し、問題がある場合には入出力値のダンプ出力処理を実行する。【選択図】図１
2011186796.tif 000002
【特許請求の範囲】
【請求項１】
モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、
被テストモジュールに対応させるとともに、テスト仕様書から生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、
前記検証モジュールを起動するドライバとを備えた結合テストシステムであって、
前記ドライバが、被テストモジュールを直接起動する検証モジュールを起動し、
前記検証モジュールが、
前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータベース設定値を一時的にデータベースバッファエリアに設定し、
前記被テストモジュールに対してテストデータを入力して、前記データベースバッファエリアに設定されたデータベース設定値を用いてテスト動作を実行させ、
前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と前記予測結果とを照合し、照合結果を出力することを特徴とする結合テストシステム。
【請求項２】
共通制御処理を実行する共通制御モジュールと、個別処理を実行する複数の個別モジュールとからなるシステムにおいて、
前記ドライバは、前記共通制御モジュールにおける前記共通制御処理に引き続き、被テストモジュールとして指定された個別モジュールに対応する検証モジュールを起動させるように構成したことを特徴とする請求項１に記載の結合テストシステム。
【請求項３】
前記データベースバッファエリアの更新結果をデータベースに物理書込みせずにロールバックすることを特徴とする請求項１又は２に記載の結合テストシステム。
【請求項４】
前記検証モジュールがデータベース期待値を更に記憶し、
前記被テストモジュール及び前記関連モジュールのテスト動作において前記データベースバッファエリアに書き込まれたデータベース更新値を取得し、
前記データベース更新値とデータベース期待値とを照合し、照合結果を出力することを特徴とする請求項１〜３のいずれか一つに記載の結合テストシステム。
【請求項５】
モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、
被テストモジュールに対応させるとともに、テスト仕様書から生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、
前記検証モジュールを起動するドライバとを備えた結合テストシステムを用いて、結合テストを行なう方法であって、
前記ドライバが、被テストモジュールを直接起動する検証モジュールを起動し、
前記検証モジュールが、
前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータを一時的にデータベースバッファエリアに設定し、
前記被テストモジュールに対してテストデータを入力してテスト動作を実行させ、
前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と予測結果とを照合し、照合結果を出力することを特徴とする結合テスト方法。
【請求項６】
モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、
被テストモジュールに対応させるとともに、テスト仕様書から生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、
前記検証モジュールを起動するドライバとを備えた結合テストシステムを用いて、結合テストを行なうプログラムであって、
前記ドライバを、被テストモジュールを直接起動する検証モジュールを起動する手段として機能させ、
前記検証モジュールを、
前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータを一時的にデータベースバッファエリアに設定し、
前記被テストモジュールに対してテストデータを入力してテスト動作を実行させ、
前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と予測結果とを照合し、照合結果を出力する手段として機能させることを特徴とする結合テストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールから構成されたシステムにおいて結合テストを行なうための結合テストシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
システムの品質を向上させるためには、適格な設計と、この設計に基づく正確な実装が必要である。そして、最終的には、このシステムを動作させてテストを行なう。このテストには、各モジュールをテストする単体テスト、各モジュールを結合させた状態でテストを実施する結合テスト．システム全体をテストする統合テスト、ユーザによる受け入れテストや本番環境でのテストを実施する運用テスト等がある。
【０００３】
このようなテストの効率化のための技術が検討されている（例えば、特許文献１を参照。）。この文献記載のテスト結果自動検証方法は、チェックリストに従ってテスト用データを被テストプログラムに入力し、実行結果（テスト結果）をチェックリストの内容と照合することにより、プログラムが仕様通りに動作するか否かを検証するためのテスト結果検証プログラムを自動生成する。
【０００４】
また、上述の結合テストにおいては、トップダウンでテストを実施する方法や、ボトムアップでテストを実施する方法がある。トップダウンでテストを実施する場合には、下位モジュールをエミュレートするダミーモジュール（スタブ）を作成する必要がある（例えば、特許文献２を参照。）。このスタブは、上位モジュールからコール可能な関数を有しており、ある値を受け取ると予め決められた値を返す。一方、ボトムアップでテストを実施する場合には、上位モジュールをエミュレートするダミーモジュール（ドライバ）を作成する必要がある。このドライバは、下位モジュールをコールしてテストデータを渡す機能を有する。
【０００５】
また、メインフレーム等のアプリケーション実行環境においては、共通制御処理と個別業務処理とが実行される。共通制御処理においては、個別業務処理において用いられるデータの取得、アドレスリスト／グローバル領域の用意等、外から取得したデータと内部で保持しているデータを用いて共通的な初期設定処理を実行する。個別業務処理においては、共通制御処理において準備されたデータを用いて個別の業務処理が実行される。例えば、図４に示すメインフレーム２０においては、外部インターフェイス１０からの指示に基いて、共通制御モジュール２１が共通制御処理を実行する。そして、この共通制御モジュール２１から直接呼び出される個別業務モジュール２２が、処理に必要な関連モジュール２３を呼び出すとともに、関連モジュール２３と連動して個別業務処理を実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−５６７３２号公報（第１頁、図１）
【特許文献２】特開平１１−１２００２９号公報（第１頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のようにスタブを用いる場合、実際の下位モジュールは使用されないため、下位モジュール内で行なわれる処理が実際に行なわれない。この結果、データベースやテーブルの更新等、実際のモジュールの動きを反映できない場合もある。この場合には、下位モジュールを実際に動作させた状況下での検証ができないため、結合テストに
おける信頼性が問題になる。
【０００８】
一方、単体テスト環境ではなく、図４に示すメインフレーム２０におけるアプリケーション実行環境と同一のテスト環境でのテストにおいては、結合テストにおける信頼性を向上させることができる。しかしながら、実際のアプリケーション実行環境においては、テスト対象の個別業務モジュール２２の実行前に、他の複数の個別業務モジュール２２が実行される構成になっていることもある。この場合、本来の経路を経由してテストを行なっていると、テスト対象の個別業務モジュール２２を効率的にコールすることができない。
【０００９】
また、モジュールによっては、データベースに格納された値を更新するものもある。この場合、テスト実行時に更新された値が、データベースに物理的に書き込まれてしまうと、他のモジュールのテストに支障が生じることもある。
【００１０】
本発明は、上記問題点を解決するためになされたものであり、複数のモジュールから構成されたシステムにおいて、テスト実施時の負担を軽減することにより、効率的に結合テストを行なうための結合テストシステム、結合テスト方法及び結合テストプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記問題点を解決するために、請求項１に記載の発明は、モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、被テストモジュールに対応させるとともに、テスト仕様書から生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、前記検証モジュールを起動するドライバとを備えた結合テストシステムであって、前記ドライバが、被テストモジュールを直接起動する検証モジュールを起動し、前記検証モジュールが、前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータベース設定値を一時的にデータベースバッファエリアに設定し、前記被テストモジュールに対してテストデータを入力して、前記データベースバッファエリアに設定されたデータベース設定値を用いてテスト動作を実行させ、前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と前記予測結果とを照合し、照合結果を出力することを要旨とする。
【００１２】
請求項２に記載の発明は、請求項１に記載の結合テストシステムにおいて、共通制御処理を実行する共通制御モジュールと、個別処理を実行する複数の個別モジュールとからなるシステムにおいて、前記ドライバは、前記共通制御モジュールにおける前記共通制御処理に引き続き、被テストモジュールとして指定された個別モジュールに対応する検証モジュールを起動させるように構成したことを要旨とする。
【００１３】
請求項３に記載の発明は、請求項１又は２に記載の結合テストシステムにおいて、前記データベースバッファエリアの更新結果をデータベースに物理書込みせずにロールバックすることを要旨とする。
【００１４】
請求項４に記載の発明は、請求項１〜３のいずれか一つに記載の結合テストシステムにおいて、前記検証モジュールがデータベース期待値を更に記憶し、前記被テストモジュール及び前記関連モジュールのテスト動作において前記データベースバッファエリアに書き込まれたデータベース更新値を取得し、前記データベース更新値とデータベース期待値とを照合し、照合結果を出力することを要旨とする。
【００１５】
請求項５に記載の発明は、モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、被テストモジュールに対応させるとともに、テスト仕様書から
生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、前記検証モジュールを起動するドライバとを備えた結合テストシステムを用いて、結合テストを行なう方法であって、前記ドライバが、被テストモジュールを直接起動する検証モジュールを起動し、前記検証モジュールが、前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータを一時的にデータベースバッファエリアに設定し、前記被テストモジュールに対してテストデータを入力してテスト動作を実行させ、前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と予測結果とを照合し、照合結果を出力することを要旨とする。
【００１６】
請求項６に記載の発明は、モジュールが処理に用いるデータを一時的に記憶するデータベースバッファエリアと、被テストモジュールに対応させるとともに、テスト仕様書から生成されたデータベース設定値、テストデータ、予測結果とを記憶する検証モジュールと、前記検証モジュールを起動するドライバとを備えた結合テストシステムを用いて、結合テストを行なうプログラムであって、前記ドライバを、被テストモジュールを直接起動する検証モジュールを起動する手段として機能させ、前記検証モジュールを、前記被テストモジュール及び前記被テストモジュールと連動する関連モジュールがテストにおいて用いるデータを一時的にデータベースバッファエリアに設定し、前記被テストモジュールに対してテストデータを入力してテスト動作を実行させ、前記関連モジュールと連動した前記被テストモジュールから出力された出力値を取得し、この出力値と予測結果とを照合し、照合結果を出力する手段として機能させることを要旨とする。
【００１７】
（作用）
請求項１、５、６に記載の発明によれば、ドライバが、被テストモジュールを直接起動する検証モジュールを起動する。そして、検証モジュールは、被テストモジュール及び被テストモジュールと連動する関連モジュールが、テストにおいて用いるデータベース設定値を一時的にデータベースバッファエリアに設定する。次に、検証モジュールが、被テストモジュールに対してテストデータを入力して、データベースバッファエリアに設定されたデータベース設定値を用いてテスト動作を実行させる。そして、検証モジュールは、関連モジュールと連動した被テストモジュールから出力された出力値を取得し、この出力値と予測結果とを照合し、照合結果を出力する。これにより、アプリケーション実行環境と同一のテスト環境において、結合テストを行なうことができる。この場合、ドライバが、被テストモジュールを直接起動する検証モジュールを起動するため、複数のモジュールが利用されるアプリケーション実行環境と同一のテスト環境においても、直接、テストデータを被テストモジュールに提供することができる。この結果、結合テストとしての信頼性を高くすることができる。
【００１８】
請求項２に記載の発明によれば、ドライバは、共通制御モジュールにおける共通制御処理に引き続き、被テストモジュールとして指定された個別モジュールに対応する検証モジュールを起動させる。これにより、テスト対象の個別モジュールを含むシステムに備わっている共通制御モジュールの機能に基づいて、テストを実行する環境を作ることができる。
【００１９】
請求項３に記載の発明によれば、データベースバッファエリアの更新結果をデータベースに物理書込みせずにロールバックする。これにより、テスト終了後、物理書き込みを行なう前に破棄するため、複数のテストを同時期に行なう際に、データベース内のデータの物理的な記録状況に依存することなく、効率的にテストを行なうことができる。
【００２０】
請求項４に記載の発明によれば、被テストモジュール及び関連モジュールのテスト動作においてデータベースバッファエリアに書き込まれたデータベース更新値を取得する。そ
して、データベース更新値とデータベース期待値とを照合し、照合結果を出力する。これにより、データベース更新値についても適否を確認することができる。
【発明の効果】
【００２１】
本発明によれば、複数のモジュールから構成されたシステムにおいて、テスト実施時の負担を軽減することにより、効率的に結合テストを行なうための結合テストシステム、結合テスト方法及び結合テストプログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態のシステム概略図。
【図２】本実施形態で用いるデータ処理の説明図。
【図３】本実施形態の処理手順の説明図。
【図４】メインフレームのシステム概略図。
【発明を実施するための形態】
【００２３】
以下、本発明を具体化した実施形態を図１〜図４に従って説明する。本実施形態では、図１に示すように、複数の個別業務モジュール２２から構成されたメインフレーム２０において、一部の個別業務モジュール２２についての結合テストを行なう場合を想定する。本実施形態では、メインフレーム２０を用いて、アプリケーション実行環境と同一のテスト環境でのテストを行なう。
【００２４】
このメインフレーム２０において、被テストモジュールとしての個別業務モジュール２２の結合テストを行なう場合、図２に示すように、外部インターフェイス１０、ＤＢバッファエリア４０、テストツール５０、汎用ドライバ２１１、検証モジュール２４を用いる。
【００２５】
メインフレーム２０に接続されている外部インターフェイス１０は、結合テストを行なう担当者が使用するコンピュータ端末であり、例えば端末シミュレータを用いることができる。外部インターフェイス１０は、ネットワークを介してデータを送信する機能や、受信したデータを表示する機能等を有する。このため、この外部インターフェイス１０は、図示しないＣＰＵ、ＲＡＭ、ＲＯＭの他、キーボード、マウス等の入力手段、ディスプレイ等の出力手段、通信手段等を有する。本実施形態では、外部インターフェイス１０から、メインフレーム２０に対して外部からパラメータを供給する。具体的には、外部インターフェイス１０は、テスト対象の個別業務モジュール２２に対応する検証モジュール２４の特定情報（検証モジュール名）を汎用ドライバ２１１に供給する。本実施形態では、メインフレーム２０は、外部インターフェイス１０から受信したデータに基づいて結合テストを行なう。
【００２６】
ＤＢバッファエリア４０は、各モジュールが参照できるメモリ（電子的なエリア）である。このＤＢバッファエリア４０には、共通制御処理により用意され、物理的なデータベースから読み出したデータが書き込まれる。このＤＢバッファエリア４０には、データベース（図示せず）から取得したデータが書き込まれる。また、データベースを更新する場合には、ＤＢバッファエリア４０のデータがデータベースに物理的に書き込まれる。
【００２７】
テストツール５０は、テスト仕様書に基づいて、結合テストに用いるデータを生成する。具体的には、テストツール５０は、テスト仕様書から、テストデータ、予測値（予測結果）、ＤＢ設定値（データベース設定値）、ＤＢ期待値（データベース期待値）を生成する。
【００２８】
メインフレーム２０においては、共通制御処理と個別業務処理とが実行される。このメ
インフレーム２０においては、図４に示すように、共通制御モジュール２１が共通制御処理を実行するとともに、個別業務モジュール２２が関連モジュール２３と連動して個別業務処理を実行する。
【００２９】
個別業務モジュール２２は、外部やデータベースから取得した値について、所定の個別処理を実行するロードモジュールである。ここで、個別業務モジュール２２は、ＤＢバッファエリア４０（データベースバッファエリア）に記録された値を用いて情報処理を実行する。そして、個別業務モジュール２２は、算出した値を戻り値として出力したり、後述するＤＢバッファエリア４０に引き渡したりする処理を実行する。また、この個別業務モジュール２２と、他のモジュール（関連モジュール２３）とが連動することもある。この場合には、この関連モジュール２３は、個別業務モジュール２２のコールに基づいて各種情報処理を実行する。関連モジュール２３も、テスト対象の個別業務モジュール２２やＤＢバッファエリア４０からデータを取得したり、ＤＢバッファエリア４０のＤＢ設定値を更新したりする。
【００３０】
そして、メインフレーム２０において結合テストを行なう場合、メインフレーム２０内に設けられた結合テスト制御手段を用いる。この結合テスト制御手段は、後述する処理を実行するための結合テストプログラムを実行することにより、個別業務モジュール２２を起動する所謂「ドライバ」として機能する。そして、結合テスト制御手段は、テスト対象の個別業務モジュール２２に対応する検証モジュール２４、この検証モジュール２４を起動するための汎用ドライバ２１１に分けて構成されている。
【００３１】
汎用ドライバ２１１は、外部インターフェイス１０から受信したデータに基づいて、指定された検証モジュール２４をロードモジュールライブラリから動的に呼び出すドライバとして機能する。本実施形態では、メインフレーム２０のアプリケーション実行環境上で必要な共通制御処理を行なう共通制御モジュール２１（図４）を加工することにより作成する。すなわち、汎用ドライバ２１１は、既存の共通制御モジュール２１の共通制御処理をそのまま残すとともに、外部から指定された検証モジュール２４をコールする。
【００３２】
検証モジュール２４は、テスト対象の個別業務モジュール２２に一対一対応で作成されている。そして、検証モジュール２４は、テスト対象の個別業務モジュール２２をコールする。この検証モジュール２４は、タイプ別に予め準備された検証モジュール雛型を用いて作成される。本実施形態では、検証モジュール雛型は、以下のように、「データベースの参照更新の有無」及び「参照更新するデータベースのタイプ」で分類される。
【００３３】
（ａ）データベース参照なし
（ｂ）データベース参照あり（ルートセグメントのみ）
（ｃ）データベース参照あり（ルートセグメント、従属セグメント）
（ｄ）データベース参照／更新あり（ルートセグメント、従属セグメント）
そして、検証モジュール２４は１回の実行の中で複数のテストケースを実施するとともに、そのテスト中に更新したデータを物理書き込みすることなくロールバックする。
【００３４】
本実施形態では、既存のテストツール５０を用いて、テスト仕様書から結合テストに用いるデータ（テストデータ、予測値、ＤＢ設定値、ＤＢ期待値）を生成する。そして、これらの値は、検証モジュール２４内に直接定義されたり、テスト仕様書によって検証モジュール２４が取り込むＣＯＰＹ句を生成したりすることにより登録される。
【００３５】
テストデータは、テスト時にテスト対象の個別業務モジュール２２に供給される入力値である。
予測値は、入力されたテストデータに対して、個別業務モジュール２２からの出力が期
待される値である。
【００３６】
ＤＢ設定値は、テスト対象の個別業務モジュール２２や、この個別業務モジュール２２の関連モジュール２３が参照するデータベースの設定値である。このＤＢ設定値は、テスト前にＤＢバッファエリア４０に記録される。
【００３７】
ＤＢ期待値は、テスト対象の個別業務モジュール２２や、この個別業務モジュール２２の関連モジュール２３がデータベースに書き込むと予想される期待値である。結合テスト時には、ＤＢバッファエリア４０に書き込みが期待される値である。
【００３８】
次に、図３に従って、結合テスト手順を説明する。
まず、外部インターフェイス１０を用いて、検証モジュールのモジュール名を入力する。この場合、メインフレーム２０の結合テスト手段は、検証モジュールの特定処理を実行する（ステップＳ１−１）。具体的には、汎用ドライバ２１１は、外部インターフェイス１０から検証モジュール２４のモジュール名を取得する。この場合、汎用ドライバ２１１は、既存の共通制御モジュール２１と同様に、共通制御処理を実行する。そして、汎用ドライバ２１１は、特定された検証モジュール２４をコールする。
【００３９】
次に、メインフレーム２０の結合テスト手段は、ＤＢ初期設定処理を実行する（ステップＳ１−２）。具体的には、検証モジュール２４は、テスト仕様書から取得したＤＢ設定値をＤＢバッファエリア４０に書き込む。
【００４０】
次に、メインフレーム２０の結合テスト手段は、テスト対象のコール処理を実行する（ステップＳ１−３）。具体的には、検証モジュール２４がテスト対象の個別業務モジュール２２をコールするとともに、この個別業務モジュール２２にテストデータを供給する。テストデータを取得した個別業務モジュール２２は、テストデータ及びＤＢバッファエリア４０に記録されたＤＢ設定値を用いて、個別業務処理を実行する。この個別業務モジュール２２は、必要に応じて、ＤＢバッファエリア４０のＤＢ設定値を更新する。
また、この個別業務モジュール２２と、他のモジュール（関連モジュール２３）とが連動する場合には、この関連モジュール２３も同様に各種情報処理を実行する。
【００４１】
次に、メインフレーム２０の結合テスト手段は、出力値の検証処理を実行する（ステップＳ１−４）。具体的には、検証モジュール２４は、個別業務モジュール２２が出力した結果を取得する。そして、検証モジュール２４は、テスト仕様書から取得した予測値と、個別業務モジュール２２から取得した出力値とを比較する。更に、検証モジュール２４は、ＤＢバッファエリア４０に記録された更新値（データベース更新値）を取得する。
【００４２】
次に、メインフレーム２０の結合テスト手段は、処理結果が正当かどうかについての判定処理を実行する（ステップＳ１−５）。具体的には、検証モジュール２４が、「予測値と出力値との一致／不一致」及び「ＤＢ期待値とＤＢバッファエリア４０の更新値との一致／不一致」により判定する。
【００４３】
「予測値と出力値」、「ＤＢ期待値と更新値」の少なくとも一方が一致せず、処理結果が正当でない場合（ステップＳ１−５において「ＮＯ」の場合）、メインフレーム２０の結合テスト手段は、入出力値のダンプ出力処理を実行する（ステップＳ１−６）。具体的には、検証モジュール２４は、入力値や出力値について、すべての値を出力する。一方、「予測値と出力値」、「ＤＢ期待値と更新値」がいずれも一致することにより、処理結果が正当である場合（ステップＳ１−５において「ＹＥＳ」の場合）には、この処理を省略する。
【００４４】
次に、メインフレーム２０の結合テスト手段は、ロールバック処理を実行する（ステップＳ１−７）。具体的には、検証モジュール２４は、ＤＢバッファエリア４０に記録された値をデータベースに物理書き込みすることなく、このテスト処理を終了する。
【００４５】
以上、本実施形態によれば、以下に示す効果を得ることができる。
（１）上記実施形態では、複数の個別業務モジュール２２から構成されたメインフレーム２０において、一部の個別業務モジュール２２についての結合テストを行なう。個別業務モジュール２２は関連モジュール２３のコール及びデータベース参照が可能であるため、スタブ作成が不要になる。そして、単体テスト専用のテストシステムとは異なり、アプリケーション実行環境と同一のテスト環境においてテストが行なわれるため、テスト結果の信頼性が高い。
【００４６】
（２）上記実施形態では、汎用ドライバ２１１は、外部インターフェイス１０から受信したデータに基づいて、任意の検証モジュール２４をコールする。本実施形態では、汎用ドライバ２１１を、メインフレーム２０のアプリケーション実行環境上で必要な共通制御処理を行なう共通制御モジュール２１を加工することにより生成する。これにより、汎用ドライバ２１１は、既存の共通制御モジュール２１の共通制御処理を実行するので、検証モジュール２４は、通常処理時と同様に、共通制御処理により所定の領域に用意され、複数のモジュールによって共用されるデータやパラメータ等を参照することができる。従って、効率的に結合テストを実施することができる。
【００４７】
（３）上記実施形態では、メインフレーム２０の結合テスト手段は、ロールバック処理を実行する（ステップＳ１−７）。具体的には、検証モジュール２４は、ＤＢバッファエリア４０に記録された値をデータベースに物理書き込みすることなく、このテスト処理を終了する。これにより、データベースを占有することなく、他のテスト等との競合を考慮する必要がない。
【００４８】
なお、上記実施形態は、以下の態様に変更してもよい。
・  上記実施形態では、検証モジュール２４が使用するデータの登録方式としては、検証モジュール２４内に直接定義されたり、テスト仕様書によって検証モジュール２４が取り込むＣＯＰＹ句を生成したりする。検証モジュール２４が使用するデータの登録方式は、これらに限定されるものではなく、他の方法を用いることも可能である。例えば、データ量が大量かつバリエーションが複雑等の状況において、上述の登録方式では生産性が悪化するモジュールについては、例えば、検証モジュール２４が、テスト用データベースを占有させた上で、テスト実施前にデータベースからテスト前データを取得し、所定のデータ記憶部に蓄積しておく。そして、検証モジュール２４と対になったテスト用データをデータベースにロードしてテストを行なう。テスト終了後に、検証モジュール２４がテスト実施前に取得したテスト前データを用いて、データベースを元に戻す。
【００４９】
・  上記実施形態では、メインフレーム２０の結合テスト手段は、ロールバック処理を実行する（ステップＳ１−７）。データベースの更新が、他のテストに影響を与えない場合には、ロールバックする必要がない。
【００５０】
・  上記実施形態では、「予測値と出力値」、「ＤＢ期待値と更新値」の少なくとも一方が一致せず、処理結果が正当でない場合（ステップＳ１−５において「ＮＯ」の場合）、メインフレーム２０の結合テスト手段は、入出力値のダンプ出力処理を実行する（ステップＳ１−６）。これに代えて、テスト毎に常に入出力値のダンプ出力処理を実行するようにしてもよい。
【００５１】
・  上記実施形態では、共通制御モジュール２１と複数の個別業務モジュール２２から
構成されたメインフレーム２０において、一部の個別業務モジュール２２についての結合テストを行なう場合を想定した。結合テストの対象はメインフレームに限定されるものではなく、複数のモジュールからなるシステムに適用することが可能である。
【００５２】
・  上記実施形態では、被テストモジュールとして、共通制御モジュール２１からの呼出階層の個別業務モジュール２２を用いたが、被テストモジュールはこの階層のモジュールに限定されるものではない。例えば、共通制御モジュール２１からの呼出階層である個別業務モジュール２２から見ると関連モジュール２３として動作するモジュールを被テストモジュールとして呼び出すようにしてもよい。このように、すべてのモジュールについて、被テストモジュールとして検証モジュール２４から動作させることにより、テストを実施することができる。
【符号の説明】
【００５３】
１０…外部インターフェイス、２０…メインフレーム、２１…共通制御モジュール、２１１…汎用ドライバ、２２…個別業務モジュール、２３…関連モジュール、２４…検証モジュール。
【図１】
2011186796.tif 000003
【図２】
2011186796.tif 000004
【図３】
2011186796.tif 000005
【図４】
2011186796.tif 000006