JPH0619731B2 - Program unit test method - Google Patents
Program unit test methodInfo
- Publication number
- JPH0619731B2 JPH0619731B2 JP59250174A JP25017484A JPH0619731B2 JP H0619731 B2 JPH0619731 B2 JP H0619731B2 JP 59250174 A JP59250174 A JP 59250174A JP 25017484 A JP25017484 A JP 25017484A JP H0619731 B2 JPH0619731 B2 JP H0619731B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- test
- program
- unit
- under test
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,複数のモジュールで構成されるプログラムの
各モジュールプログラムを単体でテストするプログラム
の単体テスト方式に関し,特に関連する他のモジュール
が作成されていなくてもテストできるプログラムの単体
テスト方式に関する。The present invention relates to a program unit test method for individually testing each module program of a program composed of a plurality of modules, and in particular, another related module is created. It relates to a unit test method of a program that can be tested without it.
一般に大きなシステムにおいては,プログラムが1本の
モジュール(コンパイル単位)で構成されているものは
少なく複数のモジュールが集まって一つの処理を行なう
ように階層的に構成されている。Generally, in a large system, a program is rarely composed of one module (compilation unit), and is hierarchically structured so that a plurality of modules are collected to perform one processing.
例えば,第5図に示すようにモジュールAのサブルーチ
ンとしてモジュールBが,モジュールBのサブルーチン
としてモジュールC,Dが構成されて1つのプログラム
を構成するようにしている。このような階層的なプログ
ラムを開発するには,テストの効率を考慮してモジュー
ルの作成順序等が決定され,一般に第6図で示す如くシ
ステム設計された後,各モジュールA,B,C,Dが作
成される。For example, as shown in FIG. 5, a module B is configured as a subroutine of the module A, and modules C and D are configured as a subroutine of the module B to configure one program. In order to develop such a hierarchical program, the order in which the modules are created is determined in consideration of the efficiency of the test, and generally after the system is designed as shown in FIG. 6, the modules A, B, C, D is created.
この開発の手順としては,上位のモジュールAから作成
するトップダウン方式と,下位のモジュールC又はDか
ら作成するボトムアップ方式とがある。As a procedure of this development, there are a top-down method created from the upper module A and a bottom-up method created from the lower module C or D.
このような各モジュールが階層的に構成されたプログラ
ムをテストするには,全てのモジュールが完成してから
プログラムをテストすることが望ましいが,各モジュー
ルが順次作成されていくような場合には,各モジュール
の作成毎にそのモジュールを単体でテストするほうが開
発手順上効率がよい。In order to test a program in which each module is structured hierarchically, it is desirable to test the program after all modules are completed, but in the case where each module is created sequentially, It is more efficient in terms of development procedure to test the module by itself each time each module is created.
しかしながら,モジュールを単体でテストするにして
も,階層的なプログラムの構成では,関連する他のモジ
ュールが存在しないとテストできない。例えばモジュー
ルAをテストするときは,モジュールBが必要であり,
モジュールBをテストするときは,モジュールA,C,
Dが必要となる。このため,従来は,テストするモジュ
ールに関連する仮モジュールをテスト担当者が作成し,
係るモジュールの単体テストを行っていた。However, even if a module is tested by itself, the hierarchical program structure cannot be tested unless other related modules exist. For example, when testing Module A, you need Module B,
When testing module B, use modules A, C,
D is required. Therefore, in the past, the tester created a temporary module related to the module to be tested,
I was doing a unit test of the module.
例えば,モジュールBをテストするため上位のモジュー
ルAの仮モジュール(ドライバという)及び下位のモジ
ュールC,Dの仮モジュール(スタブという)を作成し
ていた。For example, in order to test the module B, a temporary module of the upper module A (called a driver) and a temporary module of the lower modules C and D (called a stub) are created.
このようなモジュールのテストで必要となるドライバや
スタブは仮モジュールなので小さく簡単に作成できる
が,通常のプログラム作成と同様にコーデイングやこれ
のテストの工数を要し,単体テストのためのドライバや
スタブの開発をモジュール個々に要するという問題があ
った。The drivers and stubs required for testing such modules are temporary modules, so they can be made small and easy. However, as with normal program creation, the coding and testing steps are required, and the drivers and stubs for unit testing are required. However, there was a problem that the development of was required for each module individually.
これを解決するため、被テストモジュールの下位モジュ
ール代替機能を行うスタブ機能を設けたテスト方法が提
案されている(例えば、特開昭58−175061号公
報等)。In order to solve this, a test method provided with a stub function for substituting a lower module of a module under test has been proposed (for example, Japanese Patent Laid-Open No. 58-175061).
このようにしても、次の問題があった。Even with this, there were the following problems.
上位モジュールの代替機能がないため、トップダウン
プログラミングしか適用できず、ボトムアッププログラ
ミングや両者の混在における単体テストができない。Since there is no substitute function for the upper module, only top-down programming can be applied, and bottom-up programming and unit testing in a mixture of both cannot be performed.
下位モジュールの代替時に、使用領域等を設定する必
要があり、データ設定に手間がかかる。When substituting a lower module, it is necessary to set a used area and the like, and it takes time to set data.
従って、本発明は、被テストモジュールを解析して、上
位、下位モジュールの存在を検出して、上位、下位の代
替機能を自動設定することができるプログラムの単体テ
スト方式を提供することを目的とする。」 このため、本発明は、複数のモジュールが階層的に構成
されるプログラムのモジュール単体を、プロセッサが実
行してテストを行うプログラムの単体テスト方式におい
て、該被テストモジュールを解析して、上位及び下位モ
ジュールの存在を検出して、上位又は下位のモジュール
の代替機能を行うテスト支援ツールを設け、該テスト支
援ツールは、該上位モジュールの存在を検出した場合に
は、該被テストモジュールに渡すパラメータの領域をメ
モリに確保して、テストデータをセットした後、該被テ
ストモジュールを起動せしめ、該下位モジュールの存在
を検出した場合には、該メモリにパラメータ領域を得
て、該被テストモジュールのテスト実行中に、該下位モ
ジュールが呼び出されたことに応じて、該被テストモジ
ュールに渡すテストデータを該パラメータ領域にセット
して、該被テストモジュールに渡すことを特徴とする。Therefore, it is an object of the present invention to provide a unit test method of a program capable of analyzing a module under test, detecting the presence of upper and lower modules, and automatically setting upper and lower alternative functions. . Therefore, according to the present invention, in a unit test method of a program in which a processor executes a test of a module unit of a program in which a plurality of modules are hierarchically structured, the module under test is analyzed to determine the upper and lower levels. A test support tool for detecting the presence of a module and performing an alternative function of an upper or lower module is provided. When the presence of the upper module is detected, the test support tool provides a parameter to be passed to the module under test. After the area is secured in the memory and the test data is set, the module under test is activated, and when the presence of the lower module is detected, the parameter area is obtained in the memory and the test of the module under test is performed. A test passed to the module under test in response to the submodule being called during execution. Data is set in the parameter area and passed to the module under test.
本発明では,テスト支援ツール(プログラム)が設けら
れるが,この支援ツールがドライバ又はスタブ機能を自
動的に実行するようにしている。即ち,支援ツールは被
テストモジュールを解析し,これに含まれる上位又は下
位モジュールのインターフェイス(接続)情報を抽出
し,上位又は下位モジュールの存在を検出し,上位モジ
ュールが存在する時は被テストモジュールの起動に先立
ち,インターフェイス情報を基にパラメータ領域をメモ
リに確保し,更にこの領域に外部から与えられたテスト
データをセットして被テストモジュールのテスト起動を
行ない,又下位モジュールが存在するときは,該被テス
トモジュールのテスト実行中に下位モジュールを呼出す
ことに応じてインターフェイス情報から外部から与えら
れたテストデータをメモリにセットして被テストモジュ
ールに渡すようにして被テストモジュールのテストを続
行させるようにしている。In the present invention, a test support tool (program) is provided, and this support tool automatically executes the driver or stub function. That is, the support tool analyzes the module under test, extracts the interface (connection) information of the upper or lower module contained therein, detects the existence of the upper or lower module, and when the upper module exists, the module under test is detected. Prior to the start of, the parameter area is secured in the memory based on the interface information, the test data given from the outside is set in this area, and the test start of the module under test is performed. , Test data externally given from interface information in response to calling a lower module during test execution of the module under test is set in a memory and passed to the module under test to continue the test of the module under test. I am trying.
以下,本発明を実施例により詳細に説明する。 Hereinafter, the present invention will be described in detail with reference to Examples.
第1図は本発明の一実施例ブロック図であり,図中,1
はコンピュータ(プロセッサ)であり,プログラムを実
行して所望の処理を行なうもの,10はそのOS(オペ
レーティングシステム)部であり,コンピュータ1全体
の制御を行なうもの,11はモジュール解析部であり,
後述する如く論理設計言語で記述された論理設計情報を
解析してCOBOLのソースプログラムを作成し,且つ
インターフェイス(デバッグ)情報を抽出するもの,1
2はCOBOLコンパイラであり,ソースプログラムを
コンピュータの実行できる形式のロードモジュールに変
換するもの,13はテスト支援ツール部であり,後述す
る如くインターフェイス情報からドライバ/スタブ機能
を行なうものである。尚,OS部10,モジュール解析
部11,COBOLコンパイラ12及びテスト支援ツー
ル部13はコンピュータ1の実行する機能をブロック化
したものである。2はファイルメモリであり,各種ファ
イルを格納しておくもの,20は論理設計情報ファイル
であり,プログラマーが作成した後述する論理設計情報
を格納しておくもの,21はCOBOLソースファイル
であり,モジュール解析部11によって作成されたCO
BOLソースプログラムを格納しておくもの,22はデ
バック情報ファイルであり,モジュール解析部11で抽
出されたインターフェイス情報を格納しておくもの,2
3はロードモジュールファイルであり,COBOLコン
パイラ12が作成したロードモジュールを格納しておく
もの,24はテストデータファイルであり,オペレータ
が入力したテストデータを格納しておくもの,3はコン
ソールであり,ディスプレイとキーボードから成り,オ
ペレータが操作して論理設計情報やテストデータを入力
するものである。FIG. 1 is a block diagram of an embodiment of the present invention, in which 1
Is a computer (processor), which executes a program to perform desired processing, 10 is an OS (operating system) section thereof, which controls the entire computer 1, 11 is a module analysis section,
As described below, the logic design information described in the logic design language is analyzed to create a COBOL source program, and the interface (debug) information is extracted, 1
Reference numeral 2 is a COBOL compiler, which converts a source program into a load module in a format that can be executed by a computer, and 13 is a test support tool unit, which performs a driver / stub function from interface information as described later. The OS unit 10, the module analysis unit 11, the COBOL compiler 12, and the test support tool unit 13 are blocks of the functions executed by the computer 1. 2 is a file memory for storing various files, 20 is a logical design information file for storing later-described logical design information created by a programmer, 21 is a COBOL source file, and a module CO created by the analysis unit 11
A BOL source program is stored, 22 is a debug information file, and interface information extracted by the module analysis unit 11 is stored, 2
3 is a load module file, which stores the load module created by the COBOL compiler 12, 24 is a test data file, which stores the test data input by the operator, 3 is a console, It consists of a display and a keyboard and is operated by an operator to input logic design information and test data.
次に、第1図実施例構成の動作について第2図の処理フ
ロー図,第3図の論理設計情報説明図及び第4図のテス
ト支援ツールの動作説明図を用いて説明する。Next, the operation of the configuration of the embodiment shown in FIG. 1 will be described with reference to the process flow diagram of FIG. 2, the logical design information explanatory diagram of FIG. 3, and the operation explanatory diagram of the test support tool of FIG.
以下,周知の高級言語である論理設計言語によりプログ
ラミングされたものについてその動作を説明する。The operation of a program programmed by a well-known high-level logic design language will be described below.
論理設計言語によるプログラミングは,第3図に示す
如く各モジュールA,B,C,Dで共通なフオーマット
定義書(第3図(A)),各モジュールのインターフェイ
ス定義書(第3図(B)),各モジュールのモジュール定
義書(第3図(C))等を作成することにより行なう。こ
の共通フオーマット定義書は各モジュールで共通な項目
(データ)の形式,桁数等の定義を行なうものであり,
インターフェイス定義書は各モジュールの入出力項目,
モジュール名等を定義するためのものであり,基本設計
段階で決定され,コンソール3よりコンピュータ1を介
しファイルメモリ2の論理設計情報ファイルに格納され
ている。As shown in FIG. 3, programming in the logical design language is common to each module A, B, C, D, format definition document (FIG. 3 (A)), interface definition document of each module (FIG. 3 (B)). ), A module definition document (Fig. 3 (C)) for each module is created. This common format definition document defines the format of items (data), the number of digits, etc. that are common to each module.
The interface definition document is the input / output item of each module,
It is used to define a module name and the like, which is determined at the basic design stage and is stored in the logical design information file of the file memory 2 from the console 3 via the computer 1.
一方,モジュール定義書は各モジュール毎に作成され,
当該モジュールの処理や論理,その条件が手順に従って
羅列されたものであり,プログラマーは各モジュールに
必要な処理等を順次記述してプログラミングし,これが
当該モジュールの処理内容を示す。オペレータはこのモ
ジュール定義書を完成する毎にコンソール3からコンピ
ュータ1を介し論理設計情報ファイル20に格納せしめ
る。On the other hand, the module definition is created for each module,
The processing, logic, and conditions of the module are listed according to the procedure, and the programmer sequentially describes and programs necessary processing and the like for each module, and this shows the processing content of the module. The operator causes the console 3 to store the module definition document in the logical design information file 20 through the computer 1 every time the module definition document is completed.
例えば,モジュールBのモジュール定義書が完成し,論
理設計情報ファイル20に格納され,他のモジュール
A,C,Dは完成していないとする。For example, it is assumed that the module definition document of the module B is completed and stored in the logical design information file 20, and the other modules A, C and D are not completed.
オペレータはコンソールよりコンピュータ1にOS部
10のジヨブ制御機能を働かせ,モジュールBのCOB
OLソースプログラムを作成するように指令する。これ
によってコンパイラの一種であるモジュール解析部11
は論理設計情報ファイル20の論理設計情報を読出し,
COBOLで記述されたソースプログラムを作成し,C
OBOLソースファイル21に格納する。このCOBO
Lで記述されたソースプログラムは,例えば第4図の被
テストモジュールとして示すものであり,論理設計言語
を用いずプログラマーがCOBOLでプログラミングし
たものに相当する。The operator activates the job control function of the OS unit 10 on the computer 1 from the console, and the COB of the module B
Command to create an OL source program. As a result, the module analysis unit 11 which is a kind of compiler
Reads the logical design information of the logical design information file 20,
Create a source program written in COBOL, and
It is stored in the OBOL source file 21. This COBO
The source program described in L is shown as a module under test in FIG. 4, for example, and corresponds to a program programmed in COBOL by a programmer without using a logic design language.
これとともにモジュール解析部11は論理設計情報か
らインターフェイス情報を抽出する。例えば,第3図の
例では,モジュールBはモジュールAに呼び出され,パ
ラメータの数はG1,G2の2ツでその領域はA1,A
2であることがモジュールBのインターフェイス定義書
より抽出され,そのパラメータG1,G2の長さは共通
フオーマット定義書より抽出される。又,モジュールB
のモジュール定義書よりモジュールC(日数=%日数計
算),モジュールDを呼び出すことが抽出され,その使
用領域はモジュールC,Dのインターフェイス定義書よ
り抽出される。At the same time, the module analysis unit 11 extracts the interface information from the logic design information. For example, in the example of FIG. 3, the module B is called by the module A, the number of parameters is G1 and G2, and the area is A1, A.
The value of 2 is extracted from the interface definition document of module B, and the lengths of its parameters G1 and G2 are extracted from the common format definition document. Also, module B
The module C (days =% days calculation) and the calling of the module D are extracted from the module definition document, and the use area thereof is extracted from the interface definition documents of the modules C and D.
これをCOBOLソースプログラムの記述から見ると,
第4図の被テストモジュールの記述の如く,モジュール
AのA1,A2を用い,モジュールCのB1,モジュー
ルDのB2を用いることになる。Looking at this from the description of the COBOL source program,
As described for the module under test in FIG. 4, A1 and A2 of the module A are used, B1 of the module C1 and B2 of the module D are used.
モジュール解析部11はモジュールBが呼び出されると
きのインターフェイス(モジュール名,パラメータの
数,パラメータの領域名,その長さ等)及びモジュール
Bが呼び出す時のインターフェイスを論理設計情報から
抽出し,デバッグ情報ファイル22に格納する。The module analysis unit 11 extracts the interface (module name, number of parameters, parameter area name, length, etc.) when the module B is called and the interface when the module B is called from the logical design information, and the debug information file It stores in 22.
このようにしてモジュールBに対するCOBOLソース
プログラムが作成され,且つモジュール間のインターフ
ェイス情報が抽出される。In this way, the COBOL source program for the module B is created, and the interface information between the modules is extracted.
次に,モジュールBの単体テストを行なう。Next, a unit test of module B is performed.
このため,オペレータはコンソール3よりコンピュータ
1を介しモジュールBのテストのためのテストデータを
テストデータファイル24に格納する。そして,オペレ
ータはテスト実行指令をコンピュータ1に入力する。コ
ンピュータ1では,OS部10がCOBOLコンパイラ
12を動作せしめ,COBOLソースファイル21のモ
ジュールBのCOBOLソースプログラムをコンピュー
タ1の実行できるロードモジュールに翻訳してロードモ
ジュールファイル23に格納する。次にOS部10はテ
スト支援ツール部13を起動し,デバッグ情報ファイル
22のインターフェイス情報を解析せしめる。Therefore, the operator stores the test data for testing the module B in the test data file 24 from the console 3 via the computer 1. Then, the operator inputs a test execution command into the computer 1. In the computer 1, the OS unit 10 causes the COBOL compiler 12 to operate, translates the COBOL source program of the module B of the COBOL source file 21 into a load module that can be executed by the computer 1, and stores the load module in the load module file 23. Next, the OS unit 10 activates the test support tool unit 13 to analyze the interface information of the debug information file 22.
テスト支援ツール部13は,第2図の処理フロー図の
如く前述のインターフェイス情報を解析し,上位モジュ
ールが存在するかを検出する。上位モジュールが存在す
るとドライバ機能,即ち上位モジュール代替機能を実行
する。先づ,被テストモジュールBに渡すパラメータの
受け渡し領域をコンピュータ1の図示しない内部メモリ
に確保する。前述の例では,第4図に示す如く内部メモ
リにA1及びA2の入出力領域を確保し,そのアドレス
をセットしておく。The test support tool unit 13 analyzes the above-mentioned interface information as shown in the processing flow chart of FIG. 2 and detects whether or not a higher-order module exists. When the upper module exists, the driver function, that is, the upper module substitute function is executed. First, a parameter passing area to be passed to the module under test B is secured in an internal memory (not shown) of the computer 1. In the above-mentioned example, as shown in FIG. 4, the input / output areas of A1 and A2 are secured in the internal memory and their addresses are set.
次に,コンソール3よりオペレータにテストデータの指
示を表示し,オペレータはテストデータファイル24の
どのテストデータをセットするかをコンソール3より指
示する。これによって内部メモリのA1の領域にテスト
データファイル24の必要なテストデータ(上位モジュ
ールからの入力データ)がセットされることになる。Next, the console 3 displays an instruction of test data to the operator, and the operator instructs the test data of the test data file 24 from the console 3. As a result, necessary test data (input data from the upper module) of the test data file 24 is set in the area A1 of the internal memory.
これによってモジュールBはパラメータA1を用いて処
理を実行できる。尚,A2はモジュールBの実行結果の
出力のためのものである。This allows module B to perform processing using parameter A1. Incidentally, A2 is for outputting the execution result of the module B.
次に,テスト支援ツール部13はOS部10に対し被
テストモジュールの起動を指示する。Next, the test support tool unit 13 instructs the OS unit 10 to activate the module under test.
OS部10はロードモジュールファイル23のモジュー
ルBのロードモジュールを実行し,その中でモジュール
AのパラメータA1を用いて行なう。The OS unit 10 executes the load module of the module B of the load module file 23, and executes using the parameter A1 of the module A therein.
このようにしてモジュールBのテストを実行していく
うちに,モジュールC又はDの“call”(呼び出
し)命令があり,OS部10がロードモジュールファイ
ル23を探索した結果モジュールC,Dのロードモジュ
ールが見付からなかつたとすると,エラーをテスト支援
ツール部13に通知する。While the test of the module B is being executed in this way, there is a "call" (call) instruction of the module C or D, and the OS unit 10 searches the load module file 23 If no is found, the test support tool unit 13 is notified of the error.
これによってテスト支援ツール部13は,被テストモ
ジュールが下位モジュールを呼ぶために用意した内部メ
モリのパラメータ領域(B1やB2)のアドレスを得,
コンソール3よりオペレータにテストデータの指示を表
示する。オペレータはテストデータファイル24のどの
テストデータをセットするかをコンソール3より指示す
る。これによって内部メモリのパラメータ領域にテスト
データファイル24の必要なテストデータ(下位モジュ
ールの出力データ)がセットされることになる。As a result, the test support tool unit 13 obtains the address of the parameter area (B1 or B2) of the internal memory prepared for the module under test to call the lower module,
The console 3 displays the test data instruction to the operator. The operator gives an instruction from the console 3 which test data in the test data file 24 is to be set. As a result, necessary test data (output data of the lower module) of the test data file 24 is set in the parameter area of the internal memory.
従って被テストモジュールBはこのテストデータを下位
モジュールの出力データとして受け取り,更にテストを
続行していく。Therefore, the module under test B receives this test data as output data of the lower module and continues the test.
このようにして,テスト支援ツール部13が,インター
フェイス情報から上位又は下位モジュールの代替機能を
自動的に実行し,被テストモジュールのテストを行なわ
しめる。In this way, the test support tool unit 13 automatically executes the alternative function of the upper or lower module from the interface information, and tests the module under test.
上述の実施例では,論理設計言語でプログラムした例に
ついて説明したが,COBOLによってプログラムして
ソースプログラムを作成してもよく,この場合COBO
Lソースプログラムからインターフェイス情報が抽出さ
れる。又,テストデータをパラメータ領域にセットする
のにコンソール3よりオペレータが指示しているが,こ
れを自動的に行なってもよい。更にソースプログラムの
言語もCOBOLに限らず,他の言語を用いてもよい。In the above embodiment, an example of programming in the logic design language has been described, but a source program may be created by programming in COBOL. In this case, COBO
Interface information is extracted from the L source program. Although the operator gives an instruction from the console 3 to set the test data in the parameter area, this may be done automatically. Furthermore, the language of the source program is not limited to COBOL, but another language may be used.
以上本発明を一実施例により説明したが,本発明は本発
明の主旨に従い種々の変形が可能であり,本発明からこ
れらを排除するものではない。Although the present invention has been described above with reference to the embodiments, the present invention can be variously modified according to the gist of the present invention, and these modifications are not excluded from the present invention.
以上説明した様に、本発明によれば、次の効果を奏す
る。As described above, the present invention has the following effects.
上位及び下位モジュールの存在を検出して、上位又は
下位のモジュールの代替機能を行うテスト支援ツールを
設けたので、トップダウンプログラミング、ボトムアッ
ププログラミングのいずれでも、単体テストが可能とな
る。Since the test support tool for detecting the existence of the upper and lower modules and performing the alternative function of the upper or lower module is provided, the unit test can be performed in both the top-down programming and the bottom-up programming.
被テストモジュールを自動解析して、上位及び下位モ
ジュールの存在を検出して代替機能を行うので、自動的
に上位、下位の代替動作が実行できる。Since the module under test is automatically analyzed and the presence of the upper and lower modules is detected and the alternative function is performed, the upper and lower alternative operations can be automatically executed.
上位モジュールの存在を検出した場合には、被テスト
モジュールに渡すパラメータの領域をメモリに確保し
て、テストデータをセットした後、被テストモジュール
を起動せしめるので、上位モジュールの代替機能を自動
的に実行できる。When the presence of the upper module is detected, the area for the parameters to be passed to the module to be tested is secured in memory, the test data is set, and then the module to be tested is activated. I can do it.
下位モジュールの存在を検出した場合には、メモリに
パラメータ領域を得るので、データ設定が容易となり、
単体テストを高速に実行できる。When the presence of the lower module is detected, the parameter area is obtained in the memory, so the data setting becomes easy,
Can execute unit tests at high speed.
第1図は本発明の一実施例ブロック図,第2図は第1図
実施例構成のテスト支援ツールの処理フロー図,第3図
は第1図実施例構成に用いられる論理設計言語の説明
図,第4図は第1図実施例構成のテスト支援ツールの動
作説明図,第5図は階層的モジュール構成プログラムの
説明図,第6図は第5図構成のプログラムの開発手順説
明図である。 図中,1……コンピュータ(プロセッサ),2……ファ
イルメモリ,3……コンソール,13……テスト支援ツ
ール。FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a process flow diagram of a test support tool of FIG. 1 embodiment configuration, and FIG. 3 is an explanation of a logic design language used in FIG. 1 embodiment configuration. Fig. 4 is an explanatory diagram of the operation of the test support tool of Fig. 1 embodiment configuration, Fig. 5 is an explanatory diagram of a hierarchical module configuration program, and Fig. 6 is a development procedure explanatory diagram of the program of Fig. 5. is there. In the figure, 1 ... computer (processor), 2 ... file memory, 3 ... console, 13 ... test support tool.
Claims (1)
ログラムのモジュール単体を、プロセッサが実行してテ
ストを行うプログラムの単体テスト方式において、 該被テストモジュールを解析して、上位及び下位モジュ
ールの存在を検出して、上位又は下位のモジュールの代
替機能を行うテスト支援ツールを設け、 該テスト支援ツールは、該上位モジュールの存在を検出
した場合には、該被テストモジュールに渡すパラメータ
の領域をメモリに確保して、テストデータをセットした
後、該被テストモジュールを起動せしめ、 該下位モジュールの存在を検出した場合には、該メモリ
にパラメータ領域を得て、該被テストモジュールのテス
ト実行中に、該下位モジュールが呼び出されたことに応
じて、該被テストモジュールに渡すテストデータを該パ
ラメータ領域にセットして、該被テストモジュールに渡
すことを特徴とするプログラムの単体テスト方式。1. In a unit test method of a program in which a processor executes a test of a module unit of a program in which a plurality of modules are hierarchically structured, the module under test is analyzed to determine the presence of upper and lower modules. And a test support tool for performing an alternative function of an upper or lower module is provided. When the presence of the upper module is detected, the test support tool stores a memory area for parameters to be passed to the module under test. , And after setting the test data, the module under test is activated, and when the presence of the lower module is detected, the parameter area is obtained in the memory and the test of the module under test is executed. , Test data to be passed to the module under test in response to the submodule being called Is set to the parameter area, unit test method program characterized by passing to said test module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59250174A JPH0619731B2 (en) | 1984-11-27 | 1984-11-27 | Program unit test method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59250174A JPH0619731B2 (en) | 1984-11-27 | 1984-11-27 | Program unit test method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61127044A JPS61127044A (en) | 1986-06-14 |
JPH0619731B2 true JPH0619731B2 (en) | 1994-03-16 |
Family
ID=17203917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59250174A Expired - Fee Related JPH0619731B2 (en) | 1984-11-27 | 1984-11-27 | Program unit test method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0619731B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008262510A (en) * | 2007-04-13 | 2008-10-30 | Fuji Xerox Co Ltd | Electronic circuit device, failure diagnostic device, failure diagnostic system, and failure diagnostic program |
US9454347B2 (en) * | 2013-03-14 | 2016-09-27 | Fujitsu Limited | Analyzing incomplete software |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58175061A (en) * | 1982-04-06 | 1983-10-14 | Toshiba Corp | Test device of computer program |
-
1984
- 1984-11-27 JP JP59250174A patent/JPH0619731B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
「新版情報処理ハンドブック」情報処理学会編昭和55年3月30日オーム社発行P.252−260 |
Also Published As
Publication number | Publication date |
---|---|
JPS61127044A (en) | 1986-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0785510B1 (en) | Program debugging system for debugging a program having a graphical user interface | |
US5274815A (en) | Dynamic instruction modifying controller and operation method | |
US5611043A (en) | Debugger system and method for controlling child processes | |
JPH11194957A (en) | Debug supporting device, parallel execution information generation device and recording medium for recording program applied to the same | |
EP1530130A2 (en) | Simulator and simulation method | |
JPH096628A (en) | Method and device for parallel processing procedure selection | |
JP2001034497A (en) | Method for acquiring binary code of inverse assembler | |
JPH0619731B2 (en) | Program unit test method | |
JPH0766342B2 (en) | Program test equipment | |
Katin | Development of variant of software architecture implementation for low-power general purpose microcontrollers by finite state machines | |
JP3318051B2 (en) | Translation processing method | |
EP0552895B1 (en) | Method for improving performance in an automated test system | |
EP0801348A1 (en) | Method of monitoring the operation of a computer | |
JP4055197B2 (en) | Device for analyzing procedures included in the program | |
JPH02275539A (en) | Debugging system | |
JPH07295612A (en) | High-level language sequence instruction program generation part and general sequencer | |
JPH05250221A (en) | Simulator execution system | |
JPH03135630A (en) | Instruction scheduling system | |
JPH05134854A (en) | Software development supporting device | |
JPH04289927A (en) | Extended command generating system for debugger | |
JPH05224908A (en) | Program production system | |
JP2001229044A (en) | Debug method | |
JPH03186933A (en) | Symbol processing system for language processing system | |
JPH08212103A (en) | Test data preparing method for multithread processor | |
JPH07160535A (en) | Test system for program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |