JPH0258136A - ソフトウェア試験カバレージ測定装置 - Google Patents
ソフトウェア試験カバレージ測定装置Info
- Publication number
- JPH0258136A JPH0258136A JP63210202A JP21020288A JPH0258136A JP H0258136 A JPH0258136 A JP H0258136A JP 63210202 A JP63210202 A JP 63210202A JP 21020288 A JP21020288 A JP 21020288A JP H0258136 A JPH0258136 A JP H0258136A
- Authority
- JP
- Japan
- Prior art keywords
- program
- path
- test
- execution
- executing
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
「産業上の利用分野]
この発明はソフトウェア試験カバレージ測定装置、特に
プログラムの分岐・繰り返しパラメータの値、変数の使
用状況から適切な有効パスを選定し、対象計算機プログ
ラムの有効試験実施率を評価する装置に関するものであ
る。
プログラムの分岐・繰り返しパラメータの値、変数の使
用状況から適切な有効パスを選定し、対象計算機プログ
ラムの有効試験実施率を評価する装置に関するものであ
る。
[従来の技術]
一般に、計算機プログラムの完全性を試験する場合、プ
ログラムの内部構造面と要求機能面の両面から試験デー
タを作成し、シミュレーションまたはエミュレーション
を実施した後で、ターゲット・システムにおけるシステ
ム検証を行っている。
ログラムの内部構造面と要求機能面の両面から試験デー
タを作成し、シミュレーションまたはエミュレーション
を実施した後で、ターゲット・システムにおけるシステ
ム検証を行っている。
プログラムの内部構造面からの試験は命令文、分岐、実
行パスの3つの観点から評価されるが、試験負担を最小
化しながらカバレージを極力高くするような方法が要求
される。
行パスの3つの観点から評価されるが、試験負担を最小
化しながらカバレージを極力高くするような方法が要求
される。
従来、かかる要求に応えるものとして文献(rsort
ware Re1iability J Glenr
ord J、Myers著−「ソフトウェアの信頼性」
有沢誠 訳、近代科学社発行、1977年)に示される
ようなソフトウェア試験カバレージ測定システムが提案
されている。これは第5図のフローチャートに示すよう
なプログラムを対象とし第6図の説明図に示すような実
行パスに適合されるシステムであり、ステップP1から
ステップP4の4つの処理がパス1からパス4の4つの
抽出された実行パスに割り当てられる。この場合、各プ
ログラム・ユニット間の処理内容に無関係に実行パスを
険出し、その実行パスを分母に実行比率を算出している
。このため、処理2の内容と処理4の相関を無視した実
行比率が算出される。すなわち、処理2の内容と処理4
の内容が相関を持つ場合には、処理2と処理4はいずれ
も無いか、いずれも含まれるかのいずれかの状態しか取
り得ない訳であり、従ってパス3や4のように処理2ま
たは処理4のいずれかしか含まれない実行パスは実際に
は起り得ず無意味である。
ware Re1iability J Glenr
ord J、Myers著−「ソフトウェアの信頼性」
有沢誠 訳、近代科学社発行、1977年)に示される
ようなソフトウェア試験カバレージ測定システムが提案
されている。これは第5図のフローチャートに示すよう
なプログラムを対象とし第6図の説明図に示すような実
行パスに適合されるシステムであり、ステップP1から
ステップP4の4つの処理がパス1からパス4の4つの
抽出された実行パスに割り当てられる。この場合、各プ
ログラム・ユニット間の処理内容に無関係に実行パスを
険出し、その実行パスを分母に実行比率を算出している
。このため、処理2の内容と処理4の相関を無視した実
行比率が算出される。すなわち、処理2の内容と処理4
の内容が相関を持つ場合には、処理2と処理4はいずれ
も無いか、いずれも含まれるかのいずれかの状態しか取
り得ない訳であり、従ってパス3や4のように処理2ま
たは処理4のいずれかしか含まれない実行パスは実際に
は起り得ず無意味である。
[発明が解決しようとする課題]
従来のソフトウェア試験カバレージ測定システムは以上
のように構成されているので、分岐可能性の有無によっ
てのみ実行パスを検出しており、従ってそのプログラム
が実運用される場合には起り得ないパスを送出してしま
い、試験者によるそのパスの有効・無効の判断が必要で
あるという問題点がある。試験者は試験データに対する
処理そのものの結果の妥当性を判断する必要があること
から、試験に伴う負担が大きくなってしまうという問題
点もある。
のように構成されているので、分岐可能性の有無によっ
てのみ実行パスを検出しており、従ってそのプログラム
が実運用される場合には起り得ないパスを送出してしま
い、試験者によるそのパスの有効・無効の判断が必要で
あるという問題点がある。試験者は試験データに対する
処理そのものの結果の妥当性を判断する必要があること
から、試験に伴う負担が大きくなってしまうという問題
点もある。
この発明は上記従来技術の課題を解決するためになされ
たもので、ソフトウェアの試験に当り、無意味な試験パ
スを自動的に判断削除し、有効なパスのみを抽出するこ
とで試験を効率化すると共に試験者の負担を軽減するこ
とのできるソフトウェア試験カバレージ測定装置を得る
ことを目的とする。
たもので、ソフトウェアの試験に当り、無意味な試験パ
スを自動的に判断削除し、有効なパスのみを抽出するこ
とで試験を効率化すると共に試験者の負担を軽減するこ
とのできるソフトウェア試験カバレージ測定装置を得る
ことを目的とする。
[課題を解決するための手段]
この発明にかかるソフトウェア試験カバレージ測定装置
は、試験対象となる計算機プログラムを分岐命令を複数
個含まないユニット・ブロック、つまり分岐命令を含ま
ないか含むとしても1個しか有さないユニットに分割す
るにプログラム・ユニット分割手段と、分割された各プ
ログラム・ユニットの分岐命令の呼び先と分岐元のコマ
ンドライン番号から構成されるベクトルから実行パスを
検出し、各プログラム・ユニット間のパラメータの相関
から有効な実行パスを抽出する実行パス解析手段と、プ
ログラムの実行パスを追跡するトレーサをプログラムに
植え込むトレーサ植付手段と、トレーサを植え込まれた
プログラムからシミュレンヨン実行可能なロード・モジ
ュールを生成するコンパイル・リンク手段と、シミュレ
ーション時の実行パス・データを収集する実行パス・デ
ータ収集手段と、収集された実行パス・データに基づき
有効試験実施率を算出しこれを評価する試験データ評価
手段を備えるものである。
は、試験対象となる計算機プログラムを分岐命令を複数
個含まないユニット・ブロック、つまり分岐命令を含ま
ないか含むとしても1個しか有さないユニットに分割す
るにプログラム・ユニット分割手段と、分割された各プ
ログラム・ユニットの分岐命令の呼び先と分岐元のコマ
ンドライン番号から構成されるベクトルから実行パスを
検出し、各プログラム・ユニット間のパラメータの相関
から有効な実行パスを抽出する実行パス解析手段と、プ
ログラムの実行パスを追跡するトレーサをプログラムに
植え込むトレーサ植付手段と、トレーサを植え込まれた
プログラムからシミュレンヨン実行可能なロード・モジ
ュールを生成するコンパイル・リンク手段と、シミュレ
ーション時の実行パス・データを収集する実行パス・デ
ータ収集手段と、収集された実行パス・データに基づき
有効試験実施率を算出しこれを評価する試験データ評価
手段を備えるものである。
[作用コ
この発明におけるソフトウェア試験カバレージ測定装置
は、計算機プログラムを実行フローからユニット分割し
、分岐命令の飛び先、分岐元から生成されるベクトルに
基づく実行パスを各ユニットでの受は渡しパラメータの
相関関係から有効実行パスを絞り込むことによって見掛
は上で意味の無いパスを除外し、実行パス分析の結果を
有効なものにしている。
は、計算機プログラムを実行フローからユニット分割し
、分岐命令の飛び先、分岐元から生成されるベクトルに
基づく実行パスを各ユニットでの受は渡しパラメータの
相関関係から有効実行パスを絞り込むことによって見掛
は上で意味の無いパスを除外し、実行パス分析の結果を
有効なものにしている。
[実施例]
以下、図面を参照しながらこの発明の詳細な説明する。
第1図はこの発明の一実施例に係るソフトウェア試験カ
バレージ測定装置のブロック図である。
バレージ測定装置のブロック図である。
図において、(2)は試験対象計算機プログラムである
ソース・プログラムを格納する記憶装置、(1)はプロ
グラム・ユニッI・分割手段(4)、実行バス解析手段
(5)、実行トレーサ植付手段(6)、ロード・モジュ
ール生成手段(7)、試験データ収集手段(8)、試験
データ評価手段(9)を備える計算機、(3)は実行パ
ス解析結果や試験カバレージを印字出力する出力装置で
ある。そして、記憶装置(2)から読み出されたソース
−プログラムは計算機(1)のプログラム・ユニット分
割手段(4)によって分岐命令を複数以上時たないプロ
グラム・ユニットに分割され、実行パス解析手段(5)
で分岐命令による論理的実行バスを検出される。この実
行バス解析結果は出力装置(3)に出力される。一方、
実行トレーサ植付手段(6)で各ユニット・プログラム
には実行追跡用のトレーサが植え込まれ、ロード・モジ
ュール生成手段(7)でコンパイル・リンクされた後に
これが実行される。この場合、各ユニ・ソト間での受は
渡しパラメータの相関から有効実行パラメータを絞り込
み、プログラムの実行時には各プログラム・ユニットの
実行を実行パスと一致した形でトレースし記憶する。こ
の記憶された実行記録は実行パス分析によって得られて
いる実行可能パスからその試験カバレージを算出され出
力装置(3)に出力される。
ソース・プログラムを格納する記憶装置、(1)はプロ
グラム・ユニッI・分割手段(4)、実行バス解析手段
(5)、実行トレーサ植付手段(6)、ロード・モジュ
ール生成手段(7)、試験データ収集手段(8)、試験
データ評価手段(9)を備える計算機、(3)は実行パ
ス解析結果や試験カバレージを印字出力する出力装置で
ある。そして、記憶装置(2)から読み出されたソース
−プログラムは計算機(1)のプログラム・ユニット分
割手段(4)によって分岐命令を複数以上時たないプロ
グラム・ユニットに分割され、実行パス解析手段(5)
で分岐命令による論理的実行バスを検出される。この実
行バス解析結果は出力装置(3)に出力される。一方、
実行トレーサ植付手段(6)で各ユニット・プログラム
には実行追跡用のトレーサが植え込まれ、ロード・モジ
ュール生成手段(7)でコンパイル・リンクされた後に
これが実行される。この場合、各ユニ・ソト間での受は
渡しパラメータの相関から有効実行パラメータを絞り込
み、プログラムの実行時には各プログラム・ユニットの
実行を実行パスと一致した形でトレースし記憶する。こ
の記憶された実行記録は実行パス分析によって得られて
いる実行可能パスからその試験カバレージを算出され出
力装置(3)に出力される。
かかる構成において次にその作用を第2図のフローチャ
ートに従って説明する。
ートに従って説明する。
記憶装置(2)から計算機(1)に読み出された計算機
プログラム、つまりソース・プログラムはプログラム・
ユニット分割手段(4)で分岐命令、例えばPL/MD
O及びν旧LE繰り返し文、D0CASE文、IF分、
Go To文等の存在によって、これを複数以上含まな
いブロックにユニット分割される。つまり、これらの分
岐命令文が1個以下のプログラム・ブロックに分割され
る。(ステップSl) 次に実行バス解析手段(5)によって分岐命令の分岐元
および分岐先のライン番号から生成される実行パス・ベ
クトルから実行パスを検出し、各処理ユニット間の受は
渡しパラメータの相関から有効実行バスを絞り込む。こ
の結果は、出力装置(3)によって試験者に知らされる
。(ステップS2) ユニット分割されたソース・プログラムには実行トレー
サ植付手段(6)によって各ユニット毎に実行追跡トレ
ーサが植え込まれる。(ステップS3) 次に、ロード・モジュール生成手段(7)によって、こ
のソース・プログラムが別途作成される試験データと共
にコンパイル・リンクされる。
プログラム、つまりソース・プログラムはプログラム・
ユニット分割手段(4)で分岐命令、例えばPL/MD
O及びν旧LE繰り返し文、D0CASE文、IF分、
Go To文等の存在によって、これを複数以上含まな
いブロックにユニット分割される。つまり、これらの分
岐命令文が1個以下のプログラム・ブロックに分割され
る。(ステップSl) 次に実行バス解析手段(5)によって分岐命令の分岐元
および分岐先のライン番号から生成される実行パス・ベ
クトルから実行パスを検出し、各処理ユニット間の受は
渡しパラメータの相関から有効実行バスを絞り込む。こ
の結果は、出力装置(3)によって試験者に知らされる
。(ステップS2) ユニット分割されたソース・プログラムには実行トレー
サ植付手段(6)によって各ユニット毎に実行追跡トレ
ーサが植え込まれる。(ステップS3) 次に、ロード・モジュール生成手段(7)によって、こ
のソース・プログラムが別途作成される試験データと共
にコンパイル・リンクされる。
(ステップS4)
以上のようにして生成されたロード・モジュールは計算
機(1)上でプログラム実行され、試験データ収集手段
(8)によって実行履歴が収集される。(ステップS5
) この試験データに対する実行データが収集分析されて試
験データ評価手段(9)で試験カバレージが算出評価さ
れ、その結果は出力装置(3)を通じて試験員に知らさ
れる。(ステップS6)第3図、第4図はそれぞれ有効
実行バスの絞り込みの原理を単純化して示すためのもの
で、第3図は試験プログラムの一例のフローチャートお
よび第4図は第3図のフローの実行パスの説明図である
。ステップP1からステップP4の各処理1から処理4
の中で処理1は処理2および処理3への分岐を含んでお
り、また処理3も処理4、ストップへの分岐を含んでい
る。分岐命令のみによるバス分析ではパス1からパス4
の4つの実行パスが生成されてしまうが、処理2で生成
されたパラメータが諸4で使用されているような場合に
は、処理2と処理4を両方含まないバス3、バス4は意
味がないものになってしまう。このパラメータ間の相関
の有無を利用して有効実行バスを検出する。つまり、第
4図の説明図に示すように、例えば処理2と処理4の相
関がある場合は、パス1、パス2が有効であり、処理2
と処理4の相関が無い場合はすべてのバスが有効となる
。
機(1)上でプログラム実行され、試験データ収集手段
(8)によって実行履歴が収集される。(ステップS5
) この試験データに対する実行データが収集分析されて試
験データ評価手段(9)で試験カバレージが算出評価さ
れ、その結果は出力装置(3)を通じて試験員に知らさ
れる。(ステップS6)第3図、第4図はそれぞれ有効
実行バスの絞り込みの原理を単純化して示すためのもの
で、第3図は試験プログラムの一例のフローチャートお
よび第4図は第3図のフローの実行パスの説明図である
。ステップP1からステップP4の各処理1から処理4
の中で処理1は処理2および処理3への分岐を含んでお
り、また処理3も処理4、ストップへの分岐を含んでい
る。分岐命令のみによるバス分析ではパス1からパス4
の4つの実行パスが生成されてしまうが、処理2で生成
されたパラメータが諸4で使用されているような場合に
は、処理2と処理4を両方含まないバス3、バス4は意
味がないものになってしまう。このパラメータ間の相関
の有無を利用して有効実行バスを検出する。つまり、第
4図の説明図に示すように、例えば処理2と処理4の相
関がある場合は、パス1、パス2が有効であり、処理2
と処理4の相関が無い場合はすべてのバスが有効となる
。
以上のように、計算機プログラムの処理内容に依存した
有効実行バスを各プログラム・ユニット間の受は渡しパ
ラメータ間の相関により自動的に検出することができる
ようにしたので、ソフトウェア試験における試験員の判
断時間や試験時間を大幅に短縮することができる。
有効実行バスを各プログラム・ユニット間の受は渡しパ
ラメータ間の相関により自動的に検出することができる
ようにしたので、ソフトウェア試験における試験員の判
断時間や試験時間を大幅に短縮することができる。
[発明の効果]
以上のように、この発明によれば試験すべきプログラム
の有効なバスを自動的に検出し、この有効パスのみに限
ってシミュレーションやエミュレションを実行するよう
に構成したので、試験結果に対する試験者の判断の必要
を低減し、ブ0グラムの試験効率を大幅に向上すること
ができるものが得られる効果がある。
の有効なバスを自動的に検出し、この有効パスのみに限
ってシミュレーションやエミュレションを実行するよう
に構成したので、試験結果に対する試験者の判断の必要
を低減し、ブ0グラムの試験効率を大幅に向上すること
ができるものが得られる効果がある。
第1図はこの発明の一実施例に係るソフトウェア試験カ
バレージ測定装置のブロック図、第2図は第1図の構成
の動作を説明するためのフローチャート、第3図は第1
図の構成の作用を説明するためのフローチャート、第4
図は第1図の構成の作用の説明図、第5図は従来のソフ
トウェア試験カバレージ測定システムの作用を説明する
だめのフローチャート、第6図は従来のシステムの作用
の説明図である。 図中、(1)は計算機、(2)は記憶装置、(3)は出
力装置、(4)はプログラム・ユニット分割手段、(5
)は実行バス解析手段、(6)は実行トレーサ植付手段
、(7)はロード・モジュール生成手段、(8)は試験
データ収集手段、(9)は試験データ評価手段である。 なお、図中、同一符号は同一、又は相当部分を示す。 代理人 弁理士 大 岩 増 雄 m−−−−−m −実施例の構成の作用説明のフローチャ第3図 実箱例の構成の作用の説明図
バレージ測定装置のブロック図、第2図は第1図の構成
の動作を説明するためのフローチャート、第3図は第1
図の構成の作用を説明するためのフローチャート、第4
図は第1図の構成の作用の説明図、第5図は従来のソフ
トウェア試験カバレージ測定システムの作用を説明する
だめのフローチャート、第6図は従来のシステムの作用
の説明図である。 図中、(1)は計算機、(2)は記憶装置、(3)は出
力装置、(4)はプログラム・ユニット分割手段、(5
)は実行バス解析手段、(6)は実行トレーサ植付手段
、(7)はロード・モジュール生成手段、(8)は試験
データ収集手段、(9)は試験データ評価手段である。 なお、図中、同一符号は同一、又は相当部分を示す。 代理人 弁理士 大 岩 増 雄 m−−−−−m −実施例の構成の作用説明のフローチャ第3図 実箱例の構成の作用の説明図
Claims (1)
- 計算機プログラムを分岐命令を複数個含まないブロック
に分割するプログラム・ユニット分割手段と、分割され
た各プログラム・ユニット間の相関から有効な実行パス
を検出する実行パス解析手段と、プログラムの実行パス
を追跡するトレーサを計算機プログラムに植え込むトレ
ーサ植付手段と、トレーサを植え込まれたプログラムか
らシミュレーション実行可能なロード・モジュールを生
成するコンパイル・リンク手段と、シミュレーション時
の実行パス・データを収集する実行パス・データ収集手
段と、収集された実行パス・データに基づき有効試験実
施率を算出評価する試験データ評価手段を備えることを
特徴とするソフトウェア試験カバレージ測定装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63210202A JPH0258136A (ja) | 1988-08-24 | 1988-08-24 | ソフトウェア試験カバレージ測定装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63210202A JPH0258136A (ja) | 1988-08-24 | 1988-08-24 | ソフトウェア試験カバレージ測定装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0258136A true JPH0258136A (ja) | 1990-02-27 |
Family
ID=16585482
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63210202A Pending JPH0258136A (ja) | 1988-08-24 | 1988-08-24 | ソフトウェア試験カバレージ測定装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0258136A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6536036B1 (en) | 1998-08-20 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for managing code test coverage data |
| JP2006293740A (ja) * | 2005-04-12 | 2006-10-26 | Ntt Data Corp | ソフトウェアカバレッジ測定装置及び方法 |
| US7240243B2 (en) | 2002-03-28 | 2007-07-03 | International Business Machines Corporation | System and method for facilitating programmable coverage domains for a testcase generator |
-
1988
- 1988-08-24 JP JP63210202A patent/JPH0258136A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6536036B1 (en) | 1998-08-20 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for managing code test coverage data |
| US7240243B2 (en) | 2002-03-28 | 2007-07-03 | International Business Machines Corporation | System and method for facilitating programmable coverage domains for a testcase generator |
| JP2006293740A (ja) * | 2005-04-12 | 2006-10-26 | Ntt Data Corp | ソフトウェアカバレッジ測定装置及び方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hamlet | Are we testing for true reliability? | |
| Gokhale et al. | An analytical approach to architecture-based software reliability prediction | |
| US6071316A (en) | Automated validation and verification of computer software | |
| Singh et al. | A systematic review on fault based mutation testing techniques and tools for Aspect-J programs | |
| Polo et al. | Integrating techniques and tools for testing automation | |
| CN105260312B (zh) | 一种多核实时系统应用数据竞争错误的调试方法 | |
| CN106294121A (zh) | 飞机嵌入式实时诊断推理算法试验方法 | |
| CN106295809B (zh) | 飞机嵌入式实时诊断推理算法试验系统 | |
| JPH0748182B2 (ja) | プログラム・エラー検出方法 | |
| Harrold | Architecture-based regression testing of evolving systems | |
| JPH0258136A (ja) | ソフトウェア試験カバレージ測定装置 | |
| Tai | Testing of concurrent software | |
| CN106021109A (zh) | 一种面向程序结构分析自动化框架模型 | |
| CN106292330B (zh) | 飞机嵌入式实时诊断推理算法试验方法 | |
| CN106295808B (zh) | 飞机嵌入式实时诊断推理算法试验方法 | |
| Lyu et al. | A coverage analysis tool for the effectiveness of software testing | |
| Bach | Heuristics of software testability | |
| CN118860848A (zh) | 一种实时嵌入式软件自动化闭环测试的方法 | |
| CN109460357A (zh) | 一种代码覆盖率的测试方法、装置和设备 | |
| CN115658507A (zh) | 针对实时嵌入式软件源代码覆盖率分析系统 | |
| Le et al. | Scalable fault localization for SystemC TLM designs | |
| CA2355839A1 (en) | Instrumentation of calls to routines for which source code is unavailable | |
| Grabner et al. | Debugging of concurrent processes | |
| JPH06161825A (ja) | ソフトウェアプログラムのテストカバレッジ計測装置 | |
| Su | Automatic analysis of relay ladder logic programs |