JPH04276835A - Method of generating program single body test data - Google Patents

Method of generating program single body test data

Info

Publication number
JPH04276835A
JPH04276835A JP3062624A JP6262491A JPH04276835A JP H04276835 A JPH04276835 A JP H04276835A JP 3062624 A JP3062624 A JP 3062624A JP 6262491 A JP6262491 A JP 6262491A JP H04276835 A JPH04276835 A JP H04276835A
Authority
JP
Japan
Prior art keywords
data
test
program
input
interface
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.)
Granted
Application number
JP3062624A
Other languages
Japanese (ja)
Other versions
JP3105279B2 (en
Inventor
Yasushi Iwamoto
康 岩本
Satoshi Shiraishi
智 白石
Shinichiro Takada
高田 伸一郎
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP03062624A priority Critical patent/JP3105279B2/en
Publication of JPH04276835A publication Critical patent/JPH04276835A/en
Application granted granted Critical
Publication of JP3105279B2 publication Critical patent/JP3105279B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To efficiently and effectively generate at the design stage a test data pattern, that is, a test data value of single body test case that is used to verify a program in the program development process. CONSTITUTION:The present method is provided with the function of data type specifying tables 22 and 23 that data types of input/output interface parameters for a verification object program are classified into two groups. Program design data on a FD5 is read through an input/output section 3. Processor 1, when a data definition statement of input interface for verification program is input, the data definition statement is divided into a method for generating all test data items of parameters as test case and the other for generating only part of test data as test case to generate a test data value for a single body test case.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、プログラム開発工程に
おいて、プログラムの機能検証に用いられるテストデー
タパターン、所謂単体テストケースを生成する方法に関
し、特に該テストケースのテストデータ値を設計段階で
効率的および効果的に生成するプログラムの単体テスト
データ生成方法に関する。なお、単体テストとは、分割
されたプログラム単体を他のプログラムと結合せずに検
証を行うことを云う。
[Industrial Field of Application] The present invention relates to a method for generating test data patterns, so-called unit test cases, used for functional verification of a program in the program development process, and in particular to a method for efficiently generating test data values of the test cases at the design stage. and how to effectively generate unit test data for programs. Note that unit testing refers to verifying a divided program without combining it with other programs.

【0002】0002

【従来の技術】プログラムの単体テストには、テスト対
象プログラムのソースプログラムの内部構造から直接わ
かる条件を組み合わせて単体テストケースを生成して行
うホワイトボックステストと、仕様からわかる条件のみ
を組み合わせて単体テストケースを生成して行うブラッ
クボックステストとに分けられる。
[Prior Art] Program unit testing involves white-box testing, which generates unit test cases by combining conditions that can be directly known from the internal structure of the source program of the program being tested, and unit test cases, which generate unit test cases by combining only conditions that can be seen from the specifications. It can be divided into black box testing that is generated and performed.

【0003】ホワイトボックステストは、テスト対象と
なるソースプログラムの内部構造に従ってテストケース
を生成し、テストする方法である。ここで、構造として
の分析の対象となるのは、主として分岐条件等よりなる
プログラムの実行経路であり、1つのテストケースによ
るテストの実行は、ソースプログラムより抽出した分岐
条件の組み合わせから得られるプログラムの1実行経路
をトレースすることに対応する。そして、1群のテスト
ケースに対応した実行経路の集合が、テストの徹底度、
網羅度の評価となる。ここで示す徹底度、網羅度とは、
プログラム内にあるすべての実行経路に対し、該1群の
テストケースにより検証できる実行経路の割合を評価す
る尺度である。ホワイトボックステストの利点は、実際
にソースプログラムの内部構成から実行経路を把握でき
るため、徹底度を上げるテストケースを選択できる点に
ある。一方、欠点としては、ソースプログラム自身から
テストケースを決めるために、決められた仕様を該プロ
グラムが満たしているか判定できない点である。つまり
仕様とソースプログラムとの不一致が、検出できない点
である。
White box testing is a method of generating and testing test cases according to the internal structure of a source program to be tested. Here, the target of structural analysis is the execution path of the program, which mainly consists of branching conditions, etc., and the execution of a test by one test case is a program obtained from a combination of branching conditions extracted from the source program. This corresponds to tracing one execution path of . Then, the set of execution paths corresponding to one group of test cases is determined by the thoroughness of the test.
This is an evaluation of coverage. What is the thoroughness and comprehensiveness shown here?
This is a measure for evaluating the proportion of execution paths that can be verified by the one group of test cases among all execution paths in a program. The advantage of white box testing is that it allows you to determine the execution path from the internal structure of the source program, allowing you to select test cases that increase the level of thoroughness. On the other hand, a drawback is that since the test cases are determined from the source program itself, it is not possible to determine whether the program satisfies the determined specifications. In other words, a mismatch between the specifications and the source program cannot be detected.

【0004】ブラックボックステストは、プログラムの
仕様に従ってテストケースを定めて行う方法であり、仕
様で規定されたプログラムの機能の正しい実現を確かめ
ることができるテスト形態である。利点としては、ソー
スプログラムによらずプログラムの外部仕様に基づいて
設計段階より単体テストケースを生成できるため、ソー
スプログラムの仕様の不備が発見できる点である。欠点
としては、単体テストケースの選択に関して仕様から見
えない内部の分岐条件等を考慮できないため、ホワイト
ボックステストのように徹底度を上げるテストケースが
任意に選択できない点である。
[0004] Black box testing is a method of determining and performing test cases according to the specifications of a program, and is a form of testing that can confirm the correct implementation of the program's functions as defined by the specifications. The advantage is that unit test cases can be generated from the design stage based on the external specifications of the program without depending on the source program, so that deficiencies in the specifications of the source program can be discovered. The drawback is that internal branching conditions that cannot be seen from the specifications cannot be considered when selecting unit test cases, so test cases that increase thoroughness cannot be arbitrarily selected as in white box testing.

【0005】ブラックボックステストにおける最も単純
なテストケース選定方法はランダム生成法であり、これ
はテストケースを無作為に選んでテストを行うものであ
り、必ずしも効果的な選定方法とはいえない。また、テ
ストケース生成ツールなどを用いて、仕様に規定された
テスト対象プログラムの機能に関する特色をつかみ、与
えられた分布や条件に従ってテストケースを作り出し利
用する方法もあり、利用方法によっては少ないテストケ
ースで多くのバグを発見でき有効であるが、具体的な指
針が確立されていないのが現状である。
[0005] The simplest test case selection method in black box testing is the random generation method, in which test cases are randomly selected and tested, and this is not necessarily an effective selection method. Another method is to use a test case generation tool to grasp the features of the functions of the program under test specified in the specifications, and then create and use test cases according to the given distribution and conditions. Although it is effective and has discovered many bugs, there are currently no concrete guidelines established.

【0006】ブラックボックステストの最もよいテスト
方法は、仕様で定義された入力条件の組合せを可能な限
り尽くすことであるが、入力条件のデータ領域の上限値
と下限値の範囲が広い場合、テストケースは膨大となり
、現実には該データ領域のすべてのデータ値を組み合わ
せるのではなく、組合せのごく一部をテストケースとし
て用いることとなる。その時、どのようにテストケース
のサブセットを選択するか、どのようにしたら効率的か
つ容易にテストすべき範囲を狭めることができるかが、
ブラックボックスによるテストケース生成の課題とされ
る。
[0006] The best test method for black box testing is to exhaust the combinations of input conditions defined in the specifications as much as possible. The number of cases is enormous, and in reality, rather than combining all data values in the data area, only a small portion of the combinations are used as test cases. At that time, the question is how to select a subset of test cases and how to efficiently and easily narrow down the scope to be tested.
This is considered to be an issue in test case generation using a black box.

【0007】従来、このようなブラックボックステスト
の課題を解決しようとするテストケース選定方法として
は、同値分割法、限定値分析法、原因−結果グラフ等が
知られている。
[0007] Hitherto, known test case selection methods that attempt to solve the problems of black box testing include equivalence partitioning, limited value analysis, cause-effect graphs, and the like.

【0008】同値分割法は、プログラムの入出力データ
領域を同値クラスと呼ぶいくつかの領域に分割し、各同
値クラスから代表的な値を取り出してテストデータとす
るものである。つまり、入力データ領域の同値クラスへ
の分割は、仕様から判断してプログラム中で同一の手順
により処理されると思われるデータについては、同じ同
値クラスに組み入れる方法である。
The equivalence division method divides the input/output data area of a program into several areas called equivalence classes, and extracts representative values from each equivalence class to use as test data. In other words, the division of the input data area into equivalence classes is a method in which data that is considered to be processed by the same procedure in a program, judging from the specifications, is incorporated into the same equivalence class.

【0009】限界値分析法は、同値分割法の延長上に位
置づけられる。これは、入力データのある値によりプロ
グラム内部の処理が変わると思われる場合には、その周
辺の値についても試みようとするものである。つまり、
同値分割における境界値とその周辺の値をテストケース
として採用する。さらに入力だけでなく、出力データの
領域にも着目し、仕様で規定された出力データの境界付
近を実現するために必要な入力データを選び、それをテ
ストケースに加える。
The limit value analysis method is positioned as an extension of the equivalence division method. This is because if it is thought that the internal processing of the program will change depending on a certain value of input data, it will also try other values around that value. In other words,
The boundary value and its surrounding values in equivalence partitioning are adopted as test cases. Furthermore, we focus not only on the input but also on the output data area, select the input data necessary to achieve near the boundaries of the output data stipulated in the specifications, and add it to the test case.

【0010】原因−結果グラフは、入力条件とそれに対
応するプログラムの動作をグラフ化して論理的に示し、
ある結果を引き起こす入力条件の組合せをすることで有
効なテストケースの選定を容易にするものである。しか
し、大規模なソフトウェアへの適用は、グラフ表示が複
雑となるため困難とされる。
A cause-effect graph logically shows input conditions and the corresponding program operations as a graph.
It facilitates the selection of effective test cases by combining input conditions that produce a certain result. However, application to large-scale software is considered difficult because the graph display becomes complicated.

【0011】上記したホワイトボックステスト、ブラッ
クボックステストによるテストケース生成法の適用につ
いては、プログラムの最も低位の構成要素であるプロシ
ージャのテストを行う単体テストでは、仕様抜けがない
か確認するため、ブラックボックステストを行うと同時
にプログラムの内部構造にもとづいてホワイトボックス
テストを併用することが多く、ホワイトボックスの比率
も高い傾向がある。なお、この種の分野の参考文献とし
ては、例えば玉井他「ソフトウェアのテスト技法」(共
立出版,1988)が挙げられる。
[0011] Regarding the above-described test case generation method using white box testing and black box testing, in unit tests that test procedures, which are the lowest component of a program, black box testing is performed to check whether there are any omissions in the specifications. At the same time as testing, white box testing is often used based on the internal structure of the program, and the ratio of white boxes tends to be high. Reference literature in this type of field includes, for example, Tamai et al., "Software Testing Techniques" (Kyoritsu Shuppan, 1988).

【0012】0012

【発明が解決しようとする課題】上述したように、従来
のプログラムの単体テストは、一般にソースプログラム
に着目したホワイトボックステストと、仕様による機能
に着目したブラックボックステストを併用してテストを
行ってきた。しかし単体テストケースを、ホワイトボッ
クステストのように仕様で規定された機能を満たしてい
るかどうかの確認がされていない、つまり仕様に従った
実行経路が反映されているか保証されていないソースプ
ログラムより生成することは、仕様で示すテストの必要
とされる実行経路を洩らしたり、不必要な実行経路を含
んだテストケースを生成する可能性があり、それにより
仕様とソースプログラムとの不一致が、検出できない場
合があるため不合理と考えられる。
[Problem to be Solved by the Invention] As mentioned above, conventional program unit testing has generally been performed using a combination of white box testing that focuses on the source program and black box testing that focuses on the functionality according to specifications. . However, unit test cases are generated from source programs that have not been checked to see if they satisfy the functionality stipulated in the specifications, such as in white box testing, which means that it is not guaranteed that the execution path according to the specifications is reflected. This means that the required execution path of the test specified in the specification may be leaked or a test case containing an unnecessary execution path may be generated, resulting in a mismatch between the specification and the source program that cannot be detected. It is considered unreasonable because there is.

【0013】解決策としては、単体テストはブラックボ
ックステストのみ適用するか、或いはホワイトボックテ
ストと比較してブラックボックステストの比率を高める
必要がある。しかし、単体テストをブラックボックステ
ストで実施する場合、パラメータの組合せを全て考慮し
てテストケースを生成す方法が最も良いが、テストケー
スが膨大となる。特に広い範囲を指定されたパラメータ
については、全パラメータ値をテストケースとした場合
、現実的なテストケース数とは言えない。また、ブラッ
クボクッステストのテストケースを効率的に生成する方
法の1つとされるランダム生成法では、テストケース選
択が無作為のため、生成されたテストケースが検証を行
う機能のうちの一部に偏る傾向がある。同値分割法、限
界値分析法による方法は、設計仕様作成段階によりテス
トケースを作成できる点は有効であるが、パラメータの
データ領域を分割する指針が示されていないため、仕様
より同値分割法、限界値分析法に従った割分点を抽出す
ることは容易ではなく、テストケース生成効率は高くな
い。
As a solution, it is necessary to apply only black box tests to unit tests, or to increase the ratio of black box tests compared to white box tests. However, when performing a unit test using a black box test, the best method is to generate test cases by considering all combinations of parameters, but the number of test cases becomes enormous. Especially for parameters with a wide range specified, if all parameter values are used as test cases, this cannot be said to be a realistic number of test cases. In addition, in the random generation method, which is considered to be one of the methods for efficiently generating test cases for black box testing, the test cases are selected randomly, so the generated test cases may not be able to verify some of the functions to be verified. There is a tendency to be biased toward The equivalence partitioning method and the limit value analysis method are effective in that test cases can be created at the design specification creation stage, but since there is no guideline for partitioning the parameter data area, the equivalence partitioning method is more effective than the specification method. It is not easy to extract division points according to the limit value analysis method, and the test case generation efficiency is not high.

【0014】本発明は、上記従来の問題を解決し、入力
条件のテストデータ数の軽減をはかり、単体テストにお
ける効率的なテストケース生成を目的とするものである
The present invention aims to solve the above-mentioned conventional problems, reduce the number of input condition test data, and efficiently generate test cases in unit tests.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、単体テストケース生成において、ソース
プログラムに依存しないブラックボックステスト形式に
よる方法を基に、プログラムの入出力インタフェースパ
ラメータのデータ型種別を2つの群に分類したデータ型
種別規定テーブルを備え、入力インタフェースのデータ
定義文が入力されると、該テーブルによる分類に従って
、一方の群に属するデータ定義文からは、パラメータの
データ値領域のすべてのデータ値の組合せをテストケー
スとして生成し、他方の群に属するデータ定義文からは
、パラメータのデータ値領域をさらに入力インタフェー
スのデータ定義文の示す分割点により分けられたデータ
値領域の一部のデータ値のみをテストケースとして生成
するようにしたものである。
[Means for Solving the Problems] In order to achieve the above object, the present invention is based on a method using a black box test format that does not depend on a source program in generating a unit test case. It is equipped with a data type type specification table that classifies types into two groups, and when a data definition statement of the input interface is input, the data value area of the parameter is changed from the data definition statement belonging to one group according to the classification by the table. All combinations of data values are generated as test cases, and from the data definition statements belonging to the other group, the data value area of the parameter is further divided into data value areas divided by the dividing points indicated by the data definition statement of the input interface. This method generates only some data values as test cases.

【0016】[0016]

【作用】本発明は、設計段階よりテスト対象とするプロ
グラムの入出力インタフェースパラメータのデータ型定
義種別を、データ領域の範囲を示す数値的なデータ型定
義とする「範囲指向データ型種別」と値自身に意味を持
つセット的なデータ型定義とする「セット指向データ型
種別」との2種類に分類する。「範囲指向データ型種別
」と指定したデータ型定義である入出力インタフェース
パラメータは、プログラムの実行経路分岐がパラメータ
のパラメータ値ごとに分かれるとは限らない、つまり異
なるパラメータ値であっても同一の実行経路を通過する
可能性が多い傾向にあるため、データ値領域のすべての
データ値をテストケースとする意味はなく、同値分割法
、限界値分析法的なテストデータ選定手法を適用し、プ
ログラム中の実行経路分岐の分岐境界値を設計データと
して明確にし入力インタフェースのデータ定義文に設定
することで、パラメータ値の分割点が明らかになり、デ
ータ値領域の境界値間の一部の値あるいは境界値周辺の
値を単体テストのテストケースとして生成する。また、
「セット指向データ型種別」と指定したデータ型定義で
ある入出力インタフェースパラメータについては、示さ
れた値自身がプログラム中の実行経路分岐の分岐境界値
となる傾向にあるため、全ての値を単体テストのテスト
ケースとして生成する。
[Operation] The present invention sets the data type definition type of the input/output interface parameters of the program to be tested from the design stage to a "range-oriented data type type" in which the data type definition is a numerical data type definition indicating the range of the data area. It is classified into two types: ``set-oriented data type type'', which is a set-like data type definition that has its own meaning. For input/output interface parameters that are data type definitions specified as "range-oriented data type type," the execution path of the program does not necessarily branch depending on the parameter value; in other words, the same execution may occur even for different parameter values. Since there is a tendency for there to be many paths to pass through, there is no point in using all data values in the data value area as test cases. By clarifying the branch boundary value of the execution route branch as design data and setting it in the data definition statement of the input interface, the dividing point of the parameter value becomes clear, and some values between the boundary values of the data value area or the boundary Generate values around the value as test cases for unit tests. Also,
For input/output interface parameters that are data type definitions specified as "set-oriented data type type," the indicated values themselves tend to be branch boundary values for execution path branches in the program, so all values are tested in unit tests. Generate it as a test case.

【0017】このように、単体テストレベルにおけるテ
ストケース生成において、設計段階よりテストケースを
生成するブラックボックステスト形式によるテストケー
ス生成手法を採り入れることにより、テスト未実施のソ
ースプログラムよりテストケースを生成するホワイトボ
ックステスト形式と比較して、単体テストケースにおい
ても仕様とソースプログラムとのバグ検出率が高まり、
テストケースに対する信頼性が向上する。ブラックボッ
クステストのテストケース生成については、入出力イン
タフェースパラメータのデータ型定義種別より単体テス
トのテストケース生成手法を指定することにより、少な
いテストケースで多くのバグを発見することを目的とす
る効率的なテストケースが容易に生成可能となる。
In this way, in test case generation at the unit test level, by adopting a test case generation method using a black box test format that generates test cases from the design stage, we can create a white test case that generates test cases from an untested source program. Compared to the box test format, the bug detection rate between specifications and source programs is increased even in unit test cases.
Improves reliability of test cases. Regarding test case generation for black box testing, by specifying the test case generation method for unit tests based on the data type definition type of input/output interface parameters, it is possible to create an efficient method that aims to discover many bugs with a small number of test cases. Test cases can be easily generated.

【0018】[0018]

【実施例】以下に、本発明を実施例に従って説明する。 なお、実施例では、単体テスト対象プログラムの最も低
位な構成要素であるプロシージャを例にとって示す。但
し、プロシージャの集まりであるモジュール単位におい
ても、本発明は実施可能である。
[Examples] The present invention will be explained below with reference to Examples. In the embodiment, a procedure, which is the lowest component of a program to be tested, will be described as an example. However, the present invention can also be implemented in units of modules, which are collections of procedures.

【0019】図1は、本発明の一実施例のシステム構成
図である。同図において、1は処理装置であるCPU、
2はデータ部としてのメモリ、3は入出力部、4はディ
スプレイ表示部、5はフロッピーディスク(FD)を示
している。処理装置1は、入出力部3より入力された該
当プロシージャに対応するプログラムの設計データをメ
モリ2に転送し、また、該設計データをメモリ2より取
り出して、該データの持つ特徴、すなわちデータの定義
種別により単体テストケースの抽出手法を決定し、テス
トケースを生成し、メモリ2へ転送するとともに入出力
部3へアウトプットし、ディスプレイ表示部4へ表示す
る。なお、各操作状況は常にディスプレイ表示部4へ表
示している。
FIG. 1 is a system configuration diagram of an embodiment of the present invention. In the figure, 1 is a CPU which is a processing device;
2 is a memory as a data section, 3 is an input/output section, 4 is a display section, and 5 is a floppy disk (FD). The processing device 1 transfers the design data of the program corresponding to the corresponding procedure inputted from the input/output unit 3 to the memory 2, and also retrieves the design data from the memory 2 and determines the characteristics of the data, that is, the characteristics of the data. A unit test case extraction method is determined based on the definition type, a test case is generated, and the test case is transferred to the memory 2 and outputted to the input/output section 3, and displayed on the display section 4. Note that each operation status is always displayed on the display section 4.

【0020】プログラム設計データは、本装置とは別の
外部装置等にて作成され、FD5上に格納されている。 該外部装置にて設計されたFD5上のデータのうち、プ
ロシージャインタフェース定義データテーブル設定必要
データ一覧と分岐データテーブルデータ設定必要データ
一覧のみが読み出され、本装置のメモリ部2へ転送され
る。なお、プロシージャインタフェース定義データテー
ブル設定必要データ一覧は、図18に示すように、各プ
ロシージャ名とプロシージャに対する各インタフェース
名、インタフェース名に対する各パラメータ名、パラメ
ータのIN/OUT種別、データ型定義を必要データと
する。また、分岐データテーブル設定必要データ一覧は
、図19に示すように、各プロシージャ名とプロシージ
ャに対応する各インタフェース名、インタフェースに対
応する各パラメータ名、パラメータに対応して、上下限
値(上限値と下限値を示す)定義によるデータ群とメン
バ定義によるデータ群の一方が必要であることを示す。 どらちが選択されるかは、プログラム設計データの内容
よりパラメータに対応したデータがどらちを示している
かにより決定される。なお、図19の分岐データテーブ
ル設定必要データ一覧中の範囲定義及びメンバ定義の意
味は次の如くである。 範囲定義;分割数データテーブル群の場合であり、パラ
メータのデータ領域を分割し、その分割数を設定する。 また、それぞれのデータ分割領域の上限値、下限値およ
び下限値から上限値にいたる増加条件を設定する。 メンバ定義;メンバテーブル群の場合であり、パラメー
タのデータ領域を分割し、その分割数を設定する。また
、それぞれのデータ分割領域の全メンバを設定する。 ただし、データ分割領域のメンバ中最小のメンバを一番
目に設定し、最大のメンバを最後に設定する。
[0020] The program design data is created by an external device other than this device and stored on the FD5. Of the data on the FD 5 designed by the external device, only the procedure interface definition data table setting required data list and the branch data table data setting required data list are read out and transferred to the memory unit 2 of this device. As shown in Figure 18, the list of required data for setting the procedure interface definition data table includes the required data for each procedure name, each interface name for the procedure, each parameter name for the interface name, parameter IN/OUT type, and data type definition. shall be. In addition, as shown in Figure 19, the list of data required to set the branch data table includes each procedure name, each interface name corresponding to the procedure, each parameter name corresponding to the interface, and the upper and lower limit values (upper limit values) corresponding to the parameters. indicates that either the data group defined by the definition or the data group defined by the member definition is required. Which one is selected is determined by which one is indicated by the data corresponding to the parameter based on the contents of the program design data. The meanings of the range definitions and member definitions in the list of necessary data for setting the branch data table in FIG. 19 are as follows. Range definition: Number of divisions In the case of a data table group, the parameter data area is divided and the number of divisions is set. Further, an upper limit value, a lower limit value, and an increase condition from the lower limit value to the upper limit value for each data division area are set. Member definition: In the case of a group of member tables, the parameter data area is divided and the number of divisions is set. Also, all members of each data division area are set. However, among the members of the data division area, the smallest member is set first, and the largest member is set last.

【0021】図2は本実施例における機能ブロック図を
示したものである。即ち、処理装置1は機能上、実行管
理部11、データ編集部12、データ読み出し部13、
テストケース生成編集部14、データ管理部15よりな
る。メモリ2上のテーブル群は、プロシージャインタフ
ェース定義データテーブル21、いずれもデータ型種別
規定テーブルの構成要素のネストテーブルである範囲デ
ータテーブル22とセットデータテーブル23、いずれ
も分岐データテーブルの構成要素のネストテーブルであ
る分割データテーブル24とメンバテーブル群25、及
び、テストケースデータテーブル26よりなる。
FIG. 2 shows a functional block diagram in this embodiment. That is, the processing device 1 functionally includes an execution management section 11, a data editing section 12, a data reading section 13,
It consists of a test case generation and editing section 14 and a data management section 15. The tables in the memory 2 include a procedure interface definition data table 21, a range data table 22 and a set data table 23, both of which are nested tables of the constituent elements of the data type type regulation table, and a nested table of the constituent elements of the branch data table. It consists of a divided data table 24, a member table group 25, and a test case data table 26.

【0022】実行管理部11はテストケース作成のため
の環境を管理する。具体的には、入出力部3から入力さ
れる本装置を実行起動するための入力コマンドの解釈実
行、メモリ2上へ入出力されるデータの転送制御、ディ
スプレイ表示部4の制御を行う等である。データ編集部
12は、実行管理部11より転送されたFD5上のプロ
グラム設計データとメモリ2上のインタフェース定義デ
ータテーブル21、データ型種別規定テーブル22,2
3、分岐データテーブル24,25、テストケースデー
タテーブル26の各テーブルがフォーマット構成を異に
するため、プログラム設計データを分析、編集し、デー
タ管理部15を通してメモリ2上の該当テーブルへ設定
する。データ読み出し部13はメモリ2に設定された該
テーブルの図18のプロシージャインタフェース定義デ
ータテーブル設定必要データ一覧と、図19の分岐デー
タテーブル設定必要データ一覧に示すようなデータや、
データ型種別規定テーブル22,23のデータを、デー
タ管理部15を通して読み出し、実行管理部11へ転送
する。テストケース生成編集部14では、実行管理部1
1よりメモリ2に設定された該各種データを受け取るテ
ストケースを作成し、データ管理部15を通してメモリ
2中のテストケースデータテーブル26へ設定すると共
に読み出しも行う。データ管理部15はデータ部である
メモリ2の読出し及び書込みを管理する。
The execution management section 11 manages the environment for creating test cases. Specifically, it interprets and executes input commands input from the input/output unit 3 to start the device, controls the transfer of data input/output to the memory 2, controls the display unit 4, etc. be. The data editing section 12 stores the program design data on the FD 5 transferred from the execution management section 11, the interface definition data table 21 on the memory 2, and the data type type regulation tables 22, 2.
3. Since the branch data tables 24, 25 and the test case data table 26 have different formats, the program design data is analyzed, edited, and set in the corresponding table on the memory 2 through the data management section 15. The data reading unit 13 reads data such as the list of data required to set the procedure interface definition data table shown in FIG. 18 and the list of data required to set the branch data table shown in FIG. 19 of the table set in the memory 2.
The data in the data type type regulation tables 22 and 23 is read out through the data management section 15 and transferred to the execution management section 11. In the test case generation editing section 14, the execution management section 1
1 creates a test case that receives the various data set in the memory 2, and sets it in the test case data table 26 in the memory 2 through the data management section 15, as well as reading it out. The data management section 15 manages reading and writing of the memory 2, which is a data section.

【0023】図3乃至図8は本実施例における基本処理
フローチャートである。該フローチャートに従って図2
の動作を詳細に説明する。
FIGS. 3 to 8 are basic processing flowcharts in this embodiment. Figure 2 according to the flowchart.
The operation will be explained in detail.

【0024】単体テストケース生成は、FD5上のプロ
グラム設計データの読み出しにはじまる。ここで、プロ
グラム示す設計データとは、他の外部装置により作成さ
れた設計データであり、設計に関する図18のプロシー
ジャインタフェース定義データテーブル設定必要データ
一覧、図19の分岐データテーブル設定必要データ一覧
に示すデータをはじめとする多種の設計データで、該プ
ログラム設計データがFD5上に格納されている。図9
に、FD5上の設計データのうち、単体テストケース生
成の際に対象となるプロシージャインタフェース図を示
す。即ち、プロシージャのインタフェースとしては、入
力インタフェースB1、出力インタフェースB2、他プ
ロシージャコール入力インタフェースB3、他プロシー
ジャコール出力インタフェースB4、モジュールデータ
入力インタフェースB5、モジュールデータ出力インタ
フェースB6、プロシージャ(ユニット内)データ入力
インタフェースB7、プロシージャ(ユニット内)デー
タ出力インタフェースB8の各インタフェースがある。 ここでは、これらの単体テストの対象となるプロシージ
ャのインタフェースにおいて、図18のプロシージャイ
ンタフェース定義データテーブル設定一覧の示した各デ
ータ(プロシージャインタフェース定義データと呼ぶ)
をプロシージャインタフェース定義データテーブル21
へ設定する処理を示す。
Unit test case generation begins with reading the program design data on the FD5. Here, the design data shown in the program is design data created by another external device, and is shown in the procedure interface definition data table setting data list in FIG. 18 and the branch data table setting data list in FIG. 19 related to design. The program design data is stored on the FD5, including various design data such as data. Figure 9
2 shows a procedure interface diagram of the design data on FD5 that is targeted when generating unit test cases. That is, the procedure interfaces include input interface B1, output interface B2, other procedure call input interface B3, other procedure call output interface B4, module data input interface B5, module data output interface B6, and procedure (within unit) data input interface. There are interfaces B7 and B8, a procedure (intra-unit) data output interface. Here, in the procedure interface that is the target of these unit tests, each data (referred to as procedure interface definition data) shown in the procedure interface definition data table setting list in Figure 18 is
Procedure interface definition data table 21
The process to set is shown below.

【0025】入出力部3からのコマンド入力により、実
行管理部11が入出力部3を通してFD5を読み出すこ
とにより、該FD5上のプログラム設計データが、イン
タフェースS1、入出力部3、インタフェースS2、実
行管理部11へと転送される。この実行管理部11に取
り入れられた該プロシージャインタフェースデータは、
プログラム設計データのフォーマット形式で作成されて
おり、メモリ2上のプロシージャインタフェース定義デ
ータテーブル形式のフォーマットに編集する必要がある
ため、インタフェースフェースS4を通して、データ編
集部12にて分析、編集を行う。そして、フォーマット
編集されたプロシージャインタフェース定義データは、
インタフェースS6、データ管理部15、インタフェー
スS10を経て、メモリ2上のプロシージャインタフェ
ース定義データテーブル21へ設定される。図3では、
Y1のプログラム設計データよりプロシージャインタフ
ェース定義データテーブル(メモリ)へのデータ編集、
設定が、この処理に該当する。
[0025] In response to a command input from the input/output unit 3, the execution management unit 11 reads out the FD5 through the input/output unit 3, so that the program design data on the FD5 is transferred to the interface S1, the input/output unit 3, the interface S2, and the execution The information is transferred to the management section 11. The procedure interface data taken into this execution management section 11 is
Since it is created in the format of program design data and needs to be edited into the format of a procedure interface definition data table on the memory 2, the data editing section 12 analyzes and edits it through the interface S4. And the formatted procedure interface definition data is
The data is set in the procedure interface definition data table 21 on the memory 2 via the interface S6, the data management unit 15, and the interface S10. In Figure 3,
Data editing from Y1 program design data to procedure interface definition data table (memory),
The settings correspond to this process.

【0026】図10にプロシージャインタフェース定義
データテーブル21の構成例を示す。ここで、プロシー
ジャインタフェース定義データテーブル21は、プロシ
ージャテーブル211のプロシージャ単位に各子テーブ
ルを示す4ワード構成のインタフェースヘッドテーブル
212を持つ。インタフェースヘッドテーブル212は
、入出力インタフェーステーブル223、コールプロシ
ージャインタフェーステーブル224、コールモジュー
ルデータインタフェーステーブル225、コールプロシ
ージャインタフェーステーブル226のヘッダを示して
いる。入出力インタフェーステーブル223の構成は、
インタフェース名、各パラメータ名とそれに対応した、
IN情報かOUT情報かの入出力種別、データ型定義種
別を示し、パラメータ数が最終エリアを満たないときは
ラストはストッパー値が設定される。コールプロシージ
ャインタフェーステーブル224の構成は、各コールプ
ロシージャインタフェース名とそれに対応した各パラメ
ータ名、そして、パラメーータ名に対応したIN情報か
OUT情報かの入出力種別、データ型定義種別を示し、
パラメータ数が最終エリアを満たないときはラストはス
トッパー値が設定される。コールモジュールデータイン
タフェーステーブル225の構成は、各コールモジュー
ルデータ名またはメンバーに対応した、IN情報かOU
T情報かの入出力種別、データ型定義種別を示し、パラ
メータ数が最終エリアを満たないときはラストはストッ
パー値が設定される。コールプロシージャデータインタ
フェーステーブル226についても同様である。なお、
インタフェースヘッドテーブル212の左欄は各インタ
フェース及びパラメータの有効/無効表示子で、0は無
効、1は有効である。また、各子テーブル223〜22
6は最左欄の識別子は、0が空き、1はインタフェース
、2はパラメータ、3はストッパーである。これらのテ
ーブルに、データをY1にて設定する。
FIG. 10 shows an example of the structure of the procedure interface definition data table 21. Here, the procedure interface definition data table 21 has a 4-word interface head table 212 that indicates each child table for each procedure of the procedure table 211. The interface head table 212 shows the headers of an input/output interface table 223, a call procedure interface table 224, a call module data interface table 225, and a call procedure interface table 226. The configuration of the input/output interface table 223 is as follows:
Interface name, each parameter name and its corresponding
It indicates the input/output type, IN information or OUT information, and the data type definition type, and if the number of parameters does not fill the final area, a stopper value is set at the end. The structure of the call procedure interface table 224 shows each call procedure interface name, each parameter name corresponding to it, the input/output type of IN information or OUT information corresponding to the parameter name, and the data type definition type,
When the number of parameters is less than the final area, the last stopper value is set. The structure of the call module data interface table 225 consists of IN information or OU information corresponding to each call module data name or member.
It indicates the input/output type and data type definition type of T information, and if the number of parameters does not fill the final area, a stopper value is set at the end. The same applies to the call procedure data interface table 226. In addition,
The left column of the interface head table 212 is a valid/invalid indicator for each interface and parameter, where 0 is invalid and 1 is valid. In addition, each child table 223 to 22
6 is an identifier in the leftmost column, 0 is empty, 1 is an interface, 2 is a parameter, and 3 is a stopper. Data is set in these tables at Y1.

【0027】各プロシージャインタフェースパラメータ
の編集、設定を終了すると、Y2にてプログラム設計デ
ータより分岐データテーブル24,25へデータ編集、
設定を行う。即ち、FD5上のプログラム設計データに
おける分岐データテーブル設定必要データ一覧の各デー
タが、インタフェースS1、入出力部3、インタフェー
スS2、実行管理部11、インタフェースS4、データ
編集部12、インタフェースS6、データ管理部15、
インタフェースS11を通り、分岐データテーブルの構
成要素のネストテーブルである分割点データテーブル群
24、あるいはメンバテーブル群25に設定される。
After editing and setting each procedure interface parameter, data is edited from the program design data to the branch data tables 24 and 25 at Y2.
Make settings. That is, each data in the branch data table setting required data list in the program design data on the FD5 is the interface S1, input/output section 3, interface S2, execution management section 11, interface S4, data editing section 12, interface S6, data management. Part 15,
It passes through the interface S11 and is set in the division point data table group 24 or member table group 25, which is a nested table of constituent elements of the branch data table.

【0028】図11に分岐データテーブルの構成例を示
す。先に図19の分岐データテーブル設定必要データ一
覧で述べたように、分岐データテーブルは、分岐データ
プロシージャテーブル201のプロシーシャ名単位に、
各子テーブルを示す4ワード構成の分岐データインタフ
ェースヘッドテーブル202を持つ。該分岐データイン
タフェースヘッドテーブル202は、入出力インタフェ
ーステーブル、コールプロシージャインタフェーステー
ブル、コールモジュールデータインタフェーステーブル
、コールプロシージャデータインタフェーステーブルの
ヘッダ構成となっている。該分岐データインタフェース
ヘッドテーブル202が示す分岐データパラメータテー
ブル203については、各インタフェース名単位に分割
点データテーブル群24のデータであるか、メンバテー
ブル群25のデータであるか分配している。分配表示は
、分岐データパラメータテーブル203内の次子テーブ
ル種別により判定される。ただし、次子テーブル種別の
設定は、プログラム設計データのデータ情報により決定
する。次子テーブル種別が、分割点データテーブル群2
4を示した場合は、プログラムの設計データが、下限値
、上限値とした形式で設定されている場合であり、分割
点データパラメータテーブル241にパラメータの分割
データ領域数である分割数を設定し、分割点データ上下
限値テーブル242に値を設定する。さらに、下限値か
ら上限値に至る増加条件を数式的に示すデータの付加が
可能であるように、分割条件データ増加条件テーブル2
43に増加条件を設定する。なお、該当パラメータ、あ
るいはパラメータの該当データ領域の示す増加条件がプ
ログラム設計データに設定されていない場合は、該当パ
ラメータ、パラメータの該当データ領域の分割点データ
上下限値テーブル242と増加条件テーブル243とは
リンクされない。このため、分割点データ上下限値テー
ブル242の増加条件ヘッダに有効/無効表示子を設け
、0は無効、1は有効とする。一方、分岐データパラメ
ータテーブル203内の次子テーブル種別がメンバテー
ブル群25を示した場合は、プログラム設定データの該
当パラメータデータがメンバで示されている場合であり
、メンバデータパラメータテーブル251にパラメータ
の分割データ領域数である分割数を設定し、メンバデー
タ値表示テーブル252には、分割データ単位のメンバ
数と全てのメンバ値を設定する。
FIG. 11 shows an example of the structure of the branch data table. As mentioned earlier in the list of data required to set the branch data table in FIG.
It has a branch data interface head table 202 consisting of 4 words indicating each child table. The branch data interface head table 202 has a header configuration of an input/output interface table, a call procedure interface table, a call module data interface table, and a call procedure data interface table. The branch data parameter table 203 indicated by the branch data interface head table 202 is distributed based on each interface name as to whether the data is in the division point data table group 24 or the member table group 25. The distribution display is determined by the next child table type in the branch data parameter table 203. However, the setting of the next child table type is determined by the data information of the program design data. The next child table type is division point data table group 2.
4 is a case where the design data of the program is set in a format with a lower limit value and an upper limit value, and the number of divisions, which is the number of divided data areas of the parameter, is set in the division point data parameter table 241. , values are set in the division point data upper and lower limit value table 242. Furthermore, so that it is possible to add data that mathematically shows the increase conditions from the lower limit value to the upper limit value, the division condition data increase condition table 2 is created.
43, set an increase condition. In addition, if the increase condition indicated by the corresponding parameter or the corresponding data area of the parameter is not set in the program design data, the dividing point data upper and lower limit value table 242 and the increase condition table 243 of the corresponding parameter or the corresponding data area of the parameter are set. is not linked. For this reason, a valid/invalid indicator is provided in the increase condition header of the dividing point data upper/lower limit table 242, with 0 indicating invalid and 1 indicating valid. On the other hand, if the next child table type in the branch data parameter table 203 indicates the member table group 25, this means that the corresponding parameter data in the program setting data is indicated by a member, and the parameter data is in the member data parameter table 251. The number of divisions, which is the number of divided data areas, is set, and the number of members in the unit of divided data and all member values are set in the member data value display table 252.

【0029】分岐データテーブル24,25の設定が終
了すると、Y3にてデータ型種別規定テーブル22,2
3の読み出し処理に移る。ここで、メモリ2上のデータ
型種別規定テーブル22,23は、半固定データテーブ
ルとして位置づける。つまり一度設定してしまうと、恒
久的に変更することは無い規定テーブルとする。ただし
、初期設定時およびパラメータのデータ型の新規追加等
の場合は、ガード規定を解除すれば設定可能となる。 データ型定義種別の設定は、入出力部3よりオペレータ
の指定、設定によって、インタフェースS2、実行管理
部11、インタフェースS4、データ編集部12、イン
タフェースS6、データ管理部15、インタフェースS
11を通して、メモリ2上のデータ型種別規定テーブル
の構成要素のネストテーブルである範囲データテーブル
22、セットデータテーブル23へ個々に、指定データ
型定義種別を設定することで達成される。
When the setting of the branch data tables 24 and 25 is completed, the data type type regulation tables 22 and 2 are set in Y3.
The process moves on to step 3 read processing. Here, the data type type specification tables 22 and 23 on the memory 2 are positioned as semi-fixed data tables. In other words, once set, it is a standard table that cannot be changed permanently. However, during initial settings or when adding a new parameter data type, settings can be made by canceling the guard regulations. The data type definition type is set by the input/output section 3 according to the operator's specifications and settings.
11, the specified data type definition type is individually set in the range data table 22 and set data table 23, which are nested tables of the constituent elements of the data type type definition table on the memory 2.

【0030】図12に本発明の特徴である「範囲指向デ
ータ型種別」と「セット指向データ型種別」としたデー
タ型定義種別の分類基準と一例を、CCITT勧告の通
信用ソフトウェア記述言語であるCHILL言語を例に
とってブラックボックステストを行う場合の特徴と共に
示す。分類の基準は、図12に示すように、範囲を示す
数値的なデータ型定義は範囲指向データ型種別とし、値
自身に意味を持つセット的なデータ型定義はセット指向
データ型種別とする。メモリ2上のデータ型種別規定テ
ーブル22,23には、予め上記分類にそってデータ型
定義の分類が設定される。
FIG. 12 shows classification standards and examples of data type definition types, ``range-oriented data type types'' and ``set-oriented data type types,'' which are the characteristics of the present invention, based on the communication software description language recommended by CCITT. The CHILL language will be used as an example to show the characteristics of black box testing. As shown in FIG. 12, the classification criteria is that a numerical data type definition that indicates a range is classified as a range-oriented data type type, and a set-like data type definition in which the value itself has a meaning is classified as a set-oriented data type type. In the data type type definition tables 22 and 23 on the memory 2, classifications of data type definitions are set in advance in accordance with the above classifications.

【0031】図13に、図12の分類例に対応するデー
タ型種別規定テーブルの構成を示す。図12において、
範囲指向データ型種別であるデータ型はBIN,BIT
であり、これらは範囲データテーブル22に設定される
。また、セット指向データ型種別であるデータ型はCH
AR,PTR,REFであり、これらはセットデータテ
ーブル23へ設定される。テーブル22,23中の0,
1で示されるフラグは該メンバの有効/無効表示子で、
0は無効、1は有効である。データ型種別ヘッドテーブ
ル200はテーブル22,23のヘッダ値を保持してい
る。前に述べたように、該両テーブルとも半固定の恒久
的なテーブルである。
FIG. 13 shows the structure of a data type type specification table corresponding to the classification example shown in FIG. 12. In FIG. 12,
Data types that are range-oriented data types are BIN and BIT.
These are set in the range data table 22. Also, the data type that is a set-oriented data type is CH
AR, PTR, and REF, and these are set in the set data table 23. 0 in tables 22 and 23,
The flag indicated by 1 is a valid/invalid indicator for the member,
0 is invalid, 1 is valid. A data type type head table 200 holds header values of tables 22 and 23. As previously mentioned, both tables are semi-fixed, permanent tables.

【0032】この時点で、メモリ2上のプロシージャイ
ンタフェース定義データテーブル21、分岐データテー
ブルの構成要素のネストテーブル群である分割点データ
テーブル群24、メンバテーブル群25、及び、データ
型種別規定テーブルの構成要素のネストテーブルである
範囲データテーブル22、セットデータテーブル23が
設定されたことになる。これらのデータテーブルは、1
プロシャージャ単位、複数プロシージャ単位、システム
全プロシージャ単位でも設定可能であり、設定するデー
タ量はメモリ2の容量による。
At this point, the procedure interface definition data table 21 in the memory 2, the division point data table group 24, which is a nested table group of the branch data table components, the member table group 25, and the data type type specification table. This means that the range data table 22 and set data table 23, which are nested tables of constituent elements, have been set. These data tables are 1
It can be set for each procedure, multiple procedures, or all system procedures, and the amount of data to be set depends on the capacity of the memory 2.

【0033】次に、Y4にて該当プロシージャの全イン
タフェースの全パラメータをメモリ2より読み出す。こ
こでは、プロシージャインタフェース定義データテーブ
ル21を読み出し、インタフェースS13、データ管理
部15、インタフェースS7、データ読み出し部13、
インタフェースS5を通して実行管理部11内のバッフ
ァへセーブする。次に、Y5にてデータ型種別規定テー
ブルの構成要素のネストテーブルである範囲データテー
ブル22、セットデータテーブル23の読み出しを行い
、同様にして実行管理部11内のバッファへセーブする
。そして、Y5では、1インタフェースの1パラメータ
のデータ型種別をデータ型種別規定テーブル22,23
の示す分類に従って判定分岐を行う。つまり、該当プロ
シージャインタフェースの該当パラメータのデータ型種
別を、データ型種別規定テーブル22,23の示す分類
に従って判定分岐を行う。この処理は、実行管理部11
にて行われ、プロシージャインタフェース定義データテ
ーブル21中のインタフェースパラメータにおけるデー
タ型とデータ型種別規定テーブル22,23中のデータ
により、該当プロシージャインタフェースパラメータを
「範囲指向データ型種別である」パラメータと「セット
指向データ型種別である」パラメータに分類する。両者
の分類をした結果がY6,Y7にあたる。
Next, at Y4, all parameters of all interfaces of the corresponding procedure are read from the memory 2. Here, the procedure interface definition data table 21 is read out, and the interface S13, data management section 15, interface S7, data reading section 13,
It is saved in the buffer within the execution management unit 11 through the interface S5. Next, at Y5, the range data table 22 and set data table 23, which are nested tables of the constituent elements of the data type type specification table, are read out and similarly saved in the buffer in the execution management section 11. Then, in Y5, the data type type of one parameter of one interface is specified in the data type type specification tables 22 and 23.
Judgment branching is performed according to the classification indicated by . That is, the data type type of the corresponding parameter of the corresponding procedure interface is determined and branched according to the classification shown in the data type type specification tables 22 and 23. This process is carried out by the execution management unit 11.
, the corresponding procedure interface parameter is set to a parameter that is a range-oriented data type, using the data type of the interface parameter in the procedure interface definition data table 21 and the data in the data type type specification tables 22 and 23. It is classified into "parameters that are oriented data type types. The results of both classifications correspond to Y6 and Y7.

【0034】Y6の範囲指向データ型種別(範囲データ
)となったパラメータは、Y8にて、図19の分岐デー
タテーブル設定必要データ一覧で示したデータを、メモ
リ2上の分岐データテーブルより読み出すことで得る。 即ち、分岐データテーブルの構成要素のネストテーブル
群である分割点データテーブル群24またはメンバテー
ブル群25よりインタフェースS15、データ管理部1
5、インタフェースS7、データ読み出し部13、イン
タフェースS5を通して実行管理部11のバッファへ転
送することで得る。そして、Y9にて、該当パラメータ
の分岐データが、分岐データテーブルの分割点データテ
ーブル群24に属するかメンバテーブル群25に属する
か判定する。この判定は、図11に示した分岐データテ
ーブル構成の分岐データパラメータテーブル203の該
当パラメータに対する次子テーブル種別の値により行う
。つまり、次子テーブルの値が1であれば分割点データ
テーブル群であり、2であればメンバテーブル群である
For the parameters that have become the range-oriented data type type (range data) at Y6, the data shown in the branch data table setting required data list in FIG. 19 is read out from the branch data table in memory 2 at Y8. Get it. That is, from the division point data table group 24 or the member table group 25, which is a nest table group of constituent elements of the branch data table,
5. The data is obtained by transferring it to the buffer of the execution management unit 11 through the interface S7, the data reading unit 13, and the interface S5. Then, in Y9, it is determined whether the branch data of the corresponding parameter belongs to the division point data table group 24 or member table group 25 of the branch data table. This determination is made based on the value of the next child table type for the corresponding parameter in the branch data parameter table 203 having the branch data table configuration shown in FIG. That is, if the value of the next child table is 1, it is a division point data table group, and if it is 2, it is a member table group.

【0035】該当パラメータの分岐データが分割点デー
タテーブルであった場合はY10にあたり、Y12の分
割数データ取得に移る。これは、図11中の分岐データ
テーブル構成の分割点データテーブル群24の分割点デ
ータパラメータテーブル241の分割数を読みに行くこ
とであり、分割数とはパラメータの分割されたデータ領
域の数を示している。次に、Y13の下限値、上限値の
取得に移る。これは、該データ領域の下限値と上限値の
ことであり、図11の分割点データテーブル群24の分
割点データ上下限値テーブル242の下限値、上限値を
示している。次に、Y14の増加条件データの有無の判
定により、分岐する処理を行う。これは、図11の分割
点データ上下限値テーブル242の増加条件ヘッダ内に
設定されている増加条件データの有無表示子の値で行う
。即ち、表示子の値が0の場合は無であり、1の場合は
有りである。ここでいう増加条件とは、等差数列、等比
数列、階差数列などを使用した数式のことであり、前記
で示したパラメータの分割された1データ領域の下限値
から上限値に至るまでの一定の増加を数式にて表現して
いる。不規則なものは増加条件はないものとする。また
数値では表現できないものについては、メンバ値として
プログラム設計データに登録されている。なお、メンバ
値の場合の処理については、後述する。
If the branch data of the relevant parameter is a division point data table, then Y10 is reached, and the process moves to obtain the division number data of Y12. This is to read the number of divisions in the division point data parameter table 241 of the division point data table group 24 in the branch data table configuration in FIG. It shows. Next, the process moves to obtaining the lower limit value and upper limit value of Y13. This is the lower limit value and upper limit value of the data area, and indicates the lower limit value and upper limit value of the division point data upper and lower limit value table 242 of the division point data table group 24 in FIG. Next, a branch process is performed based on the determination of the presence or absence of the increase condition data in Y14. This is done using the value of the increase condition data presence/absence indicator set in the increase condition header of the division point data upper and lower limit value table 242 in FIG. 11. That is, when the value of the indicator is 0, it is absent, and when it is 1, it is present. The increasing condition here refers to a formula using an arithmetic progression, a geometric progression, a difference progression, etc., from the lower limit value to the upper limit value of one data area divided by the parameter shown above. The constant increase in is expressed mathematically. For irregular items, there are no conditions for increase. Also, things that cannot be expressed numerically are registered in the program design data as member values. Note that processing for member values will be described later.

【0036】増加条件データが有りの場合は、Y16の
増加条件式取得を行う。これは、図11の分岐データテ
ーブル群24の分割点データ増加条件表示テーブル24
3に設定されている各パラメータデータ領域単位の増加
条件データの抽出をすることである。次に、Y17にて
、■の下限値、上限値の範囲内の全ての値を増加条件式
にて算出し、■の下限値−(最低増加条件値)で得られ
る値と、上限値+(最低増加条件値)で得られる値を算
出する。次に、算出された値を基に、Y18のテストデ
ータ抽出処理を行う。抽出方法は、既に得た下限値、上
限値そしてY17の■にて算出された値より1つ選択さ
れた値と、■より算出した下限値より最低増加条件(1
増加条件)をマイナスした値、そして上限値より最低増
加条件(1増加条件)をプラスした値の計5つの値をテ
ストデータとする。但し、下限値と上限値データ領域範
囲が狭く、下限値、上限値または増加条件式により算出
し選択した値が、重複する時は一方を消去する。次のY
19では、パラメータの分割数を全て終了したか判定す
る。つまり、パラメータを分割したデータ領域の全てよ
りテストデータを抽出したか判定している。未終了の場
合は、Y13に戻り、残りのパラメータを分割したデー
タ領域について、下限値、上限値取得の処理より繰り返
す。
If the increase condition data is present, the increase condition expression of Y16 is obtained. This is the division point data increase condition display table 24 of the branch data table group 24 in FIG.
3 is to extract the increase condition data for each parameter data area unit. Next, in Y17, all values within the range of the lower limit value and upper limit value of ■ are calculated using the increase conditional formula, and the value obtained by the lower limit value of ■ (minimum increase condition value) and the upper limit value + Calculate the value obtained by (minimum increase condition value). Next, the test data extraction process of Y18 is performed based on the calculated value. The extraction method is to select one value from the already obtained lower limit value, upper limit value, and the value calculated in
A total of five values are set as test data: a value obtained by subtracting the increase condition (increase condition), and a value obtained by adding the minimum increase condition (1 increase condition) from the upper limit value. However, if the lower limit value and upper limit value data area range is narrow and the values calculated and selected by the lower limit value, upper limit value, or increasing conditional expression overlap, one of them is deleted. Next Y
In step 19, it is determined whether all the parameter divisions have been completed. In other words, it is determined whether test data has been extracted from all of the data areas into which the parameters have been divided. If not completed, the process returns to Y13 and repeats the process of obtaining the lower limit value and upper limit value for the data area into which the remaining parameters are divided.

【0037】Y19のパラメータを分割数を全て終了し
た場合は、Y24にてパラメータを分割したデータ領域
単位のテストデータを組み合わせてパラメータのテスト
データとする。次に、Y25にて、該当プロシージャイ
ンタフェースの全パラメータが全て終了か判定し分岐す
る。ここで、未終了(Y26)の場合は、Y5の1イン
タフェースの1パラメータのデータ型種別をデータ型種
別規定テーブル22,23の分類によって分岐する処理
より繰り返される。この時点のY5は、該当1パラメー
タの処理にあたる。なお、該当プロシージャの全インタ
フェース、全パラメータデータは、既にY4にて実行管
理部11のバッファに設定されている。
When the number of divisions of the parameters in Y19 has been completed, the test data of the data area units obtained by dividing the parameters in Y24 are combined to form test data for the parameters. Next, in Y25, it is determined whether all parameters of the corresponding procedure interface have been completed, and the process branches. Here, in the case of unfinished (Y26), the process of branching the data type type of one parameter of one interface according to the classification of the data type type specification tables 22 and 23 of Y5 is repeated. Y5 at this point corresponds to processing of the corresponding one parameter. Note that all interfaces and all parameter data of the corresponding procedure have already been set in the buffer of the execution management unit 11 in Y4.

【0038】Y25にて終了となった場合(Y27)は
、Y28にて、生成した該当プロシージャインタフェー
スのパラメータ単位のパラメータのテストデータを、組
み合わせてインタフェースのテストデータとする。そし
て、Y29にて、プロシージャの該当プロシージャイン
タフェースは全て終了か判定して分岐する。つまり、Y
29ではプロシージャの全インタフェースにおいて、テ
ストデータを生成したか判定を行っている。未終了の場
合(Y30)は、Y5の処理より繰り返される。この時
点のY5は、該当1プロシージャインタフェースの処理
にあたる。Y29にて終了となった場合(Y31)は、
該当プロシージャのインタフェース単位のインタフェー
スのテストデータを組み合せてプロシージャのテストデ
ータとする。この時点のテストデータが、単体試験にお
けるテストケースとテストデータ値となり、最終的な目
的としての出力データとなる(Y34)。
If the process ends in Y25 (Y27), in Y28, the generated parameter test data for each parameter of the corresponding procedure interface is combined to form the interface test data. Then, in Y29, it is determined whether all applicable procedure interfaces of the procedure have been completed, and the process branches. In other words, Y
In step 29, it is determined whether test data has been generated in all interfaces of the procedure. If not completed (Y30), the process is repeated from Y5. Y5 at this point corresponds to processing of the corresponding one procedure interface. If it ends in Y29 (Y31),
The test data of the interfaces of the applicable procedure are combined to form the test data of the procedure. The test data at this point becomes the test case and test data value in the unit test, and becomes the output data as the final purpose (Y34).

【0039】一方、Y14にて、増加条件データの有無
の判定により増加条件データ無しの場合(Y22)は、
Y23にて、Y13で得た下限値、上限値をパラメータ
該当データ領域のテストデータ値とする。そして、Y1
9のパラメータの分割数を全て終了したかの判定処理に
移る。
On the other hand, if there is no increase condition data as determined in Y14 (Y22),
In Y23, the lower limit value and upper limit value obtained in Y13 are set as the test data value of the data area corresponding to the parameter. And Y1
The process moves on to a process of determining whether the number of divisions of all nine parameters has been completed.

【0040】次に、Y9にて該当パラメータの分岐デー
タが、メンバテーブル群に属している場合(Y11)は
、Y35にて、図11に示す分岐データテーブル構成の
メンバテーブル群25のメンバデータパラメータテーブ
ル251の分割数データを取得する。この分割数につい
ても、パラメータの分割したデータ領域の数を示してい
る。次に、Y36の処理を行う。この処理では、図11
のメンバデータ表示値テーブル252よりパラメータの
該当データ領域の全てのメンバ数を取得する。次のY3
7では、Y36で取得したメンバ数分の全メンバを取得
する。Y38では、取得したメンバ値の中で最初に取得
したメンバ値と最後に取得したメンバ値、そして両メン
バ値以外のメンバ値の中より1つ選択して、計3つのメ
ンバ値をテストデータとする。なお、メンバ値の数が少
なく、メンバ値が重なる場合は、一方の値をテストデー
タとする。また、プロシージャ設計データのパラメータ
の分割データ領域のメンバ値管理は、数値あるいは大小
の比較ができるものであれば、最初に設定するメンバ値
は下限値あるいは最小のもの、最後に設定するメンバ値
は上限値あるいは最大のものとし、順序正しく設定され
ている。次に、Y39では、パラメータの分割数分すべ
て終了か判定して分岐する。つまり、パラメータの分割
された全てのデータ領域よりテストデータを抽出したか
判定して分岐する。未終了の場合(Y40)はY36に
戻り、終了の場合(Y41)はY24の処理より実施さ
れる。
Next, in Y9, if the branch data of the corresponding parameter belongs to the member table group (Y11), in Y35, the member data parameter of the member table group 25 having the branch data table configuration shown in FIG. The division number data of the table 251 is obtained. The number of divisions also indicates the number of data areas into which the parameter has been divided. Next, the process of Y36 is performed. In this process, Figure 11
The number of all members in the corresponding data area of the parameter is obtained from the member data display value table 252 of . Next Y3
In step 7, all members equal to the number of members obtained in Y36 are obtained. In Y38, one of the first member value obtained, the last member value obtained, and a member value other than both member values is selected, and a total of three member values are used as test data. do. Note that if the number of member values is small and the member values overlap, one value is used as test data. In addition, when managing member values in the divided data area of parameters in procedure design data, if the value can be compared numerically or in size, the member value to be set first is the lower limit value or the minimum value, and the member value to be set last is the lower limit value or minimum value. The upper limit or maximum value is set in the correct order. Next, in Y39, it is determined whether all the divisions of the parameter have been completed, and the process branches. That is, the process branches after determining whether test data has been extracted from all the data areas into which the parameters have been divided. If the process is not completed (Y40), the process returns to Y36, and if the process is completed (Y41), the process is executed from Y24.

【0041】次に、Y5にて、1インタフェースの1パ
ラメータのデータ型種別をデータ型種別規定テーブルの
分類によって、値自身に意味を持つものされたパラメー
タ(Y7;セットデータ)の処理は、Y42の処理より
実施されるわけであるが、Y42よりY57までの処理
は、Y5にて範囲の指定に意味があるものとされたパラ
メータ(範囲データ)の場合の処理であるY8よりY2
1までの処理とほぼ同一であるが、1ケ所のみ異なる点
がある。異なる処理は、範囲の指定に意味があるものと
されたパラメータの場合のY18の処理と、セット指向
データ型種別とされたパラメータの場合のY52の処理
のテストデータ選定方法である。即ち、Y5にて範囲指
向データ型種別された場合のY18の処理は、下限値と
、上限値と、Y17の■である下限値と上限値の範囲内
の値で増加条件式にて算出された値のうち1つ選択した
値と、■である下限値より最低増加条件(1増加条件)
をマイナスした値、そして上限値より最低増加条件(1
増加条件)をプラスした値の5つの値をテストデータと
していたが、Y52の処理では、下限値、上限値、Y1
7の■の下限値と上限値の範囲内の値で増加条件式にて
算出された全ての値と、Y17の■である下限値より最
低増加条件(1増加条件)をプラスした値をテストデー
タとする。つまり、範囲指向データ型種別であるパラメ
ータとセット指向データ型種別であるパラメータの違い
は、パラメータの分割データ領域より選定した値をテス
トデータとするか、パラメータの分割データ領域より得
た全ての値をテストデータにするかの違いである。
Next, in Y5, the data type type of one parameter of one interface is classified into a data type type specification table, and the parameter (Y7; set data) whose value itself has a meaning is processed in Y42. However, the processing from Y42 to Y57 is performed from Y8 to Y2, which is the processing for parameters (range data) for which the range specification is meaningful in Y5.
This process is almost the same as the process up to 1, but there is only one difference. The different processes are the test data selection method of the process of Y18 in the case of a parameter whose range specification is meaningful, and the process of Y52 in the case of a parameter of set-oriented data type. In other words, when the range-oriented data type is classified in Y5, the processing in Y18 is calculated using the increasing conditional expression using the lower limit value, the upper limit value, and the value within the range of the lower limit value and the upper limit value, which is ■ in Y17. The minimum increase condition (1 increase condition) from the lower limit value selected from the values ``■''
minus the value, and the minimum increase condition (1
The five values plus the increase condition) were used as test data, but in the process of Y52, the lower limit value, upper limit value, Y1
Test all the values calculated by the increase conditional formula with the values within the range of the lower limit and upper limit of ■ in 7, and the value obtained by adding the minimum increase condition (1 increase condition) from the lower limit, which is ■ in Y17. Data. In other words, the difference between a parameter that is a range-oriented data type and a parameter that is a set-oriented data type is that either the value selected from the parameter's divided data area is used as test data, or all values obtained from the parameter's divided data area are used as test data. The difference is whether to use it as test data.

【0042】また、該当パラメータが、セット指向デー
タ型種別であるデータ型を示すパラメータであり、Y4
3の該当パラメータの分岐データが分岐データテーブル
のメンバテーブル群に属する場合、Y58より処理が行
われるが、該当パラメータが範囲の指定のパラメータで
あり分岐データの分岐データテーブルのメンバテーブル
に属する場合との比較で異なる処理は、Y61の処理で
ある。即ち、範囲の指定のパラメータであったY38の
処理では、パラメータの分割データ領域のメンバ値のう
ち、最初に読み出したメンバ値と最後に読み出したメン
バ値、そして、両メンバ値以外のメンバ値のなかより1
つ選択して、計3つの値をテストデータとしていたが、
セット指向データ型種別のパラメータの場合であるY6
1では、パラメータの分割データ領域の全てのメンバ値
をテストデータとしている。つまり、本発明では、パラ
メータの分割データ領域よりテストデータを抽出するに
あたり、パラメータの分割データ領域より選定した一部
の値をテストデータとし、セット指向データ型種別であ
るパラメータはパラメータの分割データ領域より得られ
た全ての値をテストデータとすることによる。
[0042] Furthermore, the relevant parameter is a parameter indicating a data type that is a set-oriented data type type, and Y4
If the branch data of the corresponding parameter in 3 belongs to the member table group of the branch data table, processing is performed from Y58, but if the corresponding parameter is a range specification parameter and belongs to the member table of the branch data table of the branch data. The process that is different in the comparison is the process of Y61. In other words, in the processing of Y38, which was a range specification parameter, among the member values of the divided data area of the parameter, the first read member value, the last read member value, and the member values other than both member values are Nakayori 1
I selected one and used a total of three values as test data, but
Y6 for parameters of set-oriented data type type
1, all member values of the parameter divided data area are used as test data. In other words, in the present invention, when extracting test data from a parameter's divided data area, some values selected from the parameter's divided data area are used as test data. By using all the values obtained as test data.

【0043】以上のようにして、各パラメータ、各イン
タフェースのテストデータの組合せにより、プロシージ
ャのテストデータと共にテストケースを生成する。これ
らの処理は、実行管理部11と、インタフェースS8を
介したテストケース生成編集部14によって行われる。 生成されたテストケースおよびテストデータは、テスト
ケース生成編集部14、インタフェースS9、データ管
理部15、インタフェースS16を通って、メモリ2上
のテストケースデータテーブル26へ設定される。この
テストケースデータテーブル26へ設定されたテストケ
ース、テストデータは、ディスプレイ表示部4へ画面表
示するととも、入出力部3を介してFD5にも出力可能
となる。
As described above, a test case is generated together with procedure test data by combining the test data of each parameter and each interface. These processes are performed by the execution management section 11 and the test case generation/editing section 14 via the interface S8. The generated test cases and test data are set in the test case data table 26 on the memory 2 through the test case generation/editing section 14, interface S9, data management section 15, and interface S16. The test cases and test data set in the test case data table 26 can be displayed on the screen on the display section 4 and can also be output to the FD 5 via the input/output section 3.

【0044】次に、プログラムのテストケースおよびテ
ストデータの生成の具体例を示す。ここでは、図14の
プロシージャ仕様で示すようなプログラムを作成した場
合のテストデータ値を示す。
Next, a specific example of generating a program test case and test data will be shown. Here, test data values are shown when a program as shown in the procedure specifications of FIG. 14 is created.

【0045】図14のプロシージャ仕様は、入力パラメ
ータをaとして、aは0から15の整数値、aの変数範
囲が、0から7はA処理を行い、8から15はB処理を
行い、それ以外はC処理を行うことを表わしている。該
プロシージャ仕様では、aパラメータが分岐データテー
ブルの構成要素のネストテーブルの分割点データテーブ
ル群である場合、データ領域は、0から15迄であり、
データ分割領域は、0から7迄と8から15迄である。 各データ分割領域の下限値、上限値の分割データは、0
から7迄のデータ分割領域は下限値0、上限値7であり
、一方8から15迄のデータ分割領域は下限値8、上限
値15である。さらに増加条件式が設定されている場合
は、b=下限値とし、下限値を初期値とした等差=1の
等差数列とする。ここで算出する増加条件式としては、
anを等差数列、bを初期値、cを等差とし、nを等差
数列数とした場合、an=b+(n−1)cの数式が成
立し、各anの値が増加条件によって得られて全てのテ
ストデータとなる。テストデータは、a1からa7、a
8からa15までとなる。なお以前にも述べた最低増加
条件値(1増加条件)は、このケースの場合、等差=c
=1にあたる。
The procedure specifications in FIG. 14 are as follows: where the input parameter is a, a is an integer value from 0 to 15, and the variable range of a is that from 0 to 7, A processing is performed, from 8 to 15, B processing is performed; Other than that indicates that C processing is to be performed. In the procedure specification, when the a parameter is a division point data table group of a nest table that is a component of a branch data table, the data area is from 0 to 15,
The data division areas are from 0 to 7 and from 8 to 15. The divided data of the lower limit value and upper limit value of each data division area is 0.
The data division area from 8 to 7 has a lower limit of 0 and the upper limit of 7, while the data division area from 8 to 15 has a lower limit of 8 and an upper limit of 15. Furthermore, if an increasing conditional expression is set, b=lower limit value, and an arithmetic progression of arithmetic difference=1 with the lower limit value as the initial value. The increase conditional expression calculated here is:
When an is an arithmetic progression, b is an initial value, c is an arithmetic difference, and n is an arithmetic progression number, the formula an=b+(n-1)c is established, and the value of each an is determined by the increasing condition. This becomes all the test data. The test data is a1 to a7, a
From 8 to a15. In addition, the minimum increase condition value (1 increase condition) mentioned earlier is, in this case, arithmetic difference = c
=1.

【0046】図15及び図16は、以上の条件にもとづ
いてテストデータを生成した結果(テストデータ値、テ
ストデータ数、表示イメージ)を示したものである。こ
こで、図15の(1)〜(4)はパラメータが分割点デ
ータテーブル群に設定されている場合を示し、図16の
(1)、(2)はパラメータがメンバテーブル群に設定
されている場合を示している。なお、図16の(3)は
、(1)や(2)で示すような数値的なパラメータ値で
なく、実際にセットメンバとなる可能性がある一般的な
データ値がメンバテーブル群に設定された場合を想定し
て、曜日を例にとってテストデータを生成したイメージ
を示したものである。
FIGS. 15 and 16 show the results (test data values, number of test data, display images) of test data generated based on the above conditions. Here, (1) to (4) in FIG. 15 show the case where the parameters are set in the division point data table group, and (1) and (2) in FIG. 16 show the case where the parameters are set in the member table group. Indicates when there is. Note that (3) in Figure 16 indicates that general data values that may actually become set members are set in the member table group, rather than numerical parameter values as shown in (1) and (2). This figure shows how test data was generated using days of the week as an example.

【0047】また、図17は、図11の分岐データテー
ブルに図14のプロシージャ仕様のデータ値を実データ
として設定した例を示したものである。図17において
、「*1」の次子テーブル種別は、0が未設定、1がデ
ータテーブル群(データパラメータテーブルヘッダ)設
定、2がメンバテーブル群(メンバデータパラメータテ
ーブルヘッダ)設定を示す。「*2」は分割点データ増
加条件の有無表示子で、0は無し、1は有りである。 また、「*3」の増加条件データを補足説明すると、a
nは等差数列値であり、テストデータ値となるものであ
る。ただし、下限値≦an≦上限値、b=初期値=下限
値、c=等差(ここでは1)、n=等差数列数である。
Further, FIG. 17 shows an example in which the data values of the procedure specifications shown in FIG. 14 are set as actual data in the branch data table shown in FIG. 11. In FIG. 17, for the next child table type of "*1", 0 indicates not set, 1 indicates data table group (data parameter table header) setting, and 2 indicates member table group (member data parameter table header) setting. "*2" is an indicator of presence/absence of the dividing point data increase condition; 0 means not present and 1 means present. Also, to supplement the increase condition data of "*3", a
n is an arithmetic progression value and serves as a test data value. However, lower limit value≦an≦upper limit value, b=initial value=lower limit value, c=arithmetic difference (here, 1), and n=number of arithmetic progression.

【0048】以上、本発明の実施例を説明したが、パラ
メータのデータ定義種別を設定したプロシージャインタ
フェース定義データテーブル21と、データ定義種別分
類を設定したデータ型種別規定テーブルの構成要素のネ
ストテーブルである範囲データテーブル22とセットテ
ーブル23とに従ってデータを処理し、テストケース生
成手法を分類することにより、該当プロシージャのパラ
メータのテストデータを選定するテストケース生成手法
、或いは、パラメータの全メンバー(テストデータ)の
組合せを適用したテストケース生成手法に分けて、効率
的に単体テストケース生成が行われることが分る。
The embodiment of the present invention has been described above, and the nest table of the constituent elements of the procedure interface definition data table 21 in which the data definition type of the parameter is set and the data type type regulation table in which the data definition type classification is set. A test case generation method that selects test data for a parameter of a corresponding procedure by processing data according to a certain range data table 22 and a set table 23 and classifying the test case generation method, or all members of the parameter (test data ) It can be seen that unit test cases can be generated efficiently by dividing into test case generation methods that apply a combination of the following.

【0049】[0049]

【発明の効果】以上述べたように、本発明によれば、単
体テスト対象プロシージャのインタフェースパラメータ
のデータ型種別の特徴によりテストケースの生成アルゴ
リズムを指定することで、少ないテストケースで多くの
バグを発見でき、デバッグが容易かつ迅速に行うことが
できる。
[Effects of the Invention] As described above, according to the present invention, many bugs can be discovered with a small number of test cases by specifying the test case generation algorithm based on the data type characteristics of the interface parameter of the procedure to be tested. This makes debugging easy and quick.

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

【図1】本発明の一実施例のシステム構成図である。FIG. 1 is a system configuration diagram of an embodiment of the present invention.

【図2】本発明の一実施例の機能ブロック図である。FIG. 2 is a functional block diagram of an embodiment of the present invention.

【図3】本発明の一実施例の基本フローチャートの一部
である。
FIG. 3 is part of a basic flowchart of an embodiment of the present invention.

【図4】同じく基本フローチャートの一部である。FIG. 4 is also a part of the basic flowchart.

【図5】同じく基本フローチャートの一部である。FIG. 5 is also a part of the basic flowchart.

【図6】同じく基本フローチャートの一部である。FIG. 6 is also a part of the basic flowchart.

【図7】同じく基本フローチャートの一部である。FIG. 7 is also a part of the basic flowchart.

【図8】同じく基本フローチャートの一部である。FIG. 8 is also a part of the basic flowchart.

【図9】単体テスト対象プロシージャにおけるインタフ
ェース図である。
FIG. 9 is an interface diagram of a unit test target procedure.

【図10】プロシージャインタフェース定義データテー
ブルの構成例である。
FIG. 10 is a configuration example of a procedure interface definition data table.

【図11】分岐データテーブルの構成例である。FIG. 11 is a configuration example of a branch data table.

【図12】データ型定義種別の分類基準と分類例である
FIG. 12 shows classification criteria and classification examples of data type definition types.

【図13】データ型種別規定テーブルの構成例である。FIG. 13 is a configuration example of a data type type regulation table.

【図14】プロシージャの仕様例である。FIG. 14 is an example of a procedure specification.

【図15】図14のプロシージャ仕様に対するテストデ
ータ生成結果である。
FIG. 15 shows test data generation results for the procedure specifications in FIG. 14;

【図16】同じく図14のプロシージャ仕様に対するテ
ストデータ生成結果である。
FIG. 16 also shows test data generation results for the procedure specifications shown in FIG. 14;

【図17】分岐データテーブルに図14のプロシージャ
仕様のデータ値を設定した例である。
FIG. 17 is an example in which data values of the procedure specifications of FIG. 14 are set in a branch data table.

【図18】プロシージャインタフェース定義データテー
ブルに設定する必要データ一覧である。
FIG. 18 is a list of necessary data set in a procedure interface definition data table.

【図19】分岐データテーブルに設定する必要データ一
覧である。
FIG. 19 is a list of necessary data to be set in the branch data table.

【符号の説明】[Explanation of symbols]

1  処理装置 2  メモリ 3  入出力部 4  ディスプレイ表示部 5  プログラム設計データフロッピディスク21  
プロシージャインタフェース定義データテーブル22,
23  データ型種別規定テーブル24,25  分岐
データテーブル 26  テストケースデータテーブル
1 Processing device 2 Memory 3 Input/output section 4 Display section 5 Program design data floppy disk 21
Procedure interface definition data table 22,
23 Data type type regulation table 24, 25 Branch data table 26 Test case data table

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  検証対象プログラムの入力インタフェ
ースから種々のデータ値を入力し、該入力データ値に対
応して該検証対象プログラムから出力される出力データ
値と、該検証対象プログラムの機能仕様から予め予測し
た出力データ値とを比較することにより、該検証対象プ
ログラムの機能検証を行うプログラム単体テストにおい
て、前記入力インタフェースから入力する前記入力デー
タのデータ値を自動生成する方法であって、前記入力イ
ンタフェースに用いられる各種データ定義文の種別を2
つの群に分類するデータ型種別規定テーブルを備え、前
記検証対象プログラムの入力インタフェースのデータ定
義文が入力されると、前記データ型種別規定テーブルを
参照して、該データ定義文が前記2つの群どちらに属す
るかを判定し、一方の群に属するデータ定義文からは、
該データ定義文に設定された1つ以上のデータ値のすべ
て、あるいは下限値、上限値の両方あるいは一方で指定
されたデータ値領域内に含まれるデータ値のすべてを抽
出して、前記プログラム単体テストの入力データ値とし
、他方の群に属するデータ定義文からは、該データ定義
文に設定された1つ以上のデータ値から、あるいは下限
値、上限値の両方あるいは一方で指定されたデータ値領
域から一部のデータのみを抽出して、前記プログラム単
体テストの入力データ値とする、ことを特徴とするプロ
グラム単体テストデータ生成方法。
Claim 1: Various data values are input from an input interface of a verification target program, and output data values output from the verification target program corresponding to the input data values are determined in advance from the functional specifications of the verification target program. A method for automatically generating a data value of the input data input from the input interface in a program unit test that performs functional verification of the program to be verified by comparing with a predicted output data value, the method comprising: 2 types of various data definition statements used
When a data definition statement of the input interface of the program to be verified is input, the data type classification regulation table is referred to and the data definition statement is classified into two groups. Determine which group it belongs to, and from the data definition statement that belongs to one group,
The program unit test is performed by extracting all of the one or more data values set in the data definition statement, or all of the data values included in the data value area specified by both or one of the lower limit value and upper limit value. , and from a data definition statement belonging to the other group, one or more data values set in the data definition statement, or a data value range specified by both the lower limit value and/or upper limit value. A method for generating program unit test data, characterized in that only a part of data is extracted from the program unit test and used as an input data value for the program unit test.
JP03062624A 1991-03-04 1991-03-04 Program unit test data generation method Expired - Fee Related JP3105279B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03062624A JP3105279B2 (en) 1991-03-04 1991-03-04 Program unit test data generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03062624A JP3105279B2 (en) 1991-03-04 1991-03-04 Program unit test data generation method

Publications (2)

Publication Number Publication Date
JPH04276835A true JPH04276835A (en) 1992-10-01
JP3105279B2 JP3105279B2 (en) 2000-10-30

Family

ID=13205662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03062624A Expired - Fee Related JP3105279B2 (en) 1991-03-04 1991-03-04 Program unit test data generation method

Country Status (1)

Country Link
JP (1) JP3105279B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284484A (en) * 2004-03-29 2005-10-13 Japan Research Institute Ltd Method and device for generating test case
JP2009217664A (en) * 2008-03-12 2009-09-24 Hitachi Software Eng Co Ltd Automatic test execution system
JP2010072944A (en) * 2008-09-18 2010-04-02 Hitachi Information Systems Ltd System for supporting design quality inspection of information processing system
JP2010191507A (en) * 2009-02-16 2010-09-02 Fujitsu Ltd Program, device and method for generating data in inspection of program model
JP2010267024A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program
JP2010267022A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program
JP2010267023A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0641475U (en) * 1992-11-19 1994-06-03 株式会社シマノ Double bearing reel

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63148339A (en) * 1986-12-12 1988-06-21 Fujitsu Ltd Program test processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63148339A (en) * 1986-12-12 1988-06-21 Fujitsu Ltd Program test processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284484A (en) * 2004-03-29 2005-10-13 Japan Research Institute Ltd Method and device for generating test case
JP2009217664A (en) * 2008-03-12 2009-09-24 Hitachi Software Eng Co Ltd Automatic test execution system
JP2010072944A (en) * 2008-09-18 2010-04-02 Hitachi Information Systems Ltd System for supporting design quality inspection of information processing system
JP2010191507A (en) * 2009-02-16 2010-09-02 Fujitsu Ltd Program, device and method for generating data in inspection of program model
JP2010267024A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program
JP2010267022A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program
JP2010267023A (en) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> Test data generation method, device and program

Also Published As

Publication number Publication date
JP3105279B2 (en) 2000-10-30

Similar Documents

Publication Publication Date Title
US7234093B2 (en) Resource management during system verification
Leung et al. A study of integration testing and software regression at the integration level
US6898784B1 (en) Method and system for forming skeletons for generating verification systems
Zage et al. Evaluating design metrics on large-scale software
EP1093619B1 (en) System and method for identifying finite state machines and verifying circuit designs
CN105426309A (en) Test case automatic generation method and apparatus
CN114546738B (en) Universal test method, system, terminal and storage medium for server
CN111966597B (en) Test data generation method and device
CN108763064A (en) A kind of code tester generation method and device based on black box function and machine learning
JPH04276835A (en) Method of generating program single body test data
CN109558328A (en) A kind of test method of code coverage, system, device and readable storage medium storing program for executing
CN108897678B (en) Static code detection method, static code detection system and storage device
CN110750446A (en) System testing method and related device
CN103440391B (en) Semiconductor process corner scanning and simulating method based on numerical value selection function
Pezze et al. Testing object-oriented software
CN111176995A (en) Test method and test system based on big data test case
CN112783775B (en) Special character input testing method and device
CN111078548B (en) Test case analysis method and device, storage medium and verification platform
CN115033434A (en) Kernel performance theoretical value calculation method and device and storage medium
CN110941932B (en) Demand modeling and verifying method for hardware logic design
CN113419959A (en) Method and equipment for generating coverage rate verification report
CN100442729C (en) Configuration method of tested system in conformance test of network protocol
JP2007310727A (en) Program analysis method for asset diagnosis
Zamansky et al. A composition-based method for combinatorial test design
Javaheri et al. Mapping Transaction Level Faults to Stuck-At Faults in Communication Hardware

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees