JP2017220008A - Test supporting device and test supporting method - Google Patents

Test supporting device and test supporting method Download PDF

Info

Publication number
JP2017220008A
JP2017220008A JP2016113577A JP2016113577A JP2017220008A JP 2017220008 A JP2017220008 A JP 2017220008A JP 2016113577 A JP2016113577 A JP 2016113577A JP 2016113577 A JP2016113577 A JP 2016113577A JP 2017220008 A JP2017220008 A JP 2017220008A
Authority
JP
Japan
Prior art keywords
parameter
information
test
test case
analyzed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016113577A
Other languages
Japanese (ja)
Other versions
JP6568017B2 (en
Inventor
康生 秦野
Yasuo Hatano
康生 秦野
田中 修一
Shuichi Tanaka
修一 田中
稔子 高村
Toshiko Takamura
稔子 高村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016113577A priority Critical patent/JP6568017B2/en
Publication of JP2017220008A publication Critical patent/JP2017220008A/en
Application granted granted Critical
Publication of JP6568017B2 publication Critical patent/JP6568017B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a test supporting device and a test supporting method which generate a test case necessary for running of a test by analyzing an input pattern from input information of a test subject in order to reduce labor for a person who runs the test.SOLUTION: In a test supporting device 100, an analysis part 111 analyzes the definition of form information stored in a form information definition storage part 105 and an outside specification stored in an outside specification storage part 101, and generates analyzed parameter information. A conversion part 112 converts the analyzed parameter information with reference to the type information definition and generates test case generation information. A test case generation unit 113 generates a test case with reference to the type information definition. A test case generation part 114 generates test data from the test case and the test case generation information.SELECTED DRAWING: Figure 1

Description

本発明は、テスト支援装置、および、テスト支援方法に係り、特に、外部仕様からテストケースを生成して、ソフトウェアのテストにおける労力を軽減するのに好適なテスト支援装置、および、テスト支援方法に関する。   The present invention relates to a test support apparatus and a test support method, and more particularly, to a test support apparatus and a test support method suitable for generating a test case from an external specification and reducing labor in software testing. .

ソフトウェア開発において、開発したソフトウェアが期待通り動作するかを確認するためのテストは、ソフトウェアの品質を確保するために重要な意義を有する。テストを実施する際には、ソフトウェアの設計段階に作成された仕様書を分析し、テストを実施するための具体的な入力データや対応する期待結果を作成するテスト設計をおこなうのが一般的である。このようなテスト設計においては、テスト設計における設計仕様を分析し、関連する入力情報を漏れなく抽出して、テストをする際のテストケースを生成することが必要である。   In software development, a test for confirming whether the developed software operates as expected has an important significance for ensuring the quality of the software. When conducting tests, it is common to analyze the specifications created during the software design stage and perform test design to create specific input data and corresponding expected results for performing the tests. is there. In such a test design, it is necessary to analyze a design specification in the test design, extract relevant input information without omission, and generate a test case for testing.

そこで、例えば、特許文献1には、テストケースを生成する際に、設計仕様書とテスト仕様書に記載する項目と、設計仕様書とテスト仕様書の項目間の対応関係を予め定めておくことにより、テスト設計段階における設計仕様書からの抽出漏れを防ぐ方法が開示されている。   Therefore, for example, in Patent Document 1, when generating a test case, the items described in the design specification and the test specification and the correspondence between the items of the design specification and the test specification should be determined in advance. Discloses a method for preventing omission of extraction from a design specification in a test design stage.

また、特許文献2にはソフトウェアの仕様から、仕様上出力する値を網羅する値を出力するため、仕様上出力する値が、入力の結果、出力が期待される期待出力値に含まれるか否かを確認して、仕様上出力する値とそれに対応するテスト入力値をテストケースとして生成する技術が開示されている。   Further, since Patent Document 2 outputs a value that covers the value output in the specification from the software specification, whether or not the value output in the specification is included in an expected output value that is expected to be output as a result of the input. And a technique for generating a test output value and a test input value corresponding to the output value in accordance with the specifications.

特開2013−77173号公報JP 2013-77173 A 特開2014−186407号公報JP 2014-186407 A

テスト実施時には、ソフトウェア開発者は、一般に、テスト対象となるソフトウェアそのもの、あるいは、構成モジュール、関数にかかわる入力情報(パラメータ)を分析し、テストデータを作成するが、テスト対象が取り得る全てのテストデータの組合せをテストすることは困難である。そのため、各パラメータが取り得るパターンの分析や、パラメータ間の関係性を考慮した上で、適切なクラス分けをおこなう必要がある。また、設計仕様書には、必ずしもテスト実施時に必要な全ての情報が、記述されるとは限らない。しかしながら、特許文献1や特許文献2では、テスト設計段階での追加入力の必要性にどのような対処するか、あるいは、どのようにパラメータの分析をおこなうかについては、開示されていない。   When conducting a test, the software developer generally analyzes the input software (parameters) related to the software to be tested, or the configuration module and function, and creates test data. It is difficult to test a combination of data. Therefore, it is necessary to perform appropriate classification after analyzing the patterns that each parameter can take and considering the relationship between the parameters. Moreover, not all information necessary for the test is necessarily described in the design specification. However, Patent Document 1 and Patent Document 2 do not disclose how to deal with the necessity of additional input at the test design stage, or how to perform parameter analysis.

本発明は、上記問題点を解決するためになされたもので、設計仕様書を分析し、テスト設計段階で必要となる情報を抽出するとともに設計仕様書から得られるテスト対象の入力情報から、入力パターンを分析して、テスト実行に必要なテストケースを生成して、テスト実施者の労力を軽減することを可能とするテスト支援装置、および、テスト支援方法を提供することにある。   The present invention has been made to solve the above-mentioned problems. The design specification is analyzed, information necessary for the test design stage is extracted, and input from the test target input information obtained from the design specification is input. An object of the present invention is to provide a test support apparatus and a test support method capable of analyzing a pattern, generating a test case necessary for test execution, and reducing the labor of a tester.

上記問題点を解決するために、本発明に係るテスト支援装置は、CPUと、記憶部と、表示部を有し、記憶部に格納されたプログラムを実行することにより機能を実現するテスト支援装置であって、記憶部は、外部仕様と、分析済みパラメータ情報と、テストケース生成情報と、テストケースを記憶し、外部仕様と分析済みパラメータ情報とは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、外部仕様と分析済みパラメータ情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得るパターン情報とを含み、テストケース生成情報は、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、テストケース生成情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得る候補値とを含み、テストケースは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ値を定めた組合せを、一つ以上保持する。そして、外部仕様のパラメータ情報のパラメータの型情報、パターン情報、制約条件から、パラメータのクラス分割をおこない、分析済みパラメータ情報を生成し、分析済みパラメータ情報のパラメータ情報のパラメータの型情報、パターン情報、制約条件から、パラメータのクラス分割をおこない、テストケース生成情報を生成し、テストケース生成情報のパラメータ情報のパラメータの型情報と、制約条件と、パラメータ情報の候補値とから、パラメータ値を定めた組合せを生成し、テストケースを生成する。   In order to solve the above problems, a test support apparatus according to the present invention includes a CPU, a storage unit, and a display unit, and implements a function by executing a program stored in the storage unit. The storage unit stores external specifications, analyzed parameter information, test case generation information, and test cases, and the external specifications and analyzed parameter information are parameters described by the software program to be tested. The parameter information of the parameter and the parameter information of the external parameter and analyzed parameter information includes the type information of the parameter and the pattern information that the parameter name can take. Test case generation information includes parameter information of parameters described in the software program to be tested. The parameter information of the test case generation information includes type information of the parameter and possible values that the parameter name can take, and the test case is a test target One or more combinations that define parameter values of parameters described in the software program are held. Then, parameter classification is performed from parameter type information, pattern information, and constraint conditions of external specification parameter information, and analyzed parameter information is generated. Parameter type information and pattern information of parameter information of analyzed parameter information , Classify parameters from constraint conditions, generate test case generation information, determine parameter values from parameter type information of parameter information of test case generation information, constraint conditions, and candidate values of parameter information Generated test combinations.

本発明によれば、設計仕様書を分析し、テスト設計段階で必要となる情報を抽出するとともに設計仕様書から得られるテスト対象の入力情報から、入力パターンを分析して、テスト実行に必要なテストケースを生成して、テスト実施者の労力を軽減することを可能とするテスト支援装置、および、テスト支援方法を提供することができる。   According to the present invention, the design specification is analyzed to extract information necessary in the test design stage, and the input pattern is analyzed from the input information of the test target obtained from the design specification so as to be necessary for the test execution. It is possible to provide a test support apparatus and a test support method that can generate a test case and reduce labor of a tester.

テスト支援装置の機能構成とデータフローを示す図である。It is a figure which shows the function structure and data flow of a test assistance apparatus. テスト支援装置のハードウェア構成図である。It is a hardware block diagram of a test support apparatus. 被テストプログラムのモデルを示す模式図である。It is a schematic diagram which shows the model of a to-be-tested program. テスト支援装置100による外部仕様の入力からテストケース生成までの処理を示すフローチャートである。4 is a flowchart showing processing from input of external specifications to test case generation by the test support apparatus 100. 外部仕様の一例を示す図である。It is a figure which shows an example of an external specification. 分析済みパラメータ情報の一例を示す図である。It is a figure which shows an example of analyzed parameter information. 分析済みパラメータ情報の補完入力画面を示す図である。It is a figure which shows the complementary input screen of analyzed parameter information. テストケース生成情報の一例を示す図である。It is a figure which shows an example of test case production | generation information. テストケースの一例を示す図である。It is a figure which shows an example of a test case. 外部仕様分析処理S302の詳細な処理を示すフローチャートである。It is a flowchart which shows the detailed process of external specification analysis process S302. テストケース生成情報生成処理S304の詳細な処理を示すフローチャートである。It is a flowchart which shows the detailed process of test case generation information generation process S304. 分析済みパラメータ情報からテストケース生成情報を生成する例を示す図である。It is a figure which shows the example which produces | generates test case production | generation information from analyzed parameter information. テストケース生成情報生成処理S305の詳細な処理を示すフローチャートである。It is a flowchart which shows the detailed process of test case generation information generation process S305. 外部仕様400、分析済みパラメータ情報500、テストケース生成情報600のデータ構造の概略をUML(Unified Modeling Language)のクラス図ライクに記述した図である。It is the figure which described the outline of the data structure of the external specification 400, the analyzed parameter information 500, and the test case production | generation information 600 in the class diagram like UML (Unified Modeling Language). テストケース生成処理に必要となる定義情報として、基本型情報定義と個別型情報定義を示した図である。It is a figure showing basic type information definition and individual type information definition as definition information required for test case generation processing. 生成したテストケースから、テスト実行までの処理を説明するフローチャートである。It is a flowchart explaining the process from the produced | generated test case to test execution.

以下、本発明の一実施形態に係るテスト支援装置について、図1ないし図16を用いて説明する。   A test support apparatus according to an embodiment of the present invention will be described below with reference to FIGS.

先ず、図1および図2を用いてテスト支援装置の構成について説明する。
図1は、テスト支援装置の機能構成とデータフローを示す図である。
図2は、テスト支援装置のハードウェア構成図である。
First, the configuration of the test support apparatus will be described with reference to FIGS. 1 and 2.
FIG. 1 is a diagram illustrating a functional configuration and a data flow of the test support apparatus.
FIG. 2 is a hardware configuration diagram of the test support apparatus.

テスト支援装置100は、図1に示されるように、各々のデータを格納する外部仕様格納部101、分析済みパラメータ情報格納部102、テストケース生成情報格納部103、テストケース格納部104、型情報定義格納部105、テストデータ格納部106、実行結果格納部107の格納部と、解析部111、変換部112、テストケース生成部113、テストデータ生成部114、テスト実行部115、および、ユーザからの情報を入力したり、各格納部の格納情報を表示する入出力部110から構成される。
なお、各格納部で格納される情報の詳細は、後に説明する。
As shown in FIG. 1, the test support apparatus 100 includes an external specification storage unit 101 for storing each data, an analyzed parameter information storage unit 102, a test case generation information storage unit 103, a test case storage unit 104, and type information. From the definition storage unit 105, the test data storage unit 106, the storage unit of the execution result storage unit 107, the analysis unit 111, the conversion unit 112, the test case generation unit 113, the test data generation unit 114, the test execution unit 115, and the user The input / output unit 110 is configured to input the information and display the storage information of each storage unit.
Details of the information stored in each storage unit will be described later.

解析部111は、型情報定義格納部105に格納されている型情報の定義と外部仕様格納部101に格納されている外部仕様を解析して、分析済みパラメータ情報を生成する機能部である。変換部112は、型情報定義を参照し、分析済みパラメータ情報を変換して、テストケース生成情報を生成する機能部である。テストケース生成部113は、型情報定義を参照し、テストケースを生成する機能部である。テストデータ生成部114は、テストケースとテストケース生成情報より、テストデータを生成する機能部である。テスト実行部115は、テストデータを入力し、被テスト対象のプログラムを実行することにより、実行結果のデータを生成し、実行結果格納部107に格納する機能部である。   The analysis unit 111 is a functional unit that analyzes the definition of the type information stored in the type information definition storage unit 105 and the external specification stored in the external specification storage unit 101 to generate analyzed parameter information. The conversion unit 112 is a functional unit that refers to the type information definition, converts the analyzed parameter information, and generates test case generation information. The test case generation unit 113 is a functional unit that generates a test case with reference to the type information definition. The test data generation unit 114 is a functional unit that generates test data from a test case and test case generation information. The test execution unit 115 is a functional unit that inputs test data, generates execution result data by executing a program to be tested, and stores the data in the execution result storage unit 107.

テスト支援装置100は、図2に示されるように、一般的なコンピュータ(電子計算機)の構造で実現することができる。テスト支援装置100は、CPU(Central Processing Unit)201、主メモリ202、表示I/F(Interface)203、入出力I/F204、補助記憶I/F205がバスにより接続された構成である。   As shown in FIG. 2, the test support apparatus 100 can be realized by the structure of a general computer (electronic computer). The test support apparatus 100 has a configuration in which a CPU (Central Processing Unit) 201, a main memory 202, a display I / F (Interface) 203, an input / output I / F 204, and an auxiliary storage I / F 205 are connected by a bus.

CPU201は、コンピュータの各部の制御や演算処理をするプロセッサであり、外部記憶装置であるHDD210から各種プログラムを主メモリ202にロードし、所定のプログラムを実行することにより上述の各処理部を実現する。主メモリ202は、半導体記憶装置からなる記憶装置であり、実行されるプログラムやワークデータを記憶する。表示I/F203は、LCD(Liquid Crystal Display)などの表示装置240を接続する部分である。入出力I/F204は、キーボード241やマウス242、プリンタなどを接続し、インタフェース処理をおこなう部分である。補助記憶I/F205は、HDD(Hard Disk Drive)210やSDD(Solid State Drive)などの外部記憶装置を接続し、インタフェース処理をおこなう部分である。   The CPU 201 is a processor that controls each part of the computer and performs arithmetic processing. The CPU 201 loads various programs from the HDD 210, which is an external storage device, into the main memory 202, and executes the predetermined programs to realize the above-described processing units. . The main memory 202 is a storage device composed of a semiconductor storage device, and stores programs to be executed and work data. A display I / F 203 is a part to which a display device 240 such as an LCD (Liquid Crystal Display) is connected. The input / output I / F 204 is a part that connects a keyboard 241, a mouse 242, a printer, and the like to perform interface processing. The auxiliary storage I / F 205 is a part that connects an external storage device such as an HDD (Hard Disk Drive) 210 or an SDD (Solid State Drive) and performs interface processing.

HDD210には、テスト支援プログラム220とテスト支援DB(Data Base)230が格納されている。   The HDD 210 stores a test support program 220 and a test support DB (Data Base) 230.

テスト支援プログラム220は、入出力プログラム221、解析プログラム222、変換プログラム223、テストケース生成プログラム224、テストデータ生成プログラム225、テスト実行プログラム226からなり、各々、図1で説明した入出力部110、解析部111、変換部112、テストケース生成部113、テストデータ生成部114、テスト実行部115に対応している。   The test support program 220 includes an input / output program 221, an analysis program 222, a conversion program 223, a test case generation program 224, a test data generation program 225, and a test execution program 226, each of which includes the input / output unit 110 described in FIG. This corresponds to the analysis unit 111, the conversion unit 112, the test case generation unit 113, the test data generation unit 114, and the test execution unit 115.

また、テスト支援DBには、外部仕様400、型情報定義(基本型情報定義1300、個別型情報定義1310:後述)、分析済みパラメータ情報500、データケース生成情報600、テストケース800、テストデータ900、実行結果1000が格納されている。   The test support DB includes an external specification 400, type information definition (basic type information definition 1300, individual type information definition 1310: described later), analyzed parameter information 500, data case generation information 600, test case 800, test data 900. The execution result 1000 is stored.

CPU201は、主メモリ202にロードされたプログラムを実行することにより、入出力部110、解析部111、変換部112、テストケース生成部113、テストデータ生成部114、テスト実行部115の各処理部をプロセスとして具現化する。   The CPU 201 executes each program of the input / output unit 110, the analysis unit 111, the conversion unit 112, the test case generation unit 113, the test data generation unit 114, and the test execution unit 115 by executing a program loaded in the main memory 202. Is embodied as a process.

上記所定のプログラムは、予めHDD210などの外部記憶装置に格納されていてもよいし、コンピュータが利用可能な可搬性を有する外部記憶媒体から読取装置を介して必要に応じて読み出されてもよい。あるいは、コンピュータが利用可能なネットワークまたはネットワーク上の通信装置を介して、接続された他のコンピュータから必要に応じてダウンロードされて外部記憶装置に格納されるものであってもよい。   The predetermined program may be stored in advance in an external storage device such as the HDD 210 or may be read out as necessary from a portable external storage medium that can be used by a computer via a reader. . Alternatively, it may be downloaded as necessary from another connected computer via a network that can be used by the computer or a communication device on the network and stored in an external storage device.

次に、具体的なテスト支援装置の処理について説明する前に、図3を用いて被テストプログラムのモデルについて簡単に説明する。
図3は、被テストプログラムのモデルを示す模式図である。
Next, before describing specific processing of the test support apparatus, a model of a program under test will be briefly described with reference to FIG.
FIG. 3 is a schematic diagram showing a model of the program under test.

被テストプログラムは、鉄道進路制御の設備制御をイメージしたモデルであり、鉄道の運行制御で列車の出発可否を、現在の在線位置や信号機の状態などの状況に応じて判断するプログラムである。1Rは制御対象の信号機であり、2R、3Rは、それぞれ1Rに競合する信号機を表している。また、ST、1T、…、4Tは、在線上の位置を表す軌道回路である。図3で「閉そく」とされている2T、3T、4Tは、信号機1Rが侵入を許可した場合に列車が進入可能な範囲を示している。   The program to be tested is a model that is an image of equipment control for railway route control, and is a program that determines whether or not a train can be departed according to railway operation control according to the current position of the line and the state of traffic lights. 1R is a traffic signal to be controlled, and 2R and 3R represent traffic signals that compete with 1R, respectively. ST, 1T,..., 4T are track circuits that represent positions on the standing line. In FIG. 3, 2T, 3T, and 4T indicated as “closed” indicate ranges in which the train can enter when the traffic light 1R permits entry.

実際の設備制御では、より細かな条件のもとで、関数の処理設計、実装がおこなわれる。以下の説明では、本実施形態では、簡易的な例を用いて説明するが、具体的に実装された関数や処理設計に対して適用してもよい。   In actual facility control, function processing design and implementation are performed under more detailed conditions. In the following description, the present embodiment will be described using a simple example, but may be applied to a specifically implemented function or processing design.

また、上記の設備制御に限らず、例えば金融や銀行の業務システムの構成モジュールであってもよいし、あるいは、システムの動作環境の組合せ(例えば、OS(Operation System)やブラウザ)などの設定情報であってもよい。   In addition to the above equipment control, for example, it may be a module for a business system of finance or bank, or setting information such as a combination of system operating environments (for example, OS (Operation System) or browser). It may be.

次に、図4を用いてテスト支援装置100による外部仕様の入力からテストケース生成までの処理について説明する。
図4は、テスト支援装置100による外部仕様の入力からテストケース生成までの処理を示すフローチャートである。
Next, the process from the input of the external specification to the test case generation by the test support apparatus 100 will be described with reference to FIG.
FIG. 4 is a flowchart showing processing from the input of the external specification to the test case generation by the test support apparatus 100.

テスト支援装置100は、先ず、ユーザ入力311を受け取り、外部仕様として外部仕様を外部仕様格納部101に格納する(S301)。なお、外部仕様の入力は、例えば、専用の設計ツールを用いてS301でおこなってもよいし、外部で作成された設計書を、例えば、ファイル入力等で取り込んでもよい。   First, the test support apparatus 100 receives the user input 311 and stores the external specification as an external specification in the external specification storage unit 101 (S301). The input of the external specification may be performed in S301 using a dedicated design tool, for example, or a design document created externally may be imported by, for example, file input.

次に、テスト支援装置100の解析部111は、外部仕様分析処理をおこない(S302)、分析済みパラメータ情報補完画面(後述)に、解析された分析済みパラメータ情報を提示して、ユーザ入力312を受取る。それにより、補完された分析済みパラメータ情報を分析済みパラメータ情報格納部102に格納する(S303)。   Next, the analysis unit 111 of the test support apparatus 100 performs an external specification analysis process (S302), presents the analyzed parameter information analyzed on the analyzed parameter information supplement screen (described later), and receives the user input 312. Receive. Thereby, the supplemented analyzed parameter information is stored in the analyzed parameter information storage unit 102 (S303).

それに基づいて、テスト支援装置100の変換部112は、テストケース生成情報を生成する(S304)。テストケース生成情報は、テストケース生成情報格納部103に格納される。   Based on this, the conversion unit 112 of the test support apparatus 100 generates test case generation information (S304). The test case generation information is stored in the test case generation information storage unit 103.

次に、テスト支援装置100のテストケース生成部113は、テストケース生成情報よりテストケースを生成する(S305)。生成されたテストケースは、テストケース格納部104に格納される。   Next, the test case generation unit 113 of the test support apparatus 100 generates a test case from the test case generation information (S305). The generated test case is stored in the test case storage unit 104.

次に、図5ないし図9を用いてテスト支援装置で扱うデータ構造について説明する。
図5は、外部仕様の一例を示す図である。
図6は、分析済みパラメータ情報の一例を示す図である。
図7は、分析済みパラメータ情報の補完入力画面を示す図である。
図8は、テストケース生成情報の一例を示す図である。
図9は、テストケースの一例を示す図である。
Next, the data structure handled by the test support apparatus will be described with reference to FIGS.
FIG. 5 is a diagram illustrating an example of external specifications.
FIG. 6 is a diagram illustrating an example of analyzed parameter information.
FIG. 7 is a diagram showing a complementary input screen for analyzed parameter information.
FIG. 8 is a diagram illustrating an example of the test case generation information.
FIG. 9 is a diagram illustrating an example of a test case.

外部仕様400は、ソフトウェアの外部仕様をパラメータとそれに関する制約条件で表したデータであり、図5に示されるように、外部仕様(パラメータ情報)401と、外部仕様(制約条件)410から構成される。   The external specification 400 is data that represents the external specification of the software with parameters and constraint conditions relating to the parameters. As shown in FIG. 5, the external specification 400 includes an external specification (parameter information) 401 and an external specification (constraint condition) 410. The

外部仕様(パラメータ情報)401は、設計対象となるソフトウェアの構成モジュールや関数にかかわるパラメータの情報を記述するためのテーブルであり、ID欄402、パラメータ名欄403、型欄404、IO欄405、配列欄406、パターン欄407から構成される。   An external specification (parameter information) 401 is a table for describing information on parameters related to software configuration modules and functions to be designed, and includes an ID column 402, a parameter name column 403, a type column 404, an IO column 405, It consists of an array column 406 and a pattern column 407.

ID欄401は、パラメータの識別子を示す欄である。パラメータ名欄403は、パラメータの名称を記載する欄である。型欄404は、パラメータの型(タイプ)情報を記載する欄である。IO欄405は、パラメータが入力、出力の何れか、あるいは、その双方で利用されるかを表す欄である。配列欄406は、そのパラメータが配列構造か、否かを示す欄である。パターン欄407は、パラメータが取り得るバリエーションを記載する欄である。   The ID column 401 is a column indicating parameter identifiers. The parameter name column 403 is a column that describes the name of the parameter. The type column 404 is a column that describes parameter type (type) information. The IO column 405 is a column that indicates whether the parameter is used for input, output, or both. The array column 406 is a column indicating whether or not the parameter is an array structure. The pattern column 407 is a column that describes variations that the parameter can take.

さらに、外部仕様(制約条件)410は、複数パラメータにまたがる制約条件を記載するためのテーブルであり、図5に示されるように、ID欄411、制約条件制約条件欄412から構成される。   Furthermore, the external specification (constraint condition) 410 is a table for describing a constraint condition that extends over a plurality of parameters, and includes an ID column 411 and a constraint condition constraint condition column 412 as shown in FIG.

ID欄411は、制約条件を識別するための識別子を示す欄である。制約条件欄412は、制約条件本体を記載するための欄である。   The ID column 411 is a column indicating an identifier for identifying a constraint condition. The constraint condition column 412 is a column for describing a constraint condition body.

制約条件本体の記述には、簡易的な文法が定められている。条件による実行を定める文は、if(条件)then(実行)とする。ここで、if,thenは、予約語である。パラメータの値は、${パラメータ名}で表す。また、条件の部分には、=,or,andなどの予約語により論理演算が可能になっている。   A simple grammar is defined for the description of the constraint body. A statement that determines execution based on a condition is if (condition) then (execution). Here, if and then are reserved words. The parameter value is represented by $ {parameter name}. In the condition part, logical operations can be performed using reserved words such as =, or, and.

また、図5のパラメータ名欄401では、パラメータ欄にインデントされた項目があるが、これは、パラメータ間の親子関係を表している。例えば、“閉そく”、“競合信号機”は、“監視対象”より、一段下げた列に記載されている。これは、“閉そく”、“競合信号機”が、“監視対象”の子パラメータであることを示している。このような、パラメータ間の親子関係は、例えば、プログラム実装上では、構造体やクラスのメンバ変数として実装すればよい。   Further, in the parameter name column 401 of FIG. 5, there are items indented in the parameter column, and this represents a parent-child relationship between parameters. For example, “closed” and “competing traffic signal” are listed in a row one level lower than “monitoring target”. This indicates that “close” and “competing signal” are child parameters of “monitoring target”. Such a parent-child relationship between parameters may be implemented, for example, as a member variable of a structure or a class in program implementation.

型欄404は、各パラメータが持つ型の種別を示している。型情報には、上記パラメータがどのような値を取り得るかを示し、整数や実数、時刻や、ソフトウェアごとに定められた固有の型情報を入力する。型情報の定義については、図14、図15を用いて、後述する。なお、本実施形態では、型情報に“監視対象”、“在線状態”などの名称を用いているが、C言語やJAVA(登録商標)言語等のプログラミング言語で用いられる型“int”,“char”などを用いてもよい。   The type column 404 indicates the type of type that each parameter has. The type information indicates what value the parameter can take, and an integer, real number, time, and unique type information determined for each software is input. The definition of the type information will be described later with reference to FIGS. In this embodiment, names such as “monitoring target” and “present line state” are used for the type information. However, types “int” and “int” used in programming languages such as C language and JAVA (registered trademark) language are used. char "or the like may be used.

IO欄405には、パラメータが設計対象に対し、入力情報として作用するか、出力情報として作用するか、あるいは、その双方かを記載する。図5では、“I”(Input:入力)、“O”(Output:出力)を表しており、入出力双方で利用する場合には、例えば、“I/O”と記載すればよい。   The IO column 405 describes whether the parameter acts as input information, output information, or both for the design object. In FIG. 5, “I” (Input: input) and “O” (Output: output) are shown, and when used for both input and output, for example, “I / O” may be described.

また、パラメータの格納先や参照先など、IO以外の情報を付与する場合には、単に“I”、“O”などと記載するだけでなく、付与したい情報に応じた識別子を設定してもよい。たとえば、実装された関数を対象とする場合、関数のパラメータとして渡す情報、関数内で参照する外部(グローバル変数)を区別したい場合には、例えば“(P)I”、“(G)I”などと記載し、IO情報欄に参照先の種別情報がわかるように記載してもよい。   In addition, when information other than IO, such as a parameter storage destination or a reference destination, is given, not only “I”, “O”, etc., but also an identifier corresponding to the information to be assigned may be set. Good. For example, in the case of targeting an implemented function, for example, “(P) I”, “(G) I” is used to distinguish information passed as a function parameter and external (global variable) referenced in the function. May be described so that the type information of the reference destination can be understood in the IO information column.

配列欄405は、パラメータが配列型か否かを示すために用いる情報であり、“○”が記載された項目は、そのパラメータが配列であることを示している。なお、固定長配列など、予め配列の長さが決められている場合には、配列欄405にその値を記載してもよい。   The array column 405 is information used to indicate whether or not the parameter is an array type, and an item in which “◯” is described indicates that the parameter is an array. When the length of the array is determined in advance, such as a fixed length array, the value may be written in the array column 405.

パターン欄407は、各パラメータがとりうる値のバリエーションを“、”区切りで記載する。例えば、“閉そく”という名称のパラメータには、パターン欄407に、“未在線、{進入中、収容中}”が記載されている。これは、“閉そく”の取りうる候補値のパターンとして、“未在線”と“{進入中、収容中}”のいずれかの場合があり得ることを示している。なお、“{進入中、収容中}”は、“{}”内に記載された候補値(この場合は“進入中”と“収容中”)のうち、一つの値をとることを示している。すなわち、“閉そく”は、入力パターンとして、“未在線”、“進入中”、“収容中”のいずれかの値をとり、外部仕様400では、“未在線”、“{進入中、収容中}”の二つのクラスに分割されることを示しているここで、「クラス」というのは、ソフトウェア開発の概念で使われる「同値クラス」であり、ソフトウェア動作として出力が同じようになるとみなせるパラメータのまとまりである。すなわち、“進入中”、“収容中”は、いずれの値をとってもテスト時の出力には影響しないことを意味する。   The pattern column 407 describes variations of values that each parameter can take, separated by “,”. For example, in the parameter named “closed”, “missing line, {entering, accommodating}” is described in the pattern column 407. This indicates that the pattern of candidate values that can be taken as “close” can be either “absent line” or “{entering, accommodating}”. Note that “{entering, accommodating}” indicates that one of the candidate values described in “{}” (in this case “entering” and “accommodating”) takes one value. Yes. That is, “closed” takes one of the values of “missing line”, “entering”, and “accommodating” as an input pattern. In the external specification 400, “not present line”, “{entering, accommodating” } ”Indicates that the class is divided into two classes, where“ class ”is an“ equivalent class ”used in the concept of software development and is a parameter that can be regarded as the same output as software operation It is a unity. That is, “entering” and “accommodating” mean that any value does not affect the output during the test.

“競合信号機”や“列番”に記載された“@Another”、“@Valid”や“@Invalid”は、それぞれ、“その他の値”、“有効な値”、“無効な値”を表す予約語であり、外部仕様の設計段階では決定できない場合に、テストにおけるパターンを記述するために用いる。   “@Another”, “@Valid”, and “@Invalid” described in “Contest signal” and “Column number” respectively represent “other value”, “valid value”, and “invalid value”. It is a reserved word and is used to describe a pattern in a test when it cannot be determined at the design stage of external specifications.

その他、パターン欄407には、プログラム実装上のNULL値を表す“@Null”や配列の長さのバリエーションを表するための“@Length”、あるいは、任意の値をとることを示す“@Any”など、事前に予約語を定めることで、所定の情報を記載できるようにしてもよい。   In addition, in the pattern column 407, “@Null” representing a NULL value in program implementation, “@Length” representing a variation in the length of the array, or “@Any” indicating that an arbitrary value is taken. The predetermined information may be described by defining a reserved word in advance.

先ず、ID欄3のパラメータ名403が“競合信号機”のパターン欄407の表記の“all $x are R”は、配列である競合信号機403の全ての要素の値が、R(赤信号)であることを意味している。   First, “all $ x area R” described in the pattern field 407 of the parameter name 403 of the ID field 3 “competitive traffic signal” has values of all elements of the competitive traffic signal 403 being an array as R (red signal). It means that there is.

また、ID欄8のパラメータ名403が“在線時間”のパターン欄407のように、等号、不等号によりとり得る範囲を表すことも可能である。   In addition, the parameter name 403 in the ID column 8 can represent a range that can be taken by an equal sign or an inequality sign as in the pattern column 407 of the “remaining time”.

さらに、ID欄8のパラメータ名403が“出力”のパターン欄407のTrue,Falseは、真偽を表す予約語である。   Furthermore, True and False in the pattern column 407 in which the parameter name 403 in the ID column 8 is “output” are reserved words representing true / false.

外部仕様(制約条件)410内の制約条件欄412欄には、パラメータ間の制約関係を記載する。図5の例(ID欄411が“1”の場合)では、対象列車の在線位置の長さが“1”でないとき、対象列車の在線時間は“0”であることを示している。   The constraint condition column 412 in the external specification (constraint condition) 410 describes the constraint relationship between parameters. In the example of FIG. 5 (when the ID column 411 is “1”), when the length of the track position of the target train is not “1”, the track time of the target train is “0”.

なお、”.”は、パラメータ名欄403の説明のときに言及したパラメータ間の親子関係を示しており、例えば、“対象列車.在線位置.@Length”は、“対象列車”の子パラメータである“在線位置”の“長さ”であることを示している。   Note that “.” Indicates the parent-child relationship between the parameters mentioned in the description of the parameter name field 403. For example, “target train.remaining line position. @ Length” is a child parameter of “target train”. It shows that it is the “length” of a certain “present line position”.

次に、図6に示される分析済みパラメータ情報500は、外部仕様400を解析した結果得られる情報であり、分析済みパラメータ情報(パラメータ情報)501と、分析済みパラメータ情報(制約条件)510から構成される。   Next, the analyzed parameter information 500 shown in FIG. 6 is information obtained as a result of analyzing the external specification 400, and is composed of analyzed parameter information (parameter information) 501 and analyzed parameter information (constraint conditions) 510. Is done.

分析済みパラメータ情報(パラメータ情報)501は、外部仕様(パラメータ情報)401と同様に、ID欄502、パラメータ名欄503、型欄504、IO欄505、配列欄506、パターン欄507から構成される。   The analyzed parameter information (parameter information) 501 includes an ID column 502, a parameter name column 503, a type column 504, an IO column 505, an array column 506, and a pattern column 507, like the external specification (parameter information) 401. .

分析済みパラメータ情報500は、外部仕様400と同様のデータ構造を有するが、テスト支援装置は、図4の外部仕様分析処理S303の処理結果として、外部仕様400からテストケース生成時に必要な情報の抽出し、クラス分割が不十分なパラメータのクラス分割がおこなわれた結果を、図7に示されたパラメータ情報補完画面を表示して、ユーザにパラメータ情報の補完入力を求める。パラメータ情報補完画面では、表形式でパラメータ情報を表示し、ユーザに補完を求める欄に太枠を表示したり、あるいは、セルの背景色を変える、セルを点滅表示させるなどにより、ユーザに入力を促す。   The analyzed parameter information 500 has a data structure similar to that of the external specification 400, but the test support apparatus extracts information necessary for generating a test case from the external specification 400 as a processing result of the external specification analysis processing S303 in FIG. Then, the parameter information complementing screen shown in FIG. 7 is displayed on the result of the class division of the parameter with insufficient class division, and the user is prompted for the complementary input of the parameter information. On the parameter information completion screen, parameter information is displayed in tabular form, and the user is requested to input by displaying a thick frame in the column that asks the user for completion, or by changing the cell background color or blinking the cell. Prompt.

なお、図6に示された分析済みパラメータ情報500では、パラメータ情報の補完入力を求める部分は、太枠で表示している。   In the analyzed parameter information 500 shown in FIG. 6, the part for requesting complementary input of parameter information is displayed with a thick frame.

例えば、図6の分析済みパラメータ情報500では、図5の外部仕様400に対し、ID欄502の“3a”、“6a”のパラメータ名“@Length”のレコードが追加されている。これは、対応する親要素の“競合信号機”、“在線位置”が配列情報であるため、テスト実行時には、配列の長さを特定し、具体的なデータを割り当てる必要があるため、ユーザに入力が促されるものである。   For example, in the analyzed parameter information 500 of FIG. 6, a record of the parameter name “@Length” of “3a” and “6a” in the ID column 502 is added to the external specification 400 of FIG. This is because the corresponding parent element's “competing signal” and “present line position” are array information, so it is necessary to specify the length of the array and assign specific data when executing the test. Is encouraged.

また、ID欄502が“11”の“現在時刻”がパラメータ名に追加されているが、これらは、外部仕様(制約条件)410より、パラメータ名欄407に存在しないパラメータの記述が${現在時刻}として制約条件に記載されているためである(ID欄411が“2”の制約条件412を参照)。   In addition, “current time” in which the ID column 502 is “11” is added to the parameter name. However, according to the external specification (constraint condition) 410, the description of the parameter that does not exist in the parameter name column 407 is $ {current This is because it is described in the constraint condition as “time” (see the constraint condition 412 in which the ID column 411 is “2”).

また、例えば“@Another”(“競合信号機”のパラメータ欄)等の抽象的なパターンが記述された場合や空欄(“在線位置”等)の場合に、パターン入力、あるいは、具体的な候補値の割当てが必要であることを示しており、入力された値は、{}の部分に反映される。   Also, for example, when an abstract pattern such as “@Another” (parameter field of “competition signal”) is described or blank (“present line position” etc.), pattern input or a specific candidate value Is necessary, and the input value is reflected in the {} part.

そして、テスト支援装置100は、ユーザが具体値、あるいは、データパターンの入力を行った結果に対し、テストケース生成情報生成処理(S304)を実行する。   Then, the test support apparatus 100 executes a test case generation information generation process (S304) on the result of the user inputting a specific value or a data pattern.

また、図6の分析済みパラメータ情報(パラメータ情報)501のパラメータが“在線時間”のレコードのパターン欄507は、図4の外部仕様400の“在線時間”のレコードのパターン欄407の記述が異なっている。これは、外部仕様400のパラメータのクラス分割が不十分である場合に、外部仕様分析処理S302によって、クラス分けが補充された結果である。   6 is different from the description in the pattern column 407 of the record of “remaining time” in the external specification 400 of FIG. 4 in the pattern column 507 of the record whose parameter of the analyzed parameter information (parameter information) 501 in FIG. ing. This is a result of the classification being supplemented by the external specification analysis process S302 when the parameter classification of the external specification 400 is insufficient.

以上の説明では、分析済みパラメータ情報500が生成された段階(S302の後)で具体値の入力を促しているが、具体値の入力は必須ではない。この場合、S304のテストケース生成処理までは抽象的なパターン名(@Valid)が用いられる。そのため、テスト実行前(テストケース生成後)に、実行可能な具体値の割り当てをおこなえばよい。   In the above description, the input of the specific value is prompted at the stage where the analyzed parameter information 500 is generated (after S302), but the input of the specific value is not essential. In this case, an abstract pattern name (@Valid) is used until the test case generation process of S304. Therefore, an executable specific value may be assigned before test execution (after test case generation).

次に、図8に示されるテストケース生成情報600は、ユーザにより情報を補完された分析済みパラメータ情報500を変換して得られる情報であり、テストケース生成情報(パラメータ情報)601と、テストケース生成情報(制約条件)610から構成される。テストケース生成情報600は、次の工程であるテストケース800を生成するための元データとなる情報である。   Next, the test case generation information 600 shown in FIG. 8 is information obtained by converting the analyzed parameter information 500 supplemented by the user, and includes test case generation information (parameter information) 601 and test cases. It consists of generated information (constraint conditions) 610. The test case generation information 600 is information serving as original data for generating a test case 800 that is the next step.

テストケース生成情報601(パラメータ情報)は、ID欄602、パラメータ名欄603、型欄604、IO欄605、候補値欄606から構成される。   The test case generation information 601 (parameter information) includes an ID column 602, a parameter name column 603, a type column 604, an IO column 605, and a candidate value column 606.

ID欄602、パラメータ名欄603、型欄604、IO欄605は、それぞれ分析済みパラメータ情報(パラメータ情報)501のID欄502、パラメータ名欄503、型欄504、IO欄505、配列欄506、パターン欄507に対応する。候補値欄606は、分析済みパラメータ情報500に基づいて、パラメータが取り得る候補値を格納する欄である。   An ID column 602, a parameter name column 603, a type column 604, and an IO column 605 are respectively an ID column 502, a parameter name column 503, a type column 504, an IO column 505, an array column 506 of the analyzed parameter information (parameter information) 501. This corresponds to the pattern field 507. The candidate value column 606 is a column that stores candidate values that the parameter can take based on the analyzed parameter information 500.

また、テストケース生成情報(制約条件)610は、ID欄611、制約条件欄612から構成される。   The test case generation information (constraint condition) 610 includes an ID column 611 and a constraint condition column 612.

ID欄611は、制約条件の識別情報を一意に特定する識別子を示す欄である。制約条件欄612は、テストケース生成時に用いるパラメータ間の制約条件を記載する欄である。   The ID column 611 is a column indicating an identifier for uniquely identifying the constraint condition identification information. The constraint condition column 612 is a column that describes the constraint condition between parameters used when generating a test case.

上記のごとく、図8に示したテストケース生成情報600は、外部仕様400、および、分析済みパラメータ情報500と同様の書式を有している。しかしながら、テストケース生成情報600では、パラメータ名欄603は、外部仕様400、分析済みパラメータ情報500とは異なり、階層化されておらず、代わりに、“.”を用いて、パラメータ間の親子関係(クラスのメンバ変数など)を表している。   As described above, the test case generation information 600 shown in FIG. 8 has the same format as the external specification 400 and the analyzed parameter information 500. However, in the test case generation information 600, the parameter name field 603 is not hierarchized unlike the external specification 400 and the analyzed parameter information 500, and instead of “.”, A parent-child relationship between parameters is used. (For example, a member variable of a class).

また、例えば、ID欄602が“6−1”“6−2”のパラメータ名が“在線位置”というパラメータが配列であるために、配列の要素ごとに値を割り振って、配列の長さ分のパラメータを生成している。この例では、“在線位置”に対し、二つ分のパラメータを生成しているが、これは、ユーザ入力311による分析済みパラメータ情報の入力(S304)により、“@Lenghth”として最大で“2”を持つパターンが入力された場合を示している。   Further, for example, since the parameter whose ID column 602 is “6-1” and “6-2” and whose parameter name is “position position” is an array, a value is assigned to each element of the array, and the length of the array The parameters are generated. In this example, two parameters are generated with respect to the “present line position”. This is based on the input of the analyzed parameter information by the user input 311 (S304), and the maximum is “2” as “@Length”. This shows a case where a pattern having “” is input.

以上のテストケース生成情報への変換は、テストケース生成処理S305において、各パラメータを階層化していない情報として扱うことに対応するため、また、配列データに対し、配列の要素ごとに具体的なデータ割当てをおこなうための処理である。なお、“競合信号機”というパラメータ名のパラメータも配列であるが、型情報の違い(集合型であるため)により、本例では長さ分のデータを生成しない。   The above conversion to test case generation information corresponds to handling each parameter as non-hierarchical information in the test case generation processing S305, and for the array data, specific data for each element of the array This is a process for assigning. Note that the parameter with the parameter name “competitive signal” is also an array, but due to the difference in type information (because it is a set type), data for the length is not generated in this example.

また、テストケース生成情報(制約条件)610には、ID(ID欄611)が“3”の制約条件等が追加されている。これらは、パラメータの親子関係や、配列の長さを考慮した適切なテストケース生成をおこなうための制約条件である。例えば、親子関係を有するパラメータに対し、親パラメータがNULL値の場合に、子パラメータが値を持たないようにする、あるいは同様に、配列の長さ情報にバリエーションがある場合に、長さ以上の配列の要素に値を持たせないようにする(例えば、配列の長さが“1”,“2”の二つの値をとる場合に、長さ“1”の場合に2番目の配列データに値を割りあてないようにする)、などの無効なテストケースが生成されないようにするためである。   In addition, a constraint condition with ID (ID column 611) “3” is added to the test case generation information (constraint condition) 610. These are constraints for generating an appropriate test case considering the parent-child relationship of parameters and the length of the array. For example, for a parameter having a parent-child relationship, if the parent parameter is a NULL value, the child parameter has no value, or, similarly, if there is a variation in the length information of the array, the length is greater than the length. Do not give values to the elements of the array (for example, when the array length takes two values “1” and “2”, if the length is “1”, the second array data This is to prevent invalid test cases from being generated.

次に、図9に示されるテストケース800は、テストケース生成処理S305の結果得られるデータであり、実際のソフトウェアテストの元データとなるものである。テストケース生成処理S305では、テストケース生成情報600から入力パラメータの候補値の組合せを生成することにより、テストケースの生成をおこなう。   Next, the test case 800 shown in FIG. 9 is data obtained as a result of the test case generation processing S305, and is the original data of the actual software test. In the test case generation process S305, a test case is generated by generating a combination of input parameter candidate values from the test case generation information 600.

テストケース800は、図9に示されるように、ID欄801、パラメータ名欄802、型欄803、IO欄804、テストケース欄805から構成される。   As shown in FIG. 9, the test case 800 includes an ID column 801, a parameter name column 802, a type column 803, an IO column 804, and a test case column 805.

ID欄801は、パラメータの識別子を示す欄である。パラメータ名欄802は、パラメータの名称を記載する欄である。型欄803は、パラメータの型情報を記載する欄である。IO欄804は、パラメータが入力か出力かをあらわす欄である。テストケース欄805は、各々のテストケース(パラメタ毎にとる値を定めたもの)を記載する欄である。   The ID column 801 is a column indicating parameter identifiers. The parameter name column 802 is a column that describes the name of the parameter. The type column 803 is a column that describes parameter type information. The IO column 804 is a column indicating whether the parameter is input or output. The test case column 805 is a column that describes each test case (a value determined for each parameter).

例えば、テストケース欄805のサブ1欄には、パラメータ名“競合信号機”のパラメータの値が、@Notnullであり、パラメータ名“監視対象.閉そく”のパラメータの値が、未在線であり、…ということを意味する。   For example, in the sub-field 1 of the test case column 805, the parameter value of the parameter name “competing signal” is @Notnull, the parameter value of the parameter name “monitoring target. It means that.

次に、図10を用いて外部仕様分析処理S302の詳細について説明する。
図10は、外部仕様分析処理S302の詳細な処理を示すフローチャートである。
Next, details of the external specification analysis processing S302 will be described with reference to FIG.
FIG. 10 is a flowchart showing detailed processing of the external specification analysis processing S302.

外部仕様分析処理S302は、前述の通り、解析部111において実行される処理であった。   The external specification analysis process S302 is a process executed in the analysis unit 111 as described above.

先ず、まず、外部仕様(パラメータ情報)401を対象に、全てのパラメータを順次分析し、パラメータ単位の分析処理(S902)、パラメータ単位のクラス分割処理(S903)、パターン情報の分析処理(S904)をおこなう(S901〜S905)。   First, all parameters are analyzed sequentially for the external specification (parameter information) 401, parameter unit analysis processing (S902), parameter unit class division processing (S903), pattern information analysis processing (S904). (S901 to S905).

ここで、パラメータ単位の分析処理(S902)では、配列欄506に“○”が記載されている場合(可変長配列である場合)に、配列の長さ情報を表す“@Length”をパラメータ情報に追加する。また、IO欄405にI/O(入力と出力双方で用いるパラメータ)の場合に、当該パラメータを“I”(入力)と“O”(出力)の二つのパラメータに分割する。   Here, in the parameter unit analysis process (S902), when “◯” is described in the array column 506 (in the case of a variable length array), “@Length” representing the length information of the array is set as the parameter information. Add to. Further, when the IO column 405 is I / O (parameter used for both input and output), the parameter is divided into two parameters of “I” (input) and “O” (output).

また、パラメータ単位のクラス分割処理(S903)では、パターン欄407に記載されたパターンのクラス分割が不十分である場合に、型欄404に記載された型情報に基づき、クラス分割処理をおこなう。   Further, in the class division processing in parameter units (S903), when the class division of the pattern described in the pattern column 407 is insufficient, the class division processing is performed based on the type information described in the type column 404.

さらに、パターン情報の分析処理(S904)は、パターン欄407内に、例えば“@Valid”、“@Invalid”などの抽象的なパターンが記述されているか否かの分析をおこなう。   Further, the pattern information analysis process (S904) analyzes whether or not an abstract pattern such as “@Valid” or “@Invalid” is described in the pattern column 407, for example.

次に、外部仕様(制約条件)410を分析し、制約条件欄412を順次読込み、外部仕様(パラメータ情報)401に記載されていないパラメータが記述されている場合には、その項目の抽出をおこなう(S907)(S906〜S908)。   Next, the external specification (constraint condition) 410 is analyzed, the constraint condition column 412 is sequentially read, and if a parameter not described in the external specification (parameter information) 401 is described, the item is extracted. (S907) (S906 to S908).

最後に、S908までの処理結果から、分析済みパラメータ情報500として整形し、生成する(S909)。その際には、S904で抽出されたパラメータのパターン欄507、S907で追加されたパラメータ、および、パターン欄507に記述がない欄を、補完を要するデータとして認識し、テスト支援装置100は、図7に示したパラメータ情報補完画面を表示するときには、強調表示をおこなう。   Finally, the analyzed parameter information 500 is shaped and generated from the processing results up to S908 (S909). In that case, the parameter column 507 of the parameter extracted in S904, the parameter added in S907, and the column that is not described in the pattern column 507 are recognized as data that needs to be complemented. When the parameter information complement screen shown in FIG. 7 is displayed, highlighting is performed.

次に、図11および図12を用いてテストケース生成情報生成処理S304の詳細について説明する。
図11は、テストケース生成情報生成処理S304の詳細な処理を示すフローチャートである。
図12は、分析済みパラメータ情報からテストケース生成情報を生成する例を示す図である。
Next, details of the test case generation information generation processing S304 will be described with reference to FIGS.
FIG. 11 is a flowchart showing detailed processing of the test case generation information generation processing S304.
FIG. 12 is a diagram illustrating an example of generating test case generation information from analyzed parameter information.

テストケース生成情報生成処理S304は、テスト支援装置100の変換部112で実行される処理であり、分析済みパラメータ情報500から、テストケース生成情報600を生成する処理であった。   The test case generation information generation process S304 is a process executed by the conversion unit 112 of the test support apparatus 100, and is a process for generating the test case generation information 600 from the analyzed parameter information 500.

先ず、テストケース生成情報生成処理S304では、全てのパラメータを順次読込み、パラメータ情報の変換(S1002)、配列データの生成(S1003)、パラメータ単位のクラス分割処理(S1004)、および、制約条件の追加(S1005)をおこなう(S1001〜S1006)。   First, in the test case generation information generation process S304, all parameters are read sequentially, parameter information conversion (S1002), array data generation (S1003), parameter unit class division process (S1004), and addition of constraint conditions (S1005) is performed (S1001 to S1006).

パラメータ情報の変換(S1002)では、パラメータの親子間の関係から、パラメータ名の変換をおこなう。すなわち、親パラメータから当該パラメータまでを“.”でつなぐことよりテストケース生成情報600のパラメータ名に変換する。   In the parameter information conversion (S1002), the parameter name is converted from the relationship between the parent and child of the parameter. That is, the parameter name of the test case generation information 600 is converted by connecting the parent parameter to the parameter with “.”.

次に、親子間の関係からパターンに候補値の追加をおこなう。具体的には、子パラメータが何らかの値を持つことが明らかな場合に、NULL値でないことをあらわす“@NotNull”を追加する。また、親パラメータが“@Null”などの値を持たないパターンが含まれている場合、当該パラメータが値を持たないことを示す“@Vain”を追加する。次に、配列データの生成(S1003)では、パラメータが配列データである場合に、パターン欄507に与えられた長さの最大値分、パラメータを生成する。   Next, candidate values are added to the pattern based on the relationship between the parent and child. More specifically, when it is clear that the child parameter has some value, “@NotNull” indicating that it is not a NULL value is added. If the parent parameter includes a pattern having no value such as “@Null”, “@Vain” indicating that the parameter does not have a value is added. Next, in the generation of array data (S1003), when the parameter is array data, the parameter is generated for the maximum length given to the pattern column 507.

パラメータ単位のクラス分割処理(S1004)は、外部仕様分析処理S302における、パラメータ単位のクラス分割処理(S903)と同じである。このテストケース生成情報生成処理においてもクラス分割処理がおこなわれるのは、ユーザ入力311による分析済みパラメータ情報への入力(S304)のときに、パターン欄507に追加入力されたパターンに対し、クラス分割処理をおこなうためである。   The parameter unit class division processing (S1004) is the same as the parameter unit class division processing (S903) in the external specification analysis processing S302. The class division process is also performed in this test case generation information generation process. The class division process is performed for the pattern additionally input to the pattern column 507 when the user input 311 is input to the analyzed parameter information (S304). This is for processing.

制約条件の追加(S1005)では、親パラメータが“@Null”などの値を持たない場合に、子パラメータが値を持たないことを表す“@Vain”を取ること、配列の長さ以上の配列要素に対し、当該パラメータが“@Vain”となることを、制約条件に追加する。   In addition of the constraint condition (S1005), when the parent parameter does not have a value such as “@Null”, “@Vain” indicating that the child parameter does not have a value is taken, or an array longer than the length of the array It is added to the constraint that the parameter is “@Vain” for the element.

図8に示されるテストケース生成情報(制約条件)610の例では、ID欄611が3のレコードに対して、“在線位置”の長さが“1”のときに、在線位置の2番目の配列要素“対象列車.在線位置[1]”が“@Vain”となる制約条件を追加した例を示している。   In the example of the test case generation information (constraint condition) 610 shown in FIG. 8, when the length of the “remaining line position” is “1” for the record whose ID column 611 is 3, the second existing line position is displayed. An example is shown in which a constraint condition in which the array element “target train. Existing line position [1]” is “@Vain” is added.

次のS1007からS1009の処理では、前記S1001からS1006までの処理結果に合わせ、制約条件の変換をおこなう。本処理では、配列データに対して制約条件が記述されている場合に、配列データ分の制約条件の複製などをおこなう。   In the next processing from S1007 to S1009, the constraint conditions are converted in accordance with the processing results from S1001 to S1006. In this process, when the constraint condition is described for the array data, the constraint condition for the array data is copied.

次に、パラメータ間のクラス分割処理をおこなう(S1010)(詳細は、後述)。   Next, class division processing between parameters is performed (S1010) (details will be described later).

最後に、分析済みパラメータ情報500から変換の結果、得られた情報をテストケース生成情報600として出力する(S1011)。   Finally, information obtained as a result of conversion from the analyzed parameter information 500 is output as test case generation information 600 (S1011).

S1010のパラメータ間のクラス分割処理では、分析済みパラメータ情報500のパターン507に基づいて、テストケース生成情報(パラメータ情報)601の候補値欄606の候補値が生成できるようにパラメータの置き換えをおこなう。以下、その具体例を、図12のケースを例にとり説明する。   In the class dividing process between parameters in S1010, parameters are replaced so that candidate values in the candidate value column 606 of the test case generation information (parameter information) 601 can be generated based on the pattern 507 of the analyzed parameter information 500. A specific example will be described below taking the case of FIG. 12 as an example.

図12に示される例におけるパラメータ間のクラス分割処理(S1010)では、分析済みパラメータ情報700のパラメータP0の子パラメータであるP01、P02、P03、P04に対し、分析済みパラメータ情報(制約条件)702に記載された情報に基づいて、テストケース生成情報710を生成する例を示している。   In the class division processing between parameters in the example shown in FIG. 12 (S1010), analyzed parameter information (constraint conditions) 702 is applied to P01, P02, P03, and P04 that are child parameters of the parameter P0 of the analyzed parameter information 700. The example which produces | generates the test case production | generation information 710 based on the information described in this is shown.

図12に示されるように、分析済みパラメータ情報(制約条件)702のパターン欄に値が定義されていない。この場合、分析済みパラメータ情報(制約条件)702を分析し、関連する制約条件を抽出し、制約条件からテストケース生成用に擬似パラメータ(図12のA,B,C)を生成し、分析済みパラメータ情報(制約条件)702から得られるパターン、および、パラメータ間の制約関係を、それぞれテストケース生成情報(パラメータ情報)711の擬似パラメータの候補値欄と、テストケース生成情報(制約条件)712の制約条件欄に追加する。   As shown in FIG. 12, no value is defined in the pattern field of the analyzed parameter information (constraint condition) 702. In this case, analyzed parameter information (constraint condition) 702 is analyzed, related constraint conditions are extracted, and pseudo parameters (A, B, and C in FIG. 12) are generated from the constraint conditions for analysis. The pattern obtained from the parameter information (constraint condition) 702 and the constraint relation between the parameters are shown in the pseudo parameter candidate value column of the test case generation information (parameter information) 711 and the test case generation information (constraint condition) 712, respectively. Add to the constraint field.

図12に示される例では、分析済みパラメータ情報(制約条件)702の最初に、${P1}+${P3}<10という条件式が存在するが、パラメータ名P0のレコードのパターン欄、パラメータ名P3のレコードのパターン欄には値が定義されていない。そこで、テストケース生成情報(制約条件)712のID欄が2のレコードに示されるように、新しいパラメータとして、A=P0.P1+P0.P3を生成する。これにより、問題としている条件式に等価な条件式は、A<10となり、Aに対するテストケース生成情報における候補値としては、<10の場合、≧10の場合が生成される(テストケース生成情報(パラメータ情報)711のID欄が1のレコード)。同様に、B=P0.P1+P0.P2、C=P0.P2+P0.P3が導入され、条件式にあったように、テストケース生成情報における候補値が生成される。   In the example shown in FIG. 12, there is a conditional expression $ {P1} + $ {P3} <10 at the beginning of the analyzed parameter information (constraint condition) 702, but the pattern field and parameter of the record with the parameter name P0 No value is defined in the pattern field of the record of name P3. Therefore, as the ID column of the test case generation information (constraint condition) 712 is shown in the record 2, A = P 0. P1 + P0. P3 is generated. Thus, the conditional expression equivalent to the conditional expression in question is A <10, and as a candidate value in the test case generation information for A, a case of ≧ 10 is generated when <10 (test case generation information) (Parameter information) Record whose ID column of 711 is 1). Similarly, B = P0. P1 + P0. P2, C = P0. P2 + P0. P3 is introduced, and the candidate value in the test case generation information is generated as in the conditional expression.

なお、上記のように、テストケース生成情報の生成時にパラメータに具体値が設定されていない場合には、テストケース生成前に、警告メッセージを出力する等、事前にユーザにテストケース生成の実施要否をたずねるなどしてもよい。また、上記の処理でも、候補値が未定となるパラメータが存在する場合には、エラーメッセージを表示し、処理を中止する、あるいは、警告メッセージを表示したうえで、生成可能な範囲でテストケースの生成を行ってもよい。   As described above, if no specific value is set for the parameter when generating test case generation information, a warning message is output before the test case is generated. You may ask no. Even in the above process, if there is a parameter whose candidate value is undetermined, an error message is displayed, the process is stopped, or a warning message is displayed. Generation may be performed.

次に、図13を用いてテストケース生成処理S305の詳細について説明する。
図13は、テストケース生成情報生成処理S305の詳細な処理を示すフローチャートである。
Next, details of the test case generation process S305 will be described with reference to FIG.
FIG. 13 is a flowchart showing detailed processing of the test case generation information generation processing S305.

テストケース生成処理S305は、テスト支援装置100のテストケース生成部113において実行される処理であった。   The test case generation process S305 is a process executed in the test case generation unit 113 of the test support apparatus 100.

テストケース生成処理305では、テストケース生成情報(パラメータ情報)601より、IO欄605が入力(“I”)であるパラメータごとに候補値を選び、パラメータの候補値の組合せを生成する(S1101)。次に、選んだパラメータの候補値の組合せが、テストケース生成情報(制約条件)610の制約条件を満たすか否かをチェックする(S1102)。制約条件を満たす場合(S1103:満たす)、S1101で生成したパラメータの候補値の組合せをテストケースとして登録し、テストケースの生成基準に準拠するか否かのチェックをおこなう(S1104)。   In the test case generation process 305, candidate values are selected from the test case generation information (parameter information) 601 for each parameter whose IO column 605 is input (“I”), and a combination of parameter candidate values is generated (S1101). . Next, it is checked whether the combination of candidate values of the selected parameter satisfies the constraint condition of the test case generation information (constraint condition) 610 (S1102). When the constraint condition is satisfied (S1103: Satisfaction), the combination of parameter candidate values generated in S1101 is registered as a test case, and it is checked whether or not the test case generation criteria are complied with (S1104).

生成されたテストケース群がテストケース基準を満たす場合(S1105:満たす)には、テストケース800を生成する(S1106)。   When the generated test case group satisfies the test case criteria (S1105: Satisfies), the test case 800 is generated (S1106).

制約条件を満たさない場合(S1103:満たさない)、生成されたテストケース群がテストケース基準を満たさない場合(S1105:満たさない)には、S1101に戻り、再度、パラメータの候補値の組合せを生成する。   If the constraint condition is not satisfied (S1103: not satisfied), and if the generated test case group does not satisfy the test case criteria (S1105: not satisfied), the process returns to S1101, and a combination of parameter candidate values is generated again. To do.

ここで、制約条件のチェックは、例えば、SAT(SATisfiability problem) SolverやSMT(Satisfiability Modulo Theories) Solverなどを用いて制約条件を満たすかのチェックが可能である。   Here, the constraint condition can be checked by checking whether the constraint condition is satisfied using, for example, SAT (SATisfiability problem) Solver or SMT (Satisfiability Modulo Theories) Solver.

テストケースの生成基準は、生成されたテストケースの数や、パラメータの候補値の組合せの網羅率など、テストの設計基準に応じて予め設定しておけばよい。なお、パラメータの候補値の組合せを考慮したテストケース基準として、n−wiseカバレッジが知られている。n−wiseカバレッジを満たすテストケース生成方法をn−wise法と呼び、様々なテストケース生成方法が知られている。図13に示したテストケース生成処理S305は、これらn−wise法のテストケース生成方法を用いてもよい。また、n−wise法には、パラメータに優先度を考慮してテストケースを生成する方法や、パラメータをグループ化し、グループごとに網羅率を設定するなどの応用方式が知られている。分析済みパラメータ情報(パラメータ情報)501にパラメータの優先度やグループ分けの情報を追加する欄を設けることにより、これらの応用方式を用いてもよい。さらに、上記のテストケース生成処理S305の説明や、一般的なn−wise法では、出力パラメータを考慮していないが、例えば、出力パラメータを考慮した方式(特許文献2など)を用いてもよい。   Test case generation criteria may be set in advance according to test design criteria such as the number of test cases generated and the coverage of combinations of parameter candidate values. Note that n-wise coverage is known as a test case reference in consideration of combinations of parameter candidate values. A test case generation method satisfying n-wise coverage is called an n-wise method, and various test case generation methods are known. The test case generation process S305 shown in FIG. 13 may use these n-wise test case generation methods. In addition, n-wise methods are known in which test cases are generated in consideration of the priority of parameters, and application methods such as grouping parameters and setting a coverage ratio for each group are known. These application methods may be used by providing columns for adding parameter priority and grouping information to the analyzed parameter information (parameter information) 501. Furthermore, in the description of the test case generation process S305 and the general n-wise method, output parameters are not considered, but for example, a method (such as Patent Document 2) that considers output parameters may be used. .

次に、図14、図15を用いて、本実施形態の説明に採用した外部仕様400、分析済みパラメータ情報500、テストケース生成情報600のデータ構造の詳細を説明する。
図14は、外部仕様400、分析済みパラメータ情報500、テストケース生成情報600のデータ構造の概略をUML(Unified Modeling Language)のクラス図ライクに記述した図である。
図15は、テストケース生成処理に必要となる定義情報として、基本型情報定義と個別型情報定義を示した図である。
Next, details of the data structure of the external specification 400, the analyzed parameter information 500, and the test case generation information 600 employed in the description of the present embodiment will be described with reference to FIGS.
FIG. 14 is a diagram in which the outline of the data structure of the external specification 400, the analyzed parameter information 500, and the test case generation information 600 is described in a UML (Unified Modeling Language) class diagram-like.
FIG. 15 is a diagram showing basic type information definition and individual type information definition as definition information necessary for the test case generation process.

図14に示される本実施形態のデータは、パラメータ構造1200、型情報1210、制約条件1221から構成されている。   The data of this embodiment shown in FIG. 14 includes a parameter structure 1200, type information 1210, and constraint conditions 1221.

パラメータ構造1200は、パラメータ間の関係を表している。型情報1210は、パラメータのとりうる型の関係を示す情報である。制約条件1221は、パラメータの制約条件を記述する情報である。   The parameter structure 1200 represents the relationship between parameters. The type information 1210 is information indicating a type relationship that the parameter can take. The constraint condition 1221 is information describing a parameter constraint condition.

パラメータ構造1200は、パラメータ1201、親パラメータを格納するため複合パラメータ1202、および、具体的なデータ割当が必要となる単純パラメータ1203から構成される。ここで、パラメータ構造1200のボックスに記述した上半分が、UMLのクラス図のクラスにあたるものであり、下半分が属性にあたるものである。例えば、パラメータ1201の構成要素である"長さ"は、当該パラメータが配列データである場合に、その配列の長さを格納するための属性である。   The parameter structure 1200 includes a parameter 1201, a composite parameter 1202 for storing a parent parameter, and a simple parameter 1203 that requires specific data allocation. Here, the upper half described in the box of the parameter structure 1200 corresponds to the class of the UML class diagram, and the lower half corresponds to the attribute. For example, “length” as a component of the parameter 1201 is an attribute for storing the length of the array when the parameter is array data.

また、複合パラメータ1202は、構造体やクラスなど、親パラメータの情報を格納するためのデータであり、型名称は構造体やクラスの型名称を表す。また、パターンは、複合パラメータ1202自体が、NULL値、あるいは、値を持たないこと等を示すために用いる(図5、図6、図8の“@Null”や“@Vain”等に対応)。   The composite parameter 1202 is data for storing parent parameter information such as a structure and a class, and the type name represents the type name of the structure or class. The pattern is used to indicate that the composite parameter 1202 itself has a NULL value or no value (corresponding to “@Null”, “@Vain”, etc. in FIGS. 5, 6, and 8). .

さらに、単純パラメータ1203は、候補値となるパラメータのパターンを格納するための“パターン”から構成され、型情報1210との関係によって、そのパラメータがどの型情報に属するかの情報を格納する。   Further, the simple parameter 1203 includes “patterns” for storing parameter patterns as candidate values, and stores information on which type information the parameter belongs to in relation to the type information 1210.

型情報1210は、パラメータの型情報(外部仕様400、分析済みパラメータ情報500、テストケース生成情報600の型欄に相当)を格納するためのデータである。
図14に示したように、型情報1210は、基本となる基底型1211をベースとして、グループ型1212、列挙型1213、集合型1214、比較可能グループ型1215から構成されている。
The type information 1210 is data for storing parameter type information (corresponding to the type column of the external specification 400, the analyzed parameter information 500, and the test case generation information 600).
As shown in FIG. 14, the type information 1210 includes a group type 1212, an enumeration type 1213, a set type 1214, and a comparable group type 1215 based on a basic base type 1211.

ここで、グループ型1212、比較可能グループ型1215は、数学でいう所の演算が定義された群など、算術演算が可能なパラメータに対する型の総称であり、比較可能グループ1215は、整数、実数など、パラメータ間の大小の比較が可能なパラメータに対する型の総称である。列挙型1213は、曜日や性別など、パラメータの取り得る値が決められたパラメータに対する型の総称であり、集合型1214はパラメータを集合として扱う必要がある場合に用い、例えば、図5の外部仕様400の“競合信号機”のように、複数の項目からなるが、“全ての○○が□□である”(図5のID欄が3のレコードのパターン欄407に記載された予約語all)、“少なくとも○○の一つが”(図示しなかったが予約語some)など、パラメータ内の項目をまとめて一つの集合として扱う必要があるものを示している。   Here, the group type 1212 and the comparable group type 1215 are generic names of types for parameters that can perform arithmetic operations, such as a group in which operations in mathematical terms are defined. The comparable group 1215 is an integer, a real number, or the like. This is a generic term for types for parameters that can be compared in size. The enumeration type 1213 is a generic name of types for parameters for which possible values of parameters such as days of the week and sex are determined, and the set type 1214 is used when parameters need to be handled as a set. For example, the external specification of FIG. It consists of a plurality of items such as 400 “competing traffic signal”, but “all XX are □□” (reserved word all described in the pattern field 407 of the record whose ID field is 3 in FIG. 5). , “At least one of OO” (reserved word “some” is not shown in the figure), but the items in the parameters need to be handled together as one set.

次に、制約条件1221は、外部仕様(制約条件)410、分析済みパラメータ情報(制約条件)510、テストケース生成情報(制約条件)610で記述されたデータを表している。   Next, the constraint condition 1221 represents data described in the external specification (constraint condition) 410, analyzed parameter information (constraint condition) 510, and test case generation information (constraint condition) 610.

なお、図14は、外部仕様400、分析済みパラメータ情報500、テストケース生成情報600の構造の概略図であり、上記以外の構成要素を含んでもよい。また、型情報1210も、図14に示した型情報以外の型を含んでもよい。   FIG. 14 is a schematic diagram of the structure of the external specification 400, the analyzed parameter information 500, and the test case generation information 600, and may include components other than those described above. Also, the type information 1210 may include a type other than the type information shown in FIG.

次に、図15を用いてテストケース生成処理に必要となる定義情報について説明する。
図15に示したように定義情報は、基本型情報定義1300と個別型情報定義1310から構成される。基本型情報定義1300は、ID欄1301、型種別欄1302、制約条件記述欄1303、制約条件分析チェック1304から構成される。
Next, definition information necessary for the test case generation process will be described with reference to FIG.
As shown in FIG. 15, the definition information includes a basic type information definition 1300 and an individual type information definition 1310. The basic type information definition 1300 includes an ID column 1301, a type type column 1302, a constraint condition description column 1303, and a constraint condition analysis check 1304.

ID欄1301は、型情報の識別子を示す欄である。型種別欄1302は、型の社別を示す欄である。制約条件記述欄1303は、その型種別に対して、制約条件の記述方法を記載する欄である。制約条件分析チェック1304は、図13に示した制約条件チェック処理S1102で用いる制約条件記述欄1303に対応した記法を記載する欄である。特に、制約条件記述欄1303は、SAT SolverやSMT Solverなどのようなテストツールで使用されることを意図している。   An ID column 1301 is a column indicating an identifier of type information. The type classification column 1302 is a column indicating the type of company. The constraint condition description column 1303 is a column for describing a constraint condition description method for the type type. The constraint condition analysis check 1304 is a column in which a notation corresponding to the constraint condition description column 1303 used in the constraint condition check process S1102 shown in FIG. In particular, the constraint condition description column 1303 is intended to be used by a test tool such as SAT Solver or SMT Solver.

また、個別型情報定義1310には、実際の外部仕様400、分析済みパラメータ情報500、テストケース生成情報600内で用いる型情報と、記法や関連情報を格納する。個別型情報定義1310は、図15に示されるように、ID欄1311、型名称欄1312、型種別欄1313、書式欄1314、補足情報欄1315から構成される。   The individual type information definition 1310 stores type information used in the actual external specification 400, analyzed parameter information 500, and test case generation information 600, and notation and related information. As shown in FIG. 15, the individual type information definition 1310 includes an ID column 1311, a type name column 1312, a type type column 1313, a format column 1314, and a supplementary information column 1315.

ID欄1311は、定義情報の識別子を示す欄である。型名称欄1312は、型の名称を示す欄である。型種別欄1313は、基底となる型情報を示す欄である。書式欄1314は、パターン欄への記述方法を定める欄である。補足情報欄1315は、最小値や最大値、ビット幅などの型情報ごとの補足情報を格納する欄である。
上記で定義した型情報に基づき、パラメータごと、および、パラメータ単位のクラス分割をおこなう(図10のS903、図11のS1004)。
The ID column 1311 is a column indicating an identifier of definition information. The type name column 1312 is a column indicating the name of the type. The type classification column 1313 is a column indicating the type information as a base. The format column 1314 is a column that defines the description method in the pattern column. The supplementary information column 1315 is a column for storing supplementary information for each type information such as a minimum value, a maximum value, and a bit width.
Based on the type information defined above, class division is performed for each parameter and for each parameter (S903 in FIG. 10, S1004 in FIG. 11).

以下、各型に対するクラス分割処理の概要を説明する。   The outline of class division processing for each type will be described below.

グループ型、および、列挙型の場合には、パラメータが取り得る値のバリエーションからクラス分割をおこなう。例えば、“e1,e2,e3,e4,e5,e6”の6個の値を取り得る列挙型のパラメータがあり、パターン欄として“{e1,e2,e3}”、“e4”、“@Another”、“e1”の4つのバリエーションがあると記載されている場合には、与えられたバリエーションを順次読込み、以下のように処理をおこなう。なお“@Another”は、“その他”を表し、与えられたバリエーションの中から残った値のいずれかの値を取ることを示す。   In the case of group types and enumeration types, class division is performed from variations of values that parameters can take. For example, there are enumerated parameters that can take six values “e1, e2, e3, e4, e5, e6”, and “{e1, e2, e3}”, “e4”, “@Another” are used as pattern fields. When it is described that there are four variations “” and “e1”, the given variations are sequentially read and processed as follows. “@Another” represents “others” and indicates that any one of the remaining values from the given variation is taken.

先ず、“{e1,e2,e3}”というパターンより、“e1,e2,e3,e4,e5,e6”を、“{e1,e2,e3}”と“{e4,e5,e6}”の二つのクラスに分割する。次に、“e4”というパターンより、“{e4,e5,e6}”を“e4”と“{e5,e6}”に分割する。“@Another”に対しては、上記分割の内、パターンに割当されていない “{e5,e6}”を割当てる。最後に、“e1”に対し、“{e1,e2,e3}”を“e1”と“{e2,e3}”に分割し、最終的に以下の分割結果として、“e1,{e2,e3},e4,{e5,e6}”を得る。   First, from the pattern “{e1, e2, e3}”, “e1, e2, e3, e4, e5, e6” are changed to “{e1, e2, e3}” and “{e4, e5, e6}”. Divide into two classes. Next, from the pattern “e4”, “{e4, e5, e6}” is divided into “e4” and “{e5, e6}”. For “@Another”, “{e5, e6}” that is not assigned to the pattern is assigned. Finally, “{e1, e2, e3}” is divided into “e1” and “{e2, e3}” for “e1”, and finally, “e1, {e2, e3” }, E4, {e5, e6} ".

一方、比較可能グループ型の場合には、与えられたパターン内の数値でデータの大小関係、比較演算子からクラス分割をおこなう。例えば、整数型のパラメータのパターンが“>=0”,“>10”,“3<x<5"の場合には、以下のように処理をおこなう。   On the other hand, in the case of a comparable group type, class division is performed based on the magnitude relation of data and the comparison operator with numerical values in a given pattern. For example, when the integer parameter pattern is “> = 0”, “> 10”, “3 <x <5”, the following processing is performed.

先ず、与えられたバリエーション内の数値データを昇順(または、降順)に並べる。昇順に並べら得た結果(“>=0”、“3<”、“<5”、“>10”)に対し、比較演算子の特性を意識して、以下のようにクラス分割をおこなう。   First, numerical data in a given variation are arranged in ascending order (or descending order). For the results obtained in ascending order (“> = 0”, “3 <”, “<5”, “> 10”), classify as follows, considering the characteristics of the comparison operator .

先ず、“>=0”、“3<”より、0から3を超える数値の間にあるクラスを補間するため、“3<”の記述から、“<=3”を補間し、“0<=x<=3”の分割を得る。次に“3<”、“<5”の記述から、“3<x<5”を生成する。“<5”、“>10”の記述から、最初の分割処理と同様、5以上、10未満の値を表すクラスを補間するため、“<5”より、“5<=”を補間し、“5<=x<10”を生成する。最後に、“0<”の記述から、“>10”より、“>=10”のクラスを補間する。以上の分析結果より、“0<=x<=3”、3<x<5”、5<=x<10”、“>=10”を得る。以上の分割は、数値直線上に各分割領域をマッピングすることで、容易に実装可能である。   First, in order to interpolate classes between “> = 0” and “3 <” from 0 to more than 3, a “<= 3” is interpolated from a description of “3 <”, and “0 < = X <= 3 "division is obtained. Next, “3 <x <5” is generated from the descriptions “3 <” and “<5”. From the description of “<5” and “> 10”, in order to interpolate a class representing a value of 5 or more and less than 10 as in the first division process, “5 <=” is interpolated from “<5”, “5 <= x <10” is generated. Finally, from the description of “0 <”, the class of “> = 10” is interpolated from “> 10”. From the above analysis results, “0 <= x <= 3”, 3 <x <5 ”, 5 <= x <10”, and “> = 10” are obtained. The above division can be easily implemented by mapping each divided region on a numerical line.

なお、上記では、与えられたバリエーションのみから、クラス分割をおこなったが、指定以外の領域をクラス分割結果に含めてもよい。上記の例では、“>=0”に対し、“<0”をクラス分割に加えてもよい。   In the above, class division is performed only from given variations, but areas other than designation may be included in the class division result. In the above example, “<0” may be added to the class division for “> = 0”.

最後に、集合型はパターン欄に記述された各パターンをバリエーションとしてそのまま用いればよい。上記の型情報ごとのクラス分割は、クラス分割方法の一例であり、上記とは異なる形で実施してもよい。   Finally, in the collective type, each pattern described in the pattern column may be used as a variation as it is. The above class division for each type information is an example of a class division method, and may be performed in a different form from the above.

以上の処理により、外部仕様400から、分析済みパラメータ情報500、テストケース生成情報600の生成、および、テストケース800の生成が実現される。   Through the above processing, generation of analyzed parameter information 500, test case generation information 600, and generation of test case 800 is realized from external specification 400.

なお、本実施形態では、外部仕様400から、分析済みパラメータ情報500、テストケース生成情報600を表形式の形式で表現し、さらに制約条件には、事前条件など入力パラメータのみの制約条件と、入出力パラメータ間を表す制約条件を混在して記述したが、事前条件と事後条件など、制約条件の内容に応じて分割して書いてもよい。   In this embodiment, the analyzed parameter information 500 and the test case generation information 600 are expressed in a tabular format from the external specification 400, and the constraint condition includes a constraint condition including only input parameters such as a precondition, and an input condition. Although the restriction conditions representing the output parameters are mixedly described, they may be divided according to the contents of the restriction conditions such as the precondition and the postcondition.

また、上記の制約条件の記述やテストケース生成情報生成処理S304の制約条件の生成処理において、関連する仕様書から制約条件を補完してもよい。例えば、UMLにおけるクラス図や、DB設計に用いられるER(Entity Relationship)図等から、パラメータ間の多重度やパラメータ間の関係を抽出することで制約条件を追加してもよい。   In addition, in the description of the constraint condition and the constraint condition generation process in the test case generation information generation process S304, the constraint condition may be supplemented from related specifications. For example, a constraint condition may be added by extracting the multiplicity between parameters and the relationship between parameters from a class diagram in UML, an ER (Entity Relationship) diagram used for DB design, or the like.

次に、図16を用いて生成したテストケースから、テスト実行までの処理を説明する。
図16は、生成したテストケースから、テスト実行までの処理を説明するフローチャートである。
Next, processing from the test case generated to the test execution will be described using FIG.
FIG. 16 is a flowchart for explaining processing from the generated test case to the test execution.

以上のように、外部仕様からテストケースが生成され、実際にテストをおこなう際には、テスト対象となるソフトウェアの構成モジュール、あるいは、関数に対し、生成されたテストケースを用いてテスト実行を行い、その結果の確認をおこなう。   As described above, test cases are generated from external specifications, and when actually performing tests, test execution is performed using the generated test cases for the software configuration modules or functions to be tested. Confirm the result.

なお、テスト実行は具体的なテストデータを用いて、テスト対象のソフトウェア構成モジュールや関数等を動作させ、その結果を取得する処理をおこなうが、テスト対象を動作させる処理は、必ずしもテスト支援装置100で実行する必要は無い。例えば、テスト対象のソフトウェア構成モジュールがネットワークで接続されている場合には、ネットワーク経由で実行してもよい。
図16に示したように、外部仕様格納(S1501)から、テストケース生成(S505)までの処理の流れは、図4の処理の流れと同様である。
The test execution uses specific test data to operate the software configuration module or function to be tested, and obtains the result, but the process to operate the test target is not necessarily the test support apparatus 100. There is no need to execute it. For example, when the software configuration module to be tested is connected via a network, it may be executed via the network.
As shown in FIG. 16, the process flow from external specification storage (S1501) to test case generation (S505) is the same as the process flow of FIG.

図16の処理では、図4のテストケース生成(S1505)に、生成されたテストケースの修正(S1506)、テストデータ生成処理(S1507)、テストデータの修正(S1508)、テスト実行(S1509)、テスト実行結果の確認(S1510)の手順が追加されている。   In the process of FIG. 16, the test case generation (S1505) of FIG. 4 includes the correction of the generated test case (S1506), the test data generation process (S1507), the correction of test data (S1508), the test execution (S1509), A procedure for confirming the test execution result (S1510) is added.

先ず、生成された生成されたテストケースに対して、テストケースの修正をおこなう(S1506)。例えば、パラメータの候補値として、“@Valid”などの抽象的な候補値が設定されていた場合に、テスト実行可能な具体値の割当てをおこなう、あるいは、個別実行したいテストケースの追加をおこなう。   First, the test case is corrected for the generated test case (S1506). For example, when an abstract candidate value such as “@Valid” is set as a parameter candidate value, a specific value that can be tested is assigned, or a test case that is desired to be individually added is added.

次に、テストデータ生成をおこなう(S1507)。例えばテストケース内に抽象的なパターン(例えば、“@Valid”や、“0<x<100”など)である場合に、実際にテスト実行可能な具体値を生成する、あるいは、テストデータ入力を促すための強調表示をおこない、ユーザ入力1523でのテストデータ900の入力を促す。なお、具体値の生成では、与えられた条件を満たすランダムな具体値を設定してもよいし、あるいは、“0<x<100”のような特定の範囲が割当てられている場合には、テスト基準に従い、境界値や中間値を割当てるようにしてもよい。   Next, test data is generated (S1507). For example, when the test pattern is an abstract pattern (for example, “@Valid”, “0 <x <100”, etc.), a specific value that can be actually executed by the test is generated, or the test data is input. Emphasis is displayed to prompt the user to input the test data 900 by the user input 1523. In the generation of the specific value, a random specific value satisfying a given condition may be set, or when a specific range such as “0 <x <100” is assigned, A boundary value or an intermediate value may be assigned according to the test standard.

次に、上記生成されたテストデータ900に対し、具体的なデータの割当て、テスト実行者が、修正が必要と判断した場合には、さらに、テストデータ900の修正をおこない(S1508)、その後に、テスト実行をおこなう(S1509)。   Next, specific data allocation to the generated test data 900, and when the test executor determines that correction is necessary, the test data 900 is further corrected (S1508), and thereafter The test is executed (S1509).

テスト実行の結果、全てのテストケースに対応するテスト結果が得られた、あるいは、全て(あるいは規定件数以上)のテストの実行結果1000が期待結果どおりだった、等、テストの合格基準に達した場合には(S15011:満たす)、テストを終了し、そうでない場合には(S15011:満たさない)、その結果に応じて、S1501、S1503、S1506、S1508の各入力手順に戻る(S1511)。   As a result of test execution, test results corresponding to all test cases were obtained, or the test execution results 1000 of all (or more than the specified number of tests) were as expected. If so (S15011: Satisfies), the test is terminated. If not (S15011: Not Satisfies), the process returns to the input procedures of S1501, S1503, S1506, and S1508 according to the result (S1511).

例えば、テスト結果から制約条件に記述漏れがあり、無効な入力値を入れてしまったなど、外部仕様400の記述が足りなかった場合には、外部仕様400の作成(S1501)に戻り、外部仕様400の記述の見直しをすればよい。   For example, when there are not enough descriptions in the external specification 400, such as when there is a description omission in the constraint condition from the test result and an invalid input value is entered, the process returns to the creation of the external specification 400 (S1501). It is sufficient to review 400 descriptions.

また、テスト実行結果として、テスト件数や、実行時のカバレッジ(実行ステップカバレッジや分岐ステップカバレッジなどのブラックボックステストのカバレッジ基準など)が不足している場合には、テストケースの修正(S1506)に戻り、テストケースの追加をおこなえばよい。このとき、例えば、テスト実行中の実行パスを記録し、各入力データがどの実行パスに対応するかをテスト実行結果に含めてもよい。これによって、テストケースの修正(S1506)を実施する際、選ばれていない(異なるパスを通りそうな)パターンの組合せをテストケースの生成に加えるなど、テストケースの修正(S1506)の参考にすることが可能となる。   In addition, if the test execution result is insufficient in the number of tests or coverage at the time of execution (such as black box test coverage standards such as execution step coverage and branch step coverage), the test case is corrected (S1506). Return and add test cases. At this time, for example, the execution path during the test execution may be recorded, and the execution path to which each input data corresponds may be included in the test execution result. As a result, when the test case correction (S1506) is performed, a combination of unselected patterns (which are likely to pass through different paths) is added to the test case generation, and the test case correction (S1506) is used as a reference. It becomes possible.

また、前記テストの実行結果に、実行パスとの対応を含める場合において、全ての組合せパターンに対して、テスト実行をしたにもかかわらず、実行ステップカバレッジや分岐ステップカバレッジのカバレッジ率が合格基準を満たさない、あるいは、意図したパスと異なる経路を通る場合には、外部仕様400、あるいは、テスト対象のソースコードを見直すなど、生成されたテストケースと実行パスの対応を参考にしてもよい。   In addition, when including the correspondence with the execution path in the execution result of the test, the coverage rate of the execution step coverage and the branch step coverage satisfies the acceptance criteria even though the test execution is performed for all the combination patterns. If the path does not satisfy or is different from the intended path, the correspondence between the generated test case and the execution path may be referred to such as reviewing the external specification 400 or the source code of the test target.

これらは、テスト実行結果を元にユーザが目視で確認してもよいし、テスト実行時にテスト実行パスを取得し、テストケースとの対応関係をテストケース上で管理することで、テストの合格基準の判断(S1511)を自動的に判定できるようにしてもよい。   These can be confirmed visually by the user based on the test execution result, or the test pass criteria can be obtained by acquiring the test execution path during test execution and managing the correspondence with the test case on the test case. (S1511) may be automatically determined.

さらに、テストケース生成(S1505)において、実行結果1000の特定ができない(入力パラメータの組合せのみを生成する)場合には、各テストケースの初回実行時の実行結果1000から、その実行結果が期待通りか否かを確認した後、テストケースの修正(S1506)、あるいは、テストデータの修正(S1508)に反映することによって、期待結果として用いるようにしてもよい。これによって、ソフトウェア改修時のリグレッションテスト時の結果確認を含めたテスト自動実行が容易となる。   Further, in the test case generation (S1505), when the execution result 1000 cannot be specified (only the combination of input parameters is generated), the execution result is as expected from the execution result 1000 at the first execution time of each test case. After confirming whether or not, it may be used as an expected result by reflecting it in the correction of the test case (S1506) or the correction of the test data (S1508). This facilitates automatic test execution including confirmation of the results of the regression test during software renovation.

100…テスト支援装置、101…外部仕様格納部、102…分析済みパラメータ情報格納部、103…テストケース生成情報格納部、104…テストケース格納部、105…型情報定義格納部、106…テストデータ格納部、107…実行結果格納部、110…入出力部、111…解析部、112…変換部、113…テストケース生成部、114…テストデータ生成部、115…テスト実行部   DESCRIPTION OF SYMBOLS 100 ... Test support apparatus, 101 ... External specification storage part, 102 ... Analyzed parameter information storage part, 103 ... Test case generation information storage part, 104 ... Test case storage part, 105 ... Type information definition storage part, 106 ... Test data Storage unit 107 ... Execution result storage unit 110 ... Input / output unit 111 ... Analysis unit 112 ... Conversion unit 113 ... Test case generation unit 114 ... Test data generation unit 115 ... Test execution unit

Claims (14)

CPUと、記憶部と、表示部を有し、前記記憶部に格納されたプログラムを実行することにより機能を実現するテスト支援装置であって、
前記記憶部は、外部仕様と、分析済みパラメータ情報と、テストケース生成情報と、テストケースを記憶し、
前記外部仕様と前記分析済みパラメータ情報とは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、
前記外部仕様と前記分析済みパラメータ情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得るパターン情報とを含み、
前記テストケース生成情報は、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、
前記テストケース生成情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得る候補値とを含み、
前記テストケースは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ値を定めた組合せを、一つ以上保持し、
前記外部仕様のパラメータ情報の前記パラメータの型情報、前記パターン情報、前記制約条件から、前記パラメータのクラス分割をおこない、前記分析済みパラメータ情報を生成し、
前記分析済みパラメータ情報のパラメータ情報の前記パラメータの型情報、前記パターン情報、前記制約条件から、前記パラメータのクラス分割をおこない、前記テストケース生成情報を生成し、
前記テストケース生成情報のパラメータ情報の前記パラメータの型情報と、前記制約条件と、前記パラメータ情報の候補値とから、前記パラメータ値を定めた組合せを生成し、前記テストケースを生成することを特徴とするテスト支援装置。
A test support apparatus that has a CPU, a storage unit, and a display unit, and implements a function by executing a program stored in the storage unit,
The storage unit stores external specifications, analyzed parameter information, test case generation information, and test cases,
The external specification and the analyzed parameter information hold parameter information of a parameter described in a software program to be tested and a constraint condition indicating a relationship between the parameters of the parameter,
The parameter information of the external specification and the analyzed parameter information includes type information of the parameter and pattern information that can be taken by the parameter name,
The test case generation information holds parameter information of parameters described in the software program to be tested, and constraint conditions representing the relationship between the parameters of the parameters,
The parameter information of the test case generation information includes type information of the parameter and candidate values that can be taken by the parameter name,
The test case holds one or more combinations that define parameter values of parameters described in the software program to be tested,
From the parameter type information of the parameter information of the external specification, the pattern information, and the constraint conditions, classify the parameters, generate the analyzed parameter information,
From the parameter type information of the parameter information of the analyzed parameter information, the pattern information, the constraint conditions, classify the parameters, generate the test case generation information,
Generating a test case by generating a combination that defines the parameter value from the type information of the parameter of the parameter information of the test case generation information, the constraint condition, and a candidate value of the parameter information. Test support device.
前記外部仕様から、前記分析済みパラメータ情報を生成する際に、
前記外部仕様に記述されたパラメータの不足情報を抽出し、前記表示部に、パラメータごとにパラメータの不足情報を強調表示する画面を表示し、前記分析済みパラメータ情報の補完入力を受け付けることを特徴とする請求項1記載のテスト支援装置。
When generating the analyzed parameter information from the external specification,
Extracting parameter deficiency information described in the external specification, displaying a screen for highlighting parameter deficiency information for each parameter on the display unit, and receiving complementary input of the analyzed parameter information, The test support apparatus according to claim 1.
前記分析済みパラメータ情報から、前記テストケース生成情報を生成する際に、
前記分析済みパラメータ情報のパラメータ制約条件に基づいて、前記分析済みパラメータ情報に記載されたパラメータを変換して、前記テストケース生成情報に記載されるパラメータを生成することを特徴とする請求項1記載のテスト支援装置。
When generating the test case generation information from the analyzed parameter information,
The parameter described in the test case generation information is generated by converting a parameter described in the analyzed parameter information based on a parameter constraint condition of the analyzed parameter information. Test support equipment.
前記外部仕様のパラメータ情報と前記分析済みパラメータ情報におけるパラメータのクラス分割とは、前記パターン情報に記載されたパラメータに対して、パラメータの型情報ごとに定められたクラス分割処理をおこなうことを特徴とする請求項1記載のテスト支援装置。   The parameter classification of the parameter information in the external specification and the parameter information in the analyzed parameter information is characterized by performing class division processing determined for each parameter type information on the parameter described in the pattern information. The test support apparatus according to claim 1. 前記分析済みパラメータ情報に記載されたパラメータを変換して、前記テストケース生成情報に記載されるパラメータを生成する処理は、
前記分析済みパラメータ情報に記載されたパラメータに親子間の関係がある場合に、親パラメータが値を持たないときに、子パラメータに値を持たないことを示すパターン情報、または、子パラメータに値を持つときに、親パラメータが値を持つことを示すパターン情報を追加する処理と、
前記分析済みパラメータ情報に記載されたパラメータが複数の項目からなる配列であった場合に、与えられた配列の項目数に応じたパラメータを生成する処理と、
前記パラメータの親子関係、および、配列の長さに応じて生じるパラメータ間の制約条件を、前記テストケース生成情報に記載される制約条件に追加する処理を含むことを特徴とする請求項3記載のテスト支援装置。
The process of converting the parameter described in the analyzed parameter information and generating the parameter described in the test case generation information includes:
When the parameter described in the analyzed parameter information has a parent-child relationship, when the parent parameter does not have a value, pattern information indicating that the child parameter does not have a value, or a value for the child parameter. Processing to add pattern information indicating that the parent parameter has a value when
When the parameter described in the analyzed parameter information is an array composed of a plurality of items, a process of generating a parameter according to the number of items in the given array;
4. The processing according to claim 3, further comprising: adding a constraint condition between parameters generated according to the parent-child relationship of the parameters and the length of the array to the constraint condition described in the test case generation information. Test support device.
前記外部仕様に記述されたパラメータの不足情報を抽出し、前記表示部に、パラメータごとにパラメータの不足情報を強調表示する画面を表示し、前記分析済みパラメータ情報の補完入力を受け付ける処理は、
前記外部仕様に記述されたパラメータが複数の項目からなる配列であり、配列のデータが可変である場合に、配列の長さを入力するためのパラメータを追加する処理と、
前記外部仕様に記述されたパラメータのパターン情報に、テスト実行に必要な情報が不足しているパターン情報を抽出する処理を含むことを特徴とする請求項2記載のテスト支援装置。
Extracting parameter deficiency information described in the external specification, displaying a screen for highlighting parameter deficiency information for each parameter on the display unit, and accepting complementary input of the analyzed parameter information,
When the parameter described in the external specification is an array composed of a plurality of items and the data of the array is variable, a process of adding a parameter for inputting the length of the array;
3. The test support apparatus according to claim 2, further comprising a process of extracting pattern information for which information necessary for test execution is insufficient from the parameter pattern information described in the external specification.
前記記憶部は、さらに、前記テストケースに記載された前記パラメータ値を定めた組合せに基づいて、生成されるテスト実行可能な具体値を格納したテスト実行のためのテストデータと、前記テストデータによるテスト実行結果を記憶し、
前記テストケースからテストデータを生成し、
前記テストデータを用いてテスト実行を行い、その実行結果を収集することを特徴とする請求項1記載のテスト支援装置。
The storage unit further includes test data for test execution storing specific values that can be executed based on a combination that defines the parameter values described in the test case, and the test data. Memorize test results,
Generating test data from the test case,
The test support apparatus according to claim 1, wherein a test execution is performed using the test data, and the execution results are collected.
CPUと、記憶部と、表示部を有し、前記記憶部に格納されたプログラムを実行することにより機能を実現するテスト支援装置のテスト支援方法であって、
前記記憶部は、外部仕様と、分析済みパラメータ情報と、テストケース生成情報と、テストケースを記憶し、
前記外部仕様と前記分析済みパラメータ情報とは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、
前記外部仕様と前記分析済みパラメータ情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得るパターン情報とを含み、
前記テストケース生成情報は、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ情報と、そのパラメータのパラメータ間の関係を表す制約条件とを保持し、
前記テストケース生成情報のパラメータ情報は、そのパラメータの型情報と、パラメータ名が取り得る候補値とを含み、
前記テストケースは、テスト対象のソフトウェアプログラムで記述されるパラメータのパラメータ値を定めた組合せを、一つ以上保持し、
前記外部仕様のパラメータ情報の前記パラメータの型情報、前記パターン情報、前記制約条件から、前記パラメータのクラス分割をおこない、前記分析済みパラメータ情報を生成するステップと、
前記分析済みパラメータ情報のパラメータ情報の前記パラメータの型情報、前記パターン情報、前記制約条件から、前記パラメータのクラス分割をおこない、前記テストケース生成情報を生成するステップと、
前記テストケース生成情報のパラメータ情報の前記パラメータの型情報と、前記制約条件と、前記パラメータ情報の候補値とから、前記パラメータ値を定めた組合せを生成し、前記テストケースを生成するステップとを有することを特徴とするテスト支援方法。
A test support method for a test support apparatus having a CPU, a storage unit, and a display unit, and realizing a function by executing a program stored in the storage unit,
The storage unit stores external specifications, analyzed parameter information, test case generation information, and test cases,
The external specification and the analyzed parameter information hold parameter information of a parameter described in a software program to be tested and a constraint condition indicating a relationship between the parameters of the parameter,
The parameter information of the external specification and the analyzed parameter information includes type information of the parameter and pattern information that can be taken by the parameter name,
The test case generation information holds parameter information of parameters described in the software program to be tested, and constraint conditions representing the relationship between the parameters of the parameters,
The parameter information of the test case generation information includes type information of the parameter and candidate values that can be taken by the parameter name,
The test case holds one or more combinations that define parameter values of parameters described in the software program to be tested,
Classifying the parameter from the parameter type information of the parameter information of the external specification, the pattern information, and the constraint condition, and generating the analyzed parameter information;
Classifying the parameters from the parameter type information of the parameter information of the analyzed parameter information, the pattern information, and the constraint conditions, and generating the test case generation information;
Generating a combination defining the parameter values from the parameter type information of the parameter information of the test case generation information, the constraint conditions, and candidate values of the parameter information, and generating the test case. A test support method characterized by comprising:
前記外部仕様から、前記分析済みパラメータ情報を生成するステップにおいて、
前記外部仕様に記述されたパラメータの不足情報を抽出し、前記表示部に、パラメータごとにパラメータの不足情報を強調表示する画面を表示し、前記分析済みパラメータ情報の補完入力を受け付けることを特徴とする請求項8記載のテスト支援方法。
In the step of generating the analyzed parameter information from the external specification,
Extracting parameter deficiency information described in the external specification, displaying a screen for highlighting parameter deficiency information for each parameter on the display unit, and receiving complementary input of the analyzed parameter information, The test support method according to claim 8.
前記分析済みパラメータ情報から、前記テストケース生成情報を生成するステップにおいて、
前記分析済みパラメータ情報のパラメータ制約条件に基づいて、前記分析済みパラメータ情報に記載されたパラメータを変換して、前記テストケース生成情報に記載されるパラメータを生成することを特徴とする請求項8記載のテスト支援方法。
In the step of generating the test case generation information from the analyzed parameter information,
9. The parameter described in the analyzed parameter information is converted based on a parameter constraint condition of the analyzed parameter information to generate a parameter described in the test case generation information. Test support method.
前記外部仕様のパラメータ情報と前記分析済みパラメータ情報におけるパラメータのクラス分割とは、前記パターン情報に記載されたパラメータに対して、パラメータの型情報ごとに定められたクラス分割処理をおこなうことを特徴とする請求項8記載のテスト支援方法。   The parameter classification of the parameter information in the external specification and the parameter information in the analyzed parameter information is characterized by performing class division processing determined for each parameter type information on the parameter described in the pattern information. The test support method according to claim 8. 前記分析済みパラメータ情報に記載されたパラメータを変換して、前記テストケース生成情報に記載されるパラメータを生成するステップは、
前記分析済みパラメータ情報に記載されたパラメータに親子間の関係がある場合に、親パラメータが値を持たないときに、子パラメータに値を持たないことを示すパターン情報、または、子パラメータに値を持つときに、親パラメータが値を持つことを示すパターン情報を追加する処理と、
前記分析済みパラメータ情報に記載されたパラメータが複数の項目からなる配列であった場合に、与えられた配列の項目数に応じたパラメータを生成する処理と、
前記パラメータの親子関係、および、配列の長さに応じて生じるパラメータ間の制約条件を、前記テストケース生成情報に記載される制約条件に追加する処理を含むことを特徴とする請求項10記載のテスト支援方法。
The step of converting the parameter described in the analyzed parameter information to generate the parameter described in the test case generation information includes:
When the parameter described in the analyzed parameter information has a parent-child relationship, when the parent parameter does not have a value, pattern information indicating that the child parameter does not have a value, or a value for the child parameter. Processing to add pattern information indicating that the parent parameter has a value when
When the parameter described in the analyzed parameter information is an array composed of a plurality of items, a process of generating a parameter according to the number of items in the given array;
The process according to claim 10, further comprising: adding a constraint condition between parameters generated according to the parent-child relationship of the parameters and the length of the array to the constraint condition described in the test case generation information. Test support method.
前記外部仕様に記述されたパラメータの不足情報を抽出し、前記表示部に、パラメータごとにパラメータの不足情報を強調表示する画面を表示し、前記分析済みパラメータ情報の補完入力を受け付ける処理は、
前記外部仕様に記述されたパラメータが複数の項目からなる配列であり、配列のデータが可変である場合に、配列の長さを入力するためのパラメータを追加する処理と、
前記外部仕様に記述されたパラメータのパターン情報に、テスト実行に必要な情報が不足しているパターン情報を抽出する処理を含むことを特徴とする請求項9記載のテスト支援方法。
Extracting parameter deficiency information described in the external specification, displaying a screen for highlighting parameter deficiency information for each parameter on the display unit, and accepting complementary input of the analyzed parameter information,
When the parameter described in the external specification is an array composed of a plurality of items and the data of the array is variable, a process of adding a parameter for inputting the length of the array;
The test support method according to claim 9, further comprising: extracting pattern information for which information necessary for test execution is insufficient from the pattern information of the parameters described in the external specification.
前記記憶部は、さらに、前記テストケースに記載された前記パラメータ値を定めた組合せに基づいて、生成されるテスト実行可能な具体値を格納したテスト実行のためのテストデータと、前記テストデータによるテスト実行結果を記憶し、
前記テストケースからテストデータを生成するステップと、
前記テストデータを用いてテスト実行を行い、その実行結果を収集するステップとを有することを特徴とする請求項8記載のテスト支援方法。
The storage unit further includes test data for test execution storing specific values that can be executed based on a combination that defines the parameter values described in the test case, and the test data. Memorize test results,
Generating test data from the test case;
The test support method according to claim 8, further comprising: performing a test execution using the test data and collecting the execution result.
JP2016113577A 2016-06-07 2016-06-07 Test support apparatus and test support method Active JP6568017B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016113577A JP6568017B2 (en) 2016-06-07 2016-06-07 Test support apparatus and test support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016113577A JP6568017B2 (en) 2016-06-07 2016-06-07 Test support apparatus and test support method

Publications (2)

Publication Number Publication Date
JP2017220008A true JP2017220008A (en) 2017-12-14
JP6568017B2 JP6568017B2 (en) 2019-08-28

Family

ID=60656481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016113577A Active JP6568017B2 (en) 2016-06-07 2016-06-07 Test support apparatus and test support method

Country Status (1)

Country Link
JP (1) JP6568017B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083537A (en) * 2019-04-26 2019-08-02 田金月 The method and system of cell phone application port test
CN111506305A (en) * 2020-03-26 2020-08-07 拉扎斯网络科技(上海)有限公司 Tool kit generation method and device, computer equipment and readable storage medium
CN114416458A (en) * 2022-03-30 2022-04-29 航天中认软件测评科技(北京)有限责任公司 Test method, device, equipment and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083537A (en) * 2019-04-26 2019-08-02 田金月 The method and system of cell phone application port test
CN111506305A (en) * 2020-03-26 2020-08-07 拉扎斯网络科技(上海)有限公司 Tool kit generation method and device, computer equipment and readable storage medium
CN111506305B (en) * 2020-03-26 2023-07-18 拉扎斯网络科技(上海)有限公司 Tool pack generation method, device, computer equipment and readable storage medium
CN114416458A (en) * 2022-03-30 2022-04-29 航天中认软件测评科技(北京)有限责任公司 Test method, device, equipment and storage medium
CN114416458B (en) * 2022-03-30 2022-08-05 航天中认软件测评科技(北京)有限责任公司 Test method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP6568017B2 (en) 2019-08-28

Similar Documents

Publication Publication Date Title
US6421822B1 (en) Graphical user interface for developing test cases using a test object library
US6332211B1 (en) System and method for developing test cases using a test object library
US7721252B2 (en) Apparatus and method for product-line architecture description and verification
US7979841B2 (en) Programmatically determining calling information of a graphical program
US20050144529A1 (en) Method for defined derivation of software tests from use cases
CN104090776A (en) Software development method and system
EP2193438A1 (en) Quality assurance tools for use with source code and a semantic model
CN109740122A (en) The conversion method and device of mind map use-case file
JP2009265810A (en) Status transition test support device, status transition test support program and status transition test support method
JP6568017B2 (en) Test support apparatus and test support method
Felderer et al. Using defect taxonomies for requirements validation in industrial projects
CN104657274A (en) Method and device for testing software interface
EP1548581A2 (en) Methods, apparatus and programs for system development
Tierno et al. Open issues for the automotive software testing
CN111813409A (en) Code generation method, device, equipment and storage medium of interactive interface
Kumar et al. Conceptualizing “COBieEvaluator” A rule based system for tracking asset changes using COBie datasheets
WO2023160402A1 (en) Data modeling method and apparatus, and device and storage medium
Wojszczyk et al. The process of verifying the implementation of design patterns—used data models
JP2002014845A (en) Method for automatically generating test script part and device for the same
Sarmiento et al. Using correctness, consistency, and completeness patterns for automated scenarios verification
US20080195453A1 (en) Organisational Representational System
JP5540856B2 (en) Apparatus and method for setting a workflow
Caffiau et al. Generating interactive applications from task models: A hard challenge
JP2015011685A (en) Business rule management system and business rule management method
KR20130058348A (en) Asset based requirements simulator and requirements management method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190626

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: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190801

R150 Certificate of patent or registration of utility model

Ref document number: 6568017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150