JPH08106404A - ソフトウェアテスト用ドライバ自動生成装置 - Google Patents
ソフトウェアテスト用ドライバ自動生成装置Info
- Publication number
- JPH08106404A JPH08106404A JP6264507A JP26450794A JPH08106404A JP H08106404 A JPH08106404 A JP H08106404A JP 6264507 A JP6264507 A JP 6264507A JP 26450794 A JP26450794 A JP 26450794A JP H08106404 A JPH08106404 A JP H08106404A
- Authority
- JP
- Japan
- Prior art keywords
- test
- program
- driver
- execution
- test execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 テスト時にテスト対象のモジュールに異常が
発生した場合にも、テスト実行が中断されることなく連
続的に行うことが可能なテストドライバを自動的に生成
できるようにすることを目的とする。 【構成】 モジュールインタフェース情報入力部1と、
テストドライバ生成部2とにより、ソフトウェアテスト
用ドライバ自動生成装置を構成するとともに、上記テス
トドライバ生成部2に、ドライバプログラム生成部2a
と、テスト実行プログラム生成部2bと、プログラム合
成部2cとを設け、テストを実際に実行する実行プロセ
スと、そのテストを実行するプロセスの終了状態を確認
するドライバプロセスとの二つのプロセスに分けてテス
トを実行するような仕組みのテストドライバ3を生成す
るようにすることにより、テスト時のテスト対象プログ
ラムに異常が発生しても連続して複数のテストデータを
実行することができるテストドライバを自動的に生成で
きるようにする。
発生した場合にも、テスト実行が中断されることなく連
続的に行うことが可能なテストドライバを自動的に生成
できるようにすることを目的とする。 【構成】 モジュールインタフェース情報入力部1と、
テストドライバ生成部2とにより、ソフトウェアテスト
用ドライバ自動生成装置を構成するとともに、上記テス
トドライバ生成部2に、ドライバプログラム生成部2a
と、テスト実行プログラム生成部2bと、プログラム合
成部2cとを設け、テストを実際に実行する実行プロセ
スと、そのテストを実行するプロセスの終了状態を確認
するドライバプロセスとの二つのプロセスに分けてテス
トを実行するような仕組みのテストドライバ3を生成す
るようにすることにより、テスト時のテスト対象プログ
ラムに異常が発生しても連続して複数のテストデータを
実行することができるテストドライバを自動的に生成で
きるようにする。
Description
【0001】
【産業上の利用分野】本発明はソフトウェアテスト用ド
ライバ自動生成装置に係わり、例えば、複数のテストデ
ータを連続して自動実行するバッチ型のテストドライバ
を自動的に生成する装置に用いて好適なものである。
ライバ自動生成装置に係わり、例えば、複数のテストデ
ータを連続して自動実行するバッチ型のテストドライバ
を自動的に生成する装置に用いて好適なものである。
【0002】
【従来の技術】従来、通常のソフトウェアモジュールテ
ストでは、モジュールをテストするためのテストドライ
バを、テスト担当者がモジュール毎に作成している。ま
た、そのテストドライバ自体のテストも必要であるの
で、テストドライバの作成には多くの労力を必要として
いた。
ストでは、モジュールをテストするためのテストドライ
バを、テスト担当者がモジュール毎に作成している。ま
た、そのテストドライバ自体のテストも必要であるの
で、テストドライバの作成には多くの労力を必要として
いた。
【0003】これに対し、テストドライバを自動的に生
成するというアイデアも古くから存在している。例え
ば、「Automatic Software Tes
t Drivers(1978,IEEE)」の論文で
も紹介されている。
成するというアイデアも古くから存在している。例え
ば、「Automatic Software Tes
t Drivers(1978,IEEE)」の論文で
も紹介されている。
【0004】また、公開特許公報の特開平5−1433
93号公報にて提案されている「テストプログラム生成
装置」や、特開平5−19758号公報にて提案されて
いる「テストプログラム生成方式」においても、上記論
文と同様なアイデアが提案されている。
93号公報にて提案されている「テストプログラム生成
装置」や、特開平5−19758号公報にて提案されて
いる「テストプログラム生成方式」においても、上記論
文と同様なアイデアが提案されている。
【0005】
【発明が解決しようとする課題】しかしながら、実際に
テストを実行する場合には、テスト対象モジュールの異
常により、プログラムが異常に終了してしまったり、或
いはプログラムが無限ループに陥ってしまったりする現
象が発生することがある。
テストを実行する場合には、テスト対象モジュールの異
常により、プログラムが異常に終了してしまったり、或
いはプログラムが無限ループに陥ってしまったりする現
象が発生することがある。
【0006】このような異常な現象が発生すると、複数
のテストデータを使用してバッチ的にテスト実行を行う
ようにしていたとしても、一旦異常が発生すればテスト
自動実行が中断してしまうことがある。
のテストデータを使用してバッチ的にテスト実行を行う
ようにしていたとしても、一旦異常が発生すればテスト
自動実行が中断してしまうことがある。
【0007】従来のテストドライバ自動生成装置で生成
されるテストドライバでは、このような場合についての
配慮はなされていなかった。また、上記論文においても
このような場合の対処については述べられていなかっ
た。
されるテストドライバでは、このような場合についての
配慮はなされていなかった。また、上記論文においても
このような場合の対処については述べられていなかっ
た。
【0008】また、上記特開平5−143393号公報
や、特開平5−19758号公報においても異常発生時
の対処が行えるようにはなっていなかったので、テスト
対象のモジュールが異常終了したり、無限ループが発生
したりすると、テストの実行が中断してしまい、テスト
作業を効率的に行うことができなくなってしまう問題が
あった。
や、特開平5−19758号公報においても異常発生時
の対処が行えるようにはなっていなかったので、テスト
対象のモジュールが異常終了したり、無限ループが発生
したりすると、テストの実行が中断してしまい、テスト
作業を効率的に行うことができなくなってしまう問題が
あった。
【0009】本発明は上述の問題点にかんがみ、テスト
時にテスト対象のモジュールに異常が発生した場合に
も、テスト実行が中断されることなく連続的に行うこと
が可能なテストドライバを自動的に生成できるようにす
ることを目的とする。
時にテスト対象のモジュールに異常が発生した場合に
も、テスト実行が中断されることなく連続的に行うこと
が可能なテストドライバを自動的に生成できるようにす
ることを目的とする。
【0010】
【課題を解決するための手段】本発明のソフトウェアテ
スト用ドライバ自動生成装置は、テスト対象のモジュー
ルのインタフェース情報を入力するためのインタフェー
ス情報入力部と、上記テスト対象のモジュールを実際に
実行させるテストを行うようにするテスト実行プログラ
ムを自動的に生成するテスト実行プログラム生成部と、
上記テスト実行プログラム生成部により生成されたテス
ト実行プログラムを、独立した別のプロセスとして実行
させるようにするためのドライバプログラムを自動的に
生成するドライバプログラム生成部と、上記テスト実行
プログラム生成部により生成されたテスト実行プログラ
ムと、上記ドライバプログラム生成部により生成された
ドライバプログラムとを合成してテストドライバを生成
するプログラム合成部とを具備している。
スト用ドライバ自動生成装置は、テスト対象のモジュー
ルのインタフェース情報を入力するためのインタフェー
ス情報入力部と、上記テスト対象のモジュールを実際に
実行させるテストを行うようにするテスト実行プログラ
ムを自動的に生成するテスト実行プログラム生成部と、
上記テスト実行プログラム生成部により生成されたテス
ト実行プログラムを、独立した別のプロセスとして実行
させるようにするためのドライバプログラムを自動的に
生成するドライバプログラム生成部と、上記テスト実行
プログラム生成部により生成されたテスト実行プログラ
ムと、上記ドライバプログラム生成部により生成された
ドライバプログラムとを合成してテストドライバを生成
するプログラム合成部とを具備している。
【0011】また、本発明の他の特徴とするところは、
上記テスト実行プログラム生成部は、テストデータを読
み込むためのプログラムと、上記テストを開始してから
一定時間が経過した後は上記テストを異常終了させるこ
とにより、上記テスト対象のモジュールの無限ループを
判断するようにするためのプログラムと、上記テスト対
象のモジュールに読み込んだテストデータを渡して実行
するためのプログラムと、上記テスト対象のモジュール
の実行結果を出力するためのプログラムとを生成するこ
とを特徴とする。
上記テスト実行プログラム生成部は、テストデータを読
み込むためのプログラムと、上記テストを開始してから
一定時間が経過した後は上記テストを異常終了させるこ
とにより、上記テスト対象のモジュールの無限ループを
判断するようにするためのプログラムと、上記テスト対
象のモジュールに読み込んだテストデータを渡して実行
するためのプログラムと、上記テスト対象のモジュール
の実行結果を出力するためのプログラムとを生成するこ
とを特徴とする。
【0012】また、本発明のその他の特徴とするところ
は、上記ドライバプログラム生成部は、テスト実行プロ
グラムを独立した別のプロセスとして実行させるための
プログラムと、上記テスト実行プログラムを独立した別
のプロセスとして実行させた時に、そのテスト実行プロ
グラムを実行したプロセスの終了状態を検査するための
プログラムと、上記テスト実行プログラムがなんらかの
異常発生により終了していた場合に、その異常終了のテ
スト実行結果を出力するためのプログラムと、上記の処
理を行うプログラムを全てのテストデータに対して実行
させるプログラムとを生成することを特徴とする。
は、上記ドライバプログラム生成部は、テスト実行プロ
グラムを独立した別のプロセスとして実行させるための
プログラムと、上記テスト実行プログラムを独立した別
のプロセスとして実行させた時に、そのテスト実行プロ
グラムを実行したプロセスの終了状態を検査するための
プログラムと、上記テスト実行プログラムがなんらかの
異常発生により終了していた場合に、その異常終了のテ
スト実行結果を出力するためのプログラムと、上記の処
理を行うプログラムを全てのテストデータに対して実行
させるプログラムとを生成することを特徴とする。
【0013】
【作用】本発明のソフトウェアテスト用ドライバ自動生
成装置は上記技術手段よりなるので、テストを実際に実
行する実行プロセスと、そのテストを実行するプロセス
の終了状態を確認するドライバプロセスとの2つのプロ
セスに分けてテストを実行するような仕組みのテストド
ライバを生成することができるようになり、これによ
り、テスト時のテスト対象プログラムに異常が発生して
も、複数のテストデータを連続して実行することができ
るようになる。
成装置は上記技術手段よりなるので、テストを実際に実
行する実行プロセスと、そのテストを実行するプロセス
の終了状態を確認するドライバプロセスとの2つのプロ
セスに分けてテストを実行するような仕組みのテストド
ライバを生成することができるようになり、これによ
り、テスト時のテスト対象プログラムに異常が発生して
も、複数のテストデータを連続して実行することができ
るようになる。
【0014】
【実施例】以下、本発明のソフトウェアテスト用ドライ
バ自動生成装置の一実施例を図面を参照して説明する。
図1は、本発明の一実施例を示し、本実施例のドライバ
自動生成装置の概略構成を示すブロック図である。
バ自動生成装置の一実施例を図面を参照して説明する。
図1は、本発明の一実施例を示し、本実施例のドライバ
自動生成装置の概略構成を示すブロック図である。
【0015】図1に示したように、本実施例のソフトウ
ェアテスト用ドライバ自動生成装置は、モジュールイン
タフェース情報入力部1、テストドライバ生成部2によ
り構成されていて、テスト実行時のテスト対象プログラ
ムの異常に対処することが可能な仕組みを持つテストド
ライバ3を自動的に生成することができるようになって
いる。
ェアテスト用ドライバ自動生成装置は、モジュールイン
タフェース情報入力部1、テストドライバ生成部2によ
り構成されていて、テスト実行時のテスト対象プログラ
ムの異常に対処することが可能な仕組みを持つテストド
ライバ3を自動的に生成することができるようになって
いる。
【0016】本実施例のモジュールインタフェース情報
入力部1は、テスト対象のモジュールのインタフェース
情報を入力するために設けられているものである。例え
ば、テスト対象のモジュールが実装されているソースコ
ードを入力として、そのソースコードの構文解析を自動
で行い、テスト対象モジュールへの入出力変数を解析す
ることができるように構成されている。
入力部1は、テスト対象のモジュールのインタフェース
情報を入力するために設けられているものである。例え
ば、テスト対象のモジュールが実装されているソースコ
ードを入力として、そのソースコードの構文解析を自動
で行い、テスト対象モジュールへの入出力変数を解析す
ることができるように構成されている。
【0017】また、テストドライバ生成部2は、ドライ
バプログラム生成部2aと、テスト実行プログラム生成
部2bと、プログラム合成部2cとを有し、テストドラ
イバ3を自動生成するようになされている。
バプログラム生成部2aと、テスト実行プログラム生成
部2bと、プログラム合成部2cとを有し、テストドラ
イバ3を自動生成するようになされている。
【0018】上記ドライバプログラム生成部2aは、図
2のブロック図に示すように、第1のドライバプログラ
ム生成手段21と、第2のドライバプログラム生成手段
22と、第3のドライバプログラム生成手段23とによ
り構成されている。
2のブロック図に示すように、第1のドライバプログラ
ム生成手段21と、第2のドライバプログラム生成手段
22と、第3のドライバプログラム生成手段23とによ
り構成されている。
【0019】また、上記テスト実行プログラム生成部2
bは、読み込みプログラム生成手段11と、実行プログ
ラム生成手段12と、制限時間設定プログラム生成手段
13と、実行結果出力プログラム生成手段14とによっ
て構成されている。
bは、読み込みプログラム生成手段11と、実行プログ
ラム生成手段12と、制限時間設定プログラム生成手段
13と、実行結果出力プログラム生成手段14とによっ
て構成されている。
【0020】このように構成された本実施例のテストド
ライバ生成部2は、モジュールインタフェース情報入力
部1により入力された結果を基に、次のようにしてテス
トドライバを自動生成する。すなわち、図3のフローチ
ャートに示したように、処理がスタートすると、先ず、
ステップS1においてテスト対象のソースコードが供給
されると、次のステップS2においてモジュールインタ
フェース情報解析が行われる。
ライバ生成部2は、モジュールインタフェース情報入力
部1により入力された結果を基に、次のようにしてテス
トドライバを自動生成する。すなわち、図3のフローチ
ャートに示したように、処理がスタートすると、先ず、
ステップS1においてテスト対象のソースコードが供給
されると、次のステップS2においてモジュールインタ
フェース情報解析が行われる。
【0021】以下、ステップS3〜ステップS10の処
理が行われるが、ステップS3〜ステップS6の処理は
テスト実行プログラム生成部2bにより行われ、ステッ
プS7〜ステップS9はドライバプログラム生成部2a
により行われ、ステップS10の処理はプログラム合成
部2cにより行われる。
理が行われるが、ステップS3〜ステップS6の処理は
テスト実行プログラム生成部2bにより行われ、ステッ
プS7〜ステップS9はドライバプログラム生成部2a
により行われ、ステップS10の処理はプログラム合成
部2cにより行われる。
【0022】先ず、ステップS3においては、読み込み
プログラム生成手段11により、テストデータを読み込
むプログラムが生成される。次に、ステップS4に進
み、実行プログラム生成手段12により、テスト対象モ
ジュールを実行するプログラムが生成される。
プログラム生成手段11により、テストデータを読み込
むプログラムが生成される。次に、ステップS4に進
み、実行プログラム生成手段12により、テスト対象モ
ジュールを実行するプログラムが生成される。
【0023】また、次のステップS5において、制限時
間設定プログラム生成手段13により、テスト対象のモ
ジュールの無限ループを判断するために、一定時間後に
異常終了させるためのプログラムが生成される。これに
より、テスト対象モジュールの実行時の制限時間が設定
されるとともに、テスト対象のモジュールに読み込んだ
テストデータを渡して実行される。また、次のステップ
S6では、実行結果出力プログラム生成手段14によ
り、テスト対象のモジュールの実行結果を出力するプロ
グラム生成される。
間設定プログラム生成手段13により、テスト対象のモ
ジュールの無限ループを判断するために、一定時間後に
異常終了させるためのプログラムが生成される。これに
より、テスト対象モジュールの実行時の制限時間が設定
されるとともに、テスト対象のモジュールに読み込んだ
テストデータを渡して実行される。また、次のステップ
S6では、実行結果出力プログラム生成手段14によ
り、テスト対象のモジュールの実行結果を出力するプロ
グラム生成される。
【0024】これらのステップS3〜ステップS6の処
理により、テスト実行プログラム10が生成される。こ
のテスト実行プログラム10は、テストドライバ3のな
かで、テスト対象のモジュールを実際に呼び出してテス
トを実行させるための部分であり、一つのテストデータ
に対しての処理プログラムである。
理により、テスト実行プログラム10が生成される。こ
のテスト実行プログラム10は、テストドライバ3のな
かで、テスト対象のモジュールを実際に呼び出してテス
トを実行させるための部分であり、一つのテストデータ
に対しての処理プログラムである。
【0025】次のステップS7では、第1のドライバプ
ログラム生成手段21により、テスト実行プログラムを
独立した別のプロセスとして実行させるためのプログラ
ムが生成される。
ログラム生成手段21により、テスト実行プログラムを
独立した別のプロセスとして実行させるためのプログラ
ムが生成される。
【0026】また、ステップS8では、第2のドライバ
プログラム生成手段22により、テスト実行プログラム
を独立した別のプロセスとして実行させた時に、そのテ
スト実行プログラムを実行したプロセスの終了状態を検
査するためのプログラムが生成される。
プログラム生成手段22により、テスト実行プログラム
を独立した別のプロセスとして実行させた時に、そのテ
スト実行プログラムを実行したプロセスの終了状態を検
査するためのプログラムが生成される。
【0027】さらに、ステップS9では、第3のドライ
バプログラム生成手段23により、テスト実行プログラ
ムがなんらかの異常発生により終了していた場合に、そ
の異常終了のテスト実行結果を出力するようにするとと
もに、上記の処理を行うプログラムを全てのテストデー
タに対して実行させるようにするプログラムが生成され
る。これらのステップS7〜ステップS9によりドライ
バプログラム20が生成される。このドライバプログラ
ム20は、テスト実行プログラム10を独立した別プロ
セスとして実行させることができる。
バプログラム生成手段23により、テスト実行プログラ
ムがなんらかの異常発生により終了していた場合に、そ
の異常終了のテスト実行結果を出力するようにするとと
もに、上記の処理を行うプログラムを全てのテストデー
タに対して実行させるようにするプログラムが生成され
る。これらのステップS7〜ステップS9によりドライ
バプログラム20が生成される。このドライバプログラ
ム20は、テスト実行プログラム10を独立した別プロ
セスとして実行させることができる。
【0028】次のステップS10においては、プログラ
ム合成部2cにより、上述したようにして生成されたテ
スト実行プログラム10と、ドライバプログラム20と
を合成してテストドライバ3が生成される。
ム合成部2cにより、上述したようにして生成されたテ
スト実行プログラム10と、ドライバプログラム20と
を合成してテストドライバ3が生成される。
【0029】このようにして、実際にテスト対象のモジ
ュールを実行するプロセスを独立した別のプロセスとし
て実行させるようなテストドライバ3を生成することに
より、テスト実行時のテスト対象のモジュールの異常に
対処することが可能なテストドライバ3を自動生成する
ことが可能となる。
ュールを実行するプロセスを独立した別のプロセスとし
て実行させるようなテストドライバ3を生成することに
より、テスト実行時のテスト対象のモジュールの異常に
対処することが可能なテストドライバ3を自動生成する
ことが可能となる。
【0030】次に、本実施例のソフトウェアテスト用ド
ライバ自動生成が自動生成するテストドライバ3がどの
ように動作するかについて説明する。図4および図5
に、本実施例によるテストドライバ3のテスト作業の一
例のフローチャートを示す。上述したように、本実施例
のソフトウェアテスト用ドライバ自動生成装置により生
成されたテストドライバ3は、ドライバプログラム20
とテスト実行プログラム10とから構成される。
ライバ自動生成が自動生成するテストドライバ3がどの
ように動作するかについて説明する。図4および図5
に、本実施例によるテストドライバ3のテスト作業の一
例のフローチャートを示す。上述したように、本実施例
のソフトウェアテスト用ドライバ自動生成装置により生
成されたテストドライバ3は、ドライバプログラム20
とテスト実行プログラム10とから構成される。
【0031】先ず、ステップS1において、テスト実行
プログラム10およびドライバプログラム20は、テス
ト対象のプログラムとリンクされ、テスト用の実行ファ
イルが作られる。
プログラム10およびドライバプログラム20は、テス
ト対象のプログラムとリンクされ、テスト用の実行ファ
イルが作られる。
【0032】次に、ステップS2に進み、ステップS1
で作られた実行ファイルを使用してテストが実行され
る。テストが実行されると、まず、ステップS3におい
てドライバプログラム部分が実行され、ドライバプロセ
スが作られる。
で作られた実行ファイルを使用してテストが実行され
る。テストが実行されると、まず、ステップS3におい
てドライバプログラム部分が実行され、ドライバプロセ
スが作られる。
【0033】これにより、ステップS4以下においてド
ライバプロセスおよびテスト実行プロセスが行われるこ
とになるが、図4および図5において、ステップS4〜
ステップS9がドライバプロセスを示し、ステップS1
0〜ステップS14がテスト実行プロセスを示してい
る。
ライバプロセスおよびテスト実行プロセスが行われるこ
とになるが、図4および図5において、ステップS4〜
ステップS9がドライバプロセスを示し、ステップS1
0〜ステップS14がテスト実行プロセスを示してい
る。
【0034】上述したように、ドライバプロセスが作ら
れると、次に、ステップS4に進み、そのドライバプロ
セスがテスト実行プロセスを生成する。そして、次のス
テップS5においてテスト実行か否かを判断し、テスト
実行の場合はステップS10に進む。
れると、次に、ステップS4に進み、そのドライバプロ
セスがテスト実行プロセスを生成する。そして、次のス
テップS5においてテスト実行か否かを判断し、テスト
実行の場合はステップS10に進む。
【0035】ステップS10においては、テスト対象の
プログラムへ入力されるテストデータを読み込み、その
後ステップS11に進んでテスト対象のプログラムを実
行する。
プログラムへ入力されるテストデータを読み込み、その
後ステップS11に進んでテスト対象のプログラムを実
行する。
【0036】次に、ステップS12において異常発生の
有無を判断し、テスト対象プログラムの実行が正常に終
了した場合には、ステップS13に進んでその結果を出
力してから、ステップS14に進んでプロセスを終了す
る。
有無を判断し、テスト対象プログラムの実行が正常に終
了した場合には、ステップS13に進んでその結果を出
力してから、ステップS14に進んでプロセスを終了す
る。
【0037】また、ステップS12の判断の結果、テス
ト実行時に異常が発生した場合には、オペレーティング
システムからの割り込み(セグメンテーションフォール
トなど)により、テスト実行プロセスが異常終了する。
また、ある一定時間を過ぎてもテスト対象プログラムの
実行が終了しない場合には、無限ループであると判断し
て、その際もテスト実行プロセスが異常終了する。
ト実行時に異常が発生した場合には、オペレーティング
システムからの割り込み(セグメンテーションフォール
トなど)により、テスト実行プロセスが異常終了する。
また、ある一定時間を過ぎてもテスト対象プログラムの
実行が終了しない場合には、無限ループであると判断し
て、その際もテスト実行プロセスが異常終了する。
【0038】ドライバプロセスは、生成したテスト実行
プロセスが終了するまで待つ(ステップS6)。そし
て、ステップS7において、テスト実行プロセスの終了
状態を確認することで、テスト対象のプログラムの異常
を検出する。そして、異常が発生していれば、次のステ
ップS8において異常時の実行結果を出力する。
プロセスが終了するまで待つ(ステップS6)。そし
て、ステップS7において、テスト実行プロセスの終了
状態を確認することで、テスト対象のプログラムの異常
を検出する。そして、異常が発生していれば、次のステ
ップS8において異常時の実行結果を出力する。
【0039】次に、ステップS9において全てのテスト
データを実行したか否かを判断し、次のテストデータが
あればステップS4に戻ってテスト実行プロセスを新た
に生成して、次のテストデータの実行に移る。また、全
てのテストデータの実行が終了していれば、ドライバプ
ロセス自体が終了してテストの実行を終了する。
データを実行したか否かを判断し、次のテストデータが
あればステップS4に戻ってテスト実行プロセスを新た
に生成して、次のテストデータの実行に移る。また、全
てのテストデータの実行が終了していれば、ドライバプ
ロセス自体が終了してテストの実行を終了する。
【0040】このようにして、ドライバプロセスが終了
した時点で全てのテストデータが実行される。その際
に、あるテストデータでテスト対象のモジュールを実行
中に、異常終了や無限ループのような異常が発生して
も、全てのテストデータを連続的に実行することが可能
である。
した時点で全てのテストデータが実行される。その際
に、あるテストデータでテスト対象のモジュールを実行
中に、異常終了や無限ループのような異常が発生して
も、全てのテストデータを連続的に実行することが可能
である。
【0041】上述したように、本実施例のソフトウェア
テスト用ドライバ自動生成装置は、テストを実際に実行
するプロセスと、そのテストを実行するプロセスの終了
状態を確認するプロセスとの二つのプロセスに分けてテ
ストを実行するような仕組みにしているので、本実施例
のソフトウェアテスト用ドライバ自動生成装置により自
動生成されたテストドライバ3は、テスト時のテスト対
象プログラムに異常が発生しても連続して複数のテスト
データを実行することを可能としている。
テスト用ドライバ自動生成装置は、テストを実際に実行
するプロセスと、そのテストを実行するプロセスの終了
状態を確認するプロセスとの二つのプロセスに分けてテ
ストを実行するような仕組みにしているので、本実施例
のソフトウェアテスト用ドライバ自動生成装置により自
動生成されたテストドライバ3は、テスト時のテスト対
象プログラムに異常が発生しても連続して複数のテスト
データを実行することを可能としている。
【0042】次に、本発明の具体例として、C言語で書
かれた図6のサンプルプログラムをテストした場合の例
を示す。
かれた図6のサンプルプログラムをテストした場合の例
を示す。
【0043】図6に示したように、このプログラムは、
アボートや無限ループなどの異常が発生する可能性のあ
るようなサンプルプログラムである。このサンプルプロ
グラムのソースコードを本実施例によるソフトウェアテ
スト用ドライバ自動生成装置に入力することで、モジュ
ールインタフェース情報入力部1がそのソースコードを
解析して、テストドライバ生成部2によりテスト対象モ
ジュールのテストドライバ3が自動生成される。
アボートや無限ループなどの異常が発生する可能性のあ
るようなサンプルプログラムである。このサンプルプロ
グラムのソースコードを本実施例によるソフトウェアテ
スト用ドライバ自動生成装置に入力することで、モジュ
ールインタフェース情報入力部1がそのソースコードを
解析して、テストドライバ生成部2によりテスト対象モ
ジュールのテストドライバ3が自動生成される。
【0044】そのテストドライバ3と図6のサンプルプ
ログラムとをリンクすることにより、テスト用の実行フ
ァイルが作成される。そして、そのテスト用の実行ファ
イルに、テスト対象のプログラムの入力変数であるin
t型の変数xとstructTEST型の変数tへ入力
するテストデータを、図7のように記述したテストデー
タ記述ファイルを渡すことで、このテストデータを使用
したテストが実行される。このテストデータ記述ファイ
ルには、3つのテストデータが記述されており、各々の
テストデータにはテストデータを識別する番号が付加さ
れている。
ログラムとをリンクすることにより、テスト用の実行フ
ァイルが作成される。そして、そのテスト用の実行ファ
イルに、テスト対象のプログラムの入力変数であるin
t型の変数xとstructTEST型の変数tへ入力
するテストデータを、図7のように記述したテストデー
タ記述ファイルを渡すことで、このテストデータを使用
したテストが実行される。このテストデータ記述ファイ
ルには、3つのテストデータが記述されており、各々の
テストデータにはテストデータを識別する番号が付加さ
れている。
【0045】上記のテストデータによりテストが実施さ
れた結果、図8のようなテスト実行結果が各テストデー
タ毎に出力される。テスト実行結果には、テストデータ
に対応する識別番号が付加されている。
れた結果、図8のようなテスト実行結果が各テストデー
タ毎に出力される。テスト実行結果には、テストデータ
に対応する識別番号が付加されている。
【0046】図8のテスト実行結果では、1番目と3番
目のテスト結果が、テスト実行時にシグナルと呼ばれる
割り込みによってテスト実行が異常終了したことを表し
ており、そのシグナルの種類を表す番号が出力されてい
る。
目のテスト結果が、テスト実行時にシグナルと呼ばれる
割り込みによってテスト実行が異常終了したことを表し
ており、そのシグナルの種類を表す番号が出力されてい
る。
【0047】また、2番目のテスト結果は異常終了が発
生しなかった場合のテスト実行結果であり、テスト対象
のモジュールによる実行結果が出力されている。この例
では、1番目のテストデータの実行により異常が発生し
ているが、次のテストデータを連続して実行することが
可能となっていることが分かる。
生しなかった場合のテスト実行結果であり、テスト対象
のモジュールによる実行結果が出力されている。この例
では、1番目のテストデータの実行により異常が発生し
ているが、次のテストデータを連続して実行することが
可能となっていることが分かる。
【0048】
【発明の効果】本発明は上述したように、本発明によれ
ば、テスト実行時に作成するテストドライバの自動生成
が可能になり、大量のモジュールから構成されるプログ
ラムのテスト時や、モジュールの仕様変更などによるテ
ストを効率的に行うことが可能となる。
ば、テスト実行時に作成するテストドライバの自動生成
が可能になり、大量のモジュールから構成されるプログ
ラムのテスト時や、モジュールの仕様変更などによるテ
ストを効率的に行うことが可能となる。
【0049】さらに、テストが異常な状態で終了した場
合にも連続してテストを実行することができるような機
能を持つ高度なテストドライバを自動生成することが可
能になるので、従来のテストドライバ自動生成装置/方
式により生成されるテストドライバと比較して、より効
率的なテスト作業を実施することができる。
合にも連続してテストを実行することができるような機
能を持つ高度なテストドライバを自動生成することが可
能になるので、従来のテストドライバ自動生成装置/方
式により生成されるテストドライバと比較して、より効
率的なテスト作業を実施することができる。
【0050】特に、複数のテストデータを連続して自動
実行するバッチ型のテストドライバによるテストの自動
実行や縮退テストの自動実行の際に、より効果的なテス
ト作業を行うことが可能となる。
実行するバッチ型のテストドライバによるテストの自動
実行や縮退テストの自動実行の際に、より効果的なテス
ト作業を行うことが可能となる。
【図1】本発明のソフトウェアテスト用ドライバ自動生
成装置の一実施例を示すブロック図である。
成装置の一実施例を示すブロック図である。
【図2】テストドライバ生成部の概略構成を示すブロッ
ク図である。
ク図である。
【図3】テストドライバを生成する手順を示すフローチ
ャートである。
ャートである。
【図4】テスト実行時の処理の流れを示すフローチャー
トである。
トである。
【図5】テスト実行時の処理の流れを示すフローチャー
トである。
トである。
【図6】サンプルプログラムの具体例を示す図である。
【図7】テストデータの具体例を示す図である。
【図8】テスト実行結果を示す図である。
1 モジュールインタフェース情報入力部 2 テストドライバ生成部 2a ドライバプログラム生成部 2b テスト実行プログラム生成部 2c プログラム合成部 3 テストドライバ 10 テスト実行プログラム 11 読み込みプログラム生成手段 12 実行プログラム生成手段 13 制限時間設定プログラム生成手段 14 実行結果出力プログラム生成手段 20 ドライバプログラム 21 第1のドライバプログラム生成手段 22 第2のドライバプログラム生成手段 23 第3のドライバプログラム生成手段
Claims (3)
- 【請求項1】 テスト対象のモジュールのインタフェー
ス情報を入力するためのインタフェース情報入力部と、 上記テスト対象のモジュールを実際に実行させるテスト
を行うようにするテスト実行プログラムを自動的に生成
するテスト実行プログラム生成部と、 上記テスト実行プログラム生成部により生成されたテス
ト実行プログラムを、独立した別のプロセスとして実行
させるようにするためのドライバプログラムを自動的に
生成するドライバプログラム生成部と、 上記テスト実行プログラム生成部により生成されたテス
ト実行プログラムと、上記ドライバプログラム生成部に
より生成されたドライバプログラムとを合成してテスト
ドライバを生成するプログラム合成部とを具備すること
を特徴とするソフトウェアテスト用ドライバ自動生成装
置。 - 【請求項2】 上記テスト実行プログラム生成部は、テ
ストデータを読み込むためのプログラムと、 上記テストを開始してから一定時間が経過した後は上記
テストを異常終了させることにより、上記テスト対象の
モジュールの無限ループを判断するようにするためのプ
ログラムと、 上記テスト対象のモジュールに読み込んだテストデータ
を渡して実行するためのプログラムと、 上記テスト対象のモジュールの実行結果を出力するため
のプログラムとを生成することを特徴とする請求項1に
記載のソフトウェアテスト用ドライバ自動生成装置。 - 【請求項3】 上記ドライバプログラム生成部は、テス
ト実行プログラムを独立した別のプロセスとして実行さ
せるためのプログラムと、 上記テスト実行プログラムを独立した別のプロセスとし
て実行させた時に、そのテスト実行プログラムを実行し
たプロセスの終了状態を検査するためのプログラムと、 上記テスト実行プログラムがなんらかの異常発生により
終了していた場合に、その異常終了のテスト実行結果を
出力するためのプログラムと、 上記の処理を行うプログラムを全てのテストデータに対
して実行させるプログラムとを生成することを特徴とす
る請求項1に記載のソフトウェアテスト用ドライバ自動
生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6264507A JPH08106404A (ja) | 1994-10-04 | 1994-10-04 | ソフトウェアテスト用ドライバ自動生成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6264507A JPH08106404A (ja) | 1994-10-04 | 1994-10-04 | ソフトウェアテスト用ドライバ自動生成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08106404A true JPH08106404A (ja) | 1996-04-23 |
Family
ID=17404205
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6264507A Pending JPH08106404A (ja) | 1994-10-04 | 1994-10-04 | ソフトウェアテスト用ドライバ自動生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08106404A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8368915B1 (en) | 2006-06-23 | 2013-02-05 | Open Invention Network, Llc | System and method for printer driver management in an enterprise network |
-
1994
- 1994-10-04 JP JP6264507A patent/JPH08106404A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8368915B1 (en) | 2006-06-23 | 2013-02-05 | Open Invention Network, Llc | System and method for printer driver management in an enterprise network |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH01180645A (ja) | 保守診断機構の自動検証方式 | |
| EP0111952B1 (en) | Verification of a processor architecture having a partial instruction set | |
| JP2001060210A (ja) | Lsi検証方法、lsi検証装置および記録媒体 | |
| JPH08106404A (ja) | ソフトウェアテスト用ドライバ自動生成装置 | |
| JPH08328905A (ja) | シミュレーション方法および装置 | |
| JP3206096B2 (ja) | 入力データ処理装置 | |
| US7111212B2 (en) | Debugging system for semiconductor integrated circuit | |
| JP3152205B2 (ja) | 論理シミュレーション装置及びその方法並びにその制御プログラムを記録した記録媒体 | |
| JPH10289129A (ja) | デバック用タスクスケジューラ | |
| JP7760317B2 (ja) | ソフトウェア不具合分析装置及びソフトウェア不具合分析方法 | |
| JPH07334385A (ja) | 保守診断機能の検証方法 | |
| JPH1115693A (ja) | ソフトウェアのテスト装置および記録媒体 | |
| KR100340049B1 (ko) | 시나리오를 이용한 칠 프로그램 시험 방법 | |
| JP2544416B2 (ja) | テストデ―タ生成処理方式 | |
| JPH1031584A (ja) | ソフトウエアの検証自動化装置 | |
| JP2746180B2 (ja) | プログラムテスト支援管理装置及びプログラムテスト支援管理方法 | |
| JPH07319730A (ja) | テスト・デバッグ方法 | |
| JP2679153B2 (ja) | 障害処理機能試験方法 | |
| JPH0214734B2 (ja) | ||
| JPH0224583A (ja) | 半導体測定装置 | |
| JPH07105045A (ja) | 情報処理装置機能試験プログラムのデバッグ方式 | |
| JPH03294934A (ja) | 高級プログラム言語用デバッガ | |
| JPH0689203A (ja) | プログラム一括テスト装置 | |
| JPH04153775A (ja) | 論理シミュレーション結果管理システム | |
| JPH05233349A (ja) | プログラムモジュールの自動試験ツール |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010410 |