JPS6380338A - 対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システム - Google Patents
対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システムInfo
- Publication number
- JPS6380338A JPS6380338A JP61226475A JP22647586A JPS6380338A JP S6380338 A JPS6380338 A JP S6380338A JP 61226475 A JP61226475 A JP 61226475A JP 22647586 A JP22647586 A JP 22647586A JP S6380338 A JPS6380338 A JP S6380338A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- undefined
- statement
- debugging
- module
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 29
- 230000007246 mechanism Effects 0.000 title claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、プログラムのテスト支援システムに関し、特
にプログラムモジュールの単体テストを簡便に行なうた
めの支援システムに関する。
にプログラムモジュールの単体テストを簡便に行なうた
めの支援システムに関する。
通常、プログラムは複数のモジュールより構成され、各
モジュールが互いにデータや制御の授受を行なうことに
より、所定の機能を果たしている。
モジュールが互いにデータや制御の授受を行なうことに
より、所定の機能を果たしている。
プログラムの開発に当たっては、プログラムの全体をテ
ストする前に、個々のモジュール毎に、そのモジュール
が所定の機能を果たしているか否かを確認する単体テス
トが行なわれる。この際、従来は、テスト対象となって
いるモジュールとインタフェイスを持つ他のモジュール
については、それを擬似するテスト用モジュールを、本
来のモジエールと別に作成していた。
ストする前に、個々のモジュール毎に、そのモジュール
が所定の機能を果たしているか否かを確認する単体テス
トが行なわれる。この際、従来は、テスト対象となって
いるモジュールとインタフェイスを持つ他のモジュール
については、それを擬似するテスト用モジュールを、本
来のモジエールと別に作成していた。
(発明が解決しようとする問題点〕
上述した従来の単体テスト方式は、開発するプログラム
に組込まれる本来のモジュールの外に、テストの目的の
ため擬似モジュールを作ることを必要としているので、
生産性を低下させるという欠点がある。
に組込まれる本来のモジュールの外に、テストの目的の
ため擬似モジュールを作ることを必要としているので、
生産性を低下させるという欠点がある。
擬似モジュールは、本来のモジュールと比べると、他モ
ジュールとのインタフェイスのみをシミュレートすれば
良いので、比較的簡単に作れるものであるが、大規模な
プログラムでそれを構成するモジュール数が多い場合は
、それらを準備する工数は無視できない。
ジュールとのインタフェイスのみをシミュレートすれば
良いので、比較的簡単に作れるものであるが、大規模な
プログラムでそれを構成するモジュール数が多い場合は
、それらを準備する工数は無視できない。
また、擬似モジュールを簡箪に作ろうとすると、それが
シミュレートする動作は型にはまってしまい、単体テス
トにおけるテストパターンが制限されてしまう、逆に、
様々なテストパターンをシミュレートしようとすると、
擬似モジュールの作成に多大の工数を必要とし、生産性
を著しく低下させてしまう。
シミュレートする動作は型にはまってしまい、単体テス
トにおけるテストパターンが制限されてしまう、逆に、
様々なテストパターンをシミュレートしようとすると、
擬似モジュールの作成に多大の工数を必要とし、生産性
を著しく低下させてしまう。
本発明の目的は、擬似モジュールの作成を行なうことな
く、多様性に富んだテストゲースを用いてモジュール単
体テストを行なうことができるテスト支援システムを提
供することにある。
く、多様性に富んだテストゲースを用いてモジュール単
体テストを行なうことができるテスト支援システムを提
供することにある。
C問題点を解決するための手段〕
本発明は上記目的を達成するために、ブレークポイント
と変数値との設定が可能な対話的シンボリックデバッグ
機構を有するテスト支援システムにおいて、 デバッグ対象プログラムに、シンボリックデバッグを可
能とするデバッギングデータベースを付加することを基
本とし、前記デバッギングデータベース内に各ステート
メント毎の参照変数リストと、未定義変数に対し変数値
を与えるための未定義変数割付領域とを追加し、且つ、
外部参照を行なうステートメントにブレークポイントを
設定するための外部参照箇所検索手段と、ブレークポイ
ントに到達したときに当該ステートメントが参照してい
る変数名をその値と共に表示]iZに表示する参照変数
自動表示手段と、未定義変数に変数値が与えられた時点
で、デバッギングデータベース内の前記未定義変数割付
領域に変数値を設定する未定義変数割付手段とを有する
。
と変数値との設定が可能な対話的シンボリックデバッグ
機構を有するテスト支援システムにおいて、 デバッグ対象プログラムに、シンボリックデバッグを可
能とするデバッギングデータベースを付加することを基
本とし、前記デバッギングデータベース内に各ステート
メント毎の参照変数リストと、未定義変数に対し変数値
を与えるための未定義変数割付領域とを追加し、且つ、
外部参照を行なうステートメントにブレークポイントを
設定するための外部参照箇所検索手段と、ブレークポイ
ントに到達したときに当該ステートメントが参照してい
る変数名をその値と共に表示]iZに表示する参照変数
自動表示手段と、未定義変数に変数値が与えられた時点
で、デバッギングデータベース内の前記未定義変数割付
領域に変数値を設定する未定義変数割付手段とを有する
。
デバッギングデータベースに基づいて外部参照箇所検索
手段によりデバッグ対象プログラム中における外部参照
を行なうステートメントが検索され、対話的シンボリッ
クデバッグ機構によりそのステートメントにブレークポ
イントを設定すると、設定されたブレークポイントに実
行の制御が進んだ時点で、参照変数自動表示手段によっ
てそのステートメントが参照している変数名とその値と
がデバッギングデータベースに基づいて求められて表示
装置に表示され、対話的シンポリンクデバソグ機構によ
り未定義変数に変数値を与えると、未定義変数割付手段
によりデバッギングデータベース内の未定義変数割付領
域にその変数値が設定される。
手段によりデバッグ対象プログラム中における外部参照
を行なうステートメントが検索され、対話的シンボリッ
クデバッグ機構によりそのステートメントにブレークポ
イントを設定すると、設定されたブレークポイントに実
行の制御が進んだ時点で、参照変数自動表示手段によっ
てそのステートメントが参照している変数名とその値と
がデバッギングデータベースに基づいて求められて表示
装置に表示され、対話的シンポリンクデバソグ機構によ
り未定義変数に変数値を与えると、未定義変数割付手段
によりデバッギングデータベース内の未定義変数割付領
域にその変数値が設定される。
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の実施例の全体構成を示す図であり、端
末装置1と、ブレークポイントと変数値との設定が可能
な対話的シンボリックデバッグ機構2と、外部参照箇所
検索手段3と、テスト対象モジュール4と、デバソギン
グデータヘース5と、参照変数自動表示手段6と、未定
義変数割付手段7とで構成されている。
末装置1と、ブレークポイントと変数値との設定が可能
な対話的シンボリックデバッグ機構2と、外部参照箇所
検索手段3と、テスト対象モジュール4と、デバソギン
グデータヘース5と、参照変数自動表示手段6と、未定
義変数割付手段7とで構成されている。
第2図は第1図のデバソギングデータヘース5の実施例
の構成図であり、8はデハフグ対象モジュールとステー
トメントリンクされ、アドレス。
の構成図であり、8はデハフグ対象モジュールとステー
トメントリンクされ、アドレス。
行番号、ステートメントタイプおよび参照変数チェイン
の各情報を保持するステートメント表、9はステートメ
ント表8の参照変数チェインによって関連付けられ、変
数ポインタおよび参照タイプの各情報を保持する参照変
数リスト、10はテスト対象モジュール4と変数リンク
される変数表であり、参照変数リスト9の変数ポインタ
によって指示されたアドレス、変数名、属性情報および
未定義フラグを格納する。また、11は未定義変数割付
領域である。
の各情報を保持するステートメント表、9はステートメ
ント表8の参照変数チェインによって関連付けられ、変
数ポインタおよび参照タイプの各情報を保持する参照変
数リスト、10はテスト対象モジュール4と変数リンク
される変数表であり、参照変数リスト9の変数ポインタ
によって指示されたアドレス、変数名、属性情報および
未定義フラグを格納する。また、11は未定義変数割付
領域である。
デバッグ対象となるテスト対象モジュール4は、ソース
プログラムからコンパイラやリンカにより実行可能形式
に翻訳され、その際に本発明を実施する上で必要な各種
情報がソースプログラムより抽出され、デバッギングデ
ータベース5に納められる。
プログラムからコンパイラやリンカにより実行可能形式
に翻訳され、その際に本発明を実施する上で必要な各種
情報がソースプログラムより抽出され、デバッギングデ
ータベース5に納められる。
端末装置1より単体テストの開始が指示されると、対話
的シンボリックデバッグ機構2は、テスト対象モジュー
ル4とデバッギングデータベース5を内部のメモリ上に
ロードする。次に、外部参照箇所検索手段3を用いて、
テスト対象モジュール4中における他モジュールを呼出
すステートメントや、他モジュールで定義されるべき外
部変数を参照しているステートメントを探し出し、そこ
にブレークポイントを設定する。
的シンボリックデバッグ機構2は、テスト対象モジュー
ル4とデバッギングデータベース5を内部のメモリ上に
ロードする。次に、外部参照箇所検索手段3を用いて、
テスト対象モジュール4中における他モジュールを呼出
すステートメントや、他モジュールで定義されるべき外
部変数を参照しているステートメントを探し出し、そこ
にブレークポイントを設定する。
外部参照箇所の検索は例えば次のように行なわれる。
デバッギングデータベース5の中のステートメント表8
を検索し、コンパイラで設定されたステートメントタイ
プが、他モジュールを呼出すものであるとき、その表に
よって示されるアドレスにブレークポイントを設定する
。また、そのステートメントが参照する変数を参照変数
リスト9により知り、変数表10でその変数の属性を調
べ、それが他のモジュールで定義されるべき変数である
場合に、そのステートメントに対しブレークポイントを
設定する。
を検索し、コンパイラで設定されたステートメントタイ
プが、他モジュールを呼出すものであるとき、その表に
よって示されるアドレスにブレークポイントを設定する
。また、そのステートメントが参照する変数を参照変数
リスト9により知り、変数表10でその変数の属性を調
べ、それが他のモジュールで定義されるべき変数である
場合に、そのステートメントに対しブレークポイントを
設定する。
さて、ブレークポイントの設定の後、対話的シンボリッ
クデバッグ機構2は、通常のデバッグモードでテスト対
象モジュール4を実行し、上記で設定したブレークポイ
ントに到達すると、次のように処置する。
クデバッグ機構2は、通常のデバッグモードでテスト対
象モジュール4を実行し、上記で設定したブレークポイ
ントに到達すると、次のように処置する。
(1)未定義変数に対する値の代入を行なうときステー
トメント表8のステートメントタイプと参照変数リスト
9より、未定義変数に対して、その時点で定まったある
値を設定すれば良いことが示されている場合は、未定義
変数割付手段7により、未定義変数割付領域11にその
変数の領域を確保し、変数表10の未定義フラグをOF
Fにすると共に、そのアドレスを金側付けた領域を指す
ように変更する。
トメント表8のステートメントタイプと参照変数リスト
9より、未定義変数に対して、その時点で定まったある
値を設定すれば良いことが示されている場合は、未定義
変数割付手段7により、未定義変数割付領域11にその
変数の領域を確保し、変数表10の未定義フラグをOF
Fにすると共に、そのアドレスを金側付けた領域を指す
ように変更する。
(2)外部モジュールを呼出すとき
ステートメント表8のステートメントタイプにより、他
のモジュールの呼出しステートメントであることが示さ
れている場合は、参照変数リスト9には、モジュール名
とパラメータ変数が記録されている。このモジュール名
およびパラメータ変数の変数名と、その時点での変数値
を参照変数自動表示手段6により端末装置1の画面に表
示し、当該端末装置1からのデバッグコマンドの投入を
間合せる。これに対し、端末利用者は、対話的シンボリ
ックデバッグ機構2が有する変数値設定機能により、パ
ラメータ変数値を設定することができる。未定義のパラ
メータ変数に値が設定されるときは、未定義変数割付手
段7により、(1)の場合と同様、変数領域が割付けら
れる。
のモジュールの呼出しステートメントであることが示さ
れている場合は、参照変数リスト9には、モジュール名
とパラメータ変数が記録されている。このモジュール名
およびパラメータ変数の変数名と、その時点での変数値
を参照変数自動表示手段6により端末装置1の画面に表
示し、当該端末装置1からのデバッグコマンドの投入を
間合せる。これに対し、端末利用者は、対話的シンボリ
ックデバッグ機構2が有する変数値設定機能により、パ
ラメータ変数値を設定することができる。未定義のパラ
メータ変数に値が設定されるときは、未定義変数割付手
段7により、(1)の場合と同様、変数領域が割付けら
れる。
(3) その他の場合(例;代人文の右辺に未定義変
数がある場合) (2)の場合と同様にして、そのステートメントで参照
している全ての変数名とその時点の変数値を端末装置1
の画面に表示し、デバッグコマンドによる変数値の設定
の機会を端末利用者に対して与える。これにより、未定
義変数に値を設定することができる。
数がある場合) (2)の場合と同様にして、そのステートメントで参照
している全ての変数名とその時点の変数値を端末装置1
の画面に表示し、デバッグコマンドによる変数値の設定
の機会を端末利用者に対して与える。これにより、未定
義変数に値を設定することができる。
以上説明したように、本発明は、モジュール単体テスト
において通常使用される。ブレークポイントと変数値と
の設定が可能な対話的シンポリソクデバノグ機構に、他
のモジュールを呼出したり、他のモジュールで定義され
るべき変数を参照する時点で、端末に問合せを行なわせ
、これに応答して当該モジュールの実行の結果テスト対
象モジエールに返却される変数の値や未定義変数の値を
端末より適宜入力することにより、 fil擬似モジュールの作成を行なうことなく、(2)
多様性に富んだテストケースを用いて、モジュール単体
テストが行なえる効果がある。
において通常使用される。ブレークポイントと変数値と
の設定が可能な対話的シンポリソクデバノグ機構に、他
のモジュールを呼出したり、他のモジュールで定義され
るべき変数を参照する時点で、端末に問合せを行なわせ
、これに応答して当該モジュールの実行の結果テスト対
象モジエールに返却される変数の値や未定義変数の値を
端末より適宜入力することにより、 fil擬似モジュールの作成を行なうことなく、(2)
多様性に富んだテストケースを用いて、モジュール単体
テストが行なえる効果がある。
第1図は本発明の実施例の全体構成図および、第2図は
デバッギングデータベースの実施例の構成図である。 図において、1・・・端末装置、2・・・対話的シンボ
リックデバッグ機構、3・・・外部参照箇所検索手段、
4・・・テスト対象モジュール、5・・・デバッギング
データベース、6・・・参照変数自動表示手段、7・・
・未定義変数割付手段、8・・・ステートメント表、9
・・・参照変数リスト、10・・・変数表、11・・・
未定義変数割付領域。
デバッギングデータベースの実施例の構成図である。 図において、1・・・端末装置、2・・・対話的シンボ
リックデバッグ機構、3・・・外部参照箇所検索手段、
4・・・テスト対象モジュール、5・・・デバッギング
データベース、6・・・参照変数自動表示手段、7・・
・未定義変数割付手段、8・・・ステートメント表、9
・・・参照変数リスト、10・・・変数表、11・・・
未定義変数割付領域。
Claims (1)
- 【特許請求の範囲】 ブレークポイントと変数値との設定が可能な対話的シン
ボリックデバッグ機構を有するテスト支援システムにお
いて、 デバッグ対象プログラムに、シンボリックデバッグを可
能とするデバッギングデータベースを付加することを基
本とし、前記デバッギングデータベース内に各ステート
メント毎の参照変数リストと、未定義変数に対し変数値
を与えるための未定義変数割付領域とを追加し、且つ、
外部参照を行なうステートメントにブレークポイントを
設定するための外部参照箇所検索手段と、ブレークポイ
ントに到達したときに当該ステートメントが参照してい
る変数名をその値と共に表示装置に表示する参照変数自
動表示手段と、未定義変数に変数値が与えられた時点で
、デバッギングデータベース内の前記未定義変数割付領
域に変数値を設定する未定義変数割付手段とを有するこ
とを特徴とする対話的シンボリックデバッグ機構をベー
スとしたプログラムモジュールの単体テスト支援システ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61226475A JPS6380338A (ja) | 1986-09-25 | 1986-09-25 | 対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61226475A JPS6380338A (ja) | 1986-09-25 | 1986-09-25 | 対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6380338A true JPS6380338A (ja) | 1988-04-11 |
Family
ID=16845680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61226475A Pending JPS6380338A (ja) | 1986-09-25 | 1986-09-25 | 対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6380338A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01266636A (ja) * | 1988-04-18 | 1989-10-24 | Nec Corp | 例外データ表示方式 |
-
1986
- 1986-09-25 JP JP61226475A patent/JPS6380338A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01266636A (ja) * | 1988-04-18 | 1989-10-24 | Nec Corp | 例外データ表示方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461898B (zh) | 应用测试的方法、中控服务器、测试终端及系统 | |
US5926638A (en) | Program debugging system for debugging a program having graphical user interface | |
US5347649A (en) | System for dynamically generating, correlating and reading multiprocessing trace data in a shared memory | |
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
JPH02272645A (ja) | プログラム・デバツグ支援方法 | |
JP2009002950A (ja) | 少なくとも1つの電子的な制御システムをテストするためのテスト装置並びにテスト装置を作動するための方法 | |
CN112380800B (zh) | 自动评测的在线fpga实验平台及相关方法 | |
JP3349057B2 (ja) | マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法 | |
KR960009118A (ko) | 집적회로 시뮬레이터 및 집적회로 시뮬레이션방법 | |
JPS6380338A (ja) | 対話的シンボリツクデバツグ機構をベ−スとしたプログラムモジユ−ルの単体テスト支援システム | |
CN106126430A (zh) | 一种代码覆盖率的测试方法及装置 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
JPH01307837A (ja) | Mpuシミュレーション方法及びmpuシミュレータ | |
JPH02220145A (ja) | プログラムトレース方式 | |
JP2001166966A (ja) | デバッガにおける被テストプログラムの実行環境管理方法 | |
JPS63182752A (ja) | 結果保存可能な単体テスト支援システム | |
JPH06274567A (ja) | 論理シミュレーション装置 | |
JPS63131238A (ja) | 論理シミユレ−タ | |
JPH0327452A (ja) | プログラムデバッグ方式 | |
JPS63228239A (ja) | マクロ展開のテスト方式 | |
JPH06242943A (ja) | ソースコードレベルデバッグ装置 | |
JPS63234325A (ja) | テスト用ソ−スフアイルの一元化方式 | |
JPH04192043A (ja) | プログラムの機能テスト装置 | |
JPH09160806A (ja) | デバッグ支援方法および装置 | |
JPS63257845A (ja) | プログラムモジユ−ルの単体テスト支援システム |