[go: up one dir, main page]

JP5504212B2 - Test case automatic generation system, test case automatic generation method, and test case automatic generation program - Google Patents

Test case automatic generation system, test case automatic generation method, and test case automatic generation program Download PDF

Info

Publication number
JP5504212B2
JP5504212B2 JP2011132517A JP2011132517A JP5504212B2 JP 5504212 B2 JP5504212 B2 JP 5504212B2 JP 2011132517 A JP2011132517 A JP 2011132517A JP 2011132517 A JP2011132517 A JP 2011132517A JP 5504212 B2 JP5504212 B2 JP 5504212B2
Authority
JP
Japan
Prior art keywords
design
test case
data
item
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011132517A
Other languages
Japanese (ja)
Other versions
JP2013003729A (en
Inventor
直樹 松下
康人 西脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2011132517A priority Critical patent/JP5504212B2/en
Publication of JP2013003729A publication Critical patent/JP2013003729A/en
Application granted granted Critical
Publication of JP5504212B2 publication Critical patent/JP5504212B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラムに関するものであり、具体的には、設計書におけるフォーマットによらずテストケースを自動生成すると共に、ユーザによるテストケース編集も可能として、システム検証の効率化、品質低下の防止を図る技術に関する。   The present invention relates to a test case automatic generation system, a test case automatic generation method, and a test case automatic generation program. Specifically, a test case is automatically generated regardless of a format in a design document, and a test by a user is performed. The present invention relates to a technique that enables case editing and improves system verification efficiency and prevents quality degradation.

システム開発の高品質化、短納期化が求められる中で、高品質なシステムを短期間で開発するため、ソースの自動生成やテスト作業の自動化が検討されている。テスト作業の自動化に関しては、さらにテストケース、テストデータの自動生成や、テストの自動実行、テスト結果の自動検証なども検討されている。特にテストケースの自動生成に関しては、テスト対象となるプログラムに関する設計書をもとにテストケースを自動生成するシステムが知られている。   In order to develop a high-quality system in a short period of time while high-quality system development and short delivery times are required, automatic source generation and automation of test work are being considered. As for the automation of test work, test cases, automatic generation of test data, automatic execution of tests, and automatic verification of test results are also being considered. In particular, with regard to automatic test case generation, a system that automatically generates a test case based on a design document related to a program to be tested is known.

そうした従来技術としては、例えば、テストケース及びテストデータを生成するためにコンピュータを、画面遷移定義情報からテストケース生成の対象画面を取得する対象画面取得手段、前記対象画面を構成する画面構成情報からテスト対象カラムを取得する画面内カラム取得手段、データ定義情報から、前記テスト対象カラムに対する制約を取得するカラムチェック情報取得手段、前記テスト対象カラムに対する前記制約とテストケーステンプレートをマッチングさせ、テストケースとテストデータを生成するテストケースデータ生成手段、として機能させることを特徴とするテストケース生成プログラム(特許文献1参照)などが提案されている。   As such conventional technology, for example, a computer for generating test cases and test data, target screen acquisition means for acquiring a target screen for test case generation from screen transition definition information, and screen configuration information constituting the target screen In-screen column acquisition means for acquiring a test target column, column check information acquisition means for acquiring a constraint for the test target column from data definition information, matching the constraint for the test target column with a test case template, A test case generation program (see Patent Document 1) characterized by functioning as test case data generation means for generating test data has been proposed.

また、テストデータを構成する複数の項目情報と、該項目情報が漢字又は数字又は文字か否かの属性を示す属性情報と、前記項目情報のレコード長とを含むテストデータ仕様情報を複数格納する仕様書ファイル部と、テストデータの属性情報及びレコード長に対応した変数を含む複数の項目属性パラメータ情報を格納する項目属性パラメータファイル部と、前記仕様書ファイル部に格納したテストデータ仕様情報及び前記項目属性パラメータファイル部に格納した項目属性パラメータ情報を参照してコンピュータシステムのテストデータを内部テーブル部に生成する制御部とを備えるテストデータ作成システムであって、前記制御部が、前記仕様書ファイル部からテストデータ仕様情報を抽出する第1工程と、該第1工程により抽出したテストデータ仕様情報の属性情報及びレコード長に対応した複数の項目属性パラメータ情報を項目属性パラメータファイル部から抽出する第2工程と、前記第1工程により抽出したテストデータ仕様情報の複数の項目情報を該項目情報のレコード長に従って前記内部テーブル部に設定する第3工程と、該第3工程により設定した内部テーブル部の複数の項目情報に、前記該第2工程により抽出した項目属性パラメータ情報の変数に従ったデータを割り当てることによりテストデータを生成する第4工程とを実行するテストデータ作成システム(特許文献2参照)なども提案されている。   Further, a plurality of pieces of test data specification information including a plurality of item information constituting the test data, attribute information indicating whether the item information is kanji, numbers, or characters, and a record length of the item information are stored. A specification file part, an item attribute parameter file part for storing a plurality of item attribute parameter information including variables corresponding to the attribute information and record length of the test data, the test data specification information stored in the specification file part, and the A test data creation system comprising a control unit that generates test data of a computer system in an internal table unit with reference to item attribute parameter information stored in an item attribute parameter file unit, wherein the control unit includes the specification file A first step of extracting test data specification information from the test section, and a test extracted by the first step A second step of extracting a plurality of item attribute parameter information corresponding to the attribute information and record length of the data specification information from the item attribute parameter file unit; and a plurality of item information of the test data specification information extracted in the first step. A third step set in the internal table unit according to the record length of the item information, a plurality of item information in the internal table unit set in the third step, a variable of the item attribute parameter information extracted in the second step There has also been proposed a test data creation system (see Patent Document 2) that executes a fourth step of generating test data by assigning data according to the above.

特開2006−260390号公報JP 2006-260390 A 特開2009−289083号公報JP 2009-289083 A

従来技術を利用することでテストケースの自動生成は可能である。しかしながら、テストケースの自動生成に利用する設計書については、そのフォーマット等が固定化されているのが前提であって、例えばフォーマットや記載項目が固定基準と異なる設計書について適用することが出来ないという課題が残されている。   Automatic generation of test cases is possible using conventional technology. However, the design document used for the automatic generation of test cases is based on the premise that the format is fixed. For example, it cannot be applied to a design document whose format and description items are different from the fixed standard. The problem remains.

また、従来技術によって出力されるテストケースの形式が固定であることから、設計書によっては不要な項目についてもテストケースが出力され、更にはその不要なテストケースの実行によって、システム検証の作業量自体が増大するという問題も生じる。一方で、必要なテストケースが出力されないことも起こりうるため、テスト漏れによるシステムの品質低下の事態が生じる恐れもある。   In addition, since the format of test cases output by the conventional technology is fixed, test cases are output even for items that are not required depending on the design document. There also arises a problem of increasing itself. On the other hand, since necessary test cases may not be output, there is a possibility that the quality of the system may deteriorate due to test omission.

そこで本発明の目的は、設計書におけるフォーマットによらずテストケースを自動生成すると共に、ユーザによるテストケース編集も可能として、システム検証の効率化、品質低下の防止を図る技術を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a technology for automatically generating a test case regardless of the format in the design document and enabling the user to edit the test case, thereby improving the efficiency of system verification and preventing the deterioration of quality. .

上記課題を解決する本発明のテストケース自動生成システムは、システムの設計書のデータに基づいて前記システムのテストケースを自動生成するコンピュータであって、各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部と、テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理を実行する演算部と、を備える。   The test case automatic generation system of the present invention that solves the above problems is a computer that automatically generates a test case of the system based on data of a system design document, and defines items common to various design documents in advance. The storage unit storing the table and the test content definition and output condition including the items included in the description for each test case are designated by the user via the input unit and stored in the storage unit as a test information database. The process and the design document data to be processed are collated with the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched with the item of the table And storing the design information database in the storage unit and reading the design information database data from the storage unit. Pattern matching between the read data and the output condition of each test case in the test information database, the test case where the output condition is satisfied, or the test case where the output condition was not originally set For the specified test case, the data corresponding to each item included in the definition of the corresponding test case in the test information database is specified from the read design information database data, and the specified data is And an arithmetic unit that executes processing for generating a corresponding test case by setting the definition.

また、本発明のテストケース自動生成方法は、システムの設計書のデータに基づいて前記システムのテストケースを自動生成すべく、各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部を備えたコンピュータが、テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理と、を実行することを特徴とする。   In addition, the test case automatic generation method of the present invention stores a table in which tables defined in advance for items common to various design documents are stored in order to automatically generate the test cases of the system based on the data of the system design documents. A computer having a test information for each test case, the definition of the test content including the item included in the description and the output condition received from the user via the input unit and stored in the storage unit as a test information database; The design document data to be processed is collated with the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched to the table item, A process of storing the design information database in the storage unit, and reading the design information database data from the storage unit, Pattern matching between the test data and the output condition of each test case in the test information database to identify a test case where the output condition is satisfied or a test case where the output condition was not originally set And for the identified test case, data corresponding to each item included in the definition of the corresponding test case in the test information database is identified from the read design information database data, and the identified data is set in the definition And generating a corresponding test case.

また、本発明のテストケース自動生成プログラムは、システムの設計書のデータに基づいて前記システムのテストケースを自動生成すべく、各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部を備えたコンピュータに、テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理と、を実行させることを特徴とする。   Further, the test case automatic generation program of the present invention stores a table in which tables defined in advance for items common to various design documents are stored in order to automatically generate the test cases of the system based on the data of the system design documents. A process for receiving a specification from a user via an input unit and storing it in a storage unit as a test information database with respect to a test content definition and an output condition for each test case, for each test case. The design document data to be processed is collated with the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched to the table item, The process of storing in the storage unit as a design information database, and reading the data of the design information database from the storage unit, Pattern matching between the read data and the output conditions of each test case in the test information database is performed to identify a test case that satisfies the output condition or a test case that did not originally have an output condition set. For the processing and the specified test case, data corresponding to each item included in the definition of the corresponding test case in the test information database is specified from the read design information database data, and the specified data is set as the definition. And processing for generating a corresponding test case by setting.

本発明によれば、設計書におけるフォーマットによらずテストケースを自動生成すると共に、ユーザによるテストケース編集も可能として、システム検証の効率化、品質低下の防止を図ることができる。   According to the present invention, a test case can be automatically generated regardless of the format in the design document, and the test case can be edited by the user, so that the efficiency of system verification can be improved and the deterioration of quality can be prevented.

本実施形態のテストケース自動生成システムの構成例を示す図である。It is a figure which shows the structural example of the test case automatic generation system of this embodiment. 本実施形態における設計書のフォーマット例を示す図である。It is a figure which shows the format example of the design document in this embodiment. 本実施形態における設計項目間の関係例を示す図である。It is a figure which shows the example of a relationship between the design items in this embodiment. 本実施形態における設計書の例を示す図である。It is a figure which shows the example of the design document in this embodiment. 本実施形態における設計項目データの関係例を示す図である。It is a figure which shows the example of a relationship of the design item data in this embodiment. 設計情報データベースとテスト情報データベースのテーブル構成例を示す図である。It is a figure which shows the example of a table structure of a design information database and a test information database. 本実施形態における設計書テーブルの例を示す図である。It is a figure which shows the example of the design document table in this embodiment. 本実施形態における設計項目テーブルの例を示す図である。It is a figure which shows the example of the design item table in this embodiment. 本実施形態における設計書詳細テーブルの例を示す図である。It is a figure which shows the example of the design document detailed table in this embodiment. 本実施形態におけるテストケース自動生成方法の処理手順例1を示すフロー図である。It is a flowchart which shows process sequence example 1 of the test case automatic generation method in this embodiment. 本実施形態における設計項目データテーブルの例を示す図である。It is a figure which shows the example of the design item data table in this embodiment. 本実施形態における雛形ファイルの例を示す図である。It is a figure which shows the example of the model file in this embodiment. 本実施形態における環境設定ファイルの例を示す図である。It is a figure which shows the example of the environment setting file in this embodiment. 本実施形態におけるテストケースの例を示す図である。It is a figure which shows the example of the test case in this embodiment. 本実施形態におけるテストケーステーブルの例を示す図である。It is a figure which shows the example of the test case table in this embodiment. 本実施形態におけるテストケース詳細テーブルの例を示す図である。It is a figure which shows the example of the test case detailed table in this embodiment. 本実施形態における出力条件テーブルの例を示す図である。It is a figure which shows the example of the output condition table in this embodiment. 本実施形態におけるテストケース自動生成方法の処理手順例2を示すフロー図である。It is a flowchart which shows process sequence example 2 of the test case automatic generation method in this embodiment. 本実施形態におけるテストケース自動生成方法の処理手順例3を示すフロー図である。It is a flowchart which shows process sequence example 3 of the test case automatic generation method in this embodiment.

以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態のテストケース自動生成システム100の構成例を示す図である。図1に示すテストケース自動生成システム100は、設計書におけるフォーマットによらずテストケースを自動生成すると共に、ユーザによるテストケース編集も可能として、システム検証の効率化、品質低下の防止を図るコンピュータシステムである。   Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of a test case automatic generation system 100 according to the present embodiment. A test system automatic generation system 100 shown in FIG. 1 automatically generates a test case regardless of a format in a design document, and also allows a user to edit a test case, thereby improving the efficiency of system verification and preventing deterioration in quality. It is.

テストケース自動生成システム100のハードウェア構成は例えば以下の如くとなる。前記テストケース自動生成システム100は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部101、RAMなど揮発性記憶装置で構成されるメモリ103、前記記憶部101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUなどの演算部104、ユーザからのキー入力等を受け付けるキーボードやマウス等の入力部105、処理データの表示を行うディスプレイ等の表示部106を備える。なお、記憶部101内には、本実施形態のテストケース自動生成システムとして必要な機能を実装する為のプログラム102と、各種テーブル、データ類が記憶されている。   The hardware configuration of the test case automatic generation system 100 is as follows, for example. The test case automatic generation system 100 includes a storage unit 101 composed of a suitable non-volatile storage device such as a hard disk drive, a memory 103 composed of a volatile storage device such as a RAM, and a program 102 held in the storage unit 101. An operation unit 104 such as a CPU for performing overall control of the apparatus itself by executing it by reading it into the memory 103 and performing various determinations, calculations and control processes, an input unit 105 such as a keyboard and a mouse for accepting key inputs from the user, A display unit 106 such as a display for displaying processing data is provided. The storage unit 101 stores a program 102 for implementing functions necessary for the test case automatic generation system of the present embodiment, various tables, and data.

記憶部101に格納されているテーブルやデータの類としては、各種設計書間に共通する項目について予め定義したテーブル125(設計書テーブル601、設計項目テーブル602、設計書詳細テーブル603、設計項目データテーブル604を含む)と、予めユーザから指定を受けているテスト情報データベース126(テストケーステーブル605、テストケース詳細テーブル606、出力条件テーブル607を含む)がある。また、その他にも、雛形ファイル127、環境設定ファイル128なども記憶部101に格納されている。これらデータベースやファイルに関しては後述する。   Examples of tables and data stored in the storage unit 101 include a table 125 (design document table 601, design item table 602, design document detail table 603, design item data defined in advance for items common to various design documents. Table 604) and a test information database 126 (including a test case table 605, a test case detail table 606, and an output condition table 607) previously designated by the user. In addition, a template file 127, an environment setting file 128, and the like are also stored in the storage unit 101. These databases and files will be described later.

こうしたテストケース自動生成システム100では、前記各テーブル601〜604らが示す項目に応じて、画面遷移定義情報5やデータ仕様情報6などで構成される設計書10を設計情報データベース125に登録する。またテストケース自動生成システム100は、設計情報データベース125、テスト情報データベース126、および環境設定ファイル128を元に、雛形ファイル127を利用してテストケース20を自動生成することとなる。   In such an automatic test case generation system 100, the design document 10 including the screen transition definition information 5 and the data specification information 6 is registered in the design information database 125 according to the items indicated by the tables 601 to 604. The test case automatic generation system 100 automatically generates the test case 20 using the template file 127 based on the design information database 125, the test information database 126, and the environment setting file 128.

続いて、本実施形態のテストケース自動生成システム100が備える機能について説明する。上述したように、以下に説明する機能は、例えばテストケース自動生成システム100の演算部104がプログラム102をそれぞれ実行することで実装される機能と言える。   Next, functions provided in the test case automatic generation system 100 of this embodiment will be described. As described above, the functions described below can be said to be functions that are implemented when the arithmetic unit 104 of the test case automatic generation system 100 executes the program 102, for example.

前記テストケース自動生成システム100は、テストケース別の、前記項目が記述に含まれたテスト内容の定義(テストケーステーブル605、テストケース詳細テーブル606)および出力条件(出力条件テーブル607)について、入力部105を介しユーザから指定を受けて、テスト情報データベース126として記憶部101に格納する機能を有している。   The test case automatic generation system 100 inputs the test content definition (test case table 605, test case detail table 606) and output conditions (output condition table 607) for each test case in which the items are included in the description. It has a function of receiving designation from the user via the unit 105 and storing it in the storage unit 101 as the test information database 126.

また、前記テストケース自動生成システム100は、処理対象となる設計書10のデータを前記各テーブル601〜604に照合し、該テーブルで定義された各項目に該当する情報を前記設計書10のデータから抽出し、該抽出データを前記テーブル601〜604の項目に合わせて、設計情報データベース125として記憶部101にて記憶する機能を有している。   Further, the test case automatic generation system 100 collates the data of the design document 10 to be processed with the respective tables 601 to 604, and obtains information corresponding to each item defined in the table as the data of the design document 10. And the extracted data is stored in the storage unit 101 as the design information database 125 in accordance with the items of the tables 601 to 604.

設計書10はプログラム等を開発する上で必要となる設計項目を記載するものであり、同様のシステムを開発する場合、そのフォーマットはプロジェクト毎に異なるが、設計項目についてはプロジェクト間でほぼ共通となりやすい。そこで本実施形態のテストケース自動生成システム100は、設計書10のデータを、前記テーブル601〜604らのデータ項目に合わせて抽出し設計情報データベース125へ導入する処理を行うことで、テストケース20の生成に利用する設計書10の間のフォーマットの違いを吸収することとなる。   The design document 10 describes design items necessary for developing a program and the like. When a similar system is developed, the format differs for each project, but the design items are almost common among projects. Cheap. Therefore, the test case automatic generation system 100 according to the present embodiment performs a process of extracting the data of the design document 10 in accordance with the data items of the tables 601 to 604 and introducing the extracted data into the design information database 125. The difference in the format between the design documents 10 used for generating the data is absorbed.

また、前記テストケース自動生成システム100は、記憶部101から前記設計情報データベース125のデータを読み出し、該読み出したデータと、前記テスト情報データベース126における各テストケースの出力条件(出力条件テーブル607が示す情報)とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する機能を有している。   Further, the test case automatic generation system 100 reads the data of the design information database 125 from the storage unit 101, the read data, and the output conditions of each test case in the test information database 126 (the output condition table 607 indicates Information) and performing a pattern matching with the information) to specify a test case where the output condition is satisfied or a test case where the output condition was not originally set.

また、前記テストケース自動生成システム100は、前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベース125のデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する機能を有している。   In addition, the test case automatic generation system 100 specifies data corresponding to each item included in the definition of the corresponding test case in the test information database for the specified test case from the data in the read design information database 125. The test data is generated by setting the specified data in the definition.

なお、前記テストケース自動生成システム100は、記憶部101から読み出した前記設計情報データベース125のデータと、前記テスト情報データベース126における各テストケースの出力条件とのパターンマッチングを行うに際し、前記出力条件が示す情報の組み合わせを正規表現とし、これを前記設計情報データベース125のデータに対しパターンマッチングさせるとすれば好適である。   Note that when the test case automatic generation system 100 performs pattern matching between the data of the design information database 125 read from the storage unit 101 and the output condition of each test case in the test information database 126, the output condition is It is preferable that the combination of information shown is a regular expression, and this is pattern-matched with the data in the design information database 125.

こうした本実施形態のテストケース自動生成システム100によれば、テスト情報データベース126におけるテーブル605〜607についてユーザがメンテナンス可能であり、テストケースに含ませるチェック条件や確認内容等、出力するテストケースの追加、変更、削除が可能となる。また、テストケースの出力条件の指定では正規表現を導入することで、パターンマッチングによるテストケースの出力制御を確実化かつ効率化できる。   According to the test case automatic generation system 100 of this embodiment, the user can maintain the tables 605 to 607 in the test information database 126, and the addition of test cases to be output such as check conditions and confirmation contents to be included in the test cases is possible. , Change and delete. In addition, by designating test case output conditions, regular expressions can be introduced to ensure reliable and efficient test case output control by pattern matching.

続いて、本実施形態で処理対象となる設計書10にデータ構成例等について説明しておく。図2は、本実施形態のテストケース自動生成システム100における処理対象となる設計書10のフォーマット例を示した図である。前記テストケース自動生成システム100(以下、システム100)が扱う設計書10の一例としては、1つの表計算ファイルに存在する1つのシート上において、画面構成の定義等が記述されたデータを想定している(勿論、画面構成に関する設計書はあくまで一例である)。一般的に、表計算ファイルにおけるシートは、値の入力可能な矩形セルが縦横に行列配置されて構成されたものであり、各セルは行列中での配置を示す座標値(例えば、“A列の3行目”であれば、「A3」)でシート上の絶対位置が特定できる。1つの表計算ファイルに含まれるシート数に制限は無いことが普通であり、複数の各設計書10を記述した複数のシートを、1つの表計算ファイルに含めておくことも可能である。   Subsequently, a data configuration example and the like will be described in the design document 10 to be processed in the present embodiment. FIG. 2 is a diagram showing a format example of the design document 10 to be processed in the test case automatic generation system 100 of the present embodiment. As an example of the design document 10 handled by the test case automatic generation system 100 (hereinafter referred to as the system 100), it is assumed that data in which a screen configuration definition is described on one sheet existing in one spreadsheet file. (Of course, the design document regarding the screen configuration is merely an example). In general, a sheet in a spreadsheet file is configured by arranging rectangular cells into which values can be input in a matrix arrangement vertically and horizontally, and each cell has a coordinate value indicating an arrangement in the matrix (for example, “A column”). "A3"), the absolute position on the sheet can be specified. Normally, there is no limit on the number of sheets included in one spreadsheet file, and a plurality of sheets describing a plurality of design documents 10 can be included in one spreadsheet file.

図2においては、画面一覧11、画面項目定義書12、画面ボタン定義書13という3つの設計書フォーマットの例を示している。画面一覧11は、システム開発で設計される全画面の情報を一覧化して表現した設計書フォーマットである。図2の例では、1つの表計算ファイル中の1つのシート(“画面一覧”のタグがシート左下に存在する)に記述したものとなっている。   FIG. 2 shows an example of three design document formats: a screen list 11, a screen item definition document 12, and a screen button definition document 13. The screen list 11 is a design document format that lists and expresses information on all screens designed in system development. In the example of FIG. 2, it is described in one sheet (a “screen list” tag exists in the lower left of the sheet) in one spreadsheet file.

一方、画面項目定義書12と画面ボタン定義書13は、前記画面一覧11にて定義された各画面上に存在するすべての画面項目とボタン項目の情報をそれぞれ一覧化して表現した設計書フォーマットである。図2の例では、1つの表計算ファイル中のそれぞれシート(計2シート)に記述したものとなっている。よって、シート左下に“画面項目定義書”、“画面ボタン定義書”の各タグが存在している。   On the other hand, the screen item definition document 12 and the screen button definition document 13 have a design document format in which all screen items and button item information existing on each screen defined in the screen list 11 are listed and expressed. is there. In the example of FIG. 2, each sheet is described in two sheets in one spreadsheet file. Therefore, “screen item definition document” and “screen button definition document” are present at the lower left of the sheet.

ここで、各シートの名、すなわちシート名は、処理対象の設計書10が、後述する設計書テーブル601のどのレコードに該当するものか識別するため、設計書テーブル601で定義された「設計書名称」と同一名称である必要がある。したがって、図2の例に示す設計書フォーマットを考えた場合、設計書テーブル601には「設計書名称」として「画面一覧」、「画面項目定義書」、「画面ボタン定義書」という3つのレコードが存在することになる。   Here, the name of each sheet, that is, the sheet name is “design document” defined in the design document table 601 in order to identify which record in the design document table 601 described later corresponds to the design document 10 to be processed. The name must be the same as “Name”. Therefore, when the design document format shown in the example of FIG. 2 is considered, the design document table 601 includes three records “screen list”, “screen item definition document”, and “screen button definition document” as “design document name”. Will exist.

また、設計書10に記載される設計項目は、1つの設計書において複数存在することを想定している。図2の例の場合、画面一覧11においては、「画面ID」と「画面名」の2つの設計項目がある。また、画面項目定義書12においては「画面ID」、「画面項目ID」、「画面項目名」、「コントロール」、「桁」、「必須」の6つの設計項目がある。また、画面ボタン定義書13においては、「画面ID」、「画面ボタンID」、「画面ボタン名」の3つの設計項目がある。   Further, it is assumed that a plurality of design items described in the design document 10 exist in one design document. In the case of the example of FIG. 2, the screen list 11 has two design items, “screen ID” and “screen name”. The screen item definition document 12 has six design items of “screen ID”, “screen item ID”, “screen item name”, “control”, “digit”, and “required”. The screen button definition document 13 has three design items of “screen ID”, “screen button ID”, and “screen button name”.

なお、同一の設計項目が複数の設計書、すなわち図2の例の場合の画面一覧11、画面項目定義書12、画面ボタン定義書13らに存在することも想定できる。複数の設計書に存在する設計項目は、設計書間の紐付けを行う設計項目であり、同一の設計項目のデータ値が互いに同じである設計書同士は関連する設計書となる。図2の例では、「画面ID」が複数の設計書に記述されており、この「画面ID」が一致する設計書同士が関連する設計書となる。   It can be assumed that the same design item exists in a plurality of design documents, that is, the screen list 11, the screen item definition document 12, the screen button definition document 13 and the like in the example of FIG. Design items existing in a plurality of design documents are design items for linking the design documents, and design documents having the same data value in the same design item are related design documents. In the example of FIG. 2, “screen ID” is described in a plurality of design documents, and the design documents having the same “screen ID” are related to each other.

こうした設計書らのフォーマットに基づく設計項目間の関係例を図3にて示す。前記システム100が扱う各設計項目の間は、1:Nの親子関係があることを想定している。親となる設計項目は子となる設計項目を一意に決定する設計項目である。親となる設計項目は複数の子となる設計項目を持つことができるが、子となる設計項目は親となる設計項目を1つしか持てない。したがって、親の設計項目に相当する値が決まると、子となる設計項目に相当する値が自動的に決まる。   An example of the relationship between design items based on the format of such design documents is shown in FIG. It is assumed that there is a 1: N parent-child relationship between design items handled by the system 100. The parent design item is a design item that uniquely determines a child design item. A parent design item can have a plurality of child design items, but a child design item can have only one parent design item. Therefore, when the value corresponding to the parent design item is determined, the value corresponding to the child design item is automatically determined.

図3に示す例では、図2に示した設計書フォーマット11〜13らの設計項目の間の親子関係が表現されている。この図において、「画面ID」は画面を一意に識別する設計項目であり、この画面IDが決まると、「画面名」が自動的に決まるので、「画面ID」と「画面名」との間には「画面ID」が親かつ「画面名」が子という関係ができる。   In the example shown in FIG. 3, the parent-child relationship between the design items of the design document formats 11 to 13 shown in FIG. 2 is expressed. In this figure, “screen ID” is a design item that uniquely identifies a screen, and when this screen ID is determined, “screen name” is automatically determined, so between “screen ID” and “screen name”. Can have a relationship in which “screen ID” is a parent and “screen name” is a child.

また、「画面ID」に対して「画面名」は1つなので、「画面ID」と「画面名」は1:1の親子関係となる。「画面項目ID」は画面上の項目を一意に識別するためのIDである。画面上の項目は画面が決まると自動的に決まるので、「画面ID」と「画面項目ID」の間には「画面ID」が親かつ「画面項目ID」が子という関係ができる。また画面には複数の画面項目が存在するため、「画面ID」と「画面項目ID」の間は1:Nの親子関係となりうる。   Further, since there is one “screen name” for “screen ID”, “screen ID” and “screen name” have a 1: 1 parent-child relationship. “Screen item ID” is an ID for uniquely identifying an item on the screen. Since the items on the screen are automatically determined when the screen is determined, there can be a relationship between “screen ID” and “screen item ID” in which “screen ID” is a parent and “screen item ID” is a child. Further, since there are a plurality of screen items on the screen, a 1: N parent-child relationship can be established between “screen ID” and “screen item ID”.

また、「画面項目名」、「コントロール」、「桁」は「画面項目ID」が決まると自動的に決まる項目であり、「画面項目ID」と「画面項目名」、「コントロール」、「桁」には「画面項目ID」が親かつ「画面項目名」、「コントロール」、「桁」が子という関係ができる。また、「画面項目ID」に対して「画面項目名」、「コントロール」、「桁」はそれぞれ1つなので、「画面項目ID」と「画面項目名」、「コントロール」、「桁」の各間は1:1の親子関係となる。   “Screen item name”, “control”, and “digit” are items automatically determined when “screen item ID” is determined. “Screen item ID”, “screen item name”, “control”, “digit” "Can be related to" screen item ID "as a parent and" screen item name "," control ", and" digit "as children. Since there is one “screen item name”, “control”, and “digit” for “screen item ID”, each of “screen item ID”, “screen item name”, “control”, and “digit” There is a 1: 1 parent-child relationship.

また、「画面ボタンID」は「画面項目ID」と同様の理由から、「画面ID」が親かつ「画面ボタンID」が子という1:Nの親子関係となる。さらに、「画面ボタン名」は「画面項目名」、「コントロール」、「桁」と同様の理由から、「画面ボタンID」が親かつ「画面ボタン名」が子という1:1の親子関係となる。   For the same reason as “screen item ID”, “screen button ID” has a 1: N parent-child relationship in which “screen ID” is a parent and “screen button ID” is a child. Furthermore, for the same reason as “screen button name”, “screen item name”, “control”, and “digit”, there is a 1: 1 parent-child relationship in which “screen button ID” is the parent and “screen button name” is the child. Become.

このようなフォーマットに基づいてユーザが作成した設計書10としては、画面一覧14、画面項目定義書15、および画面ボタン定義書16の各例を図4に示す。図4に示す例では、開発対象となる画面数は2つあり、画面一覧14には2つの画面の情報が一覧形式で記述されている。また、画面項目定義書15と画面ボタン定義書16は、1画面についてそれぞれ作成した例であり、画面項目定義書15では画面上に存在する2つの画面項目の情報が一覧形式で記述されており、画面ボタン定義書16では画面上に存在する1つのボタンの情報が一覧形式で記述されている。   FIG. 4 shows examples of the screen list 14, the screen item definition document 15, and the screen button definition document 16 as the design document 10 created by the user based on such a format. In the example shown in FIG. 4, there are two screens to be developed, and information on the two screens is described in a list format in the screen list 14. The screen item definition document 15 and the screen button definition document 16 are examples created for each screen, and the screen item definition document 15 describes information on two screen items existing on the screen in a list format. In the screen button definition document 16, information of one button existing on the screen is described in a list format.

こうした設計書について図3同様に設計項目間の関係を示したのが図5となる。図4でえ例示した設計例では、画面には2つの画面項目と1つのボタン項目が存在している。そこで、画面ID:SCREEN01には、1つの画面名:ユーザ登録画面と、2つの画面項目ID:userId、userNameと、1つのボタン項目ID:insertが子の設計項目データとして存在する。さらに画面項目ID:userIdには画面項目名:ユーザIDと、コントロール:テキストと、桁:10と、必須:○、という子となる4つの設計項目データが存在し、画面項目ID:userNameには、画面項目名:ユーザ名と、コントロール:テキストと、桁:5と、必須:−、という子となる4つの設計項目データが存在する。また、画面ボタンID:insertには、画面ボタン名:登録という子となる1つの設計項目データが存在する。   FIG. 5 shows the relationship between design items for such a design document as in FIG. In the design example illustrated in FIG. 4, there are two screen items and one button item on the screen. Therefore, in the screen ID: SCREEN01, one screen name: user registration screen, two screen item IDs: userId, userName, and one button item ID: insert exist as child design item data. Furthermore, the screen item ID: userId has four design item data that are children of the screen item name: user ID, control: text, digit: 10, and mandatory: ◯, and the screen item ID: userName. There are four design item data that are children of screen item name: user name, control: text, digit: 5, and mandatory:-. The screen button ID: insert includes one design item data as a child of the screen button name: registration.

続いて、前記システム100が利用する設計情報データベース125とテスト情報データベース126のテーブル構成例について図6〜9に基づき説明する。   Next, exemplary table configurations of the design information database 125 and the test information database 126 used by the system 100 will be described with reference to FIGS.

設計情報データベース125は、設計書テーブル601、設計項目テーブル602、設計書詳細テーブル603、および設計項目データテーブル604の4つのテーブルから構成される。   The design information database 125 includes four tables: a design document table 601, a design item table 602, a design document detail table 603, and a design item data table 604.

設計書テーブル601は、前記システム100の入力となる設計書10に関する情報を保持するためのテーブルである。この設計書テーブル601は、図7にも示すように、設計書ID701と設計書名称702の2つの項目からなる。設計書ID701は設計書テーブル601の主キーとなる項目であり、入力となる設計書を一意に識別するためのIDである。設計書名称702は入力となる設計書の日本語名称を表すものである。設計書名称702は、図2で説明したとおり、ユーザが指定した設計書がどの設計書なのかを識別するために、入力となる設計書のシート名と同一である必要がある。   The design document table 601 is a table for holding information related to the design document 10 that is an input of the system 100. The design document table 601 includes two items, a design document ID 701 and a design document name 702, as shown in FIG. The design document ID 701 is an item serving as a primary key of the design document table 601 and is an ID for uniquely identifying an input design document. The design document name 702 represents the Japanese name of the input design document. As described with reference to FIG. 2, the design document name 702 needs to be the same as the sheet name of the input design document in order to identify which design document is designated by the user.

上記図2の例では、設計書には画面一覧14、画面項目定義書15、および画面ボタン定義書16の3つの設計書があるため、図7に示す設計書テーブル601の例では、各設計書3件の情報が登録されている。設計書ID701には一意となるIDを設定する必要があり、画面一覧14、画面項目定義書15、画面ボタン定義書16に対する各設計書IDには、それぞれ重複しない値として、例えば、「ScreenList」、「ScreenItem」、「ScreenButton」を設定している。設計書名称702には、図2で説明したとおり表計算ファイルのシート名と一致する必要があるため、設計書名称702にはそれぞれ、「画面一覧」、「画面項目定義書」、「画面ボタン定義書」を設定している。   In the example of FIG. 2, the design document includes three design documents, that is, the screen list 14, the screen item definition document 15, and the screen button definition document 16. Therefore, in the example of the design document table 601 shown in FIG. Three pieces of information are registered. It is necessary to set a unique ID for the design document ID 701. For each design document ID for the screen list 14, the screen item definition document 15, and the screen button definition document 16, for example, "ScreenList" , “ScreenItem” and “ScreenButton” are set. Since the design document name 702 needs to match the sheet name of the spreadsheet file as described in FIG. 2, the design document name 702 includes “screen list”, “screen item definition document”, and “screen button”, respectively. Definition document "is set.

また、設計項目テーブル602はシステム開発する上で必要となる、設計書に記載された設計項目の情報を保持するためのテーブルである。この設計項目テーブル602は、図8にて示すように、設計項目ID801、設計項目名称802、親設計項目ID803の3つの項目からなる。設計項目ID801は設計項目テーブル602の主キーとなる項目であり、設計項目を一意に識別するためのIDである。設計項目名称803は入力となる設計書に記載された設計項目の日本語名称を表すものである。親設計項目ID802は、図3で説明したとおり、設計項目間に1:Nの親子関係があることを踏まえ、子となる設計項目に対して親となる設計項目の設計項目IDを設定するための項目である。   The design item table 602 is a table for holding information on design items described in a design document, which is necessary for system development. As shown in FIG. 8, the design item table 602 includes three items: a design item ID 801, a design item name 802, and a parent design item ID 803. The design item ID 801 is an item serving as a primary key of the design item table 602, and is an ID for uniquely identifying the design item. The design item name 803 represents the Japanese name of the design item described in the input design document. Since the parent design item ID 802 has a 1: N parent-child relationship between the design items as described in FIG. 3, the design item ID of the parent design item is set for the child design item. It is an item.

図8に示す設計項目テーブル602の例においては、設計項目として、「画面一覧」について「画面ID」と「画面名」の2つの設計項目が、「画面項目定義書」について「画面ID」、「画面項目ID」、「画面項目名」、「コントロール」、「桁」、「必須」の6つの設計項目が、「画面ボタン定義書」について「画面ID」、「画面ボタンID」、「画面ボタン名」の3つの設計項目が存在する。また「画面ID」は「画面一覧」、「画面項目定義書」、「画面ボタン定義書」のすべての設計書に存在しており、設計項目としては重複を除き「画面ID」、「画面名」、「画面項目ID」、「画面項目名」、「コントロール」、「桁」、「必須」、「」画面ボタンID」、「画面ボタン名」の9つの設計項目が存在する。したがって、設計項目テーブル602には、9件の情報が登録されている。設計項目ID801には一意となるIDを設定する必要があり、「画面ID」、「画面名」、「画面項目ID」、「画面項目名」、「コントロール」、「桁」、「必須」、「画面ボタンID」、「画面ボタン名」に対する設計項目IDにはそれぞれ重複しない値として、「ScreenId」、「ScreenName」、「ScreenItemId」、「ScreenItemName」、「ScreenItemCtl」、「ScreenItemSize」、「ScreenItemNecessary」、「ScreenButtonId」、「ScreenButtonName」を設定している。   In the example of the design item table 602 shown in FIG. 8, two design items “screen ID” and “screen name” for “screen list” as “design items”, “screen ID” for “screen item definition document”, The six design items “screen item ID”, “screen item name”, “control”, “digit”, and “required” are “screen ID”, “screen button ID”, “screen” for “screen button definition document”. There are three design items "button name". “Screen ID” is present in all design documents of “screen list”, “screen item definition document”, and “screen button definition document”. Except for duplication, “screen ID”, “screen name” There are nine design items: “screen item ID”, “screen item name”, “control”, “digit”, “required”, “screen button ID”, and “screen button name”. Accordingly, nine pieces of information are registered in the design item table 602. It is necessary to set a unique ID for the design item ID 801, and “screen ID”, “screen name”, “screen item ID”, “screen item name”, “control”, “digit”, “required”, “ScreenId”, “ScreenName”, “ScreenItemId”, “ScreenItemName”, “ScreenItemSize”, “ScreenItemSize”, “ScreenItem”, “ScreenItemSize”, “ScreenItemSize”, “ScreenItemSize”, “ScreenItemSize”, “ScreenItemSize”, “ScreenItemSize” , “ScreenButtonId” and “ScreenButtonName” are set.

また、設計項目名称803は、設計項目の日本語名称であるため、「画面ID」、「画面名」、「画面項目ID」、「画面項目名」、「コントロール」、「桁」、「必須」、「画面ボタンID」、「画面ボタン名」といった名称を設定している。さらに親項目の設計項目ID802には、設計項目間に図3に示す親子関係があるため、「画面ID」に関しては未設定を示す「−」が設定され、「画面名」、「画面項目ID」、「画面ボタンID」に関しては「ScreenId」が設定され、「画面項目名」、「コントロール」、「桁」、「必須」に関しては「ScreenItemId」が設定され、「画面ボタン名」に関しては「ScreenButtonId」が設定されている。   Since the design item name 803 is the Japanese name of the design item, “screen ID”, “screen name”, “screen item ID”, “screen item name”, “control”, “digit”, “required” ”,“ Screen button ID ”, and“ screen button name ”are set. Furthermore, since the design item ID 802 of the parent item has the parent-child relationship shown in FIG. 3 between the design items, “-” indicating that “screen ID” is not set is set, and “screen name” and “screen item ID” are set. "ScreenId" is set to "ScreenId", "Screen Item Name", "Control", "Digit", "Required" is set to "ScreenItemId", and "Screen Button Name" is set to "ScreenItem Name". “ScreenButtonId” is set.

また、設計書詳細テーブル603は、設計書10と設計項目とを紐付けるためのテーブルであり、設計書10のどの位置にどの設計項目が存在するかという情報を保持するためのテーブルである。設計書詳細テーブル603は、図9に例示するように、設計書ID901、設計項目ID902、絶対位置903、繰返し有無904、データ読込方向905、登録有無906の6つの項目からなる。   The design document detail table 603 is a table for associating the design document 10 with the design item, and is a table for holding information indicating which design item exists at which position of the design document 10. As illustrated in FIG. 9, the design document detail table 603 includes six items: a design document ID 901, a design item ID 902, an absolute position 903, a repeat presence / absence 904, a data reading direction 905, and a registration presence / absence 906.

設計書ID901と設計項目ID902は設計書詳細テーブル603の主キーとなる項目であり、どの設計書にどの設計項目が記載されるかを示すものである。設計書ID901は設計書テーブル601に存在する設計書ID701である必要があり、設計項目ID902は設計項目テーブル602に存在する設計項目ID801である必要がある。絶対位置903は設計書のどの位置に設計項目が存在するかを示す情報である。図2をもとに例を示すと、設計書:画面一覧にある設計項目:画面IDに対するデータは「A2」の位置から開始されるため、絶対位置903には「A2」が設定される。また、繰り返し有無904は、設計項目のデータが設計書間で1つなのか複数なのかを示す情報であり、1つの場合には「無」が、複数の場合には「有」が設定される。図2の例をもとに説明すると、設計書:画面一覧にある設計項目:画面IDに対するデータは複数記述されるため、繰返し有無904には「有」が設定される。一方、設計書:画面項目定義書にある設計項目:画面IDに対するデータは1つしか記述されないため、繰返し有無904には「無」が設定される。また、データ読込方向905は設計項目のデータが複数の場合に利用され、データの繰返し方向を示すものであり、該当設計項目が上方向に繰り返される場合には「↑」が、下方向に繰り返される場合には「↓」が、左方向に繰り返される場合には「←」が、右方向に繰り返される場合には「→」が設定される。また設計項目のデータが1つの場合には「−」が設定される。図2をもとに例を示すと、設計書:画面一覧にある設計項目:画面IDに対するデータは下方向に複数記述されるため、データ読込方向905には「↓」が設定される。一方、設計書:画面項目定義書にある設計項目:画面IDに対するデータは1つしか記述されないため、データ読込方向905には「−」が設定される。また、登録有無906は複数の設計書に記載される設計項目に関して、どの設計書から設計項目データを登録するかを示す情報である。複数の設計書から同一の設計項目データを登録しても無駄な情報が増えてしまうだけなので、設計項目データは1つの設計書からしか登録できないようにしている。したがって、ある設計項目について、ある設計書で登録有無906が「有」になっている場合、その設計項目について他の設計書に関して「無」とする必要がある。図2をもとに例を示すと、設計項目:画面IDは3つの設計書に記載されるため、このうちの1つの設計書でしか登録有無906を「有」に設定できない。したがって、設計書:画面一覧にて登録有無906を「有」に設定した場合、設計書:画面項目定義書と設計書:画面ボタン定義書では登録有無906を「無」にしか設定できない。   The design document ID 901 and the design item ID 902 are items serving as main keys of the design document detail table 603, and indicate which design item is described in which design document. The design document ID 901 needs to be the design document ID 701 present in the design document table 601, and the design item ID 902 needs to be the design item ID 801 present in the design item table 602. The absolute position 903 is information indicating in which position of the design document the design item exists. As an example based on FIG. 2, the data for the design item: screen ID in the design document: screen list starts from the position “A2”, so “A2” is set in the absolute position 903. The repeat presence / absence 904 is information indicating whether the data of the design item is one or more between design documents. “No” is set for one and “Yes” is set for plural. The Referring to the example of FIG. 2, since a plurality of data for the design item: screen ID in the design document: screen list are described, “Yes” is set in the repeat presence / absence 904. On the other hand, since only one piece of data for the design item: screen ID in the design document: screen item definition document is described, “none” is set in the repeat presence / absence 904. The data reading direction 905 is used when there are a plurality of design item data and indicates the data repetition direction. When the corresponding design item is repeated upward, “↑” is repeated downward. “↓” is set in the case of being repeated, “←” is set in the case of being repeated in the left direction, and “→” is set in the case of being repeated in the right direction. If there is only one design item data, “-” is set. As an example based on FIG. 2, since a plurality of data for design items: screen IDs in the design document: screen list are described in the downward direction, “↓” is set in the data reading direction 905. On the other hand, since only one piece of data for the design item: screen ID in the design document: screen item definition document is described, “-” is set in the data reading direction 905. The registration presence / absence 906 is information indicating from which design document the design item data is registered with respect to the design item described in a plurality of design documents. Even if the same design item data is registered from a plurality of design documents, useless information only increases, so that the design item data can be registered only from one design document. Therefore, when the registration presence / absence 906 is “present” in a certain design document for a certain design item, the design item needs to be “not present” with respect to other design documents. In the example based on FIG. 2, the design item: screen ID is described in three design documents. Therefore, the presence / absence of registration 906 can be set to “present” only in one of these design documents. Therefore, when the registration status 906 is set to “present” in the design document: screen list, the registration status 906 can only be set to “none” in the design document: screen item definition document and the design document: screen button definition document.

図9に例示した設計詳細テーブルでは、設計書ID901が「ScreenList」かつ設計項目ID902が「ScreenId」と、設計書ID901が「ScreenList」かつ設計項目ID902が「ScreenName」という2つのレコードが登録されている。図2の例であれば、「画面ID」は「A2」の位置から下方向に複数記述されるため、設計書ID901が「ScreenList」かつ設計項目ID902が「ScreenId」のレコードの絶対位置903に「A2」が、繰返し有無904には「有」が、データ読込方向905には「↓」が設定される。また、「画面ID」は複数の設計書に記述されており、この例では「画面一覧」から登録するため、登録有無906を「有」にしている。したがって、「画面ID」が記述されている画面項目定義書15と画面ボタン定義書16では登録有無906を「無」にしている。同様に「画面名」は「B2」の位置から下方向に複数記述されているため、設計書ID901が「ScreenList」かつ設計項目ID902が「ScreenName」のレコードの絶対位置903に「B2」が、繰返し有無904には「有」が、データ読込方向905には「↓」が設定される。また「画面名」は「画面一覧」にのみ記述されているため、登録有無906は「有」に設定されている。他の設計書についても同様に設定することができる。こうした、設計書のデータをテーブル11〜13の項目に基づいて抽出・設定し、設計情報データベース125を作成する処理は、前記システム100が実行する。表計算ファイルのシートは上述のように絶対位置が判明しているセルによって構成されているから、前記システム100は、設計書10からのデータ抽出等に際しては、シート中の規定セル(例:“A1”など最上行の最左列のセル)から順次セルの値を読み込んで、該当設計項目のIDや名称が設定されたセルを特定し、それと連結ないし隣接したセルの値すなわち設計項目の値を読み取るといった処理を実行していけばよい。他のテーブル類に基づく設計書10からのデータ抽出についても同様である。   In the design detail table illustrated in FIG. 9, two records having a design document ID 901 “ScreenList”, a design item ID 902 “ScreenId”, a design document ID 901 “ScreenList”, and a design item ID 902 “ScreenName” are registered. Yes. In the example of FIG. 2, since a plurality of “screen IDs” are described downward from the position “A2”, the absolute position 903 of the record having the design document ID 901 “ScreenList” and the design item ID 902 “ScreenId” is displayed. “A2” is set to “Yes” in the repeat presence / absence 904 and “↓” in the data reading direction 905. In addition, “screen ID” is described in a plurality of design documents. In this example, since registration is performed from “screen list”, the registration presence / absence 906 is set to “present”. Therefore, in the screen item definition document 15 and the screen button definition document 16 in which “screen ID” is described, the registration presence / absence 906 is set to “none”. Similarly, since a plurality of “screen names” are described downward from the position “B2”, “B2” is displayed at the absolute position 903 of the record having the design document ID 901 “ScreenList” and the design item ID 902 “ScreenName”. “Yes” is set in the repeat presence / absence 904, and “↓” is set in the data reading direction 905. Further, since “screen name” is described only in “screen list”, the registration presence / absence 906 is set to “present”. Other design documents can be set similarly. The system 100 executes the process of extracting and setting the design document data based on the items in the tables 11 to 13 and creating the design information database 125. Since the sheet of the spreadsheet file is composed of the cells whose absolute positions are known as described above, the system 100 uses the specified cells (for example, “ A cell value is read in order from the leftmost cell in the top row such as A1 ", and the cell in which the ID or name of the corresponding design item is set is specified, and the value of the cell connected or adjacent to it, that is, the value of the design item It is sufficient to execute processing such as reading. The same applies to data extraction from the design document 10 based on other tables.

また、設計項目データテーブル604は、設計書10から読込んだ設計項目のデータを保持するためのテーブルである。設計項目データテーブル604はデータ番号1101、設計項目ID1102、値1103、親項目のデータ番号1104という4つの項目からなる。データ番号1101は設計項目のデータを一意に識別するための情報であり、設計項目のデータを設計項目データテーブル604に格納する際にシステム100が自動採番して作成する。設計項目ID1102は設計項目のデータがどの設計項目に関するものかを示すものであり、設計項目テーブル602に存在する設計項目ID801である必要がある。値1103は設計書10から読込んだ設計項目のデータを格納する。親項目のデータ番号1104は、図5で説明したとおり、設計項目間における1:Nの親子関係に基づいて、子となる設計項目データに対して親となる設計項目データのデータ番号を設定する項目である。親項目のデータ番号1104は設計項目データテーブル604に存在するデータ番号1101である必要がある。   The design item data table 604 is a table for holding design item data read from the design document 10. The design item data table 604 includes four items: a data number 1101, a design item ID 1102, a value 1103, and a parent item data number 1104. The data number 1101 is information for uniquely identifying the design item data, and is created by the system 100 automatically assigning the design item data to the design item data table 604. The design item ID 1102 indicates which design item the design item data relates to, and needs to be the design item ID 801 existing in the design item table 602. A value 1103 stores design item data read from the design document 10. As described in FIG. 5, the data number 1104 of the parent item sets the data number of the design item data that becomes the parent for the design item data that becomes the child based on the 1: N parent-child relationship between the design items. It is an item. The data number 1104 of the parent item needs to be the data number 1101 existing in the design item data table 604.

一方、テスト情報データベース126は、テストケーステーブル605、テストケース詳細テーブル606、出力条件テーブル607の3つのテーブルから構成される。テストケーステーブル605は生成するテストケース1件の情報を保持するテーブルである。テストケーステーブル605は、図15に示すようにテストケースID1501、テストケース名1502、出力条件ID1503の3つの項目からなる。テストケースID1501はテストケーステーブル605の主キーとなる項目であり、テストケースを一意に識別するためのIDである。テストケース名1502はテストケースの日本語名称を表すものである。出力条件ID1503はテストケースを出力するための条件を表すものであり、ここに値を設定することで、テストケースの出力制御が可能となる。出力条件ID1503は出力条件テーブル607に存在する出力条件ID1701である必要がある。   On the other hand, the test information database 126 includes three tables: a test case table 605, a test case detail table 606, and an output condition table 607. The test case table 605 is a table that holds information on one test case to be generated. As shown in FIG. 15, the test case table 605 includes three items: a test case ID 1501, a test case name 1502, and an output condition ID 1503. A test case ID 1501 is an item serving as a primary key of the test case table 605, and is an ID for uniquely identifying a test case. The test case name 1502 represents the Japanese name of the test case. The output condition ID 1503 represents a condition for outputting a test case. Setting a value here enables output control of the test case. The output condition ID 1503 needs to be the output condition ID 1701 existing in the output condition table 607.

また、テストケース詳細テーブル606は、テストケースを実行する手順を操作単位で格納するテーブルである。図16に示すように、テストケース詳細テーブル606はテストケースID1601、操作番号1602、出力区分1603、操作内容1604の4つの項目からなる。テストケースID1601と操作番号1602はテストケース詳細テーブル606の主キーとなる項目であり、テストケースを実現するための手順を構成する1つの操作を示すものである。テストケースID1601はテストケーステーブル605に存在するテストケースID1501である必要がある。出力区分1603は操作の区分を示すものであり、テストケースのチェック条件となる操作に対しては「条件」を、テストケースの確認内容となる操作に対しては「確認」を設定する。操作内容1604はテストする際の具体的な操作を示すものである。チェック条件となる操作としては「画面項目に値を入力する」、「ボタンを押す」などの操作があり、確認内容となる操作としては「ボタン押下後の画面状態を確認する」などの操作がある。また、操作内容1604には、設計情報データベース125の設計項目テーブル602における設計項目ID801が埋め込み可能であり、設計項目ID801を「{設計項目ID}」という形式で設定することで対応する設計項目のデータを出力可能にしている。ここで設定する設計項目IDは、設計項目テーブル602に存在する設計項目ID801である必要がある。さらに、出力するファイルで利用可能な関数を記述可能にすることで、設計項目を利用した関数による演算結果も出力することが可能である。   The test case details table 606 is a table that stores a procedure for executing a test case in units of operations. As shown in FIG. 16, the test case details table 606 includes four items: a test case ID 1601, an operation number 1602, an output category 1603, and an operation content 1604. A test case ID 1601 and an operation number 1602 are items serving as main keys of the test case detail table 606, and indicate one operation constituting a procedure for realizing the test case. The test case ID 1601 needs to be a test case ID 1501 existing in the test case table 605. The output category 1603 indicates the category of operation. “Condition” is set for an operation that is a test case check condition, and “Confirm” is set for an operation that is a test case confirmation content. The operation content 1604 indicates a specific operation for testing. There are operations such as “Enter a value for a screen item” and “Press a button” as the check conditions, and operations such as “Check the screen status after pressing the button” as the confirmation contents is there. In addition, the design item ID 801 in the design item table 602 of the design information database 125 can be embedded in the operation content 1604. By setting the design item ID 801 in the format of “{design item ID}”, the corresponding design item ID 801 is displayed. Data can be output. The design item ID set here needs to be the design item ID 801 existing in the design item table 602. Furthermore, by making it possible to describe a function that can be used in the output file, it is also possible to output the calculation result of the function using the design item.

また、出力条件テーブル607はテストケースの出力を制御するための条件情報を格納するテーブルである。出力条件テーブル607は出力条件ID1701、設計項目ID1702、出力条件内容1703の3つの項目からなる。出力条件ID1701は出力条件テーブル607の主キーとなる項目であり、出力条件を一意に識別するIDである。設計項目ID1702と出力条件内容1703はテストケースを出力するための条件を表すものであり、設計項目ID1702に対する設計項目データが出力条件内容に指定されたパターンを満たす場合にテストケースを出力する。設計項目ID1702は設計項目テーブル602に存在する設計項目ID801である必要がある。   The output condition table 607 is a table that stores condition information for controlling the output of the test case. The output condition table 607 includes three items: an output condition ID 1701, a design item ID 1702, and an output condition content 1703. The output condition ID 1701 is an item serving as a primary key of the output condition table 607, and is an ID for uniquely identifying the output condition. The design item ID 1702 and the output condition content 1703 represent conditions for outputting a test case, and the test case is output when the design item data for the design item ID 1702 satisfies the pattern specified in the output condition content. The design item ID 1702 needs to be the design item ID 801 existing in the design item table 602.

続いて、本実施形態における設計書10のデータを設計情報データベース125に登録する際の処理を図10に基づき説明する。なお、上述したように、前記システム100が、設計書10のデータから、設計書テーブル601、設計項目テーブル602、および設計書詳細テーブル603の各設計項目について値を抽出し、該当テーブルに対応した形式で記憶部101にデータを保持しているものとする。   Next, a process when registering the data of the design document 10 in the present embodiment in the design information database 125 will be described with reference to FIG. As described above, the system 100 extracts values for each design item of the design document table 601, the design item table 602, and the design document detail table 603 from the data of the design document 10, and corresponds to the corresponding table. Assume that data is held in the storage unit 101 in a format.

この場合、前記システム100は、例えば、入力部105にてユーザより入力されたフォルダ名の情報を取得する(ステップ110)。システム100は、例えば記憶部101に格納されていた該当フォルダにアクセスし、設計書10を格納した表計算ファイルを全て取得する(ステップ120)。   In this case, for example, the system 100 acquires information on the folder name input by the user at the input unit 105 (step 110). For example, the system 100 accesses the corresponding folder stored in the storage unit 101 and acquires all the spreadsheet files storing the design document 10 (step 120).

次に前記システム100は、前記ステップ120で取得した表計算ファイルを1つずつ読込んでいく。読込む表計算ファイルがある場合(ステップ130:有)、前記システム100はステップ140に処理を進める。一方、読込む表計算ファイルが無い場合(ステップ130:無)、前記システム100は処理を終了する。こうしたステップ130の処理は、前記ステップ120で得た全ての表計算ファイルについて、読込む表計算ファイルが無くなるまで繰り返し実行される。   Next, the system 100 reads the spreadsheet files acquired in step 120 one by one. If there is a spreadsheet file to be read (step 130: present), the system 100 proceeds to step 140. On the other hand, when there is no spreadsheet file to be read (Step 130: No), the system 100 ends the process. The process in step 130 is repeatedly executed for all the spreadsheet files obtained in step 120 until there are no spreadsheet files to be read.

続いて前記システム100は、前記ステップ120で取得した表計算ファイルから、各設計書10のデータが記述されたシートを取得する(ステップ140)。前記システム100は、取得した表計算ファイルの全シートを1シートずつ読込んでいく(ステップ150)。読込むシートがある場合(ステップ150:有)、前記システム100は処理をステップ160に進める。他方、読込むシートが無い場合(ステップ150:無)、前記システム100は、処理をステップ130に戻す。こうした処理は、前記ステップ140で取得した全シートについて、読込むシートが無くなるまで繰り返し実行する。   Subsequently, the system 100 acquires a sheet describing the data of each design document 10 from the spreadsheet file acquired in step 120 (step 140). The system 100 reads all sheets of the obtained spreadsheet file one by one (step 150). If there is a sheet to be read (step 150: present), the system 100 proceeds to step 160. On the other hand, when there is no sheet to be read (Step 150: No), the system 100 returns the process to Step 130. Such processing is repeatedly executed for all sheets acquired in step 140 until there are no more sheets to be read.

続いて前記システム100は、読込んだシートからシート名を取得する(ステップ160)。また前記システム100は、設計情報データベース125の設計書テーブル601にアクセスし、設計書テーブル601の設計書名称702が前記取得したシート名と一致するレコードの設計書ID701を取得する(ステップ170)。   Subsequently, the system 100 acquires a sheet name from the read sheet (step 160). Further, the system 100 accesses the design document table 601 of the design information database 125, and acquires the design document ID 701 of the record in which the design document name 702 of the design document table 601 matches the acquired sheet name (step 170).

次に前記システム100は、前記ステップ170で設計書ID701を取得できた場合(ステップ180:有)、処理をステップ190に進める。一方、前記ステップ170にて設計書ID701を取得できなかった場合(ステップ180:無)、前記システム100は処理をステップ150に戻す。   Next, when the design document ID 701 can be acquired in step 170 (step 180: present), the system 100 advances the processing to step 190. On the other hand, when the design document ID 701 cannot be acquired in step 170 (step 180: none), the system 100 returns the process to step 150.

続いて前記システム100は、設計情報データベース125の設計書詳細テーブル603にアクセスし、設計詳細テーブルの設計書ID901が前記ステップ170で取得した設計書ID701と一致するレコード(設計書詳細レコード)を取得する(ステップ190)。前記システム100は、取得した設計書詳細レコードを1つずつ読込んでいく。読込む設計書詳細レコードがある場合(ステップ200:有)、前記システム100は、処理をステップ210に進める。他方、読込む設計書詳細レコードが無い場合(ステップ200:無)、前記システム100は、処理をステップ150に戻す。こうした処理は、前記ステップ190で取得した全設計書詳細レコードについて、読込む設計書詳細レコードが無くなるまで繰り返し実行される。   Subsequently, the system 100 accesses the design document detail table 603 of the design information database 125, and obtains a record (design document detail record) in which the design document ID 901 of the design detail table matches the design document ID 701 acquired in step 170. (Step 190). The system 100 reads the acquired design document detail records one by one. If there is a design document detail record to be read (step 200: present), the system 100 advances the process to step 210. On the other hand, when there is no design document detail record to be read (step 200: no), the system 100 returns the process to step 150. Such processing is repeatedly executed for all the design document detail records acquired in step 190 until there are no more design document detail records to be read.

続いて前記システム100は、前記読み込んだ設計書詳細レコードから設計項目ID902、絶対位置903、繰返し有無904、データ読込方向905、登録有無906の各値を取得する(ステップ210)。そして前記システム100は、ここで取得した登録有無906が「有」の場合(ステップ220:有)、処理をステップ230に進める。他方、登録有無906が「無」の場合(ステップ220:無)、前記システム100は処理をステップ200に戻す。   Subsequently, the system 100 acquires values of design item ID 902, absolute position 903, repetition presence / absence 904, data reading direction 905, and registration presence / absence 906 from the read design document detail record (step 210). Then, the system 100 advances the process to step 230 when the registration presence / absence 906 acquired here is “present” (step 220: present). On the other hand, if the registration presence / absence 906 is “none” (step 220: none), the system 100 returns the process to step 200.

次に前記システム100は、設計情報データベース125の設計項目テーブル602にアクセスし、設計項目テーブル602の設計項目ID801が前記ステップ210で取得した設計項目ID902と一致するレコードにおける、親項目の設計項目ID802を取得する(ステップ230)。   Next, the system 100 accesses the design item table 602 of the design information database 125, and the design item ID 802 of the parent item in the record in which the design item ID 801 of the design item table 602 matches the design item ID 902 acquired in the step 210. Is acquired (step 230).

前記システム100は、親項目の設計項目ID802を取得できた場合(ステップ240:有)、処理をステップ250に進める。他方、親項目の設計項目ID802を取得できなかった場合(ステップ240:無)、前記システム100は処理をステップ260に進める。   When the system 100 has acquired the design item ID 802 of the parent item (step 240: present), the system 100 proceeds to step 250. On the other hand, when the design item ID 802 of the parent item cannot be acquired (step 240: no), the system 100 advances the process to step 260.

続いて前記システム100は、記憶部101にて保持する所定のデータ番号(後述するステップ280で採番したもの)中から、前記ステップ230で得た親項目の設計項目ID802に対応するデータ番号を、親項目のデータ番号として取得する(ステップ250)。勿論、前記ステップ170〜ステップ240の処理は、設計項目テーブル602における各設計項目間の親子関係に沿って最上位の親から順次行っていくから、当初は未だデータ番号が採番されていない状況であり、親項目のデータ番号は取得できない。よって、前記親子関係において親をもつ設計項目に関する処理が行われるまで、当該ステップはスルーする。   Subsequently, the system 100 selects a data number corresponding to the design item ID 802 of the parent item obtained in step 230 from predetermined data numbers held in the storage unit 101 (numbered in step 280 described later). And obtained as the data number of the parent item (step 250). Of course, since the processing of step 170 to step 240 is sequentially performed from the highest parent along the parent-child relationship between the design items in the design item table 602, a data number is not yet assigned at first. The data number of the parent item cannot be acquired. Therefore, this step passes through until the process related to the design item having a parent in the parent-child relationship is performed.

次に前記システム100は、前記ステップ140より処理中となっている該当シートにおいて、絶対位置903にあるセルからデータを取得する(ステップ260)。前記ステップ210で得た繰返し有無904が「有」の場合、前記システム100はデータ読込方向905を元に全データを取得する。   Next, the system 100 acquires data from the cell at the absolute position 903 in the corresponding sheet being processed from the step 140 (step 260). When the repeat presence / absence 904 obtained in step 210 is “present”, the system 100 acquires all data based on the data reading direction 905.

続いて前記システム100は、前記ステップ260で取得した全データから1データずつ読込んでいく。読込むデータがある場合(ステップ270:有)、前記システム100はステップ280に処理を進める。他方、読込むデータが無い場合(ステップ270:無)、前記システム100は処理をステップ200に戻す。こうした処理は、前記ステップ260で得た全データについて、読込むデータが無くなるまで繰り返し実行される。   Subsequently, the system 100 reads data one by one from all the data acquired in step 260. If there is data to be read (step 270: present), the system 100 proceeds to step 280. On the other hand, when there is no data to be read (Step 270: No), the system 100 returns the process to Step 200. Such processing is repeated for all data obtained in step 260 until there is no data to be read.

次に前記システム100は、前記ステップ260で得た各設計項目のデータを設計項目データテーブル604に登録すべく、該当データ(設計項目データ)用のデータ番号を自動採番する(ステップ280)。データ番号の自動採番については、登録順に1つずつ番号をインクリメントするといった一般的手法を採用すればよい。   Next, the system 100 automatically assigns a data number for the corresponding data (design item data) in order to register the data of each design item obtained in step 260 in the design item data table 604 (step 280). For automatic numbering of data numbers, a general method of incrementing numbers one by one in the order of registration may be employed.

続いて前記システム100は、設計項目データテーブル604におけるデータ番号1101の欄に、前記ステップ280で自動採番したデータ番号を、また同様に、設計項目ID1102の欄に前記ステップ210で取得した設計項目ID902を、また同様に、値1103の欄に前記ステップ260で取得したデータを、また同様に、親項目のデータ番号すなわち親データ番号1104の欄に前記ステップ250で取得したデータ番号を設定し、データ登録を行う(ステップ290)。前記システム100は、前記ステップ280で自動採番したデータ番号を記憶部101に保持し、ステップ200に戻る(ステップ300)。以降、前記システム100は、設計書詳細レコードがある限り(ステップ200:無→ステップ150)、またシートがある限り(ステップ150:無→ステップ130)、更に、表計算ファイルが無くなるまで(ステップ130:無→END)、上記処理を繰り返し実行することとなる。   Subsequently, the system 100 stores the data number automatically assigned in the step 280 in the column of the data number 1101 in the design item data table 604 and the design item acquired in the step 210 in the column of the design item ID 1102 similarly. Similarly, set the ID 902, the data acquired in the step 260 in the column of the value 1103, and the data number acquired in the step 250 in the column of the parent item data number, that is, the parent data number 1104, similarly. Data registration is performed (step 290). The system 100 holds the data number automatically assigned in step 280 in the storage unit 101, and returns to step 200 (step 300). Thereafter, as long as there is a design document detail record (step 200: none → step 150), and there are sheets (step 150: none → step 130), the system 100 further continues until there are no spreadsheet files (step 130). : None → END), the above process is repeatedly executed.

図11は、図4の設計書10を上述のフローを経て登録した設計項目データテーブル604の例を示す図である。ここでは一例として、設計書10のうち画面一覧14について説明する。システム100は画面一覧14のデータから「画面ID」と「画面名」を抽出し登録することになる。まず、「画面ID」は「SCREEN01」と「SCREEN02」の2つがあるため、システム100は、データ番号1101には自動採番された「1」と「2」を、設計項目ID1102には「画面ID」の設計項目ID:ScreenIdを、「値」には「SCREEN01」と「SCREEN02」をそれぞれ設定する。なお親データ番号1104は、「画面ID」に対する親項目の設計項目が無いため未設定となる。また、「画面名」は「ユーザ登録画面」と「結果画面」の2つがあるから、前記システム100は、データ番号1101には自動採番した「3」と「4」を、設計項目ID1102には画面名の設計項目ID:ScreenNameを、値1103には「ユーザ登録画面」と「結果画面」をそれぞれ設定する。また「画面名」に対する親項目の設計項目が「画面ID」であるため、前記システム100は、「ユーザ登録画面」の親データ番号1104として「1」を、また「結果画面」の親データ番号1104として「2」をそれぞれ設定する。その他の項目も同様に設定されるものである。   FIG. 11 is a diagram showing an example of the design item data table 604 in which the design document 10 of FIG. 4 is registered through the above flow. Here, as an example, the screen list 14 in the design document 10 will be described. The system 100 extracts and registers “screen ID” and “screen name” from the data of the screen list 14. First, since there are two “screen IDs” “SCREEN01” and “SCREEN02”, the system 100 sets “1” and “2” automatically assigned to the data number 1101 and “screen” to the design item ID 1102. Design item ID “ScreenId” of “ID” is set, and “SCREEN01” and “SCREEN02” are set to “value”, respectively. The parent data number 1104 is not set because there is no parent item design item for “screen ID”. Further, since there are two “screen names”, “user registration screen” and “result screen”, the system 100 assigns “3” and “4” automatically assigned to the data number 1101 to the design item ID 1102. Sets the screen name design item ID: ScreenName, and sets the value 1103 to “user registration screen” and “result screen”. Since the design item of the parent item for “screen name” is “screen ID”, the system 100 sets “1” as the parent data number 1104 of “user registration screen” and the parent data number of “result screen”. “2” is set as 1104. Other items are set similarly.

続いて、テストケース自動生成の処理について説明する。まずは、テストケース自動生成に際し前記システム100が用いるファイル等について例示する。図12は、前記システム100が利用する雛形ファイル127の例を示す図である。前記システム100がテストケース自動生成時に利用する雛形ファイル127は、設計書10と同様に表計算ファイルが想定できる。前記システム100は設計情報データベース125に保持する設計項目のデータと、テスト情報データベース126に予め保持するテストケースの定義とその出力条件をもとに、出力すべきテストケースを作成し、これを雛形ファイル127に適用し出力することでテストケース(のファイル)を自動生成する。1つの表計算ファイルは、図13で説明する環境設定ファイル128で指定された設計項目IDに対する設計項目データ単位に作成し、1つのテストケースは1つのシートに出力する。   Next, test case automatic generation processing will be described. First, a file used by the system 100 for automatic test case generation will be exemplified. FIG. 12 is a diagram showing an example of a template file 127 used by the system 100. The template file 127 used when the system 100 automatically generates a test case can be assumed to be a spreadsheet file as in the design document 10. The system 100 creates a test case to be output based on the design item data held in the design information database 125, the test case definition held in the test information database 126 in advance and the output conditions thereof, and this is used as a template. The test case (file) is automatically generated by applying to the file 127 and outputting. One spreadsheet file is created for each design item data corresponding to the design item ID specified in the environment setting file 128 described in FIG. 13, and one test case is output to one sheet.

図13は、前記システム100が利用する環境設定ファイル128の例を示す図である。前記システム100がテストケース自動生成時に利用する環境設定ファイル128はテキストファイルが想定できる。環境設定ファイル128には、テストケースの出力単位となる設計項目IDを指定する。前記システム100ではこの環境設定ファイル128で指定された設計項目IDに対する設計項目のデータと、その設計項目に紐づく子となるすべての設計項目のデータを元にテストケースを作成することになる。図13の例では、設計項目IDとして「画面ID」が指定されているため、この場合、前記システム100は図5に示す画面ID:SCREEN01にぶら下がるすべての設計項目のデータを元にテストケースを作成する。   FIG. 13 is a diagram showing an example of the environment setting file 128 used by the system 100. The environment setting file 128 used when the system 100 automatically generates test cases can be assumed to be a text file. In the environment setting file 128, a design item ID serving as an output unit of the test case is designated. In the system 100, a test case is created based on design item data for the design item ID specified in the environment setting file 128 and data of all design items associated with the design item. In the example of FIG. 13, since “screen ID” is designated as the design item ID, in this case, the system 100 generates test cases based on the data of all the design items hanging from the screen ID: SCREEN01 shown in FIG. create.

続いて、前記システム100が自動生成したテストケース20の例を示しておく。図14に示す例ではテストケース20が、「必須チェック(未入力)」と「入力可能桁数(桁数)」、「入力可能桁数(桁数+1)」の3つのテストケースから構成されている。   Next, an example of the test case 20 automatically generated by the system 100 will be shown. In the example shown in FIG. 14, the test case 20 is composed of three test cases of “required check (no input)”, “number of digits that can be entered (number of digits)”, and “number of digits that can be entered (number of digits + 1)”. ing.

そのうち、「必須チェック(未入力)」は、必須指定された項目に対して未入力の場合に入力エラーが発生するかを確認するテストケースである。また、「入力可能桁数(桁数)」、「入力可能桁数(桁数+1)」は、画面上の入力項目に対して桁数分しか入力できないことを確認するテストケースであり、入力項目への入力文字数のパターンとして桁数分と(桁数+1)分の2つのパターンを用意している。   Among them, the “required check (not input)” is a test case for confirming whether an input error occurs when an input is not made for an item that is specified as required. In addition, “Number of digits that can be entered (number of digits)” and “Number of digits that can be entered (number of digits + 1)” are test cases to confirm that only the number of digits can be entered for the input items on the screen. Two patterns for the number of digits and (number of digits + 1) are prepared as patterns of the number of characters input to the item.

また、「必須チェック(未入力)」のテストケースは、設計項目のうち「必須」が「○」になっている項目に対してのみ実施するテストケースであり、図4の例においては、「ユーザID」のみ「必須」が「○」となっているため、「ユーザID」に対する1件のテストケース、すなわちこの図14で示す「必須チェック(未入力)」のテストケースが出力された結果となっている。また、「入力可能桁数(桁数)」と「入力可能桁数(桁数+1)」の各テストケースは、全画面項目に対して行うチェックであり、「ユーザID」と「ユーザ名」の両方に対してチェックしている。また、出力する表計算ファイルのシートはテストケース単位となっている。   Further, the “required check (not entered)” test case is a test case that is executed only for items in which “required” is “O” among design items. In the example of FIG. Since “required” is “O” only for “user ID”, the result of outputting one test case for “user ID”, that is, the test case of “required check (not entered)” shown in FIG. It has become. Each test case of “number of digits that can be entered (number of digits)” and “number of digits that can be entered (number of digits + 1)” is a check to be performed on all screen items, and “user ID” and “user name”. Check against both. Moreover, the sheet of the spreadsheet file to be output is a test case unit.

続いて、前記システム100がテストケース自動生成時に利用するテスト情報データベース126を構成するテーブルについて説明する。図15は、テストケーステーブル605の例を示す図である。ここで例示するテストケーステーブル605は、テストケースとして「必須チェック(未入力)」、「入力可能桁数(桁数)」、「入力可能桁数(桁数+1)」の3つのテストケースに関する計3件のレコードが登録されている。こうしたレコードは、テスト担当のユーザが事前に設定しており、必要に応じてユーザによる更新作業が可能となっている(システム100が当該テーブルを出力部106に表示し、入力部105でユーザ指示を受ける)。以降、他のテーブルについても同様にシステム100が情報の表示を行って、ユーザによる閲覧、更新、削除等の指示を受け付けてデータ更新等を実行可能とする。従って、図15のテストケーステーブル605であれば、テストケースの追加や削除、テストケース名1502や出力条件ID1502の変更等も、システム100が出力部106にて該当情報を表示してユーザ閲覧に供しつつ、入力部105にて変更等の指示を受けて、該当データの更新等を行うこととなる。   Next, a table constituting the test information database 126 used when the system 100 automatically generates test cases will be described. FIG. 15 is a diagram illustrating an example of the test case table 605. The test case table 605 exemplified here relates to three test cases of “required check (no input)”, “number of digits that can be entered (number of digits)”, and “number of digits that can be entered (number of digits + 1)” as test cases. A total of 3 records are registered. Such a record is set in advance by the user in charge of the test, and can be updated by the user as necessary (the system 100 displays the table on the output unit 106, and the user inputs an instruction using the input unit 105). Receive). Thereafter, the system 100 also displays information for other tables in the same manner, and accepts instructions such as browsing, updating, and deletion by the user to enable data updating and the like. Accordingly, in the test case table 605 of FIG. 15, the system 100 displays the corresponding information on the output unit 106 for user browsing, such as addition or deletion of a test case, change of the test case name 1502 or output condition ID 1502, and the like. In response, the input unit 105 receives a change instruction and updates the corresponding data.

このテストケーステーブル605において、テストケースID1501は、テストケース毎に一意となる情報であるため、「必須チェック(未入力)」、「入力可能桁数(桁数)」、「入力可能桁数(桁数+1)」のそれぞれに関し、互いに重複しない値として「TC001」、「TC002」、「TC003」が設定されている。テストケース名1502はテストケースの日本語名称を表すものであるため、「必須チェック(未入力)」、「入力可能桁数(桁数)」、「入力可能桁数(桁数+1)」が設定されている。また、出力条件ID1503はテストケースの出力制御を行うものであり、「必須チェック(未入力)」のテストケースは「必須」が「○」の場合にのみ出力するとの条件があるため、出力条件ID1503に例えば該当条件を示す「OP001」が設定されている。他方、「入力可能桁数(桁数)」と「入力可能桁数(桁数+1)」の各テストケースは、すべての画面項目に対して出力するテストケースであるため。出力条件ID1503は未設定となっている。   In this test case table 605, since the test case ID 1501 is information unique to each test case, “required check (no input)”, “number of digits that can be entered (number of digits)”, “number of digits that can be entered ( “TC001”, “TC002”, and “TC003” are set as non-overlapping values for each of “digit number + 1)”. Since the test case name 1502 represents the Japanese name of the test case, “required check (not entered)”, “number of digits that can be entered (number of digits)”, and “number of digits that can be entered (number of digits + 1)” Is set. The output condition ID 1503 controls the output of the test case, and the test case “required check (not input)” has a condition that it is output only when “required” is “O”. For example, “OP001” indicating the corresponding condition is set in the ID 1503. On the other hand, each test case of “number of inputtable digits (number of digits)” and “number of inputtable digits (number of digits + 1)” is a test case that is output for all screen items. The output condition ID 1503 is not set.

また、前記テスト情報データベース126を構成する、テストケース詳細テーブル606は、図16に例示するように、各テストケース(上記例では3つのテストケース)に対してそれぞれ実行手順が記述されたテーブルとなる。ここでは、テストケース:必須チェック(未入力)に関して説明する。テストケース:必須チェック(未入力)は、5つのチェック条件に関する操作と3つの確認に関する操作の計8つの操作からなる。   Further, the test case details table 606 constituting the test information database 126 includes a table in which execution procedures are described for each test case (three test cases in the above example), as illustrated in FIG. Become. Here, the test case: mandatory check (not entered) will be described. Test case: Mandatory check (no input) is composed of a total of eight operations: an operation related to five check conditions and an operation related to three confirmations.

操作内容1604には{設計項目ID}が埋め込まれており、システム100が自動生成するテストケースにおいては、前記設計項目IDの記述が、対応する設計項目のデータ(設計書10から抽出したもの)で置換されて出力される。   In the operation content 1604, {design item ID} is embedded, and in the test case automatically generated by the system 100, the description of the design item ID is data of the corresponding design item (extracted from the design document 10). Replaced with and output.

また図16において、操作番号1602が「1」の操作内容1604は「{ScreenId}:{ScreenName}が表示されている。」となっており、設計項目IDとして「ScreenId」と「ScreenName」が埋め込まれているため、図4、図8の場合には、テストケースとしては{ScreenId}が「SCREEN01」に、{ScreenName}が「ユーザ登録画面」に置換されて、「SCREEN01:ユーザ登録画面が表示されている。」が出力されることになる。また、操作番号1602が「2」の操作内容1604は「以下の項目を未入力にする」となっており、設計項目IDは埋め込まれていないため、このまま出力される。また、操作番号1602が「3」の操作内容1604は「ScreenItemId」:{ScreenItemName}」となっており、設計項目IDとして「ScreenItemId」、「ScreenItemName」が埋め込まれているため、図4、図8の場合には、画面項目が2つ存在しており、「userId:ユーザID」と「userName:ユーザ名」の2行が出力される。その他の操作番号のレコードについても同様に出力されるものである。   In FIG. 16, the operation content 1604 whose operation number 1602 is “1” is “{ScreenId}: {ScreenName} is displayed”, and “ScreenId” and “ScreenName” are embedded as design item IDs. Therefore, in the case of FIGS. 4 and 8, as a test case, {ScreenId} is replaced with “SCREEN01” and {ScreenName} is replaced with “User registration screen”, and “SCREEN01: User registration screen is displayed. Is output ". In addition, the operation content 1604 with the operation number 1602 “2” is “uninput the following items”, and the design item ID is not embedded, so the output is output as it is. Also, the operation content 1604 with the operation number 1602 “3” is “ScreenItemId”: {ScreenItemName}, and “ScreenItemId” and “ScreenItemName” are embedded as design item IDs. In this case, there are two screen items, and two lines of “userId: user ID” and “userName: user name” are output. The other operation number records are also output in the same manner.

図17は、出力条件テーブル607の例を示す図である。上述までの例において、出力の制御をしたいテストケースとして「必須チェック(未入力)」がある。そこで図17の出力条件テーブル607では、「必須チェック(未入力)」のテストケース用の出力条件として、1件のレコードが登録されている。このレコードが示す条件において、「必須チェック(未入力)」のテストケースは、画面項目に対する「必須」が「○」になっている場合にテストケースとして出力する。出力条件ID1701は出力条件を一意に識別するIDであり、ここでは「OP001」が設定されている。また、前記「必須チェック(未入力)」のテストケースに関する出力条件が、画面項目に対する「必須」が「○」になっていることであることから、設計項目ID1702には、「必須」に対する設計項目ID:ScreenItemNecessaryが、また、出力条件内容1703に「○」が設定されている。   FIG. 17 is a diagram illustrating an example of the output condition table 607. In the above examples, there is “required check (no input)” as a test case for which output control is desired. Therefore, in the output condition table 607 of FIG. 17, one record is registered as an output condition for a test case of “essential check (not input)”. In the condition indicated by this record, a test case of “required check (not input)” is output as a test case when “required” for the screen item is “◯”. The output condition ID 1701 is an ID for uniquely identifying the output condition, and “OP001” is set here. In addition, since the output condition regarding the test case of the “required check (not input)” is that “required” for the screen item is “O”, the design item ID 1702 has a design for “required”. Item ID: ScreenItemNessary is set, and “◯” is set in the output condition contents 1703.

続いて、前記システム100が、設計情報データベース125とテスト情報データベース126に基づいてテストケース20を自動生成する処理について、図18,図19に基づき説明する。まず、前記システム100は、図13に例示した環境設定ファイル128から画面IDに相当する設計項目IDを取得する(ステップ510)。   Next, a process in which the system 100 automatically generates the test case 20 based on the design information database 125 and the test information database 126 will be described with reference to FIGS. First, the system 100 acquires a design item ID corresponding to the screen ID from the environment setting file 128 illustrated in FIG. 13 (step 510).

次に前記システム100は、設計情報データベース125の設計項目データテーブル604にアクセスし、設計項目データテーブル604の設計項目ID1102が、前記ステップ510で取得した設計項目IDと一致するレコード、すなわち設計項目データレコードを取得する(ステップ520)。   Next, the system 100 accesses the design item data table 604 of the design information database 125, and the record in which the design item ID 1102 of the design item data table 604 matches the design item ID acquired in step 510, that is, the design item data. A record is acquired (step 520).

また、前記システム100は、前記ステップ520で取得した設計項目データレコードを1つずつ読込んでいく。設計項目データレコードがある場合(ステップ530:有)、前記システム100は処理をステップ540に進める。他方、設計項目データレコードが無い場合(ステップ530:無)、前記システム100は処理を終了する。こうした処理は、前記ステップ520で得た設計項目データレコードが無くなるまで繰り返し実行される。   Further, the system 100 reads the design item data records acquired in the step 520 one by one. If there is a design item data record (step 530: present), the system 100 proceeds to step 540. On the other hand, when there is no design item data record (step 530: No), the system 100 ends the process. Such processing is repeatedly executed until the design item data record obtained in step 520 is eliminated.

続いて前記システム100は、前記ステップ520で取得したレコードからデータ番号1101を取得する(ステップ540)。また前記システム100は、設計情報データベース125の設計項目データテーブル604にアクセスし、前記ステップ540で取得したデータ番号1101を頂点として連なる親子関係において、子となる設計項目のデータを、子が無くなるまですべて取得する(ステップ550)。つまり前記システム100は図3と図5に相当する情報を作成する。   Subsequently, the system 100 acquires the data number 1101 from the record acquired in step 520 (step 540). In addition, the system 100 accesses the design item data table 604 of the design information database 125, and in the parent-child relationship that continues with the data number 1101 acquired in the step 540 as a vertex, the data of the design item that is a child until there are no children. All are acquired (step 550). That is, the system 100 creates information corresponding to FIG. 3 and FIG.

前記システム100は、テスト情報データベース126のテストケーステーブル605にアクセスし、全てのテストケースのレコードを取得する(ステップ560)。また前記システム100は、ここで取得したテストケースレコードを1つずつ読込んでいく。テストケースレコードがある場合(ステップ570:有)、前記システム100は処理をステップ580に進める。他方、テストケースレコードが無い場合(ステップ570:無)、前記システム100は処理を終了する。こうした処理は、前記ステップ560で得たテストケースレコードが無くなるまで繰り返し実行される。   The system 100 accesses the test case table 605 of the test information database 126 and acquires records of all test cases (step 560). The system 100 reads the test case records acquired here one by one. If there is a test case record (step 570: present), the system 100 proceeds to step 580. On the other hand, when there is no test case record (step 570: No), the system 100 ends the process. Such processing is repeatedly executed until there is no test case record obtained in step 560.

続いて前記システム100は、前記ステップ570で取得したレコードから出力条件ID1503を取得する(ステップ580)。また前記システム100は、該ステップ580で出力条件ID1503を取得できた場合(ステップ590:有)、処理をステップ600に進める。他方、出力条件ID1503が無かった場合(ステップ590:無)、前記システム100は処理をステップ650に進める。   Subsequently, the system 100 acquires the output condition ID 1503 from the record acquired in Step 570 (Step 580). Further, when the output condition ID 1503 can be acquired in step 580 (step 590: present), the system 100 advances the process to step 600. On the other hand, when there is no output condition ID 1503 (step 590: none), the system 100 advances the process to step 650.

前記ステップ590に続き、前記システム100は、テスト情報データベース126の出力条件テーブル607にアクセスし、出力条件テーブル607の出力条件ID1701が、前記ステップ580で取得した出力条件ID1503と一致する出力条件レコードを取得する(ステップ600)。   Following the step 590, the system 100 accesses the output condition table 607 of the test information database 126, and outputs an output condition record in which the output condition ID 1701 of the output condition table 607 matches the output condition ID 1503 acquired in the step 580. Obtain (step 600).

そして前記システム100は、前記ステップ600で取得した出力条件レコードから設計項目ID1702と出力条件内容1703を取得する(ステップ610)。また前記システム100は、ここで取得した設計項目ID1702に対応する設計項目の値1103を、前記ステップ550で取得、作成した情報から取得する(ステップ620)。   The system 100 acquires the design item ID 1702 and the output condition content 1703 from the output condition record acquired in step 600 (step 610). Further, the system 100 acquires the value 1103 of the design item corresponding to the design item ID 1702 acquired here from the information acquired and created in the step 550 (step 620).

次に前記システム100は、前記ステップ610で取得した出力条件内容1703について正規表現を用いて、前記ステップ620で取得した設計項目の値1103とのマッチングを行う(ステップ630)。正規表現は、文字列のパターンを表現する表記法であり、文字列の検索・置換を行うときに利用されるものとなる。正則表現と呼ばれることもある。この正規表現においては、通常の文字と、メタキャラクタと呼ばれる特別な意味を持った記号を組み合わせた表記がなされる。正規表現を用いれば、文字列を直接指定せず、「特徴」(パターン)を指定することができるため、表記の揺れを吸収して検索を行ったり、複数の異なる文字列を一括して置換したりすることができる。例えば「^」という文字は「行頭」、「.」は「任意の1文字」、「+」という文字は「直前の要素の1回以上の繰り返し」を意味するなどの規定がある。従って前記システム100は、出力条内容1703が示す内容について、こうした正規表現にて記述するために、正規表現の規定について辞書データと所定の変換アルゴリズムを予め記憶部101に備えており、出力条件内容1703を入力として正規表現を生成し、これをベースにして、前記ステップ620で取得した設計項目の値1103とのパターンマッチングを行うものとする。   Next, the system 100 matches the value 1103 of the design item acquired in step 620 with a regular expression for the output condition contents 1703 acquired in step 610 (step 630). A regular expression is a notation method for expressing a pattern of a character string, and is used when searching and replacing a character string. Sometimes called regular expression. In this regular expression, a combination of a normal character and a symbol having a special meaning called a metacharacter is used. By using regular expressions, you can specify “characteristics” (patterns) without specifying a character string directly, so you can search by absorbing fluctuations in the notation or replace multiple different character strings at once. You can do it. For example, “^” means “beginning of line”, “.” Means “any one character”, and “+” means “one or more repetitions of the immediately preceding element”. Accordingly, in order to describe the contents indicated by the output condition contents 1703 using such regular expressions, the system 100 is provided with dictionary data and a predetermined conversion algorithm in advance for defining the regular expressions, and the output condition contents A regular expression is generated by using 1703 as an input, and based on this, a pattern matching with the value 1103 of the design item acquired in step 620 is performed.

パターンマッチングの結果、前記出力条件内容1703と、前記ステップ620で取得した設計項目の値1103とがマッチした場合(ステップ640:可)、前記システム100は該当テストケースについて出力可と判定し、他方、マッチしなかった場合(ステップ640:否)には出力不可と判定する。   As a result of pattern matching, when the output condition content 1703 matches the value 1103 of the design item acquired in step 620 (step 640: Yes), the system 100 determines that output is possible for the corresponding test case, If no match is found (step 640: NO), it is determined that output is not possible.

続いて前記システム100は、前記ステップ640での出力可否の結果をもとに、出力可の場合(ステップ640:可)、処理をステップ650に進める。他方、出力不可の場合(ステップ640:否)、前記システム100は処理をステップ570に戻す。   Subsequently, the system 100 advances the processing to step 650 when output is possible (step 640: yes) based on the result of whether output is possible at step 640. On the other hand, when the output is impossible (step 640: NO), the system 100 returns the process to step 570.

前記システム100は、前記ステップ560で取得したテストケースレコードからテストケースID1501とテストケース名1502を取得する(ステップ650)。この場合、前記システム100は、雛形ファイル127からシート名が「template」となっているシートをコピーして、前記取得したテストケース名1502をシート名に持つ新規シートを作成する(ステップ660)。   The system 100 acquires a test case ID 1501 and a test case name 1502 from the test case record acquired in step 560 (step 650). In this case, the system 100 copies a sheet whose sheet name is “template” from the template file 127, and creates a new sheet having the acquired test case name 1502 as the sheet name (step 660).

次に前記システム100は、テスト情報データベース126のテストケース詳細テーブル606にアクセスし、テストケース詳細テーブル606のテストケースID1601が前記ステップ650で取得したテストケースID1501と一致するレコード、すなわちテストケース詳細レコードを取得する(ステップ670)。   Next, the system 100 accesses the test case detail table 606 of the test information database 126, and a record in which the test case ID 1601 of the test case detail table 606 matches the test case ID 1501 acquired in step 650, that is, a test case detail record. Is obtained (step 670).

また前記システム100は、前記ステップ670で取得したテストケース詳細レコードを1つずつ読込んでいく。テストケース詳細レコードがある場合(ステップ680:有)、システム100は処理をステップ690に進める。他方、テストケース詳細レコードが無い場合(ステップ680:無)、前記システム100は処理をステップ570に戻す。こうした処理は、前記ステップ670で得たテストケース詳細レコードが無くなるまで繰り返し実行される。   Further, the system 100 reads the test case detail records acquired in the step 670 one by one. If there is a test case detail record (step 680: present), the system 100 advances the process to step 690. On the other hand, if there is no test case detail record (step 680: No), the system 100 returns the process to step 570. Such processing is repeatedly executed until there is no test case detail record obtained in step 670.

続いて前記システム100は、前記ステップ670で取得したテストケース詳細レコードから出力区分1603と操作内容1604を取得する(ステップ690)。前記システム100は、ここで取得した操作内容1604に含まれる設計項目IDを取得する(ステップ700)。この場合、前記システム100は、操作内容1604のうち「{」と「}」に挟まれる値を設計項目IDとして扱う。   Subsequently, the system 100 acquires the output category 1603 and the operation content 1604 from the test case detail record acquired in Step 670 (Step 690). The system 100 acquires a design item ID included in the operation content 1604 acquired here (step 700). In this case, the system 100 treats a value between “{” and “}” in the operation content 1604 as a design item ID.

前記システム100は、前記ステップ700で取得した設計項目IDに対応する設計項目の値1103を、前記ステップ550で取得、作成した情報から取得する(ステップ710)。また前記システム100は、前記ステップ710で取得した設計項目の値1103を、前記ステップ690で得た操作内容1604に含まれる設計項目IDと置換する(ステップ720)。   The system 100 acquires the design item value 1103 corresponding to the design item ID acquired in step 700 from the information acquired and created in step 550 (step 710). Further, the system 100 replaces the design item value 1103 acquired in step 710 with the design item ID included in the operation content 1604 obtained in step 690 (step 720).

前記システム100は、前記ステップ690で取得した、「条件」や「確認」といった出力区分1603を元に、前記ステップ720で作成した操作内容をシート(前記ステップ660で雛形ファイル127から作成してあるシート。形式は図12参照)における該当出力区分のセルに出力していくことで、テストケースの生成・出力処理を行う(ステップ730)。こうした処理を行うことで、図14で例示したテストケース20(のうち出力可のもの)が生成されることになる。こうしたテストケース出力後、前記システム100は処理を前記ステップ680に戻す。以降、テストケース詳細レコードが無くなるまで(ステップ680:無し→ステップ570)、テストケースレコードが無くなるまで(ステップ570:無→ステップ530)、設計項目データレコードが無くなるまで(ステップ530:無→END)、前記システム100は処理を繰り返すこととなる。   Based on the output category 1603 such as “condition” and “confirmation” acquired in step 690, the system 100 creates the operation content created in step 720 from the sheet (from the template file 127 in step 660). Sheets (see FIG. 12 for the format) are output to the cells of the corresponding output category, thereby performing test case generation / output processing (step 730). By performing such processing, the test case 20 illustrated in FIG. 14 (of which output is possible) is generated. After outputting such a test case, the system 100 returns the process to step 680. Thereafter, until there is no test case detail record (step 680: none → step 570), until there is no test case record (step 570: none → step 530), until there is no design item data record (step 530: none → END). The system 100 repeats the process.

以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   Although the best mode for carrying out the present invention has been specifically described above, the present invention is not limited to this, and various modifications can be made without departing from the scope of the invention.

こうした本実施形態によれば、フォーマットが異なる各種設計書に対してテストケースを自動生成することが可能であり、テストケース生成作業の省略による作業量縮小を図ることができる。また、自動生成するテストケースに関して、ユーザによる追加、変更、削除も可能であり、不要なテストケースの消化による作業量増大や、必要なテストケースが出力されないことによるテスト漏れによる品質の低下といった事態の発生を防ぐことができる。   According to the present embodiment, test cases can be automatically generated for various design documents having different formats, and the amount of work can be reduced by omitting the test case generation work. In addition, test cases that are automatically generated can be added, changed, or deleted by the user, and the amount of work increases due to the digestion of unnecessary test cases, and the quality deteriorates due to test omission due to the lack of necessary test cases being output. Can be prevented.

したがって、設計書におけるフォーマットによらずテストケースを自動生成すると共に、ユーザによるテストケース編集も可能として、システム検証の効率化、品質低下の防止を図ることができる。   Therefore, the test case can be automatically generated regardless of the format in the design document, and the test case can be edited by the user, thereby improving the efficiency of system verification and preventing the deterioration of the quality.

本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記テストケース自動生成システムにおいて、前記演算部は、記憶部から読み出した前記設計情報データベースのデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行うに際し、前記出力条件が示す情報の組み合わせを正規表現とし、これを前記設計情報データベースのデータに対しパターンマッチングさせるとしてもよい。   At least the following will be clarified by the description of the present specification. That is, in the test case automatic generation system, the calculation unit performs the pattern matching between the design information database data read from the storage unit and the output condition of each test case in the test information database. It is also possible to use a combination of information indicated by a regular expression and pattern match this with the data in the design information database.

5 画面遷移定義情報
6 データ仕様情報
10 設計書
20 テストケース
100 テストケース自動生成システム
101 記憶部
102 プログラム
103 メモリ
104 演算部
105 入力部
106 出力部
125 設計情報データベース
126 テスト情報データベース
127 雛形ファイル
128 環境設定ファイル
601 設計書テーブル
602 設計項目テーブル
603 設計書詳細テーブル
604 設計項目データテーブル
605 テストケーステーブル
606 テストケース詳細テーブル
607 出力条件テーブル
5 Screen transition definition information 6 Data specification information 10 Design document 20 Test case 100 Test case automatic generation system 101 Storage unit 102 Program 103 Memory 104 Operation unit 105 Input unit 106 Output unit 125 Design information database 126 Test information database 127 Model file 128 Environment Setting file 601 Design document table 602 Design item table 603 Design document detail table 604 Design item data table 605 Test case table 606 Test case detail table 607 Output condition table

Claims (4)

システムの設計書のデータに基づいて前記システムのテストケースを自動生成するコンピュータであって、
各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部と、
テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、
処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、
記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、
前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理を実行する演算部と、
を備えるテストケース自動生成システム。
A computer that automatically generates a test case of the system based on data of a system design document,
A storage unit storing a table defined in advance for items common to various design documents;
For each test case, with respect to the test content definition and output condition in which the item is included in the description, a process of receiving a designation from the user via the input unit and storing it in the storage unit as a test information database;
The design document data to be processed is checked against the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched to the table item to design Processing stored in the storage unit as an information database;
Read the design information database data from the storage unit, perform pattern matching between the read data and the output condition of each test case in the test information database, and the test case or output that satisfies the output condition Processing to identify test cases for which conditions were not originally set,
For the specified test case, data corresponding to each item included in the definition of the corresponding test case in the test information database is specified from the read design information database data, and the specified data is set in the definition. An arithmetic unit that executes a process of generating the corresponding test case in
Automatic test case generation system with
前記演算部は、
記憶部から読み出した前記設計情報データベースのデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行うに際し、前記出力条件が示す情報の組み合わせを正規表現とし、これを前記設計情報データベースのデータに対しパターンマッチングさせることを特徴とする請求項1に記載のテストケース自動生成システム。
The computing unit is
When performing pattern matching between the design information database data read from the storage unit and the output conditions of each test case in the test information database, a combination of information indicated by the output conditions is used as a regular expression, and this is used as the design information. The test case automatic generation system according to claim 1, wherein pattern matching is performed on data in a database.
システムの設計書のデータに基づいて前記システムのテストケースを自動生成すべく、各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部を備えたコンピュータが、
テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、
処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、
記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、
前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理と、
を実行することを特徴とするテストケース自動生成方法。
In order to automatically generate a test case of the system based on the data of the system design document, a computer having a storage unit storing a table defined in advance for items common between various design documents,
For each test case, with respect to the test content definition and output condition in which the item is included in the description, a process of receiving a designation from the user via the input unit and storing it in the storage unit as a test information database;
The design document data to be processed is checked against the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched to the table item to design Processing stored in the storage unit as an information database;
Read the design information database data from the storage unit, perform pattern matching between the read data and the output condition of each test case in the test information database, and the test case or output that satisfies the output condition Processing to identify test cases for which conditions were not originally set,
For the specified test case, data corresponding to each item included in the definition of the corresponding test case in the test information database is specified from the read design information database data, and the specified data is set in the definition. To generate the corresponding test case in
The test case automatic generation method characterized by performing this.
システムの設計書のデータに基づいて前記システムのテストケースを自動生成すべく、各種設計書間に共通する項目について予め定義したテーブルを記憶した記憶部を備えたコンピュータに、
テストケース別の、前記項目が記述に含まれたテスト内容の定義および出力条件について、入力部を介しユーザから指定を受けて、テスト情報データベースとして記憶部に格納する処理と、
処理対象となる設計書のデータを前記テーブルに照合し、該テーブルで定義された各項目に該当する情報を前記設計書のデータから抽出し、該抽出データを前記テーブルの項目に合わせて、設計情報データベースとして記憶部にて記憶する処理と、
記憶部から前記設計情報データベースのデータを読み出し、該読み出したデータと、前記テスト情報データベースにおける各テストケースの出力条件とのパターンマッチングを行って、前記出力条件が満たされたテストケース、ないし、出力条件が元々設定されていなかったテストケースについて特定する処理と、
前記特定したテストケースについて、前記テスト情報データベースの該当テストケースの定義が含む各項目に対応するデータを、前記読み出した設計情報データベースのデータから特定し、該特定したデータを前記定義に設定することで該当テストケースを生成する処理と、
を実行させることを特徴とするテストケース自動生成プログラム。
In order to automatically generate a test case of the system based on the data of the system design document, a computer having a storage unit storing a table defined in advance for items common to various design documents,
For each test case, with respect to the test content definition and output condition in which the item is included in the description, a process of receiving a designation from the user via the input unit and storing it in the storage unit as a test information database;
The design document data to be processed is checked against the table, information corresponding to each item defined in the table is extracted from the design document data, and the extracted data is matched to the table item to design Processing stored in the storage unit as an information database;
Read the design information database data from the storage unit, perform pattern matching between the read data and the output condition of each test case in the test information database, and the test case or output that satisfies the output condition Processing to identify test cases for which conditions were not originally set,
For the specified test case, data corresponding to each item included in the definition of the corresponding test case in the test information database is specified from the read design information database data, and the specified data is set in the definition. To generate the corresponding test case in
A test case automatic generation program characterized in that
JP2011132517A 2011-06-14 2011-06-14 Test case automatic generation system, test case automatic generation method, and test case automatic generation program Expired - Fee Related JP5504212B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011132517A JP5504212B2 (en) 2011-06-14 2011-06-14 Test case automatic generation system, test case automatic generation method, and test case automatic generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011132517A JP5504212B2 (en) 2011-06-14 2011-06-14 Test case automatic generation system, test case automatic generation method, and test case automatic generation program

Publications (2)

Publication Number Publication Date
JP2013003729A JP2013003729A (en) 2013-01-07
JP5504212B2 true JP5504212B2 (en) 2014-05-28

Family

ID=47672253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011132517A Expired - Fee Related JP5504212B2 (en) 2011-06-14 2011-06-14 Test case automatic generation system, test case automatic generation method, and test case automatic generation program

Country Status (1)

Country Link
JP (1) JP5504212B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5998238B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program
JP5998239B1 (en) * 2015-03-31 2016-09-28 エヌ・ティ・ティ・コムウェア株式会社 Software test apparatus, software test method, and software test program

Also Published As

Publication number Publication date
JP2013003729A (en) 2013-01-07

Similar Documents

Publication Publication Date Title
CN108762743B (en) Data table operation code generation method and device
JP5040925B2 (en) Information extraction rule creation support system, information extraction rule creation support method, and information extraction rule creation support program
US20050005239A1 (en) System and method for automatic insertion of cross references in a document
Halpin Object-role modeling fundamentals: a practical guide to data modeling with ORM
WO2006075667A1 (en) Information processing device, file data merging method, file naming method, and file data output method
JP6417791B2 (en) Application test support apparatus, data processing method thereof, and program
JP2019021341A (en) Application test support apparatus, data processing method thereof, and program
Tateosian Python For ArcGIS
JP5747698B2 (en) Requirements management support device
JP2010015458A (en) Program correction support system, program correction support method, and program correction support program
JP5504212B2 (en) Test case automatic generation system, test case automatic generation method, and test case automatic generation program
JP2019211805A (en) Database migration support system and program
JP6251860B2 (en) Information management apparatus and file management method
WO2016190444A1 (en) Information management device, and file management method
JP3464159B2 (en) Test specification creation device and storage medium storing the program
JP5502696B2 (en) Software development support system, software development support program, software development support method
JP6647954B2 (en) Design document input / output device, design document input / output system, and design document input / output method
JP2009163566A (en) Job analysis support device
JP4828318B2 (en) Multiple form integrated printing method, system and program
JP2006277127A (en) Method for comparing correction program
JP2015011685A (en) Business rule management system and business rule management method
JP6475288B2 (en) Program comparison method, program comparison device, and program comparison program
JP6062735B2 (en) Software development support device, software development support method, software development support program
JPH04181455A (en) Picture transiting specification preparing method
JPH1153391A (en) Database access method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140317

R150 Certificate of patent or registration of utility model

Ref document number: 5504212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees