JP6369102B2 - Software test support system - Google Patents
Software test support system Download PDFInfo
- Publication number
- JP6369102B2 JP6369102B2 JP2014078254A JP2014078254A JP6369102B2 JP 6369102 B2 JP6369102 B2 JP 6369102B2 JP 2014078254 A JP2014078254 A JP 2014078254A JP 2014078254 A JP2014078254 A JP 2014078254A JP 6369102 B2 JP6369102 B2 JP 6369102B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- input
- condition
- combinations
- technique
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 claims description 143
- 238000000034 method Methods 0.000 claims description 133
- 238000013522 software testing Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 12
- 238000012790 confirmation Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 238000007616 round robin method Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、ソフトウェアの試験作業を支援するシステムに関する。 The present invention relates to a system for supporting software testing work.
一般的に、プログラムの動作試験を行うためには、プログラムが動作する際に必要な入力情報(引数など;テストパターン)を入力し、この入力情報に対する処理結果を出力情報として受け取り、この出力情報を確認することによって、入力情報がプログラムによって正しく処理されたかを識別する。そのため、プログラムの不具合が効率よく確認できるようにする自動評価の方法などが検討されてきた。 In general, in order to perform a program operation test, input information (arguments, etc .; test pattern) required when the program operates is input, processing results for this input information are received as output information, and this output information To identify whether the input information has been correctly processed by the program. For this reason, automatic evaluation methods that enable efficient confirmation of program defects have been studied.
一方、ソフトウェア試験を実施する際に一般的な試験方法(ブラックボックステストやホワイトボックステスト)を使用するが、プログラムの規模が大きくなるにつれて、全ての入力情報に対して動作を確認しようとすると、確認する回数が膨大な数になってしまうため、確認回数を減らすためのテスト技法が存在している。例えば、オールペア法(ペアワイズ法)や直交表を使用した方法(HAYST法)、同値分割法、境界値分析法などである。これらのテスト技法を使用することで、プログラムの動作確認回数を減らすことが可能である。 On the other hand, a general test method (black box test or white box test) is used when performing a software test, but as the scale of the program grows, trying to check the operation for all input information, Since the number of confirmations is enormous, there are test techniques for reducing the number of confirmations. For example, an all-pair method (pair-wise method), a method using an orthogonal table (HAYST method), an equivalence division method, a boundary value analysis method, and the like. By using these test techniques, it is possible to reduce the number of program operation checks.
例えば、特許文献1,2に開示されている従来技術が知られている。
特許文献1の発明は、業務仕様を考慮し、かつ、ソフトウェアプログラムの品質を検査できる妥当な量のテストケースを生成できるものである。また、特許文献1には、オールペア法や直交表を用いる手法等に基づいてテストケースを生成することが開示されている。更に、テストケースを生成する際に、PICT(Pairwise Independent Combinatorial tool)等のテストケース生成ツール等を使用することができる旨の開示等もある。
For example, conventional techniques disclosed in Patent Documents 1 and 2 are known.
The invention of Patent Document 1 can generate a reasonable amount of test cases that can be used to check the quality of a software program in consideration of business specifications. Patent Document 1 discloses generating a test case based on an all-pair method, a method using an orthogonal table, or the like. Furthermore, there is a disclosure that a test case generation tool such as PICT (Pairwise Independent Combinatorial tool) can be used when generating a test case.
また、特許文献2の発明では、ERPパッケージに組み込まれて動作するアプリケーションの動作テストを、効率的に実行できる。 Moreover, in the invention of Patent Document 2, an operation test of an application that operates by being incorporated in an ERP package can be efficiently executed.
適切なテスト技法を試験対象プログラムに適用することによって、試験対象プログラムの動作確認回数を減らすことが可能である。しかしながら、適切なテスト技法を判断するためには、各種テスト技法に対して詳細に理解していなければならず、実際のソフトウェア試験に常に適用するには検証のための手順が多く、各種テスト技法に精通している人員も必要である。また、適切なテスト技法を適用する作業の難易度が高いため、人為的ミスが発生しやすい。 By applying an appropriate test technique to the test target program, it is possible to reduce the number of times of operation confirmation of the test target program. However, in order to determine an appropriate test technique, it is necessary to have a detailed understanding of the various test techniques, and there are many verification procedures that are always applied to actual software tests. The person who is familiar with is also necessary. In addition, human error is likely to occur due to the high level of difficulty of applying appropriate test techniques.
本発明の課題は、試験対象プログラムに応じた適切なテスト技法を自動的に決定することができ、更に当該テスト技法等に応じたテストパターンを自動生成でき、以って動作確認回数を減らすことができるソフトウェア試験支援システム等を提供することである。 An object of the present invention is to automatically determine an appropriate test technique according to a test target program, and further to automatically generate a test pattern according to the test technique, thereby reducing the number of operation confirmations. It is to provide a software test support system etc.
本発明のソフトウェア試験支援システムは、対象プログラムの仕様情報に基づいて入力条件を生成する入力条件生成手段と、予め登録されている各種テスト技法毎に、前記入力条件に応じた組み合わせ数を求めて、該組み合わせ数が最も少ないテスト技法を、前記対象プログラムに適用するテスト技法に決定するテスト技法決定手段と、前記決定したテスト技法による前記対象プログラムのテストパターンを生成するテストパターン生成手段とを有する。 The software test support system of the present invention obtains the input condition generation means for generating an input condition based on the specification information of the target program and the number of combinations corresponding to the input condition for each of the various registered test techniques. A test technique determining means for determining a test technique with the smallest number of combinations as a test technique to be applied to the target program; and a test pattern generating means for generating a test pattern for the target program according to the determined test technique. .
本発明のソフトウェア試験支援システム等によれば、試験対象プログラムに応じた適切なテスト技法を自動的に決定することができ、更に当該テスト技法等に応じたテストパターンを自動生成でき、以って動作確認回数を減らすことができる。 According to the software test support system and the like of the present invention, it is possible to automatically determine an appropriate test technique corresponding to the test target program, and further to automatically generate a test pattern corresponding to the test technique. The number of operation confirmations can be reduced.
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例の試験支援システム10の機能構成例を示す図である。
図示の例の試験支援システム10は、入力部11、入力条件決定部12、テスト技法決定部13、テスト技法適用部14、入力情報生成部15、出力部16等の各種処理機能部を有する。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram illustrating a functional configuration example of the test support system 10 of the present example.
The test support system 10 in the illustrated example includes various processing function units such as an input unit 11, an input condition determination unit 12, a test technique determination unit 13, a test technique application unit 14, an input information generation unit 15, and an output unit 16.
尚、試験支援システム10は、例えばパソコンやサーバ装置等の一般的な汎用コンピュータ上で実現される。よって、特に図示しないが、試験支援システム10は、ハードウェア的には、不図示のCPU、記憶部(メモリ、ハードディスク等)、入出力インタフェース、通信機能部等を有している。そして、記憶部には予め所定のアプリケーションプログラムが記憶されている。上記CPUが上記アプリケーションプログラムを実行することで、図1に示す上記各種処理機能部や後述する図2のフローチャート図の処理などが実現される。 The test support system 10 is realized on a general general-purpose computer such as a personal computer or a server device. Therefore, although not particularly illustrated, the test support system 10 includes a CPU (not shown), a storage unit (memory, hard disk, etc.), an input / output interface, a communication function unit, and the like in hardware. A predetermined application program is stored in the storage unit in advance. When the CPU executes the application program, the various processing function units shown in FIG. 1 and the processing of the flowchart shown in FIG.
試験支援システム10は、概略的には、入力部11を介して処理対象プログラムの仕様情報1を入力し、これに基づいて当該処理対象プログラムの試験に適用するテスト技法を決定する。そして、このテスト技法に応じた入力情報(テストパターン)を生成し、これを入力情報ファイル2として出力部16から出力する。そして、不図示の試験システム等において、このテストパターンを用いて、処理対象プログラムの試験が行われることになる。このテストパターンの数が、上記動作確認回数に相当することになる。 In general, the test support system 10 inputs the specification information 1 of the processing target program via the input unit 11 and determines a test technique to be applied to the test of the processing target program based on the specification information 1. Then, input information (test pattern) corresponding to the test technique is generated and output from the output unit 16 as the input information file 2. Then, the test target program is tested using this test pattern in a test system (not shown) or the like. The number of test patterns corresponds to the number of operation confirmations.
以下、図2のフローチャート図も参照して更に詳しく説明する。
入力条件決定部12は、上記入力部11を介して上記プログラム仕様情報1を取得すると(ステップS1)、これに基づいて入力条件を決定する(ステップS2)。
This will be described in more detail with reference to the flowchart of FIG.
When the input condition determination unit 12 acquires the program specification information 1 via the input unit 11 (step S1), the input condition determination unit 12 determines an input condition based on the program specification information 1 (step S2).
上記仕様情報1は、後に図3に示す具体例を用いて説明するが、例えば上記処理対象プログラムの各関数毎に、その各変数毎に、変数型、データ形式、分岐条件等の情報が含まれている。また、上記入力条件は、後に図5(a)に示す具体例を用いて説明するが、例えば上記各変数毎に、上記変数型や分岐条件等に基づいて決められるデータ群等である。 The specification information 1 will be described later using a specific example shown in FIG. 3. For example, each function of the processing target program includes information such as a variable type, a data format, and a branch condition for each variable. It is. The input condition will be described later using a specific example shown in FIG. 5A. For example, each input variable is a data group determined based on the variable type, branch condition, and the like.
テスト技法決定部13は、上記入力条件等に基づいて、上記処理対象プログラムに適用するテスト技法を決定する(ステップS3)。これは、予め登録されている複数種類のテスト技法のなかで、上記入力条件に応じた動作確認回数(組み合わせ数)が最小となるテスト技法を選択するものである。尚、本例では、予め登録されている複数種類のテスト技法を、総当り法、オールペア法、直交表を用いる方法(HAYST法)の3種類であるものとするが、勿論、この例に限らない。 The test technique determination unit 13 determines a test technique to be applied to the processing target program based on the input conditions and the like (step S3). This is to select a test technique that minimizes the number of operation confirmations (number of combinations) according to the input conditions from among a plurality of types of test techniques registered in advance. In this example, there are three types of test techniques registered in advance: the round robin method, the all-pair method, and the method using an orthogonal table (HAYST method). Absent.
テスト技法決定部13による上記適用テスト技法決定処理については、後に図5(a)、(b)に示す具体例を参照して説明する。
テスト技法適用部14は、上記テスト技法決定部13によって決定された上記適用テスト技法に係わる組み合わせ条件を生成する(ステップS4)。この組み合わせ条件が、実質的にテストパターンであると見做しても良い。但し、必要に応じて、所定のデータ形式に変換する必要がある場合もあるが、この処理は入力情報生成部15が実行する。
The application test technique determination process performed by the test technique determination unit 13 will be described later with reference to specific examples shown in FIGS.
The test technique application unit 14 generates a combination condition related to the applied test technique determined by the test technique determination unit 13 (step S4). You may consider that this combination condition is a test pattern substantially. However, there is a case where it is necessary to convert the data into a predetermined data format as necessary.
テスト技法適用部14は、上記各種テスト技法(総当り法、オールペア法、HAYST法)毎の既存の組み合わせ条件生成機能を有し、任意のテスト技法による上記処理対象プログラムに関する組み合わせ条件の生成を行う。これは、既存ツールの機能によって生成できる。例えばオールペア法に関しては、上述したPICT等の既存ツールの機能によって、上記処理対象プログラムに係わる組み合わせ条件を生成できる。組み合わせ条件の具体例は、図6に示し、後に説明する。 The test technique application unit 14 has an existing combination condition generation function for each of the various test techniques (brute force method, all-pair method, HAYST method), and generates a combination condition related to the processing target program by an arbitrary test technique. . This can be generated by the functionality of existing tools. For example, with respect to the all-pair method, a combination condition related to the processing target program can be generated by the function of an existing tool such as PICT described above. A specific example of the combination condition is shown in FIG. 6 and will be described later.
尚、上記組み合わせ条件生成機能は、上記テスト技法決定部13も保有していてもよい。組み合わせ条件が生成されれば上記組み合わせ数も分かることになるからである。但し、本説明では、後述するように、組み合わせ条件を生成しなくても上記組み合わせ数を求めることができる例を説明する。 The combination condition generation function may also be possessed by the test technique determination unit 13. This is because if the combination condition is generated, the number of combinations is also known. However, in this description, as described later, an example in which the number of combinations can be obtained without generating a combination condition will be described.
入力情報生成部15は、上記適用テスト技法に係わる組み合わせ条件に基づいて、試験に用いる入力情報(テストパターン)を生成する(ステップS5)。これは、例えば後述する図6の組み合わせ条件に基づいて、図7に示す入力情報を生成するものであり、後に説明する。尚、入力情報生成部15は、必要に応じて所定のデータ形式に変換する処理を実行するものであり、上記の通り上記組み合わせ条件が実質的にテストパターンであると見做しても構わない。 The input information generation unit 15 generates input information (test pattern) used for the test based on the combination conditions related to the applied test technique (step S5). This is for generating the input information shown in FIG. 7 based on the combination condition of FIG. Note that the input information generation unit 15 performs processing for conversion to a predetermined data format as necessary, and as described above, the combination condition may be regarded as a substantial test pattern. .
そして、上記生成された入力情報(テストパターン)を、上記入力情報ファイル2として上記出力部16から出力する(ステップS6)。
尚、場合によっては、上記組み合わせ条件をそのまま上記入力情報(テストパターン)としてもよい。これは、例えば後述する出力関連情報のデータ形式が特に指定なしである場合等である。尚、後述する図3の例ではデータ形式としてQ12が指定されているので、上記組み合わせ条件における数値を、Q12フォーマットに変換することで、上記入力情報(テストパターン)を生成することになる。詳しくは後述する。
The generated input information (test pattern) is output from the output unit 16 as the input information file 2 (step S6).
In some cases, the combination condition may be used as the input information (test pattern) as it is. This is the case, for example, when the data format of output related information described later is not particularly specified. In the example of FIG. 3 described later, since Q12 is designated as the data format, the input information (test pattern) is generated by converting the numerical value in the combination condition into the Q12 format. Details will be described later.
尚、上述したことから、上記テスト技法適用部14を入力情報(テストパターン)生成機能部と見做してもよく、上記入力情報生成部15はデータ形式変換機能部と見做しても良い。更に、入力情報生成部15はテスト技法適用部14に含まれるものと見做しても構わない。以上のことから、テスト技法適用部14は、上記各種テスト技法(総当り法、オールペア法、HAYST法)毎の既存のテストパターン生成機能を有するものと見做してもよい。 From the above, the test technique application unit 14 may be regarded as an input information (test pattern) generation function unit, and the input information generation unit 15 may be regarded as a data format conversion function unit. . Further, the input information generation unit 15 may be regarded as being included in the test technique application unit 14. From the above, the test technique application unit 14 may be regarded as having an existing test pattern generation function for each of the various test techniques (brute force method, all-pair method, HAYST method).
上記のように、自動的に適切なテスト技法を決定して、決定したテスト技法に応じたテストパターンを生成・出力する。このテストパターンの数は、上記の通り、最も少ないものとなり、動作確認回数が最小となる。尚、図示しないが、当然、何らかの試験システムが上記入力情報ファイル2を用いて上記試験対象ソフトウェアの動作試験等を行うことになる。 As described above, an appropriate test technique is automatically determined, and a test pattern corresponding to the determined test technique is generated and output. As described above, the number of test patterns is the smallest, and the number of operation confirmations is minimized. Although not shown, naturally, some test system uses the input information file 2 to perform an operation test of the software to be tested.
以下、図3以降の具体例を参照して更に詳細に説明する。
図3には、プログラム仕様情報1の一例を示す。尚、プログラム仕様情報1は、例えばプログラムの開発者等が予め任意に作成して登録しておくが、この例に限らない。
Hereinafter, a more detailed description will be given with reference to specific examples in FIG.
FIG. 3 shows an example of the program specification information 1. The program specification information 1 is arbitrarily created and registered in advance by, for example, a program developer, but is not limited to this example.
プログラム仕様情報1は、関数名、入力関連情報、出力関連情報等から成り、処理対象プログラムの各関数毎に、その名称、入力関連情報、出力関連情報等が登録されている。
入力関連情報は、変数名、変数型、データ形式、分岐条件等から成る。
The program specification information 1 includes a function name, input related information, output related information, and the like, and the name, input related information, output related information, and the like are registered for each function of the processing target program.
The input related information includes a variable name, a variable type, a data format, a branch condition, and the like.
入力に係わる各変数毎に(各入力変数毎に)、その名称、型、データ形式等が上記入力関連情報として登録されている。データ形式は、上記入力変数のデータのフォーマット(書式)である。更に、出力に影響を与える入力の条件(分岐条件)等も含まれる。 For each input variable (for each input variable), its name, type, data format, etc. are registered as the input related information. The data format is the format (format) of the data of the input variable. Furthermore, an input condition (branch condition) that affects the output is also included.
尚、上記分岐条件は、よく知られているように、プログラム中で、ある条件が満たされているかどうかによって次に実行するコードを切り替える命令(例えば、if〜else構文など)に用いられる当該条件である。例えば図3に示す例では分岐条件の1つとして数値‘50’があるが、これは、例えば一例としては、入力変数InDataの値が50以上であるか否かによって、実行される処理が変わる場合等に対応しているものである。 As is well known, the branch condition is a condition used for an instruction (for example, if-else syntax) for switching a code to be executed next depending on whether a certain condition is satisfied in the program. It is. For example, in the example shown in FIG. 3, there is a numerical value “50” as one of the branch conditions. For example, for example, the process to be executed varies depending on whether the value of the input variable InData is 50 or more. This corresponds to the case.
ここで、上記データ形式は、上記入力変数の数値等がどのようなデータ構造をとっているかをフォーマット名称等で示している。図示の例では一例として「Q12」を示してある。 Here, the data format indicates the data structure of the numerical value of the input variable and the like using a format name or the like. In the illustrated example, “Q12” is shown as an example.
「Q12」は、整数型変数で小数点を利用する際に使用する固定小数点のデータ形式である。これは、Short型やLong型などで小数点を含む数値を扱うためのデータ形式であり、小数点以下の値を何ビットで表現するかによって、Q以下の数値が異なる。例として、図4に「0.5」を表現したQ12フォーマットのビット数値を示す。尚、これは、16進法表記では「0x0800」となり、十進法表記では「2048」となる。 “Q12” is a fixed-point data format used when a decimal point is used in an integer variable. This is a data format for handling a numerical value including a decimal point, such as a Short type or a Long type, and the numerical value below Q differs depending on how many bits the value below the decimal point is expressed. As an example, FIG. 4 shows a bit value of Q12 format expressing “0.5”. This is “0x0800” in hexadecimal notation and “2048” in decimal notation.
尚、0.5をQ12フォーマットに変換する方法は下記の通りである。
0.5×212=0.5×4096=2048=0x0800
参考までに、0.5をQ15フォーマットに変換する方法は下記の通りとなる。
The method for converting 0.5 to Q12 format is as follows.
0.5 × 2 12 = 0.5 × 4096 = 2048 = 0x0800
For reference, the method of converting 0.5 to Q15 format is as follows.
0.5×215=0.5×32768=16384=0x4000
これら変換方法は、よく知られているものである。
また、出力関連情報は、出力方法、変数型、データ形式等から成る。上記入力情報ファイル2の生成の際には、これら変数型やデータ形式に従って生成することになる。図示の例ではデータ形式はQ12であるので、後述する具体例では図7に示すように入力情報(入力情報ファイル2)の数値データは、Q12フォーマットに変換されている。詳しくは後述する。
0.5 × 2 15 = 0.5 × 32768 = 16384 = 0x4000
These conversion methods are well known.
The output related information includes an output method, a variable type, a data format, and the like. When the input information file 2 is generated, it is generated according to these variable types and data formats. Since the data format is Q12 in the illustrated example, the numerical data of the input information (input information file 2) is converted into the Q12 format as shown in FIG. Details will be described later.
図5(a)には、上記図3に示すプログラム仕様情報1の具体例に基づいて生成される入力条件の具体例を示す。これは、上記の通り、入力条件決定部12によって生成されるものである。 FIG. 5A shows a specific example of input conditions generated based on the specific example of the program specification information 1 shown in FIG. This is generated by the input condition determination unit 12 as described above.
入力条件決定部12は、例えば、プログラム仕様情報1の上記入力関連情報(その変数型や分岐条件等)から、テストに使用する入力の条件を決定する。図3の例では、変数名がInFuncOn、InDataの2つの変数が登録されている。InFuncOnは、その変数型がBoolであり、分岐条件は定義されていない。また、InDataは、その変数型は“Signed Long”であり、分岐条件が定義されている(‘50’、‘100’、‘150’)。 For example, the input condition determination unit 12 determines an input condition used for the test from the input related information (variable type, branch condition, etc.) of the program specification information 1. In the example of FIG. 3, two variables whose variable names are InFuncOn and InData are registered. InFuncOn has a variable type of Bool and no branch condition is defined. The variable type of InData is “Signed Long”, and branch conditions are defined ('50', '100', '150').
まず、InFuncOnは上記の通りBool型の変数である。よく知られているようにBool型変数は「True」と「False」の二値をとる。よって、その旨を予め登録しておくことで、入力条件決定部12は、図5(a)に示すように、InFuncOnに対応する入力条件を「True」と「False」にする。 First, InFuncOn is a Bool type variable as described above. As is well known, Bool type variables take two values, "True" and "False". Therefore, by registering the fact in advance, the input condition determination unit 12 sets the input condition corresponding to InFuncOn to “True” and “False” as shown in FIG.
また、InDataに関しては、上記の通り分岐条件が定義されているため、入力条件決定部12は、分岐条件に基づいて入力条件を生成する。ここでは一例として、分岐条件に対して、境界値分析を使用することで、分岐条件とその前後の値を入力条件とする。すなわち、上記‘50’とその前後の値‘49’、‘51’と、上記‘100’とその前後の値‘99’、‘101’と、上記‘150’とその前後の値‘149’、‘151’を、入力条件とする。 In InData, since the branch condition is defined as described above, the input condition determination unit 12 generates the input condition based on the branch condition. Here, as an example, by using boundary value analysis for the branch condition, the branch condition and the values before and after the branch condition are used as the input condition. That is, '50' and its preceding and following values '49' and '51', '100' and its preceding and following values '99' and '101', '150' and its preceding and following values '149' , '151' is an input condition.
例えば上述したようにして、入力条件決定部12は、変数型や分岐条件等に基づいて、各入力変数毎の入力条件(テストに用いる入力値など)を生成することで、例えば図5(a)に示す入力条件を生成する。尚、上記のことから、入力条件とは、例えば、各入力変数毎に、上記変数型や分岐条件等に基づいて決められる、“テストに用いる入力値”などのデータ群であると見做しても良い。 For example, as described above, the input condition determination unit 12 generates an input condition (such as an input value used for a test) for each input variable based on the variable type, the branch condition, and the like, for example, FIG. ) Is generated. From the above, the input condition is considered to be a data group such as “input value used for test”, which is determined for each input variable based on the variable type, the branch condition, and the like. May be.
テスト技法決定部13は、上記入力条件決定部12が生成した入力条件等に基づいて、上記プログラム仕様情報1に係わるプログラムに適用すべき適切なテスト技法を決定する。尚、上述した通り、ここでは、総当り法、オールペア法(ペアワイズ法)、HAYST法の3種類のテスト技法のなかから選択する例を用いて説明するが、この例に限らない。 The test technique determination unit 13 determines an appropriate test technique to be applied to the program related to the program specification information 1 based on the input conditions generated by the input condition determination unit 12. Note that, as described above, here, description will be given using an example of selecting from among three types of test techniques, the round robin method, the all-pair method (pair-wise method), and the HAYST method, but the present invention is not limited to this example.
テスト技法決定部13は、まず、上記3種類のテスト技法それぞれについて、上記入力条件決定部12が生成した入力条件に応じた“組み合わせ数”を算出する。ここで、図5(b)には、図5(a)に示す例の入力条件に応じた“組み合わせ数”の算出結果を示す。尚、“組み合わせ数”とは、上記各入力変数毎の上記データ群同士の組み合わせに係わる数であると見做しても良い。あるいは、“組み合わせ数”とは、各変数毎のデータ群(入力条件)同士の組み合わせに係わる数と見做しても良い。 The test technique determination unit 13 first calculates the “number of combinations” corresponding to the input conditions generated by the input condition determination unit 12 for each of the three types of test techniques. Here, FIG. 5B shows the calculation result of the “number of combinations” corresponding to the input conditions of the example shown in FIG. The “number of combinations” may be regarded as a number related to a combination of the data groups for each input variable. Alternatively, the “number of combinations” may be regarded as a number related to a combination of data groups (input conditions) for each variable.
ここで、上記の通り、既存ツールの機能によって組み合わせ条件を生成すれば、“組み合わせ数”は分かることになる。例えば、総当り法であれば、後述する図6に示す組み合わせ条件を生成すれば、図6から明らかなように、“組み合わせ数”は‘18’であると判定できる。よって、一例としては、この様な方法によって各テスト技法毎に“組み合わせ数”を求めることができる。但し、この例に限らず、組み合わせ条件を生成しなくても、“組み合わせ数”を算出することができる。これについて、以下、説明する。 Here, as described above, if the combination condition is generated by the function of the existing tool, the “number of combinations” can be known. For example, in the round robin method, if a combination condition shown in FIG. 6 to be described later is generated, the “number of combinations” can be determined to be “18” as is apparent from FIG. Therefore, as an example, the “number of combinations” can be obtained for each test technique by such a method. However, the present invention is not limited to this example, and the “number of combinations” can be calculated without generating a combination condition. This will be described below.
まず、総当り法は、全ての組合せをテストする方法であり、入力変数のテスト条件(入力条件の数など)を全て掛け合わせることで、“組み合わせ数”を算出できる。図5(a)の例では、変数InFuncOnに関しては2条件(TRUE、FALSE)、変数InDataに関しては9条件(49、・・・151)あるので、“組み合わせ数”=2×9=18(通り)となる。尚、仮に入力変数がもう1つあり且つ3条件である場合には、“組み合わせ数”=3×2×9=54(通り)となる。 First, the round robin method is a method of testing all combinations, and the “number of combinations” can be calculated by multiplying all test conditions (such as the number of input conditions) of input variables. In the example of FIG. 5A, since there are two conditions (TRUE, FALSE) for the variable InFuncOn and nine conditions (49,... 151) for the variable InData, “number of combinations” = 2 × 9 = 18 (street ) If there is another input variable and there are three conditions, “number of combinations” = 3 × 2 × 9 = 54 (street).
また、オールペア法(ペアワイズ法)は、入力変数のなかで入力条件の数が多い上位2つの入力変数を用いて、テスト条件を掛け合わせることで、“組み合わせ数”を算出できる。図5(a)の例では、入力変数は2つだけ(InFuncOnとInData)だけであるので、必然的に、これら2つのテスト条件を掛け合わせることで、“組み合わせ数”=2×9=18(通り)が算出される。つまり、この例では総当り法と同数となる。 In the all-pair method (pair-wise method), the “number of combinations” can be calculated by multiplying the test conditions by using the top two input variables having a large number of input conditions among the input variables. In the example of FIG. 5A, since there are only two input variables (InFuncOn and InData), the number of combinations is inevitably multiplied by these two test conditions = 2 × 9 = 18. (Street) is calculated. That is, in this example, the number is the same as the round robin method.
尚、上記のように仮に入力変数がもう1つあり且つ3条件である場合には、当該仮の入力変数と変数InDataとが上記上位2つの入力変数となるので、“組み合わせ数”=3×9=27(通り)が算出されることになる。 If there is another input variable and there are three conditions as described above, since the temporary input variable and the variable InData are the above two upper input variables, “number of combinations” = 3 × 9 = 27 (street) is calculated.
また、HAYST法では、まず上記オールペア法と同じく上述した“入力変数のなかで入力条件の数が多い上位2つの入力変数を用いて、テスト条件を掛け合わせる”処理を行うが、更に、この処理によって得られた数値を、2の乗数に繰り上げた値を、“組み合わせ数”とする。図5(a)の例では、まず、上記数値は、オールペア法と同じく2×9=18となる。この数値‘18’を2の乗数に繰り上げると‘32’となる。よって、HAYST法に係わる“組み合わせ数”=32(通り)となる。 In addition, in the HAYST method, first, as in the above-mentioned all-pair method, the above-mentioned process of “multiplying test conditions using the top two input variables having a large number of input conditions among input variables” is performed. A value obtained by raising the numerical value obtained by the above to a multiplier of 2 is defined as “number of combinations”. In the example of FIG. 5A, first, the numerical value is 2 × 9 = 18 as in the all-pair method. If this numerical value '18' is raised to a multiplier of 2, it will be '32'. Therefore, the “number of combinations” related to the HAYST method = 32 (streets).
尚、2の乗数は、2,4,8,16,32,64、・・・等であるので、‘18’は‘16’より大きいため、繰り上げると次の‘32’となる。例えば、上記数値‘18’を、2の乗数の小さい値から順次比較しておき、最初に上記数値‘18’の方が小さいと判定されたときの2の乗数(ここでは‘32’)が、数値‘18’を2の乗数に繰り上げた値となると見做してよい。この例に限らず、例えば下記の算出式を用いることで、HAYST法での“組み合わせ数”を算出してもよい。 Since the multiplier of 2 is 2, 4, 8, 16, 32, 64,..., And so on, “18” is larger than “16”. For example, the numerical value “18” is compared in order from a value with a smaller multiplier of 2, and a multiplier of 2 (here, “32”) when it is first determined that the numerical value “18” is smaller. The numerical value '18' may be regarded as a value raised to a multiplier of 2. For example, the “number of combinations” in the HAYST method may be calculated by using, for example, the following calculation formula.
また、Sjは、各パラメータに含まれる条件の数になる(上記の通り、図5(a)の例では、2条件と9条件とになる)。尚、これは、組み合わせ数の最小値を求める式になる。 Further, Sj is the number of conditions included in each parameter (as described above, there are 2 conditions and 9 conditions in the example of FIG. 5A). This is an expression for obtaining the minimum value of the number of combinations.
尚、オールペア法(ペアワイズ法)や直交表(HAYST法)は、組み合わせテストを行う際に使用される公知のテスト技法である。オールペア法(ペアワイズ法)に関する公知文献は、例えば上記特許文献1等である。また、HAYST法に関する公知文献は、例えば下記の参考文献等である。 Note that the all-pair method (pair-wise method) and the orthogonal table (HAYST method) are well-known test techniques used when performing a combination test. Known documents relating to the all-pair method (pair-wise method) are, for example, Patent Document 1 described above. Further, known literature relating to the HAYST method is, for example, the following references.
・参考文献;ソフトウェアテストシンポジウム2004東京 予稿集「直交表を利用したソフトウェアテスト-HAYST法-」)。
例えば、上記特許文献1に開示されているように、オールペア法に関しては、例えばPICT(Pairwise Independent Combinatorial tool)等の既存のソフトウェアツールを用いて、テストケースを生成することで、当該テストケースの数が上記“組み合わせ数”として得られる。
・ Reference: Software Test Symposium 2004 Tokyo Proceedings “Software test using orthogonal table-HAYST method”).
For example, as disclosed in Patent Document 1 above, with respect to the all-pair method, the number of test cases can be determined by generating test cases using an existing software tool such as PICT (Pairwise Independent Combinatorial tool). Is obtained as the “number of combinations”.
HAYST法に関しても、同様に、既存のソフトウェアツールを用いて上記“組み合わせ数”を求めることができる。
勿論、既に説明した通り、テストケースを生成しなくても、上記“組み合わせ数”を求める事は出来る。
Similarly for the HAYST method, the above “number of combinations” can be obtained using existing software tools.
Of course, as described above, the “number of combinations” can be obtained without generating a test case.
テスト技法決定部13は、上記各“組み合わせ数”から、上記処理対象のプログラムの動作テストに使用するテスト技法(適用テスト技法)を決定する。すなわち、ここでは3種類のなかで“組み合わせ数”が最小であるテスト技法を、選択する。但し、この例では、総当り法とオールペア法とが、“組み合わせ数”が最小且つ同じ(=18)である。この様な場合には、ここでは、計算量の少ない総当り法が選択されるものとする。これに関して、例えば、組み合わせ数が同じである場合にどちらを選択するのかを示す情報が、予め開発者等によって任意に決められて登録されているものとする。 The test technique determination unit 13 determines a test technique (application test technique) to be used for the operation test of the program to be processed from each “number of combinations”. That is, here, a test technique having the smallest “number of combinations” among the three types is selected. However, in this example, the round robin method and the all-pair method have the smallest “number of combinations” and the same (= 18). In such a case, it is assumed here that a brute force method with a small amount of calculation is selected. In this regard, for example, it is assumed that information indicating which one to select when the number of combinations is the same is arbitrarily determined and registered in advance by a developer or the like.
尚、上記「計算量の少ない」とは、組み合わせ条件の生成の為の計算量が少ないことを意味する。組み合わせ条件生成処理の計算量は、テスト技法によって決まり、条件をただ並べるだけの「総当り法」と、ペアの条件を検索して組み合わせ条件を生成する「オールペア法」とでは、「総当り法」の方が上記“計算量”が少なくなるのは明らかである。当業者であれば、この様な判断は容易に行えるので、これに基づいて、予め例えば「総当り法」と「オールペア法」とで“組み合わせ数”が同数であった場合には、「総当り法」を採用するようにプログラムを組んでおけばよい。 The “small amount of calculation” means that the amount of calculation for generating the combination condition is small. The amount of calculation for the combination condition generation process is determined by the test technique. In the “brute force method” in which the conditions are simply arranged, and in the “all pair method” in which a combination condition is generated by searching for a pair condition, the “brute force method” is used. It is clear that “computation amount” is smaller in the case of “”. Those skilled in the art can easily make such a determination, and based on this, for example, if the “number of combinations” is the same for the “brute force method” and the “all pair method” in advance, A program should be set up to adopt the “hit method”.
テスト技法適用部14は、上記テスト技法決定部13で決定された適用テスト技法に応じた組み合わせ条件を生成する。これは、決定されたテスト技法と上記入力条件等に基づいて生成される。既に述べたように、既存ツールには組み合わせ条件を生成する機能が既に存在している。尚、組み合わせ条件は、テストパターンと同義と見做しても構わないが、本説明では組み合わせ条件に対して後述するフォーマット変換を行ったものが、入力情報(テストパターン)であるものとする。 The test technique application unit 14 generates a combination condition according to the applied test technique determined by the test technique determination unit 13. This is generated based on the determined test technique and the above input conditions. As already mentioned, the existing tool already has a function for generating a combination condition. Note that the combination condition may be regarded as synonymous with the test pattern, but in this description, input information (test pattern) is obtained by performing format conversion described later on the combination condition.
ここでは、上記の例では適用テスト技法は「総当り法」に決定されているので、上記入力条件の総当りの組み合わせを生成することで、例えば図6に示す組み合わせ条件が生成されることになる。すなわち、図示のように、上記2種類のデータ(「True」、「False」)と9種類のデータ(49,50、・・・、151)との総当りの組み合わせパターン、すなわち18個の組み合わせパターンが、生成されることになる。尚、この生成処理の詳細については、総当り法やオールペア法(ペアワイズ法)や直交表(HAYST法)は公知であるので、ここでは割愛する。 Here, since the applied test technique is determined as “brute force method” in the above example, the combination condition shown in FIG. 6 is generated by generating the brute force combination of the above input conditions. Become. That is, as shown in the figure, a round-robin combination pattern of the above two types of data (“True”, “False”) and nine types of data (49, 50,..., 151), that is, 18 combinations. A pattern will be generated. Note that the details of this generation process are omitted here because the round-robin method, all-pair method (pair-wise method), and orthogonal table (HAYST method) are well known.
入力情報生成部15は、上記テスト技法適用部14で生成された上記組み合わせ条件(図6等)等に基づいて、例えば図7に示す例のような入力情報(テストパターン)を生成する。ここでは、上記組み合わせ条件生成結果に対して、プログラム仕様情報1の出力関連情報で指定されているデータ形式を適用する。図3の例では、出力関連情報のデータ形式はQ12となっているので、図6に示す組み合わせ条件の各数値データを、Q12フォーマットに変換することで、図7に示す入力情報が生成される。 The input information generation unit 15 generates input information (test pattern) such as the example shown in FIG. 7 based on the combination conditions (FIG. 6 and the like) generated by the test technique application unit 14. Here, the data format specified by the output related information of the program specification information 1 is applied to the combination condition generation result. In the example of FIG. 3, since the data format of the output related information is Q12, the input information shown in FIG. 7 is generated by converting the numerical data of the combination conditions shown in FIG. 6 into the Q12 format. .
Q12フォーマットへの変換方法については、既に一例を説明してあるので、ここでは省略するが、InDataの各数値データのなかで例えば‘49’は、Q12フォーマットでは‘200704’となる。 Since an example of the conversion method to the Q12 format has already been described, it is omitted here. For example, “49” in the numerical data of InData becomes “200704” in the Q12 format.
最後に、生成した入力情報を出力部16によってファイルとして出力することで、上記入力情報ファイル2が外部へと出力される。
以上説明したように、本例の試験支援システム10によれば、試験対象のプログラムの仕様から試験に使用する入力条件を取得し、その情報から動作確認回数(組み合わせ数;テストパターン数)が最小になるようなテスト技法を選択し、自動でソフトウェア試験にテスト技法を適用し、それに応じた入力情報(テストパターン)の生成を行うことができる。つまり、自動的に、試験対象のプログラムに応じた適切なテスト技法を決定して、このテスト技法に応じたテストパターンの生成を行うことができる。ソフトウェア試験に用いるテスト技法を自動的に決定することが可能になり、特に上述した理由によりソフトウェア試験で実施される動作確認回数が削減される効果が得られる。
Finally, the generated input information is output as a file by the output unit 16, so that the input information file 2 is output to the outside.
As described above, according to the test support system 10 of this example, the input conditions used for the test are acquired from the specifications of the test target program, and the number of operation confirmations (number of combinations; number of test patterns) is minimized from the information. The test technique can be selected, the test technique can be automatically applied to the software test, and input information (test pattern) can be generated accordingly. That is, it is possible to automatically determine an appropriate test technique according to the program to be tested and generate a test pattern according to the test technique. It becomes possible to automatically determine the test technique used for the software test, and in particular, the effect of reducing the number of operation confirmations performed in the software test for the reason described above can be obtained.
また、ソフトウェア試験に使用する入力情報(テストパターン)の生成も行うことが可能であり、効率的なソフトウェア試験を行うことが出来る。また、テスト技法の決定から入力情報の生成までを自動で行うため、人為的ミスが発生しない。 In addition, it is possible to generate input information (test pattern) used for the software test, and an efficient software test can be performed. Further, since the determination from the test technique to the generation of the input information is automatically performed, no human error occurs.
1 プログラム仕様情報
2 入力情報ファイル
10 試験支援システム
11 入力部
12 入力条件決定部
13 テスト技法決定部
14 テスト技法適用部
15 入力情報生成部
16 出力部
DESCRIPTION OF SYMBOLS 1 Program specification information 2 Input information file 10 Test support system 11 Input part 12 Input condition determination part 13 Test technique determination part 14 Test technique application part 15 Input information generation part 16 Output part
Claims (4)
予め登録されている各種テスト技法毎に、前記入力条件に応じた組み合わせ数を求めて、該組み合わせ数が最も少ないテスト技法を、前記対象プログラムに適用するテスト技法に決定するテスト技法決定手段と、
前記決定したテスト技法による前記対象プログラムのテストパターンを生成するテストパターン生成手段と、
を有することを特徴とするソフトウェア試験支援システム。 An input condition generating means for generating an input condition based on the specification information of the target program;
Test technique determining means for determining the number of combinations corresponding to the input condition for each of the various test techniques registered in advance , and determining the test technique having the smallest number of combinations as the test technique to be applied to the target program;
Test pattern generation means for generating a test pattern of the target program according to the determined test technique;
A software test support system characterized by comprising:
前記入力条件生成手段は、前記各変数毎に、前記変数型または分岐条件に基づいて決められるデータ群である前記入力条件を生成することを特徴とする請求項1記載のソフトウェア試験支援システム。 The specification information includes variable type, data format, and branch condition information for each variable of the target program.
The input condition generating means, each of each variable, the variable type or a software testing support system according to claim 1, wherein the generating the input condition is a data group which is determined on the basis of the branch condition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014078254A JP6369102B2 (en) | 2014-04-04 | 2014-04-04 | Software test support system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014078254A JP6369102B2 (en) | 2014-04-04 | 2014-04-04 | Software test support system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015200984A JP2015200984A (en) | 2015-11-12 |
JP6369102B2 true JP6369102B2 (en) | 2018-08-08 |
Family
ID=54552206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014078254A Active JP6369102B2 (en) | 2014-04-04 | 2014-04-04 | Software test support system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6369102B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6857598B2 (en) | 2017-12-26 | 2021-04-14 | 株式会社日立製作所 | Coverage test support device and coverage test support method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5690657B2 (en) * | 2011-05-30 | 2015-03-25 | 株式会社エヌ・ティ・ティ・データ | Program test support device, program test support method, program test support program |
US9262307B2 (en) * | 2011-10-05 | 2016-02-16 | International Business Machines Corporation | Modeling test space for system behavior with optional variable combinations |
-
2014
- 2014-04-04 JP JP2014078254A patent/JP6369102B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015200984A (en) | 2015-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019169725A1 (en) | Test data generation method, device, and apparatus, and computer readable storage medium | |
CN112560401B (en) | Verilog file conversion method, device, storage medium and equipment | |
CN108984155B (en) | Data processing flow setting method and device | |
WO2018121531A1 (en) | Method and apparatus for generating test case script | |
CN108804304B (en) | Test case generation method and device, storage medium and electronic equipment | |
JP2018026135A (en) | System and method for cause point analysis for effective handling of static analysis alarms | |
US20160162539A1 (en) | Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same | |
CN111414619A (en) | Data security detection method, device, equipment and readable storage medium | |
JP6369102B2 (en) | Software test support system | |
JP2012181666A (en) | Information processing device, information processing method and information processing program | |
CN107483559A (en) | The offer method and device of SDK services | |
JP5163172B2 (en) | Software test item editing support apparatus and software test item editing support method | |
CN115033434A (en) | Kernel performance theoretical value calculation method and device and storage medium | |
CN112232031B (en) | Electric power internet of things edge data model verification method, device and storage medium | |
JPWO2012049816A1 (en) | Model checking apparatus, method and program | |
JP6547345B2 (en) | Test case generation program, test case generation method and test case generation apparatus | |
CN112825060B (en) | Method and device for generating test case, storage medium and electronic equipment | |
CN110515653B (en) | Document generation method and device, electronic equipment and computer readable storage medium | |
JP2017224185A (en) | Bug contamination probability calculation program and bug contamination probability calculation method | |
JP2014059805A (en) | Test case generation device and test case generation method for model-based control device | |
JP5755861B2 (en) | Test case generation apparatus, test case generation method, and test case generation program | |
JP2017151594A (en) | Supporting device, supporting method, and program | |
JP5201068B2 (en) | Risk determination program, risk determination device and method | |
JP6579022B2 (en) | Generating program, generating method, and generating apparatus | |
JP6088445B2 (en) | Software scale arithmetic device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180406 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6369102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |