JPH07319730A - テスト・デバッグ方法 - Google Patents

テスト・デバッグ方法

Info

Publication number
JPH07319730A
JPH07319730A JP6108049A JP10804994A JPH07319730A JP H07319730 A JPH07319730 A JP H07319730A JP 6108049 A JP6108049 A JP 6108049A JP 10804994 A JP10804994 A JP 10804994A JP H07319730 A JPH07319730 A JP H07319730A
Authority
JP
Japan
Prior art keywords
test
state transition
transition table
information
object code
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
Application number
JP6108049A
Other languages
English (en)
Inventor
Noriaki Yokoyama
法明 横山
Shinkichi Nakano
真吉 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP6108049A priority Critical patent/JPH07319730A/ja
Publication of JPH07319730A publication Critical patent/JPH07319730A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 状態遷移表レベルでプログラムの一時停止位
置を指定したり、テストカバレジを採取すること。 【構成】 状態遷移表の各位置とオブジェクトコードの
アドレスとの対応関係を示す対応関係情報を生成してお
き、テスト開始前に前記の対応関係情報をデバッガに入
力し、デバッガにおける状態遷移表の位置指定操作に対
し、前記の対応関係情報を参照して前記位置指定操作に
対応したオブジェクトコードアドレスを抽出し、該オブ
ジェクトコードアドレスを一時停止位置または実行開始
位置としてテストを実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソフトウエア開発にお
けるプログラムのテスト・デバッグ方法に係り、詳しく
はプログラム開発者が記述した状態遷移表レベルでのテ
スト・デバッグ方法に関する。
【0002】
【従来の技術】新規に開発したプログラムの動作を検証
するテスト・デバッグ方法において、プログラムの一時
停止位置を設定し、その一時停止位置までの動作を検証
するという手順をプログラム終了位置まで繰り返すこと
により、全プログラムの動作を検証するという方法があ
る。
【0003】このようなテスト・デバッグ方法において
一時停止位置の設定方法として、例えば特開平3−18
940号に記載されているように、言語プロセッサに入
力したソーステキストのシーケンス番号(行番号)や言
語プロセッサが付加した文番号を指定し、この指定され
たシーケンス番号または文番号の位置でプログラムの実
行を一時停止させるものがある。
【0004】一方、テスト状況を確認するために一般に
はテストカバレジをテスト・デバッグ中に採取している
が、従来は、言語プロセッサに入力したソーステキスト
を基にしてテストカバレジC0,C1を採取し、表示して
いる。
【0005】ここで、テストカバレジC0とは、テスト
充分生を示す尺度の1つであり、全命令に対する走行命
令数比率のことであり、またテストカバレジC1とは全
分岐方向に対する走行済み分岐方向数比率のことであ
る。
【0006】
【発明が解決しようとする課題】ところで、例えば通信
制御等のプログラムの開発に当たっては、新たに発生し
た事象に対する処理を実行した後に遷移する内部状態名
を記述した状態遷移表を作成し、この状態遷移表に従っ
てプログラムのコーディング作業に移行するという作業
形態が採られる。
【0007】この状態遷移表は、機能仕様が記述できる
上位のプリコンパイラ用言語で記述してプリコンパイラ
に入力することにより、通常のソーステキストに変換す
ることができる。そして、この変換されたソーステキス
トをテスト対象として上記従来方法に従ってテストする
ことができる。
【0008】一方、プログラム開発者にとっては、テス
トの際にソーステキストのシーケンス番号(行番号)に
よって一時停止位置を指定するのでなく、状態遷移表の
レベルで一時停止位置を指定したり、テストカバレジを
採取するのがテスト作業効率およびテスト進捗度合いを
把握するのに効果的である。
【0009】しかしながら、状態遷移表をプリコンパイ
ラ用言語で記述したにも関わらず、上記従来方法と同様
に、プリコンパイラで通常のソーステキストに変換し、
この変換されたソーステキストをテスト対象としてテス
トするという方法を採っているため、プログラム開発者
にとっては、状態遷移表レベルでプログラムの一時停止
位置を指定したり、テストカバレジを採取することがで
きず、テスト作業効率が悪いという問題があった。
【0010】本発明の目的は、状態遷移表レベルでプロ
グラムの一時停止位置を指定してテストを行ったり、テ
ストカバレジを採取することができるテスト・デバッグ
方法を提供することである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に本発明は、基本的には、事象に対する処理と該処理を
実行した後に遷移する内部状態名を記述した状態遷移表
をプリコンパイラに入力し、状態遷移表に対応するソー
ステキストを生成すると共に、状態遷移表の各位置とソ
ーステキストのシーケンス番号との対応関係を示す第1
の対応関係情報を生成し、さらに前記ソーステキストを
コンパイラに入力し、ソーステキストに対応するオブジ
ェクトコードを生成すると共に、ソーステキストのシー
ケンス番号とオブジェクトコードのアドレスとの対応関
係を示す第2の対応関係情報を生成し、さらに前記第1
および第2の対応関係情報に基づき、状態遷移表の各位
置とオブジェクトコードのアドレスとの対応関係を示す
第3の対応関係情報を生成しておき、テスト開始前に前
記第3の対応関係情報をデバッガに入力し、デバッガに
おける状態遷移表の位置指定操作に対し、前記第3の対
応関係情報を参照して前記位置指定操作に対応したオブ
ジェクトコードアドレスを抽出し、該オブジェクトコー
ドアドレスを一時停止位置または実行開始位置としてテ
ストを実行することを特徴とする。
【0012】
【作用】状態遷移表では、ある状態に遷移した時の処理
と該処理を実行した後に遷移する内部状態名を表形式で
記述するが、本発明においては、まず、プリコンパイル
用言語で記述した状態遷移表をプリコンパイラに入力
し、状態遷移表の各位置とソーステキストのシーケンス
番号との対応関係を示す第1の対応関係情報を生成す
る。
【0013】また、プリコンパイラが生成したソーステ
キストを通常のコンパイラに入力し、ソーステキストに
対応するオブジェクトコードを生成させると共に、ソー
ステキストのシーケンス番号とオブジェクトコードのア
ドレスとの対応関係を示す第2の対応関係情報を生成す
る。
【0014】さらに前記第1および第2の対応関係情報
に基づき、状態遷移表の各位置とオブジェクトコードの
アドレスとの対応関係を示す第3の対応関係情報を生成
する。
【0015】この段階でテスト準備が整う。
【0016】そこで、テストを行うに際しては、テスト
開始前に前記第3の対応関係情報をデバッガに入力して
おき、デバッガの起動後に状態遷移表の位置指定操作が
行われたならば、第3の対応関係情報を参照して前記位
置指定操作に対応したオブジェクトコードアドレスを抽
出し、該オブジェクトコードアドレスを一時停止位置ま
たは実行開始位置としてテストを実行する。
【0017】具体的には、 事前に作成された前記第3の対応関係情報をデバッガ
に入力する。
【0018】状態遷移表上の特定位置の指定によるプ
ログラムの一時停止命令が入力されると、第3の対応関
係情報により一時停止位置をオブジェクトコードアドレ
スに変換し、当該アドレスに一時停止点を指定する。
【0019】テスト対象プログラム走行時、デバッガ
の一時停止機能によりテスト対象プログラムが一時停止
すると、停止位置のオブジェクトアドレスが判る。この
時、第3の対応関係情報により状態遷移表上の位置を求
めテスト・デバッグ中のユーザ(プログラム開発者また
はテスト担当者)に知らせる。
【0020】また、テストカバレジ採取時、第3の対
応関係情報により状態遷移表の各状態に対応した位置を
オブジェクトアドレスに変換し、デバッガのテストカバ
レジ採取機能によりテストカバレジを採取する。
【0021】テスト対象プログラム走行後、状態遷移
表に基づくテストカバレジをユーザに知らせる。
【0022】これにより、状態遷移表レベルのテストが
可能となる。また、状態遷移表の全ての位置に対応する
オブジェクトコードアドレス位置でテストカバレジ情報
を採取することが可能になるので、必要十分な状態遷移
に関するテストが行われたかどうかを判断することがで
き、また状態遷移表レベルでテストの進捗度合いを把握
することができる。
【0023】なお、プログラムの途中からテストを開始
する場合も同様である。但し、この場合は、それ以前の
テストカバレジ情報を引き継ぐようにすることは言うま
でもない。
【0024】
【実施例】以下、本発明の一実施例を図面により説明す
る。
【0025】図1は、本発明を実施するテスト・デバッ
グシステムの一実施例を示す構成図である。
【0026】図1において、101は機能仕様が記述さ
れた上位レベルのプログラム、すなわち状態遷移表を格
納する状態遷移表ファイルである。この状態遷移表ファ
イル101に格納される状態遷移表20は、図2に示す
ように、イベント(事象)に対するアクション(処理)
と該アクションを実行した後に遷移する内部状態名ST
n(n=1,2,…)を表形式で記述したものであり、
図2の例では列情報21として複数のイベントが記述さ
れ、行情報として複数の内部状態名が記述されている。
例えば、内部状態ST1においてイベントABCが発生
した時は「アクション1」を実行し、内部状態ST2に
遷移するようになっている。
【0027】次に、102は状態遷移表20を入力し、
通常の言語プロセッサ用のソーステキストを生成すると
共に、図3に示すように状態遷移表20の位置31とソ
ーステキストのシーケンス番号32との対応関係を示す
プリコンパイラ出力情報(第の対応関係情報)30を出
力するプリコンパイラである。
【0028】103はプリコンパイラ102により生成
されたソーステキストを格納するソーステキストファイ
ルである。
【0029】105はプリコンパイラ102が生成した
ソーステキストをコンパイルするコンパイラ(通常の言
語プロセッサ)であり、このコンパイラ105はオブジ
ェクトコードを出力すると共に、図4に示すように、ソ
ーステキストのシーケンス番号41とオブジェクトコー
ドアドレス42との対応情報を示すコンパイラ出力情報
(第2の対応関係情報)を出力する。
【0030】106はコンパイラ105が生成したオブ
ジェクトコードを格納するオブジェクトファイルであ
る。
【0031】108はプリコンパイラ出力情報30とコ
ンパイラ出力情報40に基づき、図5に示すように状態
遷移表20の位置51とオブジェクトコードアドレス5
2との対応関係を示すテスト・デバッグ情報50を生成
するテスト・デバッグ情報作成プログラムである。
【0032】110はオブジェクトファイルに格納され
たオブジェクトコードをテスト対象プログラム111と
して入力し、端末装置112からの指示に応じてテスト
を実行するテスト・デバッグシステムであり、テストに
先立ちテスト・デバッグ情報50が入力される。
【0033】図6は、テスト・デバッグ情報50の作成
手順を示すフローチャートであり、まず、ステップ60
1でプリコンパイラ出力情報30を入力し、次のステッ
プ602でコンパイラ出力情報40を入力する。次に、
ステップ603でプリコンパイラ出力情報30とコンパ
イラ出力情報40よりテスト・デバッグ情報50を作成
し、ステップ604でファイルに出力する。
【0034】このテスト・デバッグ情報作成プログラム
108による処理は、テスト対象プログラムのコンパイ
ル後、テスト開始以前に各モジュール毎に実行される。
【0035】図7は、テスト・デバッグの手順を示すフ
ローチャートであり、まず、ステップ401でユーザが
テスト対象の指定を行うと、デバッガシステム110は
ステップ409でテスト・デバッグ情報50を入力す
る。
【0036】次に、ユーザがステップ402においてテ
スト対象プログラムのローディングを指定すると、デバ
ッガシステム110はステップ410においてカバレジ
採取準備処理を行うと共に、オブジェクトファイル10
6に格納されているテスト対象プログラム(オブジェク
トコード)111を入力する。
【0037】テスト対象プログラム11の実行を途中で
停止させる時には、ユーザはステップ403で状態遷移
表20の任意の位置を指定する。すると、デバッガシス
テム110は、ステップ411においてテスト・デバッ
グ情報50を参照し、状態遷移表20の指定位置をオブ
ジェクトコードアドレス52に変換し、これを中断位置
情報として記憶する。
【0038】続いてステップ404でユーザがテスト対
象プログラム111の走行開始を指示すると、デバッガ
システム110はテスト対象プログラム111の走行を
開始し、テストを開始するが、状態遷移表20上での中
断位置が指定されていた場合、実行アドレスが前記中断
位置情報に一致した時点でテスト対象プログラム111
の実行を一時停止させ、ステップ412でその停止した
時のオブジェクトアドレスを状態遷移表20の位置に変
換して端末装置112に表示し、ユーザ(テスト担当
者)に知らせる。
【0039】このような操作および処理を繰返しながら
デバッグ作業を行い、かつテストカバレジ情報を採取す
る。(ステップ405,406,412)。
【0040】ステップ407でプログラムの走行が終了
したならば、ステップ408においてカバレジ情報が端
末装置112に表示されるが、従来の様に分岐毎に表示
されるのではなく、本実施例ではステップ413で状態
遷移表20の各位置(状態遷移表20で記述した各状
態)毎に表示される。
【0041】従って、ユーザは態遷移表レベルでのテス
トが可能となる。また、状態遷移表20の全ての位置に
対応するオブジェクトコードアドレス位置でテストカバ
レジ情報を採取することが可能になるので、必要十分な
状態遷移に関するテストが行われたかどうかを判断する
ことができる。
【0042】
【発明の効果】以上説明したように本発明によれば、状
態遷移表の各位置とオブジェクトコードのアドレスとの
対応関係を示す対応関係情報を生成しておき、テスト開
始前に前記の対応関係情報をデバッガに入力し、デバッ
ガにおける状態遷移表の位置指定操作に対し、前記の対
応関係情報を参照して前記位置指定操作に対応したオブ
ジェクトコードアドレスを抽出し、該オブジェクトコー
ドアドレスを一時停止位置または実行開始位置としてテ
ストを実行するようにしたので、プログラム開発者が記
述した状態遷移表レベルでのテスト・デバッグが可能と
なる。また、状態遷移表で記述した各状態毎にテストカ
バレジ情報を採取することができるので、状態遷移表レ
ベルでテスト進捗度合いを把握し、テスト・デバッグを
効率良く行うことができる。
【図面の簡単な説明】
【図1】本発明を実施するテストデバッグシステムの一
実施例を示す構成例である。
【図2】状態遷移表の一例を示す図である。
【図3】状態遷移表の各位値とソーステキストシーケン
ス番号との対応関係情報の一例を示す図である。
【図4】ソーステキストシーケンス番号とオブジェクト
コードアドレスとの対応関係情報の一例を示す図であ
る。
【図5】状態遷移表の各位値とオブジェクトコードアド
レスとの対応関係情報の一例を示す図である。
【図6】図5の対応関係情報を作成する処理を示すフロ
ーチャートである。
【図7】テスト・デバッグの手順を示すフローチャート
である。
【符号の説明】
30…プリコンパイラ出力情報、40…コンパイラ出力
情報、50…テスト・デバッグ情報、101…状態遷移
表ファイル、102…プリコンパイラ、103…ソース
テキストファイル、105…コンパイラ、106…オブ
ジェクトファイル、108…テストデバッグ情報作成プ
ログラム、110…テストデバッグシステム、111…
テスト対象プログラム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中野 真吉 東京都小平市上水本町五丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 事象に対する処理と該処理を実行した後
    に遷移する内部状態名を記述した状態遷移表をプリコン
    パイラに入力し、状態遷移表に対応するソーステキスト
    を生成すると共に、状態遷移表の各位置とソーステキス
    トのシーケンス番号との対応関係を示す第1の対応関係
    情報を生成し、 さらに前記ソーステキストをコンパイラに入力し、ソー
    ステキストに対応するオブジェクトコードを生成すると
    共に、ソーステキストのシーケンス番号とオブジェクト
    コードのアドレスとの対応関係を示す第2の対応関係情
    報を生成し、 さらに前記第1および第2の対応関係情報に基づき、状
    態遷移表の各位置とオブジェクトコードのアドレスとの
    対応関係を示す第3の対応関係情報を生成しておき、 テスト開始前に前記第3の対応関係情報をデバッガに入
    力し、デバッガにおける状態遷移表の位置指定操作に対
    し、前記第3の対応関係情報を参照して前記位置指定操
    作に対応したオブジェクトコードアドレスを抽出し、該
    オブジェクトコードアドレスを一時停止位置または実行
    開始位置としてテストを実行することを特徴とするテス
    ト・デバッグ方法。
JP6108049A 1994-05-23 1994-05-23 テスト・デバッグ方法 Pending JPH07319730A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6108049A JPH07319730A (ja) 1994-05-23 1994-05-23 テスト・デバッグ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6108049A JPH07319730A (ja) 1994-05-23 1994-05-23 テスト・デバッグ方法

Publications (1)

Publication Number Publication Date
JPH07319730A true JPH07319730A (ja) 1995-12-08

Family

ID=14474638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6108049A Pending JPH07319730A (ja) 1994-05-23 1994-05-23 テスト・デバッグ方法

Country Status (1)

Country Link
JP (1) JPH07319730A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940617A (en) * 1996-09-17 1999-08-17 Kabushiki Kaisha Toshiba Debugger for controlling execution of software installed in object to be controlled on the basis of state transition model, debugging method thereof, record medium thereof, and method for correlating function specifications and code addresses
JP2016048471A (ja) * 2014-08-27 2016-04-07 日本電気株式会社 アプリケーション開発支援装置、そのデータ処理方法、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940617A (en) * 1996-09-17 1999-08-17 Kabushiki Kaisha Toshiba Debugger for controlling execution of software installed in object to be controlled on the basis of state transition model, debugging method thereof, record medium thereof, and method for correlating function specifications and code addresses
JP2016048471A (ja) * 2014-08-27 2016-04-07 日本電気株式会社 アプリケーション開発支援装置、そのデータ処理方法、およびプログラム

Similar Documents

Publication Publication Date Title
CA2143145C (en) Determining dynamic properties of programs
US7178135B2 (en) Scope-based breakpoint selection and operation
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
US6993749B2 (en) Conditional debug monitors
JPS62113244A (ja) プログラムテスト装置
JPH07319730A (ja) テスト・デバッグ方法
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JP2005174045A (ja) ソースプログラム変換装置、ソースプログラム変換方法、ソースプログラム変換プログラム、および、プログラム記録媒体
JPH02275539A (ja) デバッグ処理方式
JP2004287869A (ja) プログラム実行監視装置および方法
JP7479188B2 (ja) デバッグ支援装置、デバッグ支援方法およびプログラム
JP4149047B2 (ja) シミュレータ
JPH06242943A (ja) ソースコードレベルデバッグ装置
JP2697230B2 (ja) デバッグ支援装置
JPH06250889A (ja) データ処理システムにおける障害処理方式
JPH04358232A (ja) 情報処理装置の機能試験方法
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH07295860A (ja) ソフトウエア試験方法およびそのための装置
JPH05127945A (ja) プログラム実行状況解析方式
JPH08185326A (ja) インタープリタ言語処理装置
JPH0439746A (ja) プログラム開発支援装置
JPS62108338A (ja) プログラムテスト装置
JPS6365542A (ja) デバツグ方式
JPH07105045A (ja) 情報処理装置機能試験プログラムのデバッグ方式
JPH06324908A (ja) 部品プログラムのデバッグ情報収集システム