JPH0452835A - Program test evaluation system - Google Patents

Program test evaluation system

Info

Publication number
JPH0452835A
JPH0452835A JP2155223A JP15522390A JPH0452835A JP H0452835 A JPH0452835 A JP H0452835A JP 2155223 A JP2155223 A JP 2155223A JP 15522390 A JP15522390 A JP 15522390A JP H0452835 A JPH0452835 A JP H0452835A
Authority
JP
Japan
Prior art keywords
module
program
execution
address
executed
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
JP2155223A
Other languages
Japanese (ja)
Inventor
Futoshi Hirotaka
広隆 太司
Makio Matsumoto
松本 萬樹男
Noboru Ohara
昇 大原
Yuji Nomura
野村 祐治
Yoshio Hayashi
義生 林
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 JP2155223A priority Critical patent/JPH0452835A/en
Publication of JPH0452835A publication Critical patent/JPH0452835A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To rapidly and efficiently sample and edit a program inclusion rate and a module inclusion rate in real time by outputting an executed/unexecuted program name list, an executed/unexecuted module name list, etc., based upon module execution/unexecution information. CONSTITUTION:An executed module deciding part 7 determines a program and a module including an execution instruction address or a branched address stored in an execution instruction address storing part 6 based upon a table stored in a module constitutional information storing part 2 and decides an execution module. After determining the execution module, a table execution/ unexecution indicator 14 corresponding to the determined module and stored in the storing part 2 is set up to '1'. A module inclusion rate calculating part 3 finds out a program inclusion rate from the number of programs including at least one execution indicator of value '1'/the total number of programs based upon the indicator 14 stored in the storing part 2 and finds out the module inclusion rate from the number of modules including the execution indicator of value '1'/the total number of modules.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理システムにおけるプログラムテスト
網羅率測定方式に関し、特にプログラム網羅率、モジュ
ール網羅率測定方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method for measuring program test coverage in an information processing system, and particularly to a method for measuring program coverage and module coverage.

〔従来の技術〕[Conventional technology]

近年、情報処理システムの大規模化、適用分野の拡大化
が著しく、その信頼性が社会に与える影響は益々増大し
ている。このため、ソフl〜ウェアの信頼性確保の重要
性が一段と高まっている。
In recent years, the scale of information processing systems has increased significantly and the fields of application have expanded significantly, and the impact that their reliability has on society is increasing. For this reason, the importance of ensuring the reliability of software has become even more important.

従来、プログラムのテスト十分性を測る尺度の一つであ
るプログラムモジュール網羅率は、プログラムの実行ア
ドレストレース、分岐命令の分岐成立時の分岐先アドレ
ストレース、あるいはプログラムモジュールを一定サイ
ズに分割した部分集合であるユニットのトレースを記憶
装置に格納し、テスト後その格納されたトレース情報に
より解析していた。また、モジュールの入り口に特別な
命令を挿入し、その命令により実行モジュール履歴を採
取していた。
Conventionally, program module coverage, which is one of the measures to measure the test sufficiency of a program, is based on the program execution address trace, the branch destination address trace when a branch instruction is taken, or a subset of a program module divided into a fixed size. The trace of a certain unit was stored in a storage device, and after testing, the stored trace information was used for analysis. Additionally, a special command was inserted at the entrance of the module, and the history of the executed module was collected using that command.

尚、この種のプログラムモジュール網羅率を採取する方
式としては、特開昭59.−135555、特開平1−
93841等が挙げられる。
Note that a method for collecting this kind of program module coverage rate is disclosed in Japanese Unexamined Patent Application Publication No. 1983-1999. -135555, JP-A-1-
93841 etc. are mentioned.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

前記の従来技術は、大規模情報処理システムのテストに
おいて、システム全体のプログラム、モジュールに関す
るテスト網羅率を採取・編集する配慮がなされていない
。即ち、前記の各種トレース情報より実行モジュール履
歴を求めるには、大量の記憶装置を必要としたり、その
記憶装置へのトレース情報の格納、取り出し処理に長時
間かかるという問題があった。また、トレース情報の種
類によっては、算出されるプログラムモジュール網羅率
に誤差が生じるという精度の問題があった。
The above-mentioned conventional technology does not take into account collecting and editing the test coverage of the programs and modules of the entire system in testing a large-scale information processing system. That is, in order to obtain the execution module history from the various types of trace information mentioned above, there is a problem that a large amount of storage device is required and it takes a long time to store and retrieve the trace information from the storage device. Furthermore, depending on the type of trace information, there is an accuracy problem in that an error occurs in the calculated program module coverage rate.

また、プログラムを構成する全モジュールにモジュール
実行履歴を採るための特別な命令を挿入する必要があっ
た。更に、その製品を出荷する際、実行履歴を採るため
に挿入した命令を削除する必要もあった。
Additionally, it was necessary to insert special instructions to record the module execution history in all the modules that make up the program. Furthermore, when shipping the product, it was necessary to delete the instructions inserted to record the execution history.

本発明は、大規模構成の情報処理システムにおいても、
少量のハードウェア資源で、且つプログラムの内容を変
更することなく、プログラム網羅率、モジュール網羅率
を高速に効率よくリアルタイムに採取・編集することを
可能にしている。
The present invention also applies to large-scale information processing systems.
With a small amount of hardware resources and without changing the contents of the program, it is possible to quickly and efficiently collect and edit the program coverage rate and module coverage rate in real time.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は前記目的を達成するため、被テストシステムの
プログラムがローディングされたとき、そのプログラム
のプログラム名とローディングアドレスを取得し、モジ
ュール構成情報記憶部中の対応する被テストプログラム
のローディングアドレス記憶領域にローディングアドレ
スを格納するローディング検出手段と。
In order to achieve the above object, the present invention acquires the program name and loading address of the program when a program of the system under test is loaded, and acquires the loading address storage area of the corresponding program under test in the module configuration information storage section. and a loading detection means for storing a loading address.

被テストシステムの実行命令アドレス、あるいは分岐命
令の分岐成立時の分岐先アドレスを実行命令アドレス記
憶部に格納する実行命令アドレス取得手段と、 実行命令アドレス記憶部に格納された実行命令アドレス
あるいは分岐先アドレスを読み出し、モジュール構成情
報記憶部中のプログラムのローディングアドレス、各プ
ログラムにおけるモジュールのロケーション、基のモジ
ュール長とにより実行モジュールを決定する実行モジュ
ール判定手段と、 モジュール構成情報記憶部中プログラム名、モジュール
名、モジュール実行有無表示子により表されるモジュー
ルの実行有無情報により、プログラム網羅率、モジュー
ル網羅率、実行・未実行プログラム名リスト及び実行・
未実行モジュール名リストを出力装置に出力するモジュ
ール網羅率算出手段とを備えることを特徴としている。
Execution instruction address acquisition means for storing an execution instruction address of the system under test or a branch destination address when a branch of a branch instruction is taken in an execution instruction address storage section; and an execution instruction address or branch destination stored in the execution instruction address storage section. Execution module determination means that reads an address and determines an execution module based on the loading address of the program in the module configuration information storage, the location of the module in each program, and the base module length; and the program name and module in the module configuration information storage. The program coverage rate, module coverage rate, list of executed/unexecuted program names, and executed/unexecuted program name list are determined by the execution status information of the module represented by
The present invention is characterized by comprising module coverage calculation means for outputting a list of unexecuted module names to an output device.

〔作用〕[Effect]

本発明では、実行命令アドレス取得手段は全実行命令ア
ドレスあるいは分岐命令の分岐成立時の全分岐アドレス
をスタックしない。実行命令アドレスあるいは分岐先ア
ドレスは、次の命令が実行あるいは次の分岐が発生する
まで一時的に実行命令アドレス記憶部に格納するだけで
ある。このため、実行命令アドレス記憶部の容量は、命
令アドレス−個分て良い。
In the present invention, the executed instruction address acquisition means does not stack all executed instruction addresses or all branch addresses when a branch of a branch instruction is taken. The execution instruction address or branch destination address is only temporarily stored in the execution instruction address storage unit until the next instruction is executed or the next branch occurs. Therefore, the capacity of the execution instruction address storage section may be equal to one instruction address.

また、実行命令アドレス記憶部に実行命令アドレスある
いは分岐先アドレスが格納された時点で、ローディング
検出手段が取得したローディングプログラムのプログラ
ム名、そのローディングアドレスと、実行命令アドレス
記憶部に格納されている実行命令アドレスあるいは分岐
先アドレスと、モジュール構成情報記憶部に格納されて
いるプログラム名、そのプログラムを構成するモジュー
ル名、そのモジュールのプログラム中でのロケーション
、モジュール長とにより、実行プログラム、モジュール
を決定する。即ち、テスト終了後に、スタックされた全
実行命令アドレスあるいは全分岐先アドレスを読み出し
、それを解析してプログラムモジュール網羅率を算出す
るものではない。
Furthermore, when the execution instruction address or branch destination address is stored in the execution instruction address storage section, the program name of the loading program acquired by the loading detection means, its loading address, and the execution instruction stored in the execution instruction address storage section The execution program and module are determined based on the instruction address or branch destination address, the program name stored in the module configuration information storage unit, the module name that makes up the program, the location of the module in the program, and the module length. . That is, after the test is completed, all stacked execution instruction addresses or all branch destination addresses are read out and analyzed to calculate the program module coverage rate.

このため、テスト終了時点で実行・未実行モジュールが
決定される。
Therefore, the executed/unexecuted modules are determined at the end of the test.

〔実施例〕〔Example〕

以下に本発明の一実施例を第1図および第2図により説
明する。第1図は、実施例の構成、第2図は第1図で示
すモジュール構成情報記憶部2内のテーブルの構造と内
容を示す。
An embodiment of the present invention will be described below with reference to FIGS. 1 and 2. FIG. 1 shows the configuration of the embodiment, and FIG. 2 shows the structure and contents of a table in the module configuration information storage section 2 shown in FIG.

第1図において、1はローディング検出部、2はモジュ
ール構成情報記憶部、3はモジュール網羅率算出部、4
は出力装置、5は実行命令アドレス取得部、6は実行命
令アドレス記憶部、7は実行モジュール判定部を表して
いる。
In FIG. 1, 1 is a loading detection section, 2 is a module configuration information storage section, 3 is a module coverage calculation section, and 4 is a loading detection section.
5 represents an output device, 5 represents an execution instruction address acquisition section, 6 represents an execution instruction address storage section, and 7 represents an execution module determination section.

被テストシステムを構成するプログラムがメモリにコー
ディングされると、ローディング検出手段1は、そのプ
ログラムのプログラム名とローディングアドレスとを取
得し、モジュール構成情報記憶部2中の対応するプログ
ラムのローディングアドレス領域11に取得したローデ
ィングアドレスを格納する。また各モジュールがロード
されるごとに上記テーブルにそのモジュールのモジュー
ル名、ローテーション12およびモジュール長13を格
納する。
When a program constituting the system under test is coded into the memory, the loading detection means 1 acquires the program name and loading address of the program, and stores the loading address area 11 of the corresponding program in the module configuration information storage unit 2. Store the obtained loading address in . Furthermore, each time a module is loaded, the module name, rotation 12, and module length 13 of that module are stored in the table.

プログラムが実行されると、実行命令アドレスあるいは
分岐命令の分岐成立時の分岐先アドレスを実行命令アド
レス取得部5が取得し、それを実行命令アドレス記憶部
6に格納する。続いて、実行モジュール判定部7は、実
行命令アドレス記憶部6中に格納されている実行命令ア
ドレスあるいは分岐先アドレスがどのプログラムのどの
モジュール内のアドレスであるかをモジュール構成情報
記憶部2内のテーブルにより決定し、実行モジュールを
判定する。即ち、実行命令アドレス記憶部6内の実行命
令アドレスあるいは分岐先アドレスをA、モジュール構
成情報記憶部2内のローディングアドレス11、モジュ
ールのロケーション12、モジュール長13をそれぞれ
B、C,Dとすると、次式を満足するプログラムのモジ
ュールが実行モジュールである。
When a program is executed, an execution instruction address acquisition section 5 acquires an execution instruction address or a branch destination address when a branch of a branch instruction is established, and stores it in an execution instruction address storage section 6. Next, the execution module determining unit 7 determines in which module of which program the execution instruction address or branch destination address stored in the execution instruction address storage unit 6 is located by checking the address in the module configuration information storage unit 2. The execution module is determined based on the table. That is, if the execution instruction address or branch destination address in the execution instruction address storage section 6 is A, and the loading address 11, module location 12, and module length 13 in the module configuration information storage section 2 are B, C, and D, respectively, A program module that satisfies the following equation is an execution module.

(B+C)≦A< (B+C+D) 実行モジュールが決定されると、そのモジュールに対応
するモジュール情報記憶部2内のテーブルの実行有無表
示子14を1にセットし、実行されたモジュールである
ことを示す。尚、実行有無表示子の初期値はOであり、
未実行モジュールであることを示す。
(B+C)≦A<(B+C+D) When the execution module is determined, the execution status indicator 14 of the table in the module information storage unit 2 corresponding to the module is set to 1 to indicate that the module has been executed. show. The initial value of the execution status indicator is O,
Indicates that it is an unexecuted module.

前記処理はテスト実行中各実行命令ごとに繰り返され、
テストが終了すると、モジュール網羅率算出部3がモジ
ュール情報記憶部2に格納されている実行有無表示子に
よりプログラム網羅率は、値1の実行表示子を少なくと
も一個含むプログラム数/全プログラム数で求め、モジ
ュール網羅率は、値1の実行表示子のモジュール数/全
モジュール数で求めて、出力装置4に出力する。更に、
必要であれば各プログラム別のモジュール網羅率、実行
・未実行プログラム名リスト、及びプログラム別に実行
・未実行モジュール名リストを出力装!4に出力する。
The process is repeated for each execution instruction during test execution,
When the test is completed, the module coverage rate calculation unit 3 uses the execution status indicator stored in the module information storage unit 2 to calculate the program coverage rate as the number of programs containing at least one execution indicator with value 1/total number of programs. , the module coverage rate is calculated as the number of modules of the execution indicator with the value 1/the total number of modules, and is output to the output device 4. Furthermore,
If necessary, output the module coverage rate for each program, a list of executed/unexecuted program names, and a list of executed/unexecuted module names for each program! Output to 4.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、大規模構成の情報処理システムにおい
ても、少量のハードウェア資源で、かつプログラムの内
容を変更することなく、高速に効率よくリアルタイムに
プログラムモジュール網羅率を採取、編集できる効果が
ある。
According to the present invention, even in a large-scale information processing system, it is possible to quickly and efficiently collect and edit program module coverage rates in real time with a small amount of hardware resources and without changing the program contents. be.

また、プログラム網羅率、モジュール網羅率だけでなく
、実行・未実行プログラム名リスト、実行・未実行モジ
ュール名リストが取得できる効果がある。
In addition, it is possible to obtain not only the program coverage rate and module coverage rate, but also a list of executed/unexecuted program names and a list of executed/unexecuted module names.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例の構成図、第2図は第1図中
のモジュール構成情報記憶部中のデータの構成・内容の
一例を示す図である。 1・・・ローディング検出部、2・・・モジュール構成
情報記憶部、3・・・モジュール網羅率算出部、4・・
・出力装置、訃・・実行命令アドレス取得部、6・・・
実行命令アドレス記憶部、 ・・実行モジュール判 足部。 第 ■ 父
FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is a diagram showing an example of the structure and contents of data in a module configuration information storage section in FIG. 1. DESCRIPTION OF SYMBOLS 1... Loading detection unit, 2... Module configuration information storage unit, 3... Module coverage calculation unit, 4...
・Output device, ... Execution instruction address acquisition unit, 6...
Execution instruction address storage section, . . . execution module reading section. No. ■ Father

Claims (1)

【特許請求の範囲】 1、複数モジュールにより構成されているプログラムの
テスト十分性・網羅性を定量的に測る尺度として、プロ
グラムを構成する全モジュールに対して、実行されたモ
ジュールが占める比率を示すプログラムモジュール網羅
率(SOガバレージ)で表す方法において、 被テストシステムを構成するプログラムがメモリにロー
ディングされたとき、そのプログラムのプログラム名と
ローディングアドレスを検出するローディング検出手段
と、プログラムの実行命令アドレス、あるいは分岐命令
の分岐成時立の分岐先アドレスを実行命令アドレス記憶
部に記憶する実行命令アドレス検出手段と、前記各手段
により求められたプログラム名、ローディングアドレス
、実行命令アドレスあるいは分岐先アドレス、並びに被
テストシステムを構成するプログラム名、そのプログラ
ムを構成するモジュール名、そのモジュールのプログラ
ム中でのロケーション、長さを含むモジュール構成情報
記憶部とによりどのモジュールが実行されたかを判定す
る実行モジュール判定手段と、実行モジュール判定手段
により決定されたモジュールの実行、未実行情報により
プログラム網羅率・モジュール網羅率を求め、出力装置
にプログラム網羅率、モジュール網羅率、実行・未実行
プログラム名リスト及び実行・未実行モジュール名リス
トを出力するモジュール網羅率算出手段とを有すること
を特徴とするプログラムテスト評価方式。
[Claims] 1. As a measure for quantitatively measuring the test sufficiency and comprehensiveness of a program composed of multiple modules, it indicates the ratio of executed modules to all modules constituting the program. In the method expressed by program module coverage (SO coverage), when a program constituting the system under test is loaded into memory, a loading detection means detects the program name and loading address of the program, and an execution instruction address of the program, Alternatively, an execution instruction address detection means for storing a branch destination address when a branch of a branch instruction is taken into an execution instruction address storage section, and a program name, a loading address, an execution instruction address, or a branch destination address obtained by each of the means, and Execution module determining means that determines which module has been executed based on a module configuration information storage unit that includes a program name that configures the system under test, a module name that configures the program, a location in the program, and a length of the module. Then, the program coverage rate and module coverage rate are calculated based on the module execution and non-execution information determined by the execution module determination means, and the program coverage rate, module coverage rate, executed/unexecuted program name list, and executed/unexecuted program name list are output to the output device. 1. A program test evaluation method, comprising: module coverage calculation means for outputting a list of execution module names.
JP2155223A 1990-06-15 1990-06-15 Program test evaluation system Pending JPH0452835A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2155223A JPH0452835A (en) 1990-06-15 1990-06-15 Program test evaluation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2155223A JPH0452835A (en) 1990-06-15 1990-06-15 Program test evaluation system

Publications (1)

Publication Number Publication Date
JPH0452835A true JPH0452835A (en) 1992-02-20

Family

ID=15601219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2155223A Pending JPH0452835A (en) 1990-06-15 1990-06-15 Program test evaluation system

Country Status (1)

Country Link
JP (1) JPH0452835A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210424A (en) * 1994-01-14 1995-08-11 Toshiba Corp Software test supporting system
JP2011113474A (en) * 2009-11-30 2011-06-09 Fujitsu Ltd Program, device and method for calculation of coverage information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210424A (en) * 1994-01-14 1995-08-11 Toshiba Corp Software test supporting system
JP2011113474A (en) * 2009-11-30 2011-06-09 Fujitsu Ltd Program, device and method for calculation of coverage information

Similar Documents

Publication Publication Date Title
US7774784B2 (en) Determining an actual amount of time a processor consumes in executing a portion of code
JPH0452835A (en) Program test evaluation system
JPH06259245A (en) Instrument and method for measuring performance of program
CN117251315A (en) Memory performance test method, device, equipment and medium
JPS61290544A (en) Program tracing device
JPH10319001A (en) Data processor for identifying specimen component
JPH03271949A (en) Automatic generation system for test environment of program test
JPS59177799A (en) Checking system of read-only memory
JPS63191247A (en) Log-out processing system
JP2603727B2 (en) Automatic dispensing device
JPS6211746B2 (en)
JPH04540A (en) Debugging device
Schnabel Comments on Evaluating Algorithms and Codes for Mathematical Programming
JPS63118846A (en) Trace collection system for tracking process
JP3212214B2 (en) State transition test equipment
JP2676087B2 (en) Particle size distribution processor
JPS588363A (en) Collecting system for program execution career information
JPS6161429B2 (en)
JPS60214500A (en) Rom tester
JPH0535529A (en) Trace information output system
JPS61279951A (en) Instrumentation system for program including factor
JPS60120446A (en) Control system of program test
JPS62200437A (en) Inclusion degree measuring instrument
JPS59220851A (en) History information collecting device
JPS603762A (en) Program analyzer