JPH0225939A - テストカバレージ計測ツール - Google Patents

テストカバレージ計測ツール

Info

Publication number
JPH0225939A
JPH0225939A JP63175036A JP17503688A JPH0225939A JP H0225939 A JPH0225939 A JP H0225939A JP 63175036 A JP63175036 A JP 63175036A JP 17503688 A JP17503688 A JP 17503688A JP H0225939 A JPH0225939 A JP H0225939A
Authority
JP
Japan
Prior art keywords
program
execution module
coverage
test coverage
address
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
JP63175036A
Other languages
English (en)
Inventor
Toshiya Hashimoto
俊哉 橋本
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 Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Engineering Co Ltd Ibaraki
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 Engineering Co Ltd Ibaraki, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd Ibaraki
Priority to JP63175036A priority Critical patent/JPH0225939A/ja
Publication of JPH0225939A publication Critical patent/JPH0225939A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/31835Analysis of test coverage or failure detectability

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム開発におけるプログラムテストに
係り、特に、プログラムのテストが十分に行われたかを
示すテストカバレージに好適なテストカバレージ計測ツ
ールに関する。
〔従来の技術〕
従来、テストカバレージの計測は、1986年rbit
J9月号ソフトウェアのテスト技法テスティング、ツー
ル(2)に示されているように、プログラムの機能に影
響しないようにテストカバレージの計測を行う実行文を
プログラムに挿入し、プログラムを再コンパイル、再リ
ンクして実行モジュールをカバレージ計測用に再作成し
、実行モジュールを動作させ挿入した計測を行う実行文
により計測する方式がとられていた。
〔発明が解決しようとする課題〕
しかし、上記従来方式は、プログラムのテスト実行、デ
バッグが終了した後、ナス1−力バレージを計測するた
めだけに、計測実行文の挿入作業。
再コンパイル、再すンク作業、実行モジュールの動作作
業が必要であり、テスト作業を一時的に中断して行なわ
ざるをえなかった。また、プログラムの機能に影響しな
い様に計測実行文を挿入しているが、プログラム自身に
変更があるため、挿入前のプログラムと全く同一動作で
あるとの保障ができないという問題点があった。
本発明の目的は、テストカバレージ計測を、プログラム
のテスト作業を中断することなく、テスト実行、デバッ
グに続けて一貫して可能とし、また、プログラムに変更
を加えることなくプログラムそのままの動作からカバレ
ージ計測を可能とするテストカバレージ計測ツールを提
供することにある。
〔課題を解決するための手段〕
上記目的は、コンパイラがプログラムのデバッグ用に出
力するデバッグ情報の1つである行NO情報(行NOと
行NOに対応するアドレス)を使用し、実行モジュール
の動作前に、一時的に動作をストップさせるブレーク命
令を実行モジュールの行NOに対応するアドレスに埋め
込み、実行モジュール動作時、ブレークしたアドレスか
ら対応する行NOを求め、求めた行NOを実行されたと
認識するテストカバレージツールにより達成される。
〔作用〕
コンパイラが出力するプログラムのデバッグ情報は、プ
ログラムの不具合を究明するデバッグ作業で使うデバッ
グツールで使用する。このデバッグ作業は、プログラム
のテスト作業では必須であり、カバレージ計測のために
、デバッグ情報出力のコンパイル作業を行う必要はない
。また、このデバッグ情報は、実行モジュールの付属情
報として出力されるものであり、プログラム自身に変更
は発生しない。
〔実施例〕
以下、本発明の1実施例を詳細に説明する。
第1図は、本発明によるテストカバレージ計測ツールの
構成を示したものであり、第2図はその処理手順を示し
たフローチャートである。
第1図において、プログラム1は、コンパイラ、リンカ
2により、命令部4、デバッグ情報部5からなる実行モ
ジュール3に変換され動作可能な状態となる。このデバ
ッグ情報部の一部である行NO情報6は、プログラムの
行NOと行NOに対応する実行モジュールの命令部アド
レスから構成されており、プログラムの行NOが実行モ
ジュールのどの部分に対応するかを示している。
テス]・カバレージ計測ツール7は、行NO情報を基に
、カバレージ計測テーブル8を作成し、このテーブルを
使用して、カバレージ計測を行い。
計測終了後、カバレージ率リスト9を出力する。
このカバレージ計測テーブルは、行NO情報と同一構成
である行NO、アドレスに加え、アドレスで示される命
令部の命令、及び、行NOの実行回数を示すカウンタで
構成される。
次に第2図のフローチャー1−に基づいて、第1図のテ
ストカバレージ計測ツールの処理手順を示す。
テストカバレージ計測ツールに起動がかかると、まず、
実行モジュールの行NO情報をカバレージ計測テーブル
に読み込み(100)、全行80分イニシャル処理とし
て、カウンタのOクリア(1,10)、アドレスに対応
する命令部の命令の読込み(1,20)、命令部のアド
レスにブレーク命令のの書込み(130)を行う。次に
、この状態で、実行モジュールを動作させ(150)、
実行モジュールがブレークまたは、終了するのを監視す
る(160)。実行モジュールがブレークした場合には
、計測処理として、ブレークの発生したアドレスから対
応するカバレージ計測テーブルの行NOを求め(180
)、求めた行NOのカウンタを十1する(190)。
次に、実行モジュールを再実行させるための処理として
、まず、求めた行NOの命令を命令部に書き込み回復さ
せ(200)、1ステップ実行しく210)、プログラ
ム自身の処理を行う。次に、再びカバレージ計測を可能
とするため、再び求めた行NOのアドレスにブレーク命
令を書込み(220)、再動作させる(150)。
この150−220までの処理を実行モジュールが終了
するまで行い、テストカバレージの計測を行う。また、
実行モジュールが終了した場合には、カバレージ率=(
カウンタが0以外の行N。
数)÷(全行NO数> xtooにより、カバレージ率
を求め表示する(230)。
〔発明の効果〕
本発明によれば、プログラムのテスト作業を中断するこ
となく、また、実行モジュールの付属情報であるデバッ
グ情報を使用するため、プログラムに変更を加えること
なくテストカバレージの計測ができ、テスト作業をテス
ト実行、デバッグ、カバレージ計測と一貫して行うこと
ができ、プログラムのテスト効率を向上させることがで
きる。
また、実施例1によるテストカバレージツールで計測し
た計?1ill結果を計測結果ファイルとして出力し、
次回の起動時に、このファイル内容をよみ込み、カウン
タに反映させることにより、テストごとのカバレージを
累積することができる。また、この計測結果ファイルに
、計測した実行モジュールの作成時間を格納し1次回の
起動時に、これから計測しようとする実行モジュールの
作成時間と比較し、異なる場合には、カウンタをOとす
ることで、カバレージ履歴管理をすることができる。
更に、コンパイラのデバッグ情報に分岐情報(例えば、
IF文のTHEHのアドレスとELSEのアドレス)を
追加することにより1分岐カバレージ率の計測も可能と
なる。
【図面の簡単な説明】
第1図は本発明の一実施例のテストカバレージ計測ツー
ルの構成図、第2図はテストカバレージ計測ツールの処
理手順を示すフローチャートである。 1・・・プログラム、2・・・コンパイラ、リンカ、3
・・・実行モジュール、6・・・行NO情報、7・・・
テストカバレージ計測ツール、8・・・カバレージ計測
テープ率1図

Claims (1)

    【特許請求の範囲】
  1. 1、プログラムのどの部分が実行されたかを計測するこ
    とで、プログラムのテストが十分かどうかを判定するテ
    ストカバレージにおいて、プログラムをコンパイル、リ
    ンクし作成した実行モジュールの付属情報を用い、実行
    モジュールの動作前に、一時的に動作をストップさせる
    ブレーク命令をプログラムの行NOに対応させるアドレ
    スに埋め込み、実行モジュール動作時、ブレークしたア
    ドレスから対応する行NOを求め、求めた行NOを実行
    したと認識することで、プログラムに変更を加えること
    なくカバレージ計測を可能としたことを特徴とするテス
    トカバレージ計測ツール。
JP63175036A 1988-07-15 1988-07-15 テストカバレージ計測ツール Pending JPH0225939A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63175036A JPH0225939A (ja) 1988-07-15 1988-07-15 テストカバレージ計測ツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63175036A JPH0225939A (ja) 1988-07-15 1988-07-15 テストカバレージ計測ツール

Publications (1)

Publication Number Publication Date
JPH0225939A true JPH0225939A (ja) 1990-01-29

Family

ID=15989096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63175036A Pending JPH0225939A (ja) 1988-07-15 1988-07-15 テストカバレージ計測ツール

Country Status (1)

Country Link
JP (1) JPH0225939A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (ja) * 2005-06-20 2007-01-11 Seagate Technology Llc 組込型処理装置システム用コードカバレッジ測定方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (ja) * 2005-06-20 2007-01-11 Seagate Technology Llc 組込型処理装置システム用コードカバレッジ測定方法及び装置

Similar Documents

Publication Publication Date Title
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US20070006159A1 (en) Post-compile instrumentation of object code for generating execution trace data
US6240545B1 (en) Setting instance breakpoints in object oriented computer programs
US20070150872A1 (en) Use of Memory Watch Points and a Debugger to Improve Analysis of Runtime Memory Access Errors
US9069894B2 (en) Data collisions in concurrent programs
US5132972A (en) Assembly language programming potential error detection scheme sensing apparent inconsistency with a previous operation
JP2000020349A (ja) プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
Jeong et al. Fifa: A kernel-level fault injection framework for arm-based embedded linux system
CN100388234C (zh) 一种基于有限状态机的对内存变量改写进行监控的方法
US5404499A (en) Semi-automatic program execution error detection
JPH0225939A (ja) テストカバレージ計測ツール
EP1209567A1 (en) Method and system for real time debugging a source program, particularly for DSP
TWI402750B (zh) 具有軟體程式儲存於其中之電腦可讀取媒體及用以產生軟體程式的方法
US20100251213A1 (en) Method for executing debug commands
JP2001043110A (ja) プログラムのデバッグ方法
JP2002268918A (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
KR100340049B1 (ko) 시나리오를 이용한 칠 프로그램 시험 방법
JPS59202548A (ja) デバツグ装置
JPH05324402A (ja) プログラムのテスト状態計測方式
KR20250003362A (ko) 컴퓨터 프로그램을 테스트하기 위한 방법
KR20250003334A (ko) 컴퓨터 프로그램을 테스트하기 위한 방법
JP3068578B2 (ja) インサーキットエミュレータおよび飽和演算処理方法
Chang et al. An Effective Parallel Program Debugging Approach Based on Timing Annotation
JPH04307636A (ja) プログラムテスト方式