JP3105279B2 - Program unit test data generation method - Google Patents

Program unit test data generation method

Info

Publication number
JP3105279B2
JP3105279B2 JP03062624A JP6262491A JP3105279B2 JP 3105279 B2 JP3105279 B2 JP 3105279B2 JP 03062624 A JP03062624 A JP 03062624A JP 6262491 A JP6262491 A JP 6262491A JP 3105279 B2 JP3105279 B2 JP 3105279B2
Authority
JP
Japan
Prior art keywords
data
type
test
interface
value
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
Application number
JP03062624A
Other languages
Japanese (ja)
Other versions
JPH04276835A (en
Inventor
康 岩本
智 白石
伸一郎 高田
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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、プログラム開発工程に
おいて、プログラムの機能検証に用いられるテストデー
タパターン、所謂単体テストケースを生成する方法に関
し、特に該テストケースのテストデータ値を設計段階で
効率的および効果的に生成するプログラムの単体テスト
データ生成方法に関する。なお、単体テストとは、分割
されたプログラム単体を他のプログラムと結合せずに検
証を行うことを云う。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for generating a test data pattern used for verifying the function of a program, that is, a so-called unit test case in a program development process, and more particularly, to a method for efficiently generating test data values of the test case in a design stage. The present invention also relates to a method for generating unit test data of a program to be generated effectively. Note that the unit test refers to performing verification without combining a divided program unit with another program.

【0002】[0002]

【従来の技術】プログラムの単体テストには、テスト対
象プログラムのソースプログラムの内部構造から直接わ
かる条件を組み合わせて単体テストケースを生成して行
うホワイトボックステストと、仕様からわかる条件のみ
を組み合わせて単体テストケースを生成して行うブラッ
クボックステストとに分けられる。
2. Description of the Related Art In a unit test of a program, a white box test in which a unit test case is generated by combining conditions directly understood from an internal structure of a source program of a test target program, and a unit test case in which only conditions understood from specifications are combined. Black box tests are generated and performed.

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

【0004】ブラックボックステストは、プログラムの
仕様に従ってテストケースを定めて行う方法であり、仕
様で規定されたプログラムの機能の正しい実現を確かめ
ることができるテスト形態である。利点としては、ソー
スプログラムによらずプログラムの外部仕様に基づいて
設計段階より単体テストケースを生成できるため、ソー
スプログラムの仕様の不備が発見できる点である。欠点
としては、単体テストケースの選択に関して仕様から見
えない内部の分岐条件等を考慮できないため、ホワイト
ボックステストのように徹底度を上げるテストケースが
任意に選択できない点である。
[0004] The black box test is a method of determining a test case in accordance with the specifications of a program, and is a test form in which the correct realization of the functions of the program specified in the specifications can be confirmed. An advantage is that a unit test case can be generated from the design stage based on the external specifications of the program without depending on the source program, so that a defect in the specification of the source program can be found. The disadvantage is that it is not possible to arbitrarily select a test case that increases the degree of thoroughness, such as a white box test, because it is not possible to consider internal branching conditions and the like that cannot be seen from the specification when selecting a unit test case.

【0005】ブラックボックステストにおける最も単純
なテストケース選定方法はランダム生成法であり、これ
はテストケースを無作為に選んでテストを行うものであ
り、必ずしも効果的な選定方法とはいえない。また、テ
ストケース生成ツールなどを用いて、仕様に規定された
テスト対象プログラムの機能に関する特色をつかみ、与
えられた分布や条件に従ってテストケースを作り出し利
用する方法もあり、利用方法によっては少ないテストケ
ースで多くのバグを発見でき有効であるが、具体的な指
針が確立されていないのが現状である。
[0005] The simplest test case selection method in the black box test is a random generation method, in which a test case is randomly selected and a test is performed, and is not necessarily an effective selection method. In addition, there is a method that uses a test case generation tool, etc., to identify the features of the function of the test target program specified in the specifications, and creates and uses test cases according to given distributions and conditions. , But many bugs can be found and it is effective, but at present the specific guidelines have not been established.

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

【0007】従来、このようなブラックボックステスト
の課題を解決しようとするテストケース選定方法として
は、同値分割法、限定値分析法、原因−結果グラフ等が
知られている。
Conventionally, as a test case selection method for solving such a problem of the black box test, an equivalence division method, a limited value analysis method, a cause-result graph, and the like are known.

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

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

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

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

【0012】[0012]

【発明が解決しようとする課題】上述したように、従来
のプログラムの単体テストは、一般にソースプログラム
に着目したホワイトボックステストと、仕様による機能
に着目したブラックボックステストを併用してテストを
行ってきた。しかし単体テストケースを、ホワイトボッ
クステストのように仕様で規定された機能を満たしてい
るかどうかの確認がされていない、つまり仕様に従った
実行経路が反映されているか保証されていないソースプ
ログラムより生成することは、仕様で示すテストの必要
とされる実行経路を洩らしたり、不必要な実行経路を含
んだテストケースを生成する可能性があり、それにより
仕様とソースプログラムとの不一致が、検出できない場
合があるため不合理と考えられる。
As described above, in the conventional unit test of a program, a test is generally performed using both a white box test focusing on a source program and a black box test focusing on a function based on specifications. . However, a unit test case is generated from a source program that has not been checked whether it satisfies the functions specified in the specification like the white box test, that is, the execution path according to the specification is not reflected or guaranteed. This may leak the required execution path of the test indicated in the specification or generate a test case containing an unnecessary execution path, so that a mismatch between the specification and the source program cannot be detected. Is considered unreasonable.

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

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

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明は、単体テストケース生成において、ソース
プログラムに依存しないブラックボックステスト形式に
よる方法を基に、プログラムの入出力インタフェースパ
ラメータのデータ型種別を2つの群(セット指向データ
型種別、範囲指向データ型種別)に分類したデータ型種
別規定テーブルを備え、入力インタフェースのデータ定
義文が入力されると、該テーブルによる分類に従って、
一方の群(セット指向データ型種別)に属するデータ定
義文からは、パラメータのデータ値領域のすべてのデー
タ値の組合せをテストケースとして生成し、他方の群
(範囲指向データ型種別)に属するデータ定義文から
は、パラメータのデータ値領域をさらに入力インタフェ
ースのデータ定義文の示す分割点により分けられたデー
タ値領域の一部のデータ値のみをテストケースとして生
成するようにしたものである。
In order to achieve the above object, the present invention provides a method for generating unit test cases based on a data type of input / output interface parameters of a program based on a method using a black box test format independent of a source program. Two types (set-oriented data
(A type type, a range-oriented data type type) are provided, and when a data definition statement of an input interface is input, according to the classification by the table,
From data definition statements belonging to one group (set-oriented data type type) , a combination of all data values in the parameter data value area is generated as a test case, and the other group is generated.
From the data definition statements belonging to (range-oriented data type type) , the data value area of the parameter is further divided into the data value areas divided by the dividing points indicated by the data definition statement of the input interface. It is generated.

【0016】[0016]

【作用】本発明は、設計段階よりテスト対象とするプロ
グラムの入出力インタフェースパラメータのデータ型定
義種別を、データ領域の範囲を示す数値的なデータ型定
義とする「範囲指向データ型種別」と値自身に意味を持
つセット的なデータ型定義とする「セット指向データ型
種別」との2種類に分類する。「範囲指向データ型種
別」と指定したデータ型定義である入出力インタフェー
スパラメータは、プログラムの実行経路分岐がパラメー
タのパラメータ値ごとに分かれるとは限らない、つまり
異なるパラメータ値であっても同一の実行経路を通過す
る可能性が多い傾向にあるため、データ値領域のすべて
のデータ値をテストケースとする意味はなく、同値分割
法、限界値分析法的なテストデータ選定手法を適用し、
プログラム中の実行経路分岐の分岐境界値を設計データ
として明確にし入力インタフェースのデータ定義文に設
定することで、パラメータ値の分割点が明らかになり、
データ値領域の境界値間の一部の値あるいは境界値周辺
の値を単体テストのテストケースとして生成する。ま
た、「セット指向データ型種別」と指定したデータ型定
義である入出力インタフェースパラメータについては、
示された値自身がプログラム中の実行経路分岐の分岐境
界値となる傾向にあるため、全ての値を単体テストのテ
ストケースとして生成する。
According to the present invention, the data type definition type of the input / output interface parameter of the program to be tested from the design stage is defined as a "range-oriented data type type" which is a numerical data type definition indicating the range of the data area. They are classified into two types: "set-oriented data type type", which is a set-type data type definition that has meaning. For input / output interface parameters, which are data types defined as "range-oriented data type type", the execution path branch of the program is not always separated for each parameter value of the parameter. Since there is a tendency to pass through the route, it is not meaningful to use all data values in the data value area as test cases, apply the equivalent data division method, limit value analysis test data selection method,
By clarifying the branch boundary value of the execution path branch in the program as design data and setting it in the data definition statement of the input interface, the division point of the parameter value becomes clear,
A part of values between boundary values of the data value area or values around the boundary value are generated as a test case of the unit test. For the input / output interface parameters that are data types defined as "set-oriented data type type",
Since the indicated value itself tends to be the branch boundary value of the execution path branch in the program, all the values are generated as test cases of the unit test.

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

【0018】[0018]

【実施例】以下に、本発明を実施例に従って説明する。
なお、実施例では、単体テスト対象プログラムの最も低
位な構成要素であるプロシージャを例にとって示す。但
し、プロシージャの集まりであるモジュール単位におい
ても、本発明は実施可能である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to embodiments.
In the embodiment, a procedure which is the lowest component of the unit test target program will be described as an example. However, the present invention can be implemented also in a module unit which is a collection 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 FIG. 1, reference numeral 1 denotes a CPU as a processing device;
Reference numeral 2 denotes a memory as a data unit, 3 denotes an input / output unit, 4 denotes a display unit, and 5 denotes a floppy disk (FD). The processing device 1 transfers the design data of the program corresponding to the corresponding procedure input from the input / output unit 3 to the memory 2 and retrieves the design data from the memory 2 to obtain the characteristic of the data, that is, the characteristic of the data. A unit test case extraction method is determined according to the definition type, a test case is generated, transferred to the memory 2, output to the input / output unit 3, and displayed on the display unit 4. Each operation status is always displayed on the display unit 4.

【0020】プログラム設計データは、本装置とは別の
外部装置等にて作成され、FD5上に格納されている。
該外部装置にて設計されたFD5上のデータのうち、プ
ロシージャインタフェース定義データテーブル設定必要
データ一覧と分岐データテーブルデータ設定必要データ
一覧のみが読み出され、本装置のメモリ部2へ転送され
る。なお、プロシージャインタフェース定義データテー
ブル設定必要データ一覧は、図18に示すように、各プ
ロシージャ名とプロシージャに対する各インタフェース
名、インタフェース名に対する各パラメータ名、パラメ
ータのIN/OUT種別、データ型定義を必要データと
する。また、分岐データテーブル設定必要データ一覧
は、図19に示すように、各プロシージャ名とプロシー
ジャに対応する各インタフェース名、インタフェースに
対応する各パラメータ名、パラメータに対応して、上下
限値(上限値と下限値を示す)定義によるデータ群とメ
ンバ定義によるデータ群の一方が必要であることを示
す。どらちが選択されるかは、プログラム設計データの
内容よりパラメータに対応したデータがどらちを示して
いるかにより決定される。なお、図19の分岐データテ
ーブル設定必要データ一覧中の範囲定義及びメンバ定義
の意味は次の如くである。 範囲定義;分割数データテーブル群の場合であり、パラ
メータのデータ領域を分割し、その分割数を設定する。
また、それぞれのデータ分割領域の上限値、下限値およ
び下限値から上限値にいたる増加条件を設定する。 メンバ定義;メンバテーブル群の場合であり、パラメー
タのデータ領域を分割し、その分割数を設定する。ま
た、それぞれのデータ分割領域の全メンバを設定する。
ただし、データ分割領域のメンバ中最小のメンバを一番
目に設定し、最大のメンバを最後に設定する。
The program design data is created by an external device or the like different from the present device, and is stored on the FD 5.
Of the data on the FD 5 designed by the external device, only the procedure interface definition data table setting necessary data list and the branch data table data setting necessary data list are read out and transferred to the memory unit 2 of the present device. As shown in FIG. 18, the procedure interface definition data table setting required data list includes the procedure names, the interface names for the procedures, the parameter names for the interface names, the IN / OUT types of the parameters, and the data type definitions. And As shown in FIG. 19, the list of data required for setting the branch data table includes upper and lower limit values (upper limit value) corresponding to each procedure name, each interface name corresponding to the procedure, each parameter name corresponding to the interface, and the parameter. This indicates that one of a defined data group and a defined member data group is required. Which one is selected is determined by which data corresponding to the parameter indicates which of the contents of the program design data. The meaning of the range definition and the member definition in the branch data table setting necessary data list in FIG. 19 is as follows. Range definition: In the case of a division number data table group, the data area of the parameter is divided and the division number is set.
In addition, an upper limit, a lower limit, and an increase condition from the lower limit to the upper limit of each data division area are set. Member definition: In the case of a member table group, the data area of the parameter is divided and the number of divisions is set. Also, all members of each data division area are set.
However, the smallest member among the members of the data division area 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 is a functional block diagram according to the present embodiment. That is, the processing device 1 is functionally equivalent to the execution management unit 11, the data editing unit 12, the data reading unit 13,
It comprises a test case generation / editing unit 14 and a data management unit 15. The table group in the memory 2 includes 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 data type classification definition tables, and a nest of branch data tables. The table includes 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 unit 11 manages an environment for creating a test case. More specifically, the input / output unit 3 interprets and executes an input command for executing and starting the apparatus, controls the transfer of data input / output to / from the memory 2, controls the display unit 4, and the like. is there. The data editing unit 12 stores the program design data on the FD 5 transferred from the execution management unit 11, the interface definition data table 21 on the memory 2, and the data type specification tables 22 and 2.
3. Since each of the branch data tables 24 and 25 and the test case data table 26 has a different format configuration, the program design data is analyzed and edited, and set in the corresponding table on the memory 2 through the data management unit 15. The data reading unit 13 reads the data set shown in the table of the procedure interface definition data table in FIG. 18 and the data set required in the branch data table in FIG.
The data of the data type classification definition tables 22 and 23 are read out through the data management unit 15 and transferred to the execution management unit 11. In the test case generation / editing unit 14, the execution management unit 1
A test case that receives the various data set in the memory 2 from 1 is created, set in the test case data table 26 in the memory 2 through the data management unit 15, and read out. The data management unit 15 manages reading and writing of the memory 2, which is a data unit.

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

【0024】単体テストケース生成は、FD5上のプロ
グラム設計データの読み出しにはじまる。ここで、プロ
グラム示す設計データとは、他の外部装置により作成さ
れた設計データであり、設計に関する図18のプロシー
ジャインタフェース定義データテーブル設定必要データ
一覧、図19の分岐データテーブル設定必要データ一覧
に示すデータをはじめとする多種の設計データで、該プ
ログラム設計データがFD5上に格納されている。図9
に、FD5上の設計データのうち、単体テストケース生
成の際に対象となるプロシージャインタフェース図を示
す。即ち、プロシージャのインタフェースとしては、入
力インタフェースB1、出力インタフェースB2、他プ
ロシージャコール入力インタフェースB3、他プロシー
ジャコール出力インタフェースB4、モジュールデータ
入力インタフェースB5、モジュールデータ出力インタ
フェースB6、プロシージャ(ユニット内)データ入力
インタフェースB7、プロシージャ(ユニット内)デー
タ出力インタフェースB8の各インタフェースがある。
ここでは、これらの単体テストの対象となるプロシージ
ャのインタフェースにおいて、図18のプロシージャイ
ンタフェース定義データテーブル設定一覧の示した各デ
ータ(プロシージャインタフェース定義データと呼ぶ)
をプロシージャインタフェース定義データテーブル21
へ設定する処理を示す。
The unit test case generation starts with reading out the program design data on the FD 5. Here, the design data indicated by the program is design data created by another external device, and is shown in the procedure interface definition data table setting necessary data list of FIG. 18 and the branch data table setting necessary data list of FIG. 19 relating to the design. The program design data is various kinds of design data including data, and is stored on the FD 5. FIG.
FIG. 3 shows a procedure interface diagram of the design data on the FD 5 which is a target when a unit test case is generated. That is, the interface of the procedure includes an input interface B1, an output interface B2, another procedure call input interface B3, another procedure call output interface B4, a module data input interface B5, a module data output interface B6, and a procedure (in a unit) data input interface. B7 and a procedure (inside unit) data output interface B8.
Here, in the interface of the procedure to be subjected to the unit test, each data (called procedure interface definition data) shown in the procedure interface definition data table setting list of FIG.
To the procedure interface definition data table 21
Shows the process of setting to.

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

【0026】図10にプロシージャインタフェース定義
データテーブル21の構成例を示す。ここで、プロシー
ジャインタフェース定義データテーブル21は、プロシ
ージャテーブル211のプロシージャ単位に各子テーブ
ルを示す4ワード構成のインタフェースヘッドテーブル
212を持つ。インタフェースヘッドテーブル212
は、入出力インタフェーステーブル223、コールプロ
シージャインタフェーステーブル224、コールモジュ
ールデータインタフェーステーブル225、コールプロ
シージャインタフェーステーブル226のヘッダを示し
ている。入出力インタフェーステーブル223の構成
は、インタフェース名、各パラメータ名とそれに対応し
た、IN情報かOUT情報かの入出力種別、データ型定
義種別を示し、パラメータ数が最終エリアを満たないと
きはラストはストッパー値が設定される。コールプロシ
ージャインタフェーステーブル224の構成は、各コー
ルプロシージャインタフェース名とそれに対応した各パ
ラメータ名、そして、パラメーータ名に対応したIN情
報かOUT情報かの入出力種別、データ型定義種別を示
し、パラメータ数が最終エリアを満たないときはラスト
はストッパー値が設定される。コールモジュールデータ
インタフェーステーブル225の構成は、各コールモジ
ュールデータ名またはメンバーに対応した、IN情報か
OUT情報かの入出力種別、データ型定義種別を示し、
パラメータ数が最終エリアを満たないときはラストはス
トッパー値が設定される。コールプロシージャデータイ
ンタフェーステーブル226についても同様である。な
お、インタフェースヘッドテーブル212の左欄は各イ
ンタフェース及びパラメータの有効/無効表示子で、0
は無効、1は有効である。また、各子テーブル223〜
226は最左欄の識別子は、0が空き、1はインタフェ
ース、2はパラメータ、3はストッパーである。これら
のテーブルに、データをY1にて設定する。
FIG. 10 shows a configuration example of the procedure interface definition data table 21. Here, the procedure interface definition data table 21 has a 4-word interface head table 212 indicating each child table for each procedure of the procedure table 211. Interface head table 212
Indicates headers of the input / output interface table 223, the call procedure interface table 224, the call module data interface table 225, and the call procedure interface table 226. The configuration of the input / output interface table 223 indicates the interface name, each parameter name and the corresponding input / output type of IN information or OUT information, and the data type definition type. When the number of parameters does not satisfy the final area, the last Stopper value is set. The configuration of the call procedure interface table 224 indicates each call procedure interface name, each parameter name corresponding thereto, the input / output type of IN information or OUT information corresponding to the parameter name, and the data type definition type. If the final area is not satisfied, a stopper value is set for the last. The configuration of the call module data interface table 225 indicates an input / output type of IN information or OUT information and a data type definition type corresponding to each call module data name or member,
When the number of parameters does not satisfy the final area, a stopper value is set for the last. The same applies to the call procedure data interface table 226. The left column of the interface head table 212 is a valid / invalid indicator of each interface and parameter.
Is invalid and 1 is valid. In addition, each child table 223-
226 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に設定される。
When the editing and setting of each procedure interface parameter are completed, the data is edited in the branch data tables 24 and 25 from the program design data in Y2,
Make settings. That is, each data of the branch data table setting necessary data list in the program design data on the FD 5 is stored in the interface S1, the input / output unit 3, the interface S2, the execution management unit 11, the interface S4, the data editing unit 12, the interface S6, the data management Part 15,
Through the interface S11, it is set in the division point data table group 24 or the member table group 25 which is a nest table of the components of the branch data table.

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

【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 specification tables 22 and 2 are set at Y3.
The process proceeds to the reading process of No. 3. Here, the data type classification definition tables 22 and 23 on the memory 2 are positioned as semi-fixed data tables. That is, once set, it is a specified table that is not permanently changed. However, at the time of initial setting or in the case of newly adding a data type of a parameter, the setting can be made by canceling the guard rule.
The data type definition type is set according to the designation and setting of the operator from the input / output unit 3, and the interface S2, the execution management unit 11, the interface S4, the data editing unit 12, the interface S6, the data management unit 15, and the interface S
11, the specified data type definition type is individually set in the range data table 22 and the set data table 23 which are nest tables of the components of the data type type definition table on the memory 2.

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

【0031】図13に、図12の分類例に対応するデー
タ型種別規定テーブルの構成を示す。図12において、
範囲指向データ型種別であるデータ型はBIN,BIT
であり、これらは範囲データテーブル22に設定され
る。また、セット指向データ型種別であるデータ型はC
HAR,PTR,REFであり、これらはセットデータ
テーブル23へ設定される。テーブル22,23中の
0,1で示されるフラグは該メンバの有効/無効表示子
で、0は無効、1は有効である。データ型種別ヘッドテ
ーブル200はテーブル22,23のヘッダ値を保持し
ている。前に述べたように、該両テーブルとも半固定の
恒久的なテーブルである。
FIG. 13 shows the structure of the data type classification rule table corresponding to the classification example shown in FIG. In FIG.
Data types that are range-oriented data type types are BIN and BIT
These are set in the range data table 22. The data type that is the set-oriented data type classification is C
HAR, PTR, and REF, which are set in the set data table 23. Flags indicated by 0 and 1 in the tables 22 and 23 are valid / invalid indicators of the member, where 0 is invalid and 1 is valid. The data type head table 200 holds the header values of the tables 22 and 23. As mentioned earlier, 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 nest table group of the branch data table components, the member table group 25, and the data type type definition table This means that the range data table 22 and the set data table 23, which are nest tables of components, have been set. These data tables are 1
It can be set in units of procedures, in units of multiple procedures, or in units of all procedures in the system. 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,2
3の示す分類に従って判定分岐を行う。つまり、該当プ
ロシージャインタフェースの該当パラメータのデータ型
種別を、データ型種別規定テーブル22,23の示す分
類に従って判定分岐を行う。この処理は、実行管理部1
1にて行われ、プロシージャインタフェース定義データ
テーブル21中のインタフェースパラメータにおけるデ
ータ型とデータ型種別規定テーブル22,23中のデー
タにより、該当プロシージャインタフェースパラメータ
を「範囲指向データ型種別である」パラメータと「セッ
ト指向データ型種別である」パラメータに分類する。両
者の分類をした結果がY6,Y7にあたる。
Next, all parameters of all interfaces of the corresponding procedure are read from the memory 2 at Y4. Here, the procedure interface definition data table 21 is read, and the interface S13, the data management unit 15, the interface S7, the data reading unit 13,
The data is saved in a buffer in the execution management unit 11 through the interface S5. Next, at Y5, the range data table 22 and the set data table 23, which are nest tables of the components of the data type classification definition table, are read and saved in the buffer in the execution management unit 11 in the same manner. Then, in Y5, the data type type of one parameter of one interface is stored in the data type type definition tables 22 and 2.
The determination branch is performed according to the classification shown in FIG. That is, the data type of the corresponding parameter of the corresponding procedure interface is determined and branched in accordance with the classification shown in the data type specification tables 22 and 23. This processing is performed by the execution management unit 1
1, the corresponding procedure interface parameter is set to the “range-oriented data type type” parameter and “data type in the data type and data type specification tables 22 and 23 in the procedure interface definition data table 21. Set-oriented data type classification ". The result of the classification of both corresponds to Y6 and Y7.

【0034】Y6の範囲指向データ型種別(範囲デー
タ)となったパラメータは、Y8にて、図19の分岐デ
ータテーブル設定必要データ一覧で示したデータを、メ
モリ2上の分岐データテーブルより読み出すことで得
る。即ち、分岐データテーブルの構成要素のネストテー
ブル群である分割点データテーブル群24またはメンバ
テーブル群25よりインタフェースS15、データ管理
部15、インタフェースS7、データ読み出し部13、
インタフェースS5を通して実行管理部11のバッファ
へ転送することで得る。そして、Y9にて、該当パラメ
ータの分岐データが、分岐データテーブルの分割点デー
タテーブル群24に属するかメンバテーブル群25に属
するか判定する。この判定は、図11に示した分岐デー
タテーブル構成の分岐データパラメータテーブル203
の該当パラメータに対する次子テーブル種別の値により
行う。つまり、次子テーブルの値が1であれば分割点デ
ータテーブル群であり、2であればメンバテーブル群で
ある。
As for the parameter of the range-oriented data type type (range data) of Y6, the data shown in the branch data table setting necessary data list of FIG. Get in. That is, the interface S15, the data management unit 15, the interface S7, the data reading unit 13, and the division point data table group 24 or the member table group 25, which are nest table groups of the components of the branch data table.
It is obtained by transferring to the buffer of the execution management unit 11 through 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 the member table group 25 of the branch data table. This determination is based on the branch data parameter table 203 having the branch data table configuration shown in FIG.
This is done by the value of the next child table type for the relevant parameter. 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 corresponding parameter is a division point data table, it corresponds to Y10, and the process proceeds to acquisition of the division number data of Y12. This means reading the number of divisions of the division point data parameter table 241 of the division point data table group 24 having the branch data table configuration in FIG. 11, and the number of divisions means the number of data areas into which the parameters are divided. Is shown. Next, the process proceeds to the acquisition of the lower limit value and the upper limit value of Y13. This means the lower limit value and the upper limit value of the data area, and indicates the lower limit value and the upper limit value of the division point data upper / lower limit value table 242 of the division point data table group 24 in FIG. Next, a branching process is performed based on the determination of the presence / absence of the increase condition data of Y14. This is performed by the value of the presence / absence indicator of the increase condition data set in the increase condition header of the division point data upper / lower limit value table 242 in FIG. That is, when the value of the indicator is 0, there is no, and when it is 1, there is. Here, the increase condition is a mathematical expression using an arithmetic progression, a geometric progression, a difference progression, and the like. From the lower limit to the upper limit of one divided data area of the parameters described above, Is represented by a mathematical expression. Irregular ones have no increase conditions. Those that cannot be represented by numerical values are registered in the program design data as member values. The processing for the member value will be described later.

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

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

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

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

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

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

【0042】また、該当パラメータが、セット指向デー
タ型種別であるデータ型を示すパラメータであり、Y4
3の該当パラメータの分岐データが分岐データテーブル
のメンバテーブル群に属する場合、Y58より処理が行
われるが、該当パラメータが範囲の指定のパラメータで
あり分岐データの分岐データテーブルのメンバテーブル
に属する場合との比較で異なる処理は、Y61の処理で
ある。即ち、範囲の指定のパラメータであったY38の
処理では、パラメータの分割データ領域のメンバ値のう
ち、最初に読み出したメンバ値と最後に読み出したメン
バ値、そして、両メンバ値以外のメンバ値のなかより1
つ選択して、計3つの値をテストデータとしていたが、
セット指向データ型種別のパラメータの場合であるY6
1では、パラメータの分割データ領域の全てのメンバ値
をテストデータとしている。つまり、本発明では、パラ
メータの分割データ領域よりテストデータを抽出するに
あたり、パラメータの分割データ領域より選定した一部
の値をテストデータとし、セット指向データ型種別であ
るパラメータはパラメータの分割データ領域より得られ
た全ての値をテストデータとすることによる。
The corresponding parameter is a parameter indicating a data type which is a set-oriented data type type.
When the branch data of the corresponding parameter No. 3 belongs to the member table group of the branch data table, the processing is performed from Y58. However, when the corresponding parameter is a parameter specifying the range and belongs to the member table of the branch data table of the branch data. Is different from the processing of Y61. That is, in the process of Y38, which is a parameter for specifying the range, of the member values of the divided data area of the parameter, the first and the last read member values and the member values other than both member values are obtained. Above all 1
We chose one, and used a total of three values as test data.
Y6 which is the case of the parameter of the set-oriented data type classification
In 1, the test data is all the member values of the divided data area of the parameter. In other words, in the present invention, when extracting test data from the parameter divided data area, some values selected from the parameter divided data area are used as test data, and the parameter of the set-oriented data type type is set to the parameter divided data area. All the obtained values are used 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 the test data of the procedure, based on the combination of each parameter and the test data of each interface. These processes are performed by the execution management unit 11 and the test case generation / editing unit 14 via the interface S8.
The generated test case and test data are set in the test case data table 26 on the memory 2 through the test case generation / editing unit 14, the interface S9, the data management unit 15, and the interface S16. The test cases and test data set in the test case data table 26 can be displayed on the display unit 4 and output to the FD 5 via the input / output unit 3.

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

【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からa
7、a8からa15までとなる。なお以前にも述べた最
低増加条件値(1増加条件)は、このケースの場合、等
差=c=1にあたる。
In the procedure specification of FIG. 14, the input parameter is a, a is an integer value of 0 to 15, and the variable range of a is 0 to 7 performs A processing, 8 to 15 performs B processing, and Other than that indicates that the C processing is performed. According to the procedure specification, when the a parameter is a division point data table group of the nest table of the component of the branch data table, the data area is from 0 to 15,
The data division area is from 0 to 7 and from 8 to 15.
The divided data of the lower limit value and the upper limit value of each data division area is 0
The data division areas from to 7 have a lower limit of 0 and an upper limit of 7, while the data division areas of 8 to 15 have a lower limit of 8 and an upper limit of 15. Further, when an increase conditional expression is set, b = lower limit value, equal difference with lower limit value as initial value = 1
The arithmetic progression of When an is an arithmetic progression, b is an initial value, c is an arithmetic difference, and n is the number of arithmetic progressions, an equation of an = b + (n−1) c holds. Then, the value of each an is obtained under the increasing condition and becomes all the test data. The test data is from a1 to a
7, from a8 to a15. The minimum increase condition value (1 increase condition) described above corresponds to equal difference = c = 1 in this case.

【0046】図15及び図16は、以上の条件にもとづ
いてテストデータを生成した結果(テストデータ値、テ
ストデータ数、表示イメージ)を示したものである。こ
こで、図15の(1)〜(4)はパラメータが分割点データテ
ーブル群に設定されている場合を示し、図16の(1)、
(2)はパラメータがメンバテーブル群に設定されている
場合を示している。なお、図16の(3)は、(1)や(2)で
示すような数値的なパラメータ値でなく、実際にセット
メンバとなる可能性がある一般的なデータ値がメンバテ
ーブル群に設定された場合を想定して、曜日を例にとっ
てテストデータを生成したイメージを示したものであ
る。
FIG. 15 and FIG. 16 show the results (test data value, number of test data, display images) of generating test data 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) to (4) in FIG.
(2) shows a case where parameters are set in the member table group. Note that, in (3) of FIG. 16, not the numerical parameter values as shown in (1) and (2) but general data values that may actually become set members are set in the member table group. FIG. 9 shows an image in which test data is generated using a day 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=等差数列数である。
FIG. 17 shows an example in which the procedure specification data values of FIG. 14 are set as actual data in the branch data table of FIG. In FIG. 17, as the next child table type of “* 1”, 0 is not set, and 1 is a data table group (data parameter table header).
Setting 2 indicates a member table group (member data parameter table header) setting. “* 2” is an indicator of the presence / absence of the condition for increasing the division point data.
Further, the supplementary explanation of the increase condition data of “* 3” is as follows.
n is an arithmetic progression value, which is a test data value. Here, lower limit value ≦ an ≦ upper limit value, b = initial value = lower limit value, c = equal difference (here, 1), and n = number of arithmetic progression.

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

【0049】[0049]

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

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

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

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

【図3】本発明の一実施例の基本フローチャートの一部
である。
FIG. 3 is a 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 in 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 a classification standard and a classification example of a data type definition type.

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

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

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

【図16】同じく図14のプロシージャ仕様に対するテ
ストデータ生成結果である。
FIG. 16 is a test data generation result for the procedure specification of 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 set in the branch data table.

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

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

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高田 伸一郎 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 昭63−148339(JP,A) 日経エレクトロニクス No.286 (1982−3−15)、日経マグロウヒル 社、P.124−152 (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 340 ──────────────────────────────────────────────────続 き Continuation of front page (72) Inventor Shinichiro Takada 1-6-1, Uchisaiwaicho, Chiyoda-ku, Tokyo Nippon Telegraph and Telephone Corporation (56) References JP-A-63-148339 (JP, A) Nikkei Electronics No. . 286 (1982-3-15), Nikkei McGraw-Hill, P.S. 124-152 (58) Field surveyed (Int. Cl. 7 , DB name) G06F 11/28 340

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 検証対象プログラムの入力インタフェー
スから種々のデータ値を入力し、該入力データ値に対応
して該検証対象プログラムから出力される出力データ値
と、該検証対象プログラムの機能仕様から予め予測した
出力データ値を比較することにより、該検証対象プログ
ラムの機能検証を行うプログラム単体テストにおいて、
前記入力インタフェースから入力する前記入力データの
データ値を自動生成する方法であって、 前記入力インタフェースに用いられる各種データ定義文
の種別を、値自身に意味を持つセット的なデータ型定義
(以下、セット指向データ型種別)とデータ領域の範囲
を示す数値的なデータ型定義(以下、範囲指向データ型
種別)の2つの群に分類するデータ型種別規定テーブル
を備え、 前記検証対象プログラムの入力インタフェースのデータ
定義文が入力されると、前記データ型種別規定テーブル
を参照し、該データ定義文が前記2つの群のどちらに属
するかを判定し、セット指向データ型種別 の群に属するデータ定義文から
は、該データ定義文に設定された1つ以上のデータ値の
すべて、あるいは下限値、上限値の両方あるいは一方で
指定されたデータ値領域内に含まれるデータ値のすべて
を抽出して、前記プログラム単体テストの入力データ値
とし、範囲指向データ型種別 の群に属するデータ定義文から
は、該データ定義文に設定された1つ以上のデータ値か
ら、下限値、上限値の両方あるいは一方で指定されたデ
ータ値領域から一部のデータのみを抽出して、前記プロ
グラム単体テストの入力データ値とする、 ことを特徴とするプログラム単体テストデータ生成方
法。
An input interface of a program to be verified inputs various data values, and an output data value output from the program to be verified corresponding to the input data value and a function specification of the program to be verified are determined in advance. By comparing the predicted output data values, in a program unit test for verifying the function of the program to be verified,
A method for automatically generating a data value of the input data input from the input interface, wherein a type of various data definition statements used for the input interface is defined as a set-type data type having a meaning in the value itself.
(Hereinafter referred to as “set-oriented data type type”) and the range of the data area
Numerical data type definition (hereinafter, range-oriented data type)
A data type classification prescription table be categorized into two groups of type), the data definition statements in the input interface of the program to be verified is input, with reference to the data type classification defined table, the data definition statement said It is determined which of the two groups belongs to, and from the data definition statements belonging to the group of the set-oriented data type type , all of one or more data values set in the data definition statement, or the lower limit value and the upper limit value All or one of the data values included in the specified data value area is extracted and used as the input data value of the program unit test, and the data definition statement belonging to the range-oriented data type group is From one or more data values set in the definition statement, extract only a part of data from the data value area specified by both or both lower and upper limits A program unit test data generating method, wherein the program unit test data is input data values.
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 JPH04276835A (en) 1992-10-01
JP3105279B2 true 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 (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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4580670B2 (en) * 2004-03-29 2010-11-17 株式会社日本総合研究所 Test case generation method and test case generation apparatus
JP4874277B2 (en) * 2008-03-12 2012-02-15 株式会社日立ソリューションズ Automated 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
JP5326633B2 (en) * 2009-02-16 2013-10-30 富士通株式会社 DATA GENERATION PROGRAM, DATA GENERATION DEVICE, AND DATA GENERATION METHOD IN PROGRAM MODEL CHECK
JP5164919B2 (en) * 2009-05-13 2013-03-21 日本電信電話株式会社 Test data generation method, apparatus and program
JP5164920B2 (en) * 2009-05-13 2013-03-21 日本電信電話株式会社 Test data generation method, apparatus and program
JP5164918B2 (en) * 2009-05-13 2013-03-21 日本電信電話株式会社 Test data generation method, apparatus and program

Family Cites Families (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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス No.286(1982−3−15)、日経マグロウヒル社、P.124−152

Cited By (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

Also Published As

Publication number Publication date
JPH04276835A (en) 1992-10-01

Similar Documents

Publication Publication Date Title
CN108958736B (en) Page generation method and device, electronic equipment and computer readable medium
Leung et al. A study of integration testing and software regression at the integration level
US6606735B1 (en) Method and system for using error and filter layers in each DRC rule
US20160041893A1 (en) System and method for display of software quality
US7389215B2 (en) Efficient presentation of functional coverage results
JP2002530659A (en) IC test software system for mapping logic functional test data of a logic integrated circuit to a physical representation
CN109101410B (en) Risk drive testing method and device and computer readable storage medium
CN114546738B (en) Universal test method, system, terminal and storage medium for server
CN111124789B (en) Chip simulation debugging system and debugging method
JP3105279B2 (en) Program unit test data generation method
Kim et al. A new hybrid algorithm for software fault localization
Zhang et al. Model based testing for agent systems
US20210263837A1 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN111708712A (en) User behavior test case generation method, flow playback method and electronic equipment
Miller et al. Animation can show only the presence of errors, never their absence
US20050055612A1 (en) Design supporting apparatus
CN111966597B (en) Test data generation method and device
CN113419959A (en) Method and equipment for generating coverage rate verification report
CN113360397A (en) Regression testing method, device, equipment and storage medium of system function
US20080195453A1 (en) Organisational Representational System
CN112783775A (en) Special character input testing method and device
JPH09171056A (en) Test design method and device, test method and device
JP7274063B2 (en) Test case generation device, test case generation method and test case generation program
CN112835803B (en) Tool generation method, test data construction method, device, equipment and medium
JPH08272623A (en) Device and method for program analysis

Legal Events

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