JP5292956B2 - Test data generation program - Google Patents

Test data generation program Download PDF

Info

Publication number
JP5292956B2
JP5292956B2 JP2008177573A JP2008177573A JP5292956B2 JP 5292956 B2 JP5292956 B2 JP 5292956B2 JP 2008177573 A JP2008177573 A JP 2008177573A JP 2008177573 A JP2008177573 A JP 2008177573A JP 5292956 B2 JP5292956 B2 JP 5292956B2
Authority
JP
Japan
Prior art keywords
record
variation
schema
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008177573A
Other languages
Japanese (ja)
Other versions
JP2009099126A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008177573A priority Critical patent/JP5292956B2/en
Publication of JP2009099126A publication Critical patent/JP2009099126A/en
Application granted granted Critical
Publication of JP5292956B2 publication Critical patent/JP5292956B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To automatically generate test data enough to perform a correct test of a business application. <P>SOLUTION: Schema related information representing relation definition and relation multiplicity between a first table and a second table, section state information about a combination that can be operationally adopted between the section and the state of the first table, and schema item information of the first table and the second table are used to specify a combination that can be operationally adopted between the section and the state from the section state information, a record of the first table corresponding to the combination is generated according to the schema item information of the first table, a variation in a correspondence relation between a record of the first table and a record of the second table is specified from the schema related information and a multiplicity upper limit, a record is generated according the schema item information, and a record of the second table required in accordance with the variation is generated according to the schema item information and the schema related information. <P>COPYRIGHT: (C)2009,JPO&amp;INPIT

Description

本技術は、業務アプリケーション・プログラム等のテストで使用されるテストデータを自動生成する分野の技術に関する。   The present technology relates to a technology in the field of automatically generating test data used in a test of a business application program or the like.

業務アプリケーション・プログラム等のテストを行う際にはテスト実行環境を作成する必要があるが、テスト実行環境としてデータベースに何らかのデータを登録しなければならない場合がある。その場合、以下のような問題があった。   When testing a business application program or the like, it is necessary to create a test execution environment, but some data must be registered in the database as the test execution environment. In that case, there were the following problems.

(A)業務上整合性を有するデータの登録
データベースに登録すべきデータは、業務上整合性を有するデータでなければならないが、この点を考慮してデータベースにデータを登録していない場合には、正しいテストが行われない可能性がある。
(A) Registration of business-consistent data Data to be registered in the database must be business-consistent data. If data is not registered in the database in consideration of this point, The correct test may not be performed.

DBスキーマ情報を利用してデータを作成する例としては、例えば特開2000−20529号公報が存在しているが、スキーマ情報だけで業務上のルールを全て表すことができるわけではない。   As an example of creating data using DB schema information, for example, Japanese Patent Laid-Open No. 2000-20529 exists, but not all business rules can be expressed only by schema information.

例えば図1左側に示すように、「ユーザ」クラスと「ユーザ履歴」クラスには、1:nの関係がある。それぞれ「ユーザ」クラスは「ユーザ」テーブルに、「ユーザ履歴」は「ユーザ履歴」テーブルにマッピングされる。これはスキーマ情報から得られる情報に基づくが、このスキーマ情報からテストデータを生成すると、ユーザの区分(例えば個人と法人)にかかわらず、図1右側に示すように、「ユーザ」テーブルのレコード毎に「ユーザ履歴」テーブルのレコードが0乃至n対応付けられることとなる。   For example, as shown on the left side of FIG. 1, the “user” class and the “user history” class have a 1: n relationship. The “user” class is mapped to the “user” table, and the “user history” is mapped to the “user history” table. This is based on information obtained from the schema information, but when test data is generated from this schema information, as shown on the right side of FIG. The records in the “user history” table are associated with 0 to n.

しかし、業務において、ユーザの区分によって「ユーザ」クラスと「ユーザ履歴」クラスとの関係が異なる場合がある。例えば、ユーザが個人の区分である場合には「ユーザ」クラスに「ユーザ履歴」クラスはマッピングされることがなく、ユーザが法人の区分である場合には「ユーザ」クラスに「ユーザ履歴」クラスが0乃至n対応付けられる場合がある。このような場合、図1右側における、ユーザ(個人)とユーザ履歴とのマッピングは、業務上整合性がとれていないデータということになる。従って、「ユーザ(個人)」のレコードに対応して「ユーザ履歴」のレコードを生成しないようにしなければならないが、このようなレコード生成はスキーマ情報のみからは、行うことはできない。   However, in business, the relationship between the “user” class and the “user history” class may differ depending on the user category. For example, when the user is an individual category, the “user history” class is not mapped to the “user” class, and when the user is a corporate category, the “user history” class is assigned to the “user” class. May be associated with 0 to n. In such a case, the mapping between the user (individual) and the user history on the right side of FIG. 1 is data that is not consistent in business. Accordingly, it is necessary not to generate a “user history” record corresponding to a “user (individual)” record, but such a record generation cannot be performed only from schema information.

(B)処理上の網羅性を有するテストデータの生成
データベースに登録されているデータは、業務のプロセスに従って本来様々な状態・種別の値を取り得る。これら全ての状態・種別にわたったテストデータを登録しておくことが重要である。そうでないと、例えば検索処理を実施した結果が正しく検索が行われた結果なのか、又は正しく処理されていないのに検索対象のデータにヒットすべきでないデータが含まれていなかったためであるかを区別することができないからである。
(B) Generation of test data having completeness in processing Data registered in the database can take values of various states and types according to business processes. It is important to register test data for all these states and types. Otherwise, for example, whether the result of the search process is a result of a correct search, or whether the search target data does not contain data that should not be hit even though it is not correctly processed. This is because they cannot be distinguished.

テストデータの処理上の網羅性については、従来はソースコードから処理分岐の条件を抽出し、その閾値としてデータ種別を抽出する方法が存在していた。しかし、ソースコードを人間によって読むにはコストが高くなってしまい、自動静的解析によるものは非常に規模の小さいアプリケーションでのみ成功が報告されており、業務アプリケーションの規模になると正しく抽出することは非常に難しい。
特開2000−20529号公報
Regarding the completeness in the processing of test data, there has conventionally been a method of extracting processing branch conditions from source code and extracting the data type as a threshold value. However, it is expensive to read the source code by humans, and automatic static analysis has been reported to be successful only for very small-scale applications. very difficult.
JP 2000-20529 A

以上述べたように、従来の方法では、業務アプリケーション・プログラムにおける業務上の整合性を有するテストデータを自動で生成し、データベースに登録することはできない。また、従来の方法では、テスト対象の業務アプリケーション・プログラムの処理上の網羅性を担保したテストデータを自動的に生成することも不可能である。従って、従来の方法では、業務アプリケーション・プログラムに対して正しいテストを行うために十分なテストデータを生成することができない。   As described above, in the conventional method, test data having business consistency in a business application program cannot be automatically generated and registered in the database. In addition, with the conventional method, it is impossible to automatically generate test data that guarantees the completeness of processing of the business application program to be tested. Therefore, with the conventional method, it is not possible to generate sufficient test data for performing a correct test on the business application program.

よって、本技術の目的は、業務アプリケーション・プログラムに対して正しいテストを行うために十分なテストデータを自動的に生成することである。   Therefore, an object of the present technology is to automatically generate sufficient test data for performing a correct test on a business application program.

第1の態様に係るテストデータ生成方法は、第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、第1のテーブル及び第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、第1のテーブルのデータと第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されている区分状態情報から第1のテーブルにおける区分及び状態の業務上取り得る組み合わせを特定し、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って上記組み合わせに応じた第1のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報から、第1のテーブルのレコードと第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、上記バリエーションにおいて必要となる第1のテーブルのレコードであって未生成のレコードが存在する場合には、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成ステップと、設計情報格納部に格納されている第2のテーブルのスキーマ項目情報及びスキーマ関連情報における第1のテーブルと第2のテーブルとの関係付けに従って、上記バリエーションに応じて必要となる第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成ステップとを含む。   The test data generation method according to the first aspect is a combination of schema-related information representing the relationship between the first table and the second table and the relational multiplicity, and the division and state of the first table that can be taken in business. Access to a design information storage unit that stores partition state information regarding the first table and schema item information of the first table and the second table, and a database that stores data of the first table and data of the second table It is executed by a computer that is capable. Then, a combination of divisions and states in the first table that can be taken in the business is identified from the division state information stored in the design information storage unit, and the schema item information of the first table stored in the design information storage unit The first table record and the second table record are generated from the step of generating the record of the first table corresponding to the combination according to the above and registering it in the database and the schema related information stored in the design information storage unit When there is an ungenerated record that is a record of the first table that is necessary for the above-described variation and a variation specifying step that specifies a variation of the correspondence relationship, the first stored in the design information storage unit A new record is generated according to the schema item information of table 1 and stored in the database In accordance with the relationship between the first table and the second table in the first table non-generated record generation step to record, the schema table information of the second table stored in the design information storage unit and the schema related information A second table record generation step of generating a record of the second table required according to the variation and registering it in the database.

第2の態様に係るテストデータ生成方法は、第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、第1のテーブル及び第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、第1のテーブルのデータと第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されているスキーマ関連情報で指定される区分値のバリエーションを特定し、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って区分値のバリエーションに応じた第1のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報の区分値毎の関係多重度から、第1のテーブルのレコードと第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、上記バリエーションにおいて必要となる第1のテーブルのレコードであって未生成のレコードが存在する場合には、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成ステップと、設計情報格納部に格納されている第2のテーブルのスキーマ項目情報及びスキーマ関連情報における第1のテーブルと第2のテーブルとの関係付けに従って、上記バリエーションに応じて必要となる第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成ステップとを含む。   The test data generation method according to the second aspect includes the schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each partition value, and the first table and the second table. It is executed by a computer that can access a design information storage unit that stores schema item information and a database that stores data of the first table and data of the second table. Then, the variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and according to the variation of the partition value according to the schema item information of the first table stored in the design information storage unit From the step of generating the record of the first table and registering it in the database, and the relational multiplicity for each section value of the schema related information stored in the design information storage unit, the record of the first table and the second table If there is a variation specifying step for specifying the variation of the correspondence relationship with the table record, and a record of the first table that is necessary for the above variation and is not generated, it is stored in the design information storage unit. A new record is generated according to the schema item information of the first table, and the database In accordance with the relationship between the first table and the second table in the first table non-generated record generation step to be registered in the schema table information and schema related information of the second table stored in the design information storage unit, A second table record generation step of generating a record of the second table required according to the variation and registering it in the database.

第3の態様に係るテストデータ生成方法は、第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各テーブルのスキーマ項目情報とを格納する設計情報格納部と、各テーブルを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されているスキーマ関連情報で指定される区分値のバリエーションを特定し、設計情報格納部に格納されているスキーマ項目情報に従って区分値のバリエーションに応じた第1及び第2のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報の関連データ項目間における区分値毎の関係多重度から、関連データ項目を含む、関係テーブルのレコードのバリエーションを特定するバリエーション特定ステップと、関係テーブルのレコードのバリエーションにおいて必要となる第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、設計情報格納部に格納されている第1及び第2のテーブルのスキーマ項目情報に従って第1及び第2のテーブルの、関連データ項目の値を含むレコードを新たに生成し、データベースに登録すると共に、データベースに登録されている第1及び第2のテーブルのレコードを用いて、関係テーブルのレコードを生成し、データベースに登録する関係テーブル生成ステップとを含む。そして、上で述べたバリエーション特定ステップは、関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する展開ステップを含む。また、上で述べた関係テーブル生成ステップは、n:mのサブバリエーションのための関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、第1のテーブルの関連データ項目のn個の値と第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意するステップを含む。   The test data generation method according to the third aspect includes the first and second tables, the relationship between the relation tables of the first and second tables, and the division between the related data items in the first and second tables It is executed by a computer that can access the schema related information representing the relational multiplicity for each value, the design information storage unit storing the schema item information of each table, and the database storing each table. Then, the variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the first and the second according to the variation of the partition value according to the schema item information stored in the design information storage unit Including the related data item from the step of generating the record of the table of 2 and registering it in the database, and the relational multiplicity for each division value between the related data items of the schema related information stored in the design information storage unit When there is an ungenerated value that is a value of the related data item of the first and second tables required in the variation specifying step for specifying the record variation of the table and the record variation of the relation table, According to the schema item information of the first and second tables stored in the design information storage unit A new record including the value of the related data item in the first and second tables, and registering it in the database, and using the records in the first and second tables registered in the database, Generating a table record and registering it in the database. In the variation specifying step described above, the relational multiplicity is a to n: b to m (n and m are integers of 2 or more. A is an integer of 0 to less than n. B is an integer of 0 to less than m. ) Includes a development step of developing into a plurality of sub-variations including n: m. In addition, when the relation table generation step described above generates a record group of a relation table for an n: m sub-variation, the number of relations between records indicating the influence spread range at the time of data item change in the record group. Includes n values of related data items in the first table and m values of related data items in the second table so that the maximum value is less than or equal to the upper limit value of the number of relations between records specified. Preparing one or a plurality of sets.

業務アプリケーション・プログラムに対して正しいテストを行うために十分なテストデータを自動的に生成することができる。   Sufficient test data can be automatically generated to correctly test business application programs.

[実施の形態1]
図2に本技術の一実施の形態に係るテストデータ生成装置100の機能ブロック図を示す。テストデータ生成装置100は、設定情報及び設計情報の入力をユーザから受け付ける入力部1と、スキーマ関連情報、区分・状態情報及びスキーマ項目情報を含む設計情報を格納する設計情報格納部3と、設計情報格納部3から必要な設計情報を読み出す設計情報読み取り部5と、設計情報読み取り部5によって読み出された設計情報及び入力部1からの設定情報を用いて生成すべきテストデータのバリエーションなどを決定する処理を実施するデータ生成決定部7と、データ生成決定部7の処理結果を格納するバリエーションデータ格納部9と、バリエーションデータ格納部9に格納されたデータと設計情報読み取り部5によって読み出された設計情報等を用いてテストデータの生成を行うデータ生成部11とを有する。なお、データ生成部11によって生成されたテストデータは、データベース(DB)13に登録され、当該DB13を用いて業務アプリケーション・プログラムのテストが実施される。
[Embodiment 1]
FIG. 2 shows a functional block diagram of the test data generation apparatus 100 according to an embodiment of the present technology. The test data generation device 100 includes an input unit 1 that receives input of setting information and design information from a user, a design information storage unit 3 that stores design information including schema related information, category / state information, and schema item information, A design information reading unit 5 for reading out necessary design information from the information storage unit 3, a variation of test data to be generated using the design information read by the design information reading unit 5 and the setting information from the input unit 1, etc. The data generation determination unit 7 that performs the determination process, the variation data storage unit 9 that stores the processing result of the data generation determination unit 7, and the data stored in the variation data storage unit 9 and the design information reading unit 5 And a data generation unit 11 that generates test data using the designed design information and the like. Note that the test data generated by the data generation unit 11 is registered in the database (DB) 13, and the business application program is tested using the DB 13.

以下では、図3及び図4に示すようなクラス図で表されるデータをテストデータとして生成する例を、第1の例として説明する。図3に示すように、「ユーザ」というクラスに対して、「ユーザ履歴」というクラスが集約という形で関連付けられている。「ユーザ」クラスにはユーザテーブルが対応し、「ユーザ履歴」クラスにはユーザ履歴テーブルが対応する。「ユーザ」テーブルの1レコードあたり、ユーザ履歴テーブルは0乃至nのレコードが関連付けられる。このような「ユーザ」クラスと「ユーザ履歴」クラスの関係を、関係多重度が1:nと記す。また、図4に示すように、「ユーザ」クラスは、2つの区分を有する。すなわち、「個人・団体」区分と、「ユーザ」区分とを有する。これらの組み合わせにより、例えば保険契約の例では、個人契約者にあたる「個人ユーザ」、法人契約対象者にあたる「団体ユーザ」、個人ユーザが勤めている会社にあたる「個人ユーザ関係」、団体ユーザが所属する自治体や地域団体や利害関係のあるグループにあたる「団体ユーザ関係」、個人契約者ではないが内容にクレームをつけてくる個人にあたる「個人クレーマー」、法人契約対象者ではないが内容にクレームをつけてくる団体にあたる「団体クレーマー」を表す。データの具体的な定義として、「個人・団体」区分は、「団体」(区分値=1)及び「個人」(区分値=2)とを含む。さらに、「ユーザ」区分は、「ユーザ」(区分値=1)、「ユーザ関係」(区分値=2)、「クレーマー」(区分値=3)を含む。これによって、「個人・団体」区分で「個人」という区分値を有し且つ「ユーザ」区分で「ユーザ」という区分値を有する「個人ユーザ」というサブクラスと、「個人・団体」区分で「個人」という区分値を有し且つ「ユーザ」区分で「ユーザ関係」という区分値を有する「個人ユーザ関係」というサブクラスと、「個人・団体」区分で「個人」という区分値を有し且つ「ユーザ」区分で「クレーマー」という区分値を有する「個人クレーマー」というサブクラスと、「個人・団体」区分で「団体」という区分値を有し且つ「ユーザ」区分で「ユーザ」という区分値を有する「団体ユーザ」というサブクラスと、「個人・団体」区分で「団体」という区分値を有し且つ「ユーザ」区分で「ユーザ関係」という区分値を有する「団体ユーザ関係」というサブクラスと、「個人・団体」区分で「団体」という区分値を有し且つ「ユーザ」区分で「クレーマー」という区分値を有する「団体クレーマー」というサブクラスとが定義される。   Below, the example which produces | generates the data represented by a class diagram as shown in FIG.3 and FIG.4 as test data is demonstrated as a 1st example. As shown in FIG. 3, a class “user history” is associated with a class “user” in the form of aggregation. A user table corresponds to the “user” class, and a user history table corresponds to the “user history” class. For each record in the “user” table, 0 to n records are associated with the user history table. Such a relationship between the “user” class and the “user history” class is described as a relationship multiplicity of 1: n. Also, as shown in FIG. 4, the “user” class has two sections. That is, it has a “person / organization” category and a “user” category. With these combinations, for example, in the case of an insurance contract, an “individual user” corresponding to an individual contractor, an “organization user” corresponding to a corporate contract person, an “individual user relationship” corresponding to a company where the individual user works, and an association user belong "Group user relations" that correspond to local governments, local groups, and groups with interests, "individual claimers" who are not individual contractors but who claim complaints on the contents, but are not subject to corporate contracts, but claim claims on the contents Represents a “group Kramer” that corresponds to a coming group. As a specific definition of the data, the “individual / organization” category includes “organization” (category value = 1) and “individual” (category value = 2). Furthermore, the “user” category includes “user” (category value = 1), “user relationship” (category value = 2), and “kramer” (category value = 3). As a result, a subclass “individual user” having a classification value of “individual” in the “individual / organization” category and a classification value of “user” in the “user” category, and “individual / organization” category “individual” ”And the“ user ”category, and the“ user relationship ”subclass“ personal user relationship ”, the“ individual / organization ”category“ individual ”and“ user ” ”Having a classification value of“ Creamer ”in the“ Class ”and a subclass of“ Individual Kramer ”, a classification value of“ Group ”in the“ Individual / Group ”classification, and a classification value of“ User ”in the“ User ”classification. “Group user” with a subclass of “Group user” and “Group” in the “Individual / Group” category and “User relationship” in the “User” category And subclasses, and subclass of "individuals or groups" the classification value of "organization" has and "user" in divided by partition having a partition value of "Kramer" "organization Kramer" is defined.

また、図3及び図4には図示していないが、第1の例では、「ユーザ」クラスには「未登録」「登録」「登録削除」という3つの状態が存在するものとする。但し、サブクラスによっては上記のような状態を有さないものもある。具体的には、「個人ユーザ関係」サブクラス及び「団体クレーマー」サブクラスでは「登録」状態及び「登録削除」状態は存在しない。   Although not shown in FIGS. 3 and 4, in the first example, it is assumed that the “user” class has three states of “unregistered”, “registered”, and “registered deleted”. However, some subclasses do not have the above state. Specifically, the “registered” state and the “registration deleted” state do not exist in the “individual user relationship” subclass and the “group claimer” subclass.

次に、図5乃至図17を用いて、テストデータ生成装置100の処理内容について説明する。まず、入力部1は、ユーザに対して、例えば図6に示すような表示を行って、ユーザから設定情報の入力を促すと共に、設定情報の入力を受け付け、メインメモリなどの記憶装置に格納する。また、さらに設計情報の入力も促すと共に、設計情報の入力を受け付け、設計情報格納部3に格納する(ステップS1)。図6の画面例では、生成対象のテーブル(スキーマ)名の入力欄と、1種別あたりの最低生成件数の入力欄と、関係多重度数m(多重度上限とも呼ぶ)の指定入力欄とが設けられている。「1種別あたりの最低生成件数」は、サブクラスと状態との業務上取り得る組み合わせの各々について生成すべきレコード数を指定するものである。関係多重度mは、図3で示された「ユーザ」クラスと「ユーザ履歴」クラスとの関係多重度が1:nにおけるnの上限値である。ここでは、主として生成するテーブルの名前が「ユーザ」であり、1種別あたりの最低生成件数が「1」であり、関係多重度数nの指定が「2」であることが分かる。   Next, processing contents of the test data generation apparatus 100 will be described with reference to FIGS. First, the input unit 1 performs a display as shown in FIG. 6 for example to the user, prompts the user to input setting information, accepts the input of setting information, and stores it in a storage device such as a main memory. . Further, the input of design information is further prompted, and the input of design information is accepted and stored in the design information storage unit 3 (step S1). In the screen example of FIG. 6, an input field for a table (schema) name to be generated, an input field for the minimum number of generations per type, and a designation input field for the related multiplicity m (also called the upper limit of multiplicity) are provided. It has been. “Minimum number of generations per type” designates the number of records to be generated for each possible combination of subclass and status. The relational multiplicity m is an upper limit value of n when the relational multiplicity between the “user” class and the “user history” class shown in FIG. 3 is 1: n. Here, it is understood that the name of the table to be generated is “user”, the minimum number of generations per type is “1”, and the designation of the relational multiplicity n is “2”.

設計情報については、図7乃至図9に示す情報が含まれる。図7に、スキーマ関連情報の例を示す。スキーマ関連情報は、生成する「ユーザ」テーブルに関連する関連テーブル名「ユーザ履歴」と、関連カラム(外部キーのカラム)名「ユーザ番号」と、関係多重度「0..n」とが含まれる。「0..n」は、0乃至nであることを示す。   The design information includes information shown in FIGS. FIG. 7 shows an example of schema related information. The schema related information includes a related table name “user history” related to the generated “user” table, a related column (foreign key column) name “user number”, and a relational multiplicity “0..n”. It is. “0..n” indicates 0 to n.

図8に、区分・状態情報の例を示す。区分・状態情報は、サブクラスと状態との組み合わせを示す。図8では、「個人ユーザ」サブクラス(個人・団体区分=2、ユーザ区分=1)には、「未登録」「登録」「登録削除」という状態が存在し、「団体ユーザ」サブクラス(個人・団体区分=1、ユーザ区分=1)には、「未登録」「登録」「登録削除」という状態が存在し、「個人ユーザ関係」サブクラス(個人・団体区分=2、ユーザ区分=2)には、「未登録」状態のみが存在し、「団体ユーザ関係」サブクラス(個人・団体区分=1、ユーザ区分=2)には、「未登録」「登録」「登録削除」という状態が存在し、「個人クレーマー」サブクラス(個人・団体区分=2、ユーザ区分=3)には、「未登録」「登録」「登録削除」という状態が存在し、「団体クレーマー」サブクラス(個人・団体区分=1、ユーザ区分=3)には、「未登録」状態のみが存在する。このように理論上は3×6=18種類のレコードが存在することになるが、業務上存在しない状態があるので、14種類のレコードを生成することになる。   FIG. 8 shows an example of the category / state information. The category / state information indicates a combination of a subclass and a state. In FIG. 8, in the “individual user” subclass (individual / organization category = 2, user category = 1), there are states of “unregistered”, “registered”, and “deregistered”. In the group category = 1, user category = 1), there are states of “unregistered”, “registered”, “deregistered”, and the “personal user relationship” subclass (individual / organization category = 2, user category = 2) Only has an “unregistered” state, and the “group user relationship” subclass (individual / organization category = 1, user category = 2) has a status of “unregistered”, “registered” and “deregistered”. , “Individual Kramer” subclass (individual / group classification = 2, user classification = 3) has states of “unregistered”, “registered”, “deregistered”, and “group Kramer” subclass (individual / group classification = 1, user classification = 3) Only recording "condition exists. In this way, there are theoretically 3 × 6 = 18 types of records, but since there is a state that does not exist in business, 14 types of records are generated.

図9に、ユーザテーブルのスキーマ項目情報の例を示す。図9では、ユーザテーブルのレコードの各カラム(ユーザ番号、個人・団体区分、ユーザ区分、名称、住所、登録日付、削除日付)について、「主キー」か否か、「未登録」状態における値の有無、「登録」状態における値の有無、「登録削除」状態における値の有無、必須か否かを表す必須区分、及びデータ属性が登録される。データ属性は、どのような値を生成すべきかルール(形式など)及び取り得る値が規定されている。具体的には、半角英数字[10]は、半角英数字[A,...Z,0,...9]によって合成される10桁固定の文字列を表す。本実施の形態では、[]は固定数を表し、()は以内であることを表している。従って、全角(100byte)は、全角の文字100byte以内であることを表す。   FIG. 9 shows an example of schema item information of the user table. In FIG. 9, for each column (user number, individual / organization classification, user classification, name, address, registration date, deletion date) of the user table record, whether or not it is a “primary key”, a value in an “unregistered” state Presence / absence, presence / absence of a value in the “registration” state, presence / absence of a value in the “registration deletion” state, a mandatory category indicating whether it is essential, and data attributes are registered. In the data attribute, a rule (format, etc.) and a possible value to be generated are defined. Specifically, half-width alphanumeric characters [10] are replaced by half-width alphanumeric characters [A,. . . Z, 0,. . . 9] represents a fixed 10-digit character string. In the present embodiment, [] represents a fixed number, and () represents within. Therefore, full-width (100 bytes) indicates that it is within 100 bytes of full-width characters.

さらに、本例では、主キーは「ユーザ番号」であり、必須のカラムは、「ユーザ番号」「個人・団体区分」及び「ユーザ区分」であり、登録日付については「登録」状態のみに登録され、削除日付については「登録削除」状態のみに登録される。「未登録」状態については、登録日付も削除日付も登録されない。   Furthermore, in this example, the primary key is “user number”, the required columns are “user number”, “individual / organization category”, and “user category”, and the registration date is registered only in the “registered” state. The deletion date is registered only in the “registration deletion” state. For the “unregistered” state, neither the registration date nor the deletion date is registered.

図7乃至図9に示したようなデータは、マシンリーダブルな形式で入力部1に入力され、入力部1によって設計情報格納部3に格納される。なお、「ユーザ履歴」テーブルのスキーマ項目情報(図15)も入力され、設計情報格納部3に格納される。   Data as shown in FIGS. 7 to 9 is input to the input unit 1 in a machine readable format, and is stored in the design information storage unit 3 by the input unit 1. The schema item information (FIG. 15) of the “user history” table is also input and stored in the design information storage unit 3.

次に、設計情報読み取り部5は、設計情報格納部3から設計情報(スキーマ関連情報、区分・状態情報、スキーマ項目情報)を読み出す(ステップS3)。上で述べたようなデータの内容が把握可能となる。   Next, the design information reading unit 5 reads design information (schema related information, category / state information, schema item information) from the design information storage unit 3 (step S3). The contents of the data as described above can be grasped.

そして、データ生成決定部7は、区分・状態情報及び入力された設定情報に基づき、ユーザテーブルにおいて生成すべきレコードのバリエーションを特定し、バリエーションについてのデータをバリエーションデータ格納部9に格納する(ステップS5)。図8に示した区分・状態情報から、サブクラスと状態との業務上取り得る組み合わせが14種類であることが分かり、図6で示したように「1種別あたりの最低生成件数」が「1」であるから、1種類につき1レコードで、14件のレコードを生成するということが特定される。このように、区分・状態情報から特定される14種類のレコードを1つずつ生成することを表すバリエーションのデータが、バリエーションデータ格納部9に格納される。   Then, the data generation determination unit 7 specifies the variation of the record to be generated in the user table based on the classification / state information and the input setting information, and stores the data about the variation in the variation data storage unit 9 (step S5). From the category / state information shown in FIG. 8, it is found that there are 14 types of combinations of subclasses and states that can be taken in the business, and as shown in FIG. 6, “minimum number of generations per type” is “1”. Therefore, it is specified that 14 records are generated with one record per type. In this way, variation data storage unit 9 stores variation data indicating that 14 types of records specified from the category / state information are generated one by one.

その後、データ生成部11は、読み出されたスキーマ項目情報に従って、バリエーションデータ格納部9に格納されているバリエーションにおいて必要とされるレコードを生成し、DB13に登録する(ステップS7)。例えば、データ生成部11は、「半角英数字」「半角」「全角」「数字」といった文字列に関する生成メソッドを有しており、長さを入力することによって、予め定められたルール(例えばランダム、「ユーザ番号」などのカラム名に応じて「CUSTOM_」+「数字(桁数は全体の桁数にあわせる)」といったルール、主キーであれば各値がユニークになるようにするルールなど)に従った文字列を自動的に生成する。   Thereafter, the data generation unit 11 generates a record required for the variation stored in the variation data storage unit 9 according to the read schema item information, and registers it in the DB 13 (step S7). For example, the data generation unit 11 has a generation method related to a character string such as “half-width alphanumeric characters”, “half-width characters”, “full-width characters”, and “numbers”, and by inputting a length, a predetermined rule (for example, random , “CUSTOM_” + “number (number of digits matches the total number of digits)” according to the column name such as “user number”, rule to make each value unique if it is a primary key) Automatically generates a string that conforms to

例えば、「団体ユーザ」サブクラスで「未登録」状態のレコードを生成する場合には、図9のスキーマ項目情報に従って、主キーである「ユーザ番号」を、半角英数字[10]というデータ属性に従って生成する。主キーであるから値はユニークでなければならず、上で述べたように「CUSTOM_」+「3桁数字」のようなルールに従って生成する。個人・団体区分は、「団体ユーザ」であるから「1」であり、ユーザ区分は、「団体ユーザ」であるから「1」となる。「名称」については全角(100byte)、「住所」については全角(200byte)であるから、ひらがな、英数記号、常用漢字、カタカナの集合からランダムに抽出して長さの分の文字列を生成する。但し、住所については、郵便番号をランダムに生成して、郵便番号に対応する住所を「住所」に利用するようにしても良い。この場合には、郵便番号と住所を対応付ける辞書が必要となる。このようにすると、図10の第1レコードが生成される。   For example, when a “unregistered” state record is generated in the “group user” subclass, the “user number” as the primary key is set according to the data attribute of half-width alphanumeric character [10] according to the schema item information of FIG. Generate. Since it is a primary key, the value must be unique, and as described above, it is generated according to a rule such as “CUSTOM _” + “three-digit number”. The individual / group classification is “1” because it is “group user”, and the user classification is “1” because it is “group user”. Since “name” is full-width (100 bytes) and “address” is full-width (200 bytes), a character string of length is generated by randomly extracting from a set of hiragana, alphanumeric symbols, common kanji, and katakana To do. However, as for the address, a zip code may be randomly generated and the address corresponding to the zip code may be used as the “address”. In this case, a dictionary that associates the zip code with the address is required. In this way, the first record in FIG. 10 is generated.

図10の第2乃至第14レコードについては、上で特定されたバリエーションに従って同様に生成される。なお、図9のスキーマ項目情報で必要とされる登録日付と削除日付については、YYYY/XX/ZZというフォーマットに従って所定のルールに従って生成する。例えば、処理日付を含む1週間の日付をランダムに発生させるなどの処理を行うようにしても良い。このようにすれば、14種類のレコードが各1件生成されることになる。   The second to fourteenth records in FIG. 10 are similarly generated according to the variations specified above. Note that the registration date and the deletion date required in the schema item information of FIG. 9 are generated according to a predetermined rule according to the format of YYYY / XX / ZZ. For example, processing such as randomly generating a date for one week including the processing date may be performed. In this way, one each of 14 types of records is generated.

そして、データ生成決定部7は、未生成の関連テーブルが存在するか判断する(ステップS9)。例えば、設計情報に含まれるスキーマ関連情報を参照して、未生成の関連テーブルが存在するか判断する。未生成の関連テーブルが存在すると判断された場合には、端子Aを介して図12の処理に移行する。本例では、「ユーザ履歴」テーブルをまだ生成していないので、端子Aを介して図12の処理に移行するものとする。   Then, the data generation determination unit 7 determines whether there is an ungenerated related table (step S9). For example, with reference to schema related information included in the design information, it is determined whether an ungenerated related table exists. If it is determined that there is an ungenerated association table, the process proceeds to the process in FIG. In this example, since the “user history” table has not yet been generated, it is assumed that the process proceeds to the process of FIG.

一方、未生成の関連テーブルが存在しないと判断された場合には、データ生成決定部9は、例えば図11に示すような処理結果を含む表示をユーザに対して出力する(ステップS11)。図11には、「ユーザ」テーブルのレコードが42件、「ユーザ履歴」テーブルのレコードが42件、生成されたデータが\CreatedData\20070618_mouraフォルダに格納されていることが示されている。   On the other hand, if it is determined that there is no ungenerated related table, the data generation determination unit 9 outputs a display including a processing result as shown in FIG. 11 to the user (step S11). FIG. 11 shows that 42 records are stored in the “user” table, 42 records are stored in the “user history” table, and the generated data is stored in the \ CreatedData \ 20070618_moura folder.

図12の処理の説明に移行して、データ生成決定部7は、スキーマ関連情報に含まれる、生成すべき関連テーブルのカラムの持ち得る区分・状態及び関係多重度と、入力部1によって入力された関係多重度数mとから、生成すべき関連テーブルのレコードのバリエーションを決定し、当該バリエーションのデータをバリエーションデータ格納部9に格納する(ステップS13)。   Shifting to the description of the processing in FIG. 12, the data generation determination unit 7 is input by the input unit 1 and the classification / state and relational multiplicity of the columns of the related table to be generated included in the schema related information. The variation of the record of the related table to be generated is determined from the relational multiplicity m, and the variation data is stored in the variation data storage unit 9 (step S13).

本例では、「ユーザ」テーブルのレコードと、「ユーザ履歴」テーブルのレコードとの間には0..nの集約関連が存在することが、スキーマ関連情報(図7)で特定される。図7では、「ユーザ履歴」テーブルには区分・状態については規定されていない。すなわち、単に「ユーザ」テーブルのレコードと「ユーザ履歴」テーブルのレコードは、1:m(mはここでは0を含む整数)の関係にある。従って、本実施の形態では、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:0、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:1、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:mの3つのパターンを生成するものとする。なお、mはユーザにより指定された多重度上限によって決定される。図6での入力例では、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:2となる。   In this example, 0. 0 is placed between the record of the “user” table and the record of the “user history” table. . The existence of n aggregated relationships is specified by the schema related information (FIG. 7). In FIG. 7, the “user history” table does not define the category / state. That is, the record of the “user” table and the record of the “user history” table simply have a relationship of 1: m (m is an integer including 0 here). Therefore, in the present embodiment, “user” table record: “user history” table record = 1: 0, “user” table record: “user history” table record = 1: 1, “user” table Records: three patterns of “user history” table record = 1: m are generated. Note that m is determined by the upper limit of multiplicity specified by the user. In the input example in FIG. 6, “user” table record: “user history” table record = 1: 2.

なお、「ユーザ」テーブルのレコードに対して、「ユーザ履歴」テーブルのレコードとp(正の整数)..nの集約関連が存在する場合には、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:p、「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:mの2つのパターンを生成する。   Note that, with respect to the record of the “user” table, the record of the “user history” table and p (positive integer). . When there are n aggregated relations, “user” table record: “user history” table record = 1: p, “user” table record: “user history” table record = 1: m 2 Generate one pattern.

上でも述べたように、本例では、
「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:0
「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:1
「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=1:2
の3つのパターンが必要となる。「ユーザ」テーブルのレコード「1」というのは、14種類のレコードのセットが「1」ということであって、ステップS7では1セット分しか生成していないので「ユーザ」テーブルの14種類のレコードのセットがあと2セット必要で、「ユーザ履歴」テーブルのレコードについては、「ユーザ」テーブルの14種類のレコードのセット1つにつき1セット(14種類)、及び「ユーザ」テーブルの14種類のレコードのセット1つにつき2セット(14種類×2)必要となる。合計すれば、「ユーザ」テーブルのレコードも14×3=42件(但し14件はステップS7で生成済み)、「ユーザ履歴」テーブルのレコードも14×3=42件生成すべきということになる。
As mentioned above, in this example,
“User” table record: “User history” table record = 1: 0
“User” table record: “User history” table record = 1: 1
“User” table record: “User history” table record = 1: 2
These three patterns are required. The record “1” in the “user” table means that the set of 14 types of records is “1”, and since only one set is generated in step S7, the 14 types of records in the “user” table 2 sets are required. For the records in the “user history” table, one set (14 types) for each set of 14 types of records in the “user” table and 14 types of records in the “user” table Two sets (14 types × 2) are required for each set. In total, 14 × 3 = 42 records in the “user” table (however, 14 records have been generated in step S7), and 14 × 3 = 42 records in the “user history” table should also be generated. .

これを別角度から図示すると、図13に示すようになる。すなわち、「ユーザ」テーブルの1種類のレコード(例えば「団体ユーザ(未登録)」レコード)につき、「ユーザ履歴」のレコードが「無い」場合と、1つある場合と、2つある場合との3つのパターンが、14種類分存在することとなる。このようなバリエーションのデータをバリエーションデータ格納部9に格納する。   This is illustrated from another angle as shown in FIG. That is, for one type of record in the “user” table (for example, “group user (unregistered)” record), there are “no”, “one”, and two “user history” records. There are 14 patterns of 3 patterns. Such variation data is stored in the variation data storage unit 9.

次に、データ生成部11は、外部キー(例えばスキーマ関連情報における「関連カラム」から特定する。又は「関連元のテーブルと関連テーブルとで同じ名前のカラムを、スキーマ項目情報から特定する)の未使用の値が存在するか判断する(ステップS15)。例えば、ユーザなどによって既に外部キーの値が指定されている場合などには、当該指定されている外部キーのうち未使用の値が存在するかを判断する。そのような値が存在する場合には、データ生成部11は、当該外部キーの未使用の値を用いて、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを1つ生成し、DB13に登録する(ステップS17)。その後、データ生成部11は、ステップS13で特定された必要なバリエーションの全てを生成したか判断する(ステップS19)。全てのバリエーションについてデータを生成したわけではない場合には、ステップS15に戻る。なお、本例では、外部キーの未使用の値はないものとする。一方、全てのバリエーションを生成した場合には、端子Bを介して図5のステップS9に戻る。   Next, the data generation unit 11 specifies the foreign key (for example, “related column” in the schema related information. Or “specifies a column having the same name in the related source table and the related table from the schema item information). It is determined whether there is an unused value (step S15) For example, when a foreign key value has already been specified by a user or the like, there is an unused value among the specified foreign keys. If such a value exists, the data generation unit 11 uses the unused value of the foreign key to record one record of the related table according to the schema item information of the related table. (Step S17) After that, has the data generation unit 11 generated all the necessary variations identified in Step S13? (Step S19) If the data has not been generated for all variations, the process returns to Step S15, where there is no unused value for the foreign key in this example. When the variation is generated, the process returns to step S9 in FIG.

ステップS15で外部キーの未使用の値が存在しないと判断された場合には、データ生成部11は、関連元テーブル(本例では「ユーザ」テーブル)における外部キー該当カラム(「ユーザ番号」のカラム)に、未使用の値が存在するか判断する(ステップS21)。本例では、ステップS7で生成された「ユーザ」テーブルのレコード群(図10)は、ステップS13で特定されたバリエーションのうち、「ユーザ」テーブルの1レコードに対応して「ユーザ履歴」テーブルのレコードなしというバリエーションに用いられるので、外部キー該当カラムには未使用の値は存在しないと判断される。   If it is determined in step S15 that an unused value of the foreign key does not exist, the data generation unit 11 stores the column corresponding to the foreign key (“user number”) in the related source table (“user” table in this example). It is determined whether there is an unused value in the column (step S21). In this example, the record group (FIG. 10) of the “user” table generated in step S7 corresponds to one record in the “user” table among the variations identified in step S13. Since it is used for a variation of no record, it is determined that there is no unused value in the foreign key corresponding column.

ステップS21で、関連元テーブルにおける外部キー該当カラムに、未使用の値が存在すると判断された場合には、データ生成部11は、当該外部キー該当カラムの未使用の値を用いて、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを1つ生成し、DB13に登録する(ステップS23)。そしてステップS19に移行する。   If it is determined in step S21 that an unused value exists in the foreign key corresponding column in the related source table, the data generation unit 11 uses the unused value in the corresponding foreign key corresponding column. According to the schema item information, one record of the related table is generated and registered in the DB 13 (step S23). Then, control goes to a step S19.

一方、関連元テーブルにおける外部キー該当カラムに、未使用の値が存在しないと判断された場合には、データ生成部11は、関連元テーブルのスキーマ項目情報に従って、ステップS19で特定されたバリエーションに応じて必要となるレコードを1つ生成し、DB13に登録する(ステップS25)。本例では、図14の第1レコードが生成される。   On the other hand, if it is determined that there is no unused value in the corresponding foreign key column in the related source table, the data generation unit 11 changes the variation specified in step S19 according to the schema item information of the related source table. In response, one necessary record is generated and registered in the DB 13 (step S25). In this example, the first record in FIG. 14 is generated.

そして、データ生成部11は、ステップS25で生成された、関連元テーブルにおける外部キー該当カラムの値を用い、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを1つ生成し、DB13に登録する(ステップS27)。本例では、図14の第1レコードのユーザ番号「CUSTOM_014」を外部キー該当カラムの値として用いて、図15に示す「ユーザ履歴」テーブルのスキーマ項目情報に従って、図16の左欄第1レコードを生成する。スキーマ項目情報の使用方法は、「ユーザ」テーブルのスキーマ項目情報と同様である。そして、ステップS19に戻る。   Then, the data generation unit 11 generates one record of the related table according to the schema item information of the related table using the value of the corresponding foreign key column in the related source table generated in step S25, and registers it in the DB 13. (Step S27). In this example, the user number “CUSTOM — 014” of the first record in FIG. 14 is used as the value of the corresponding column of the foreign key, and the first record in the left column of FIG. 16 according to the schema item information in the “user history” table shown in FIG. Is generated. The method of using the schema item information is the same as the schema item information of the “user” table. Then, the process returns to step S19.

図15では、「ユーザ番号」及び「履歴移動日」というデータ項目が、主キー且つ必須区分であり、「ユーザ番号」については半角英数字[10]で構成され、「履歴移動日」についてはYYYY/XX/ZZというフォーマットで構成される。   In FIG. 15, the data items “user number” and “history moving date” are the primary key and the required category, and “user number” is composed of alphanumeric characters [10], and “history moving date” is The format is YYYY / XX / ZZ.

本例の場合、ステップS15、S21、S25及びS27を繰り返し、図14の第2レコード乃至第14レコードを生成し、さらに図16の第2レコード乃至第14レコードを生成する。その後、ステップS15、S21、S25及びS27を実行して、図17の第1レコードを生成し、さらに図16の第15レコードを生成する。そうすると、次に、ステップS15、S21及びS23を実行して、図16の第16レコードを生成する。このように、「ユーザ」テーブルを1レコード生成すると、ステップS23及びS27で「ユーザ履歴」テーブルのレコードを2件生成する処理を繰り返し、図17に示す「ユーザ」テーブルの第2乃至第14レコード及び図16の残りのレコード(第17乃至第42レコード)を生成する。   In the case of this example, steps S15, S21, S25, and S27 are repeated to generate the second record to the fourteenth record in FIG. 14, and further generate the second record to the fourteenth record in FIG. Thereafter, steps S15, S21, S25, and S27 are executed to generate the first record in FIG. 17, and further generate the fifteenth record in FIG. Then, steps S15, S21, and S23 are executed to generate the sixteenth record in FIG. As described above, when one record of the “user” table is generated, the process of generating two records of the “user history” table in steps S23 and S27 is repeated, and the second to fourteenth records of the “user” table shown in FIG. And the remaining records (17th to 42nd records) of FIG. 16 are generated.

ここまで実施すれば、全てのバリエーションについて生成し終わることになるので、端子Bを介してステップS9に戻り、関連テーブルについて全て処理したか判断する。本例では、関連テーブルは、「ユーザ履歴」テーブル以外には存在しないので、処理が終了して、ステップS11で図11の表示を行う。   If so far, all variations have been generated, so the process returns to step S9 via the terminal B to determine whether all the related tables have been processed. In this example, since there is no related table other than the “user history” table, the processing ends and the display of FIG. 11 is performed in step S11.

以上のような処理を実施することによって、業務上の整合性を保持させると共に処理上の網羅性を担保するようなテストデータをDB13に登録することができるようになる。   By performing the processing as described above, it is possible to register in the DB 13 test data that maintains business consistency and ensures process completeness.

[実施の形態1における第2の例]
次に、第2の例について説明する。第2の例は、図18に示すようなクラス図で表される。すなわち、「ユーザ」クラスには、2つの区分が存在しており、「個人・団体」区分と、「ユーザ」区分とがある。「個人・団体」区分において団体の場合には区分値=1となり、個人の場合には区分値=2となる。また、「ユーザ」区分において、「ユーザ」の場合には区分値=1であり、「ユーザ関係」の場合には区分値=2であり、「クレーマー」の場合には区分値3である。そして、「個人・団体」区分の区分値=1で「ユーザ」区分の区分値=1は、「団体ユーザ」というサブクラスとなる。ここまでは、第1の例と同じである。しかし、第1の例では「ユーザ」クラス全体について「ユーザ履歴」クラスが集約という関係で関連付けられていたが、第2の例では、「団体ユーザ」というサブクラスにのみ、1:nという集約関係で「ユーザ履歴」クラスが関連付けられている。
[Second Example in Embodiment 1]
Next, a second example will be described. The second example is represented by a class diagram as shown in FIG. In other words, the “user” class has two categories: an “individual / organization” category and a “user” category. In the “individual / organization” category, the category value = 1 for organizations, and the category value = 2 for individuals. In the “user” category, the category value = 1 for “user”, the category value = 2 for “user relationship”, and the segment value 3 for “kramer”. Then, the classification value = 1 of the “individual / organization” category and the classification value = 1 of the “user” category are subclasses “organization users”. Up to this point, it is the same as the first example. However, in the first example, the “user history” class is associated with the relationship of aggregation for the entire “user” class, but in the second example, the aggregation relationship of 1: n is provided only for the subclass “group user”. Is associated with the “user history” class.

第2の例における、スキーマ関連情報及び区分・状態情報は、図19のようになる。図19では、第1の例とは異なり、スキーマ関連情報と区分・状態情報が統合された形式となっている。本例では、第1の例と同様に、「個人ユーザ」「団体ユーザ」「個人ユーザ関係」「団体ユーザ関係」「個人クレーマー」及び「団体クレーマー」のサブクラスが存在し、「未登録」「登録」「登録削除」という状態が存在し、それらの組み合わせが規定される。但し、「個人ユーザ関係」及び「団体クレーマー」というサブクラスには、「登録」及び「登録削除」という状態は存在しない(「×」マークあり)。また、「団体ユーザ」サブクラスと「登録」状態の組み合わせには、関連テーブル、関連カラム及び関係多重度が規定されており、それぞれ「ユーザ履歴」テーブル、「ユーザ番号」及び「0..n」という情報が指定されている。同様に、「団体ユーザ関係」サブクラスと「登録」状態の組み合わせには、関連テーブル、関連カラム及び関係多重度が規定されており、それぞれ「ユーザ履歴」テーブル、「ユーザ番号」及び「0..n」という情報が指定されている。   FIG. 19 shows schema-related information and category / state information in the second example. In FIG. 19, unlike the first example, the schema related information and the classification / state information are integrated. In this example, as in the first example, there are subclasses of “individual user”, “group user”, “individual user relationship”, “group user relationship”, “individual claimer”, and “group claimer”, “unregistered” “ There are states of “registration” and “registration deletion”, and combinations thereof are defined. However, in the subclasses “individual user relationship” and “organization claimer”, there is no state of “registration” and “registration deletion” (there is an “x” mark). In addition, the combination of the “group user” subclass and the “registration” state defines a related table, a related column, and a related multiplicity. The “user history” table, “user number”, and “0. Is specified. Similarly, a relation table, a relation column, and a relation multiplicity are defined for the combination of the “group user relation” subclass and the “registration” state, and the “user history” table, “user number”, “0. The information “n” is designated.

「ユーザ」テーブルのスキーマ項目情報が、第1の例と同じであるとすると、「ユーザ」テーブルは、図5のステップS7で生成される部分(図10)は同じである。しかし、ステップS13で特定されるバリエーションは第1の例とは異なる。具体的には、図20に示すように、「団体ユーザ」サブクラスと「登録」状態の組み合わせと「団体ユーザ関係」サブクラスと「登録」状態の組み合わせについては、「ユーザ履歴」テーブルのレコード無し、1レコード対応、2レコード対応というバリエーションが特定されるが、その他のサブクラスと状態の組み合わせについては「ユーザ履歴」テーブルのレコードは関連付けられていない。   Assuming that the schema item information of the “user” table is the same as that in the first example, the “user” table has the same portion (FIG. 10) generated in step S7 of FIG. However, the variation specified in step S13 is different from the first example. Specifically, as shown in FIG. 20, there is no record in the “user history” table for the combination of the “group user” subclass and the “registration” state, and the combination of the “group user relationship” subclass and the “registration” state. Variations corresponding to one record and two records are specified, but records in the “user history” table are not associated with other combinations of subclasses and states.

従って、「ユーザ」テーブルのレコードは、ステップS7で図14に示したレコード群が生成されているのであれば、図21に示すように、「ユーザ」テーブルのスキーマ項目情報に従って4レコードが追加で生成される。さらに、「ユーザ履歴」テーブルのレコードは、図22に示すように、「ユーザ履歴」レコードのスキーマ項目情報に従って、合計6件生成される。なお、図6のような設定情報の入力がなされていることを前提としている。   Therefore, if the record group shown in FIG. 14 is generated in step S7, four records are added according to the schema item information of the “user” table as shown in FIG. Generated. Further, as shown in FIG. 22, a total of six records in the “user history” table are generated according to the schema item information of the “user history” record. It is assumed that setting information as shown in FIG. 6 has been input.

[実施の形態1における第3の例]
図23に、第3の例のクラス図を示す。第3の例においては、「ユーザ」クラスに対して「担当販売」クラスが1:nで関連しており、「担当販売」クラスに対して「販売員」クラスが1対1で関連している。すなわち、第1及び第2の例のようにクラス間に従属関係がない場合である。
[Third Example in Embodiment 1]
FIG. 23 shows a class diagram of the third example. In the third example, the “sales charge” class is related to the “user” class in a 1: n relationship, and the “salesperson” class is related to the “sales charge” class in a one-to-one relationship. Yes. That is, there is no dependency relationship between classes as in the first and second examples.

図24に第3の例の「ユーザ」テーブルのスキーマ関連情報を示す。図24では、関連テーブル名が、「担当販売」テーブルであり、関連カラムが「ユーザ番号」であり、関係多重度が、「主担当」という区分については「1」(すなわち、1:1)であり、「一般担当」という区分については「0..n」である。このように、「担当販売」クラスの区分によって関係多重度が異なる例を取り扱う。   FIG. 24 shows schema related information of the “user” table of the third example. In FIG. 24, the related table name is the “in-charge” table, the related column is “user number”, and the relationship multiplicity is “1” (ie, 1: 1) for the category “main charge”. The category “general charge” is “0..n”. In this way, an example in which the relationship multiplicity differs depending on the category of “in-charge sales” class is handled.

なお、「ユーザ」テーブルについては図8に示した区分・状態情報と図9に示したスキーマ項目情報とに従って生成されるものとする。そうすると、図10に示すようなレコードが生成される。   The “user” table is generated in accordance with the category / state information shown in FIG. 8 and the schema item information shown in FIG. Then, a record as shown in FIG. 10 is generated.

一方、「担当販売」テーブルのスキーマ項目情報は、図25に示すようなデータであるものとする。すなわち、主キーとしては「ユーザ番号」及び「販売員ID」が必須として指定されており、これらは10文字の半角英数字で構成される。また、担当販売区分も必須として指定されており、主担当の場合には「1」一般担当の場合には「2」が設定されるようになっている。   On the other hand, it is assumed that the schema item information in the “in-charge sales” table is data as shown in FIG. That is, “user number” and “salesperson ID” are designated as essential as the primary key, and these are composed of 10 alphanumeric characters. In addition, the sales division in charge is also designated as essential, and “1” is set for the main charge and “2” is set for the general charge.

上で述べたような処理を実施すれば、ステップS13では、図26に示すようなバリエーションが特定される。すなわち、「ユーザ」テーブルの14種類のレコードに対して、「担当販売」テーブルの「主担当」区分のレコードが各々1つ対応するバリエーション(「担当販売」テーブルの「一般担当」区分のレコードはなし)と、「ユーザ」テーブルの14種類のレコードに対して、「担当販売」テーブルの「主担当」区分のレコードが各々1つ対応し、さらに「一般担当」区分のレコードが各々1つ対応するバリエーションと、「ユーザ」テーブルの14種類のレコードに対して、「担当販売」テーブルの「主担当」区分のレコードが各々1つ対応し、さらに「一般担当」区分のレコードが各々2つ対応するバリエーションとが特定される。   If the process as described above is performed, a variation as shown in FIG. 26 is specified in step S13. That is, for each of the 14 types of records in the “user” table, there is a variation in which one record in the “main charge” category in the “in charge” table corresponds to each record (there is no record in the “general charge” category in the “in charge” table). ) And 14 types of records in the “user” table, one record in the “main charge” category of the “sales charge” table corresponds to one record, and one record in the “general charge” category corresponds to each record. For each variation and 14 types of records in the “user” table, one record in the “main charge” category in the “in charge” table corresponds to one record, and two records in the “general charge” category correspond to each record. Variations are identified.

そうすると、「ユーザ」テーブルについてはステップS7で14種類のレコードが1セット生成され、その後、図26に示したようなバリエーションに応じて、図25のスキーマ項目情報に従って、図27A及びBに示すような「担当販売」テーブルのレコードが生成される。なお、第1及び第2の例と同様に、「ユーザ」テーブルの14種類のレコードが3セット必要となり、「担当販売」テーブルについては、14件+14件×2+14件×3=84件のレコードが生成される。図27A及びBでは、1つの「ユーザ」レコードにつき「主担当」区分のレコードが必ず1件必要となるため、販売員IDは42種類必要となる。84件のレコードのうち残りの42件のレコードについては、42種類の販売員IDを使い回すことになる。   Then, for the “user” table, one set of 14 types of records is generated in step S7, and then, as shown in FIGS. 27A and 27B, according to the schema item information of FIG. 25 according to the variations shown in FIG. A record in the “sales charge” table is generated. As in the first and second examples, three sets of 14 types of records in the “user” table are required. For the “in-charge” table, 14 records + 14 records × 2 + 14 records × 3 = 84 records Is generated. In FIGS. 27A and 27B, one record of the “main charge” category is necessarily required for each “user” record, and therefore 42 types of salesperson IDs are required. For the remaining 42 records out of 84 records, 42 types of salesperson IDs are reused.

次に、残りの関連テーブルとして、「担当販売」テーブルに関連付けられた「販売員」テーブルを生成する。図28に「担当販売」テーブルのスキーマ関連情報を示す。図28では、関連テーブル名「販売員」と、関連カラム「販売員ID」、関係多重度「1」が登録されている。従って、「販売員」テーブルでは、「担当販売」テーブルの「販売員ID」と1対1になるようにレコードを生成する。上で述べたように、販売員IDは42種類あるので、「販売員」テーブルのレコードは42件となる。「担当販売」テーブルから外部キーの値(販売員IDの値)は抽出できる。   Next, a “salesperson” table associated with the “in-charge sales” table is generated as the remaining related tables. FIG. 28 shows schema related information of the “in-charge” table. In FIG. 28, a related table name “salesperson”, a related column “salesperson ID”, and a relational multiplicity “1” are registered. Therefore, in the “salesperson” table, a record is generated so as to have a one-to-one correspondence with the “salesperson ID” of the “sales charge” table. As described above, since there are 42 types of salesperson IDs, there are 42 records in the “salesperson” table. The value of the foreign key (salesperson ID value) can be extracted from the “in-charge” table.

ここでは、図29に示すようなスキーマ項目情報が用いられる。図29では、主キーである「販売員ID」が必須で10桁の半角英数字で構成され、担当販売者名が全角(100byte)で構成される。このようなスキーマ項目情報に従って、図30に示すような「販売員」テーブルが生成される。   Here, schema item information as shown in FIG. 29 is used. In FIG. 29, the “salesperson ID” that is the primary key is essential and is composed of 10-digit alphanumeric characters, and the name of the seller in charge is composed of full-width (100 bytes). According to such schema item information, a “salesperson” table as shown in FIG. 30 is generated.

このようにいずれの例においても、業務上の整合性を保持しつつ、処理上の網羅性を担保するようなテストデータをDB13に登録することができるようになる。   As described above, in any of the examples, it is possible to register test data in the DB 13 so as to ensure completeness in processing while maintaining business consistency.

[実施の形態1の変形例]
上で述べた例では、区分・状態情報が用意される例を示したが、業務上特に状態が規定されない場合には、例えば以下で用いる図38のようなスキーマ関連情報において区分毎に関係多重度が規定されていればよい場合もある。このような場合には、図5のステップS5では、区分・状態情報を用いずスキーマ関連情報から取り得る区分値の組み合わせに従って生成すべきレコードのバリエーションを特定し、ステップS7でレコードを生成するようにしても良い。さらに、図12のステップS13でも区分・状態情報を用いずにレコード・バリエーションを特定する。
[Modification of Embodiment 1]
In the example described above, the example in which the category / state information is prepared is shown. However, when the status is not particularly specified for business, for example, in the schema related information as shown in FIG. In some cases, the severity may be specified. In such a case, in step S5 of FIG. 5, the variation of the record to be generated is specified according to the combination of the division values that can be taken from the schema related information without using the division / state information, and the record is generated in step S7. Anyway. Furthermore, a record variation is specified without using the division / state information in step S13 of FIG.

[実施の形態2]
第1の実施の形態においては、2つのテーブル間における多重度が1:nについては処理対象としていたが、0..n:0..mである場合については処理の対象外としていた。1:nの場合にはそのレコード間の関係が一意に決まるのに対して、n:mの場合にはそのレコード間の関係のバリエーションが無限にあり得るため、無限のバリエーション中で有限個のレコードを用意する場合に、どのような関係バリエーションを生成すれば網羅性が高く、障害発見に有効なデータとなるかの判断は難しかった。例えば、図31に示すように、お客様テーブルのレコードと営業テーブルのレコードとの間に、0..2:0..2の関係がある場合には、図32(a)に示すように、お客様テーブルにおけるレコードa1及びa2と、営業テーブルのレコードb1及びb2とを、2対2で対応付けるパターンと、図32(b)に示すように、お客様テーブルにおけるレコードa1乃至a3と、営業テーブルのレコードb1乃至b3とを、2対2で対応付けるパターン等が可能である。これ以外のパターンも生成することができるが、上で述べたように、どのようなパターンを採用すべきかを判断するのは難しい。
[Embodiment 2]
In the first embodiment, the multiplicity between the two tables is 1: n. . n: 0. . The case of m was not subject to processing. In the case of 1: n, the relationship between the records is uniquely determined, whereas in the case of n: m, there can be an infinite number of variations in the relationship between the records. When preparing a record, it was difficult to determine what kind of relational variations would be generated and the data to be effective for fault detection. For example, as shown in FIG. 31, between the customer table record and the sales table record, 0. . 2: 0. . When there is a relationship of 2, as shown in FIG. 32 (a), a pattern in which the records a1 and a2 in the customer table and the records b1 and b2 in the sales table are correlated two-to-two, As shown in (2), a pattern or the like in which records a1 to a3 in the customer table and records b1 to b3 in the sales table are associated with each other in a two-to-two manner is possible. Other patterns can be generated, but as described above, it is difficult to determine what pattern should be adopted.

しかし、業務上このような多重度のテーブル関係は多数存在しており、幅広い業務のテストデータを生成する上で、多重度がn:mの場合にも対応できるようにする必要がある。   However, there are many such multiplicity table relationships in business, and it is necessary to cope with the case of multiplicity n: m in generating test data for a wide range of business.

例えば、以下のような業務のためのシステムに対するテストデータを生成する場合を考える。すなわち、(a)カーシェアリングクラブがあって、車1台につき所有者は2名ずつ。(2)ある車を使うためにはその車を所有している二人の信任状が必要。(3)同じ車を所有する人同士は互いに信任状を出すことができる。   For example, consider the case of generating test data for a system for the following business. (A) There is a car sharing club, and there are two owners per car. (2) In order to use a certain vehicle, the credentials of the two people who own the vehicle are required. (3) People who own the same car can issue credentials to each other.

このような場合、図33(a)に示すようなテストデータを生成することも可能であるし、図33(b)に示すようなテストデータを生成することも可能である。すなわち、図33(a)では、メンバ1及び2に車A及びBが2:2で対応付けられており、図33(b)では、メンバ1乃至3に車A乃至Cが2:2で対応付けられている。   In such a case, it is possible to generate test data as shown in FIG. 33A, or it is possible to generate test data as shown in FIG. That is, in FIG. 33 (a), the cars A and B are associated with the members 1 and 2 at 2: 2, and in FIG. 33 (b), the cars A to C are 2: 2 at the members 1 to 3. It is associated.

ところが、図33(a)の場合には、2台の車をメンバ1及び2で所有し合っており、メンバ1及び2以外にメンバも規定されていないので信任状を発行する場面がない。一方、図33(b)の場合には、メンバ3は、車Aを所有していないが、車Aを所有しているメンバ1と車Cを所有しているので、車Aを使用する際には、車Aを所有しているメンバ1及び2から信任状を発行してもらえば、車Aを使用することができる。   However, in the case of FIG. 33 (a), the two cars are owned by the members 1 and 2, and no members other than the members 1 and 2 are specified, so there is no scene for issuing a credential. On the other hand, in the case of FIG. 33B, the member 3 does not own the car A, but owns the member 1 that owns the car A and the car C. If a credential is issued from the members 1 and 2 who own the car A, the car A can be used.

すなわち、図33(b)の例であれば、
IF((車Aの所有者でない)&(車Aの所有者である2人のメンバと同じ車を所有している))then(車Aを使うことができる)
というロジックのテストを行うことができる。
That is, in the example of FIG.
IF ((not owning car A) & (owning the same car as the two members who own car A)) then (can use car A)
You can test the logic.

このように同じ多重度n:mのテストデータであっても、テストを行うのに十分なテストデータとは限らず、テストを行うのに十分なテストデータを生成する必要がある。   Thus, even test data with the same multiplicity n: m is not necessarily test data sufficient for performing a test, and it is necessary to generate test data sufficient for performing a test.

以下では、関係多重度に基づき直接又は間接的に結び付けられたレコード群において変更の影響が波及するレコードの数であるレコード間関係数を導入し、ユーザにその条件値を指定させ、当該条件値に適合するレコードを生成することによって、テストに十分なレコードを含むパターンを生成するものとする。例えば、図33(a)の場合には、メンバというデータ項目と車というデータ項目とで1レコードと考え、例えばメンバ1が変更になると、車Bも変更しなければならなくなるので、メンバ1を含むレコードと車Bを含むレコードとにより、レコード間関係数は「2」とカウントされる。また、図33(b)の場合には、メンバ1が変更になると、車Cも変更しなければならなくなり、車Cを変更するとメンバ3も変更する必要があり、メンバ3を変更すると車Bも変更する必要があるというように、メンバ1を含むレコードと車Cを含むレコードと車Bを含むレコードとにより、レコード間関係数は「3」とカウントされる。   In the following, we introduce the number of inter-record relationships, which is the number of records affected by the change in the record group linked directly or indirectly based on the relational multiplicity, let the user specify the condition value, and the condition value By generating a record that conforms to, a pattern that contains enough records for the test shall be generated. For example, in the case of FIG. 33 (a), the data item “member” and the data item “car” are considered as one record. For example, if member 1 is changed, car B must also be changed. The number of relations between records is counted as “2” by the records including the car B. In the case of FIG. 33 (b), when the member 1 is changed, the car C must be changed. When the car C is changed, the member 3 must be changed. Therefore, the number of relations between records is counted as “3” by the record including the member 1, the record including the car C, and the record including the car B.

なお、本実施の形態における機能ブロック図は、テストデータ生成装置100の機能ブロック図(図2)と同じであるものとする。   Note that the functional block diagram in the present embodiment is the same as the functional block diagram of the test data generation apparatus 100 (FIG. 2).

次に、第2の実施の形態に係るテストデータ生成装置100の処理内容について図34乃至図65を用いて説明する。   Next, processing contents of the test data generation apparatus 100 according to the second embodiment will be described with reference to FIGS.

まず、処理フローを分かりやすくするための具体例を図34乃至図38を用いて説明する。図34は、テストデータを生成すべきテーブル群の関係を表すクラス図を示す。図34に示すように、データ項目a及びbについてのテーブルAと、データ項目xについてのテーブルXと、テーブルAとテーブルXとの関係を表し且つデータ項目a及びxについてのテーブルZとが含まれる。   First, a specific example for making the processing flow easy to understand will be described with reference to FIGS. FIG. 34 is a class diagram showing the relationship between the table groups for generating test data. As shown in FIG. 34, the table A for the data items a and b, the table X for the data item x, the relationship between the table A and the table X, and the table Z for the data items a and x are included. It is.

図35に、テーブルAのスキーマ項目定義を示す。テーブルAには、データ項目a及びbが含まれ、データ項目aは主キーであり、データ項目a及びbは共に必須のデータ項目である。また、データ項目aのデータ属性としては、全角(100byte)であり、データ項目bのデータ属性としては、半角英数字1文字である。以下、データ項目bは区分とも記すものとする。   FIG. 35 shows a schema item definition of table A. The table A includes data items a and b, the data item a is a primary key, and the data items a and b are both essential data items. In addition, the data attribute of the data item “a” is full-width (100 bytes), and the data attribute of the data item “b” is one half-width alphanumeric character. Hereinafter, the data item b is also referred to as a category.

また、図36に、テーブルXのスキーマ項目定義を示す。テーブルXには、データ項目xが含まれ、データ項目xは主キーであり、データ項目xは必須のデータ項目である。また、データ項目xのデータ属性としては、全角(100byte)である。   FIG. 36 shows the schema item definition of table X. The table X includes a data item x, the data item x is a primary key, and the data item x is an essential data item. The data attribute of the data item x is full-width (100 bytes).

さらに、図37に、テーブルZのスキーマ項目定義を示す。テーブルZには、データ項目a及びxが含まれ、データ項目a及びx共に主キーであり、データ項目a及びxは共に必須のデータ項目である。また、データ項目aのデータ属性としては、全角(100byte)であり、データ項目xのデータ属性としては、半角英数字1文字である。   Further, FIG. 37 shows a schema item definition of the table Z. The table Z includes data items a and x, the data items a and x are primary keys, and the data items a and x are both essential data items. Further, the data attribute of the data item “a” is full-width (100 bytes), and the data attribute of the data item “x” is one single-byte alphanumeric character.

図38に、テーブルZのスキーマ関連情報を示す。図38のスキーマ関連情報では、テーブルAのデータ項目bの値(区分値)毎に、A:Xで表される、テーブルAとテーブルXの関係多重度が変化することを示している。具体的には、データ項目bの値(区分値)が「1」であれば、A:Xは、0..3:0..2であり、データ項目bの値(区分値)が「2」であれば、A:Xは、1:0..2であると規定されている。なお、図38では関連カラムについては明示されていないが、テーブルAのデータ項目bが、区分値として用いられること及びスキーマ項目定義から、データ項目aとデータ項目xが関連していることが分かる。   FIG. 38 shows schema related information of the table Z. The schema-related information in FIG. 38 indicates that the relationship multiplicity between table A and table X represented by A: X changes for each value (partition value) of data item b in table A. Specifically, if the value (partition value) of the data item b is “1”, A: X is 0. . 3: 0. . 2 and the value of data item b (partition value) is “2”, A: X is 1: 0. . 2 is specified. In FIG. 38, the related column is not explicitly shown, but it can be seen from the fact that the data item b of the table A is used as the partition value and the schema item definition indicates that the data item a and the data item x are related. .

次に、図39乃至図65を用いて、処理フローについて説明する。まず、入力部1は、ユーザに対して、例えば図40に示すような表示を行って、ユーザから設定情報の入力を促すと共に、設定情報の入力を受け付け、メインメモリなどの記憶装置に格納する。また、さらに設計情報の入力も促すと共に、設計情報の入力を受け付け(ステップS51)、設計情報格納部3に格納する(ステップS53)。図40の画面例では、生成対象のテーブル(スキーマ)名の入力欄と、関係多重度数nの指定入力欄と、関係多重度mの指定入力欄と、レコード間関係数の上限Pの指定入力欄とを含む。関係多重度nの指定入力欄には、スキーマ関連情報において多重度に具体的な数値が指定されていない場合、多重度nに相当する数値を指定するための入力欄である。図38の例では、「0..3」における「3」であることが明かであるので入力の必要はない。同様に、関係多重度mの指定入力欄には、スキーマ関連情報において多重度に具体的な数値が指定されていない場合、mに相当する数値を指定するための入力欄である。図38の例では、「0..2」における「2」であることが明らかであるので入力の必要はない。レコード間関係数の上限Pの指定入力欄には、上で述べたレコード間関係数の上限値を指定するための入力欄である。   Next, the processing flow will be described with reference to FIGS. First, the input unit 1 displays the user as shown in FIG. 40, for example, prompts the user to input setting information, accepts the input of setting information, and stores it in a storage device such as a main memory. . Further, the input of design information is further prompted, and the input of design information is accepted (step S51) and stored in the design information storage unit 3 (step S53). In the screen example of FIG. 40, an input field for the table (schema) name to be generated, a designation input field for the relational multiplicity n, a designation input field for the relational multiplicity m, and a designation input for the upper limit P of the relation number between records. Column. The designation input field for the relational multiplicity n is an input field for designating a numerical value corresponding to the multiplicity n when no specific numerical value is designated for the multiplicity in the schema-related information. In the example of FIG. 38, it is clear that “3” in “0. Similarly, the designation input field for the relational multiplicity m is an input field for designating a numerical value corresponding to m when no specific numerical value is designated for the multiplicity in the schema-related information. In the example of FIG. 38, it is clear that “2” in “0. The designation input field for the upper limit P of the number of relations between records is an input field for designating the upper limit value of the number of relations between records described above.

なお、ステップS51で入力される設計情報には、図35乃至図38に示したような情報が含まれる。このような設計情報は、マシンリーダブルな形式で入力部1に入力され、入力部1によって設計情報格納部3に格納される。   Note that the design information input in step S51 includes information as shown in FIGS. Such design information is input to the input unit 1 in a machine readable format, and is stored in the design information storage unit 3 by the input unit 1.

そして、データ生成決定部7は、入力された設定情報等に基づき、生成対象のテーブルにおいて生成すべきレコードのバリエーションを特定し、当該バリエーションについてのデータをバリエーションデータ格納部9に格納する(ステップS55)。図40で示した入力画面では、テーブルA及びXが生成対象のテーブルであるので、スキーマ項目定義及びスキーマ関連情報から、テーブルA及びXについて初期的にどのようなバリエーションが必要なのかを特定する。なお、区分・状態情報が設計情報に含まれる場合には、これを用いることになるが、今回の例では区分・状態情報は含まれないので、スキーマ項目定義及びスキーマ関連情報から特定する。図35及び図38の例からすると、テーブルAのデータ項目bは区分値「1」又は「2」をとることが分かるので、テーブルAは、データ項目bが「1」のレコード及び「2」のレコードというようなバリエーションが必要であることが分かる。このためバリエーションデータ格納部9には、テーブルAについてこのようなバリエーションを登録する。一方、図36及び図38の例からすると、テーブルXについては設計情報上特別な制限はなく、単純に1レコード生成すればよいので、そのようなバリエーションについてのデータをバリエーションデータ格納部9に登録する。   Then, the data generation determination unit 7 specifies a variation of the record to be generated in the generation target table based on the input setting information and the like, and stores data on the variation in the variation data storage unit 9 (step S55). ). In the input screen shown in FIG. 40, since the tables A and X are tables to be generated, it is specified from the schema item definition and schema related information what variations are required for the tables A and X at the beginning. . In addition, when the category / state information is included in the design information, this is used. However, since the category / state information is not included in this example, it is specified from the schema item definition and the schema related information. 35 and 38, it can be seen that the data item b of the table A takes the segment value “1” or “2”. Therefore, the table A has a record in which the data item b is “1” and “2”. It can be seen that variations such as records are necessary. Therefore, such a variation is registered for the table A in the variation data storage unit 9. On the other hand, according to the examples of FIGS. 36 and 38, there is no special restriction on the design information for the table X, and it is sufficient to simply generate one record. Therefore, data on such variations is registered in the variation data storage unit 9. To do.

その後、データ生成部11は、読み出されたスキーマ項目情報、スキーマ関連情報等に従って、バリエーションデータ格納部9に格納されているバリエーションにおいて必要とされるレコードを生成し、DB13に登録する(ステップS57)。例えば、データ生成部11は、「半角英数字」「半角」「全角」「数字」といった文字列に関する生成メソッドを有しており、長さを入力することによって、予め定められたルール(例えばランダム、「ユーザ番号」などのカラム名に応じて「CUSTOM_」+「数字(桁数は全体の桁数にあわせる)」といったルール、主キーであれば各値がユニークになるようにするルールなど)に従った文字列を自動的に生成する。   Thereafter, the data generation unit 11 generates a record required for the variation stored in the variation data storage unit 9 in accordance with the read schema item information, schema related information, etc., and registers it in the DB 13 (step S57). ). For example, the data generation unit 11 has a generation method related to a character string such as “half-width alphanumeric characters”, “half-width characters”, “full-width characters”, and “numbers”, and by inputting a length, a predetermined rule (for example, random , “CUSTOM_” + “number (number of digits matches the total number of digits)” according to the column name such as “user number”, rule to make each value unique if it is a primary key) Automatically generates a string that conforms to

例えば、テーブルAについては図41に示すように区分値であるデータ項目bの値が異なる2つのレコードが生成される。また、テーブルXについては図42に示すように単純に1レコードが生成される。なお、図43に示すようにテーブルZについてはこの段階ではレコードは生成されない。   For example, as shown in FIG. 41, for the table A, two records having different values of the data item b that is a segment value are generated. For the table X, one record is simply generated as shown in FIG. As shown in FIG. 43, no record is generated for the table Z at this stage.

そして、データ生成決定部7は、未生成の関連テーブルが存在するか判断する(ステップS59)。例えば、設計情報に含まれるスキーマ関連情報等を参照して、未生成の関連テーブルが存在するか判断する。未生成の関連テーブルが存在すると判断された場合には、端子Cを介して図44の処理に移行する。図40の例では、テーブルZをまだ生成していないので、端子Cを介して図44の処理に移行するものとする。   Then, the data generation determination unit 7 determines whether there is an ungenerated related table (step S59). For example, with reference to schema related information included in the design information, it is determined whether an ungenerated related table exists. If it is determined that there is an ungenerated association table, the process proceeds to the process in FIG. In the example of FIG. 40, since the table Z has not yet been generated, the process proceeds to the process of FIG.

図44の処理の説明に移行して、データ生成決定部7は、スキーマ関連情報に含まれる、生成すべき関連テーブルのカラムの持ち得る区分・状態(存在する場合)及び関係多重度と、入力部1によって入力された関係多重度数n及びmとから、生成すべき関連テーブルのレコードのバリエーションを決定し、当該バリエーションのデータをバリエーションデータ格納部9に格納する(ステップS61)。   Shifting to the description of the processing in FIG. 44, the data generation determination unit 7 inputs the classification / state (if any) of the related table column to be generated and the relational multiplicity included in the schema related information. The variation of the related table record to be generated is determined from the relational multiplicity numbers n and m input by the unit 1, and the variation data is stored in the variation data storage unit 9 (step S61).

図38の例からすると、関連テーブルであるテーブルZにおいてデータ項目aとデータ項目xの関係多重度は、データ項目aに関連するデータ項目bの区分値によって異なることが分かる。従って、データ項目bの区分値「1」の場合とデータ項目bの区分値「2」の場合とに分け、前者の場合には関係多重度0..n:0..mについてのバリエーションを後に展開し、後者の場合には関係多重度1:0..2なので、0:0、1:1、1:2というバリエーションについてのレコードを生成することになる。従って、データ項目bの区分値「1」の場合における関係多重度0..n:0..mについてのバリエーションのデータと、データ項目bの区分値「2」の場合における関係多重度0:0、1:1、1:2というバリエーションのデータとをバリエーションデータ格納部9に格納する。   From the example of FIG. 38, it can be seen that the relational multiplicity between the data item a and the data item x in the table Z which is a related table differs depending on the segment value of the data item b related to the data item a. Therefore, it is divided into the case of the division value “1” of the data item “b” and the case of the division value “2” of the data item “b”. . n: 0. . m for variations later, and in the latter case the relational multiplicity 1: 0. . Since it is 2, records about variations of 0: 0, 1: 1, 1: 2 are generated. Therefore, the relational multiplicity 0. 0 in the case of the segment value “1” of the data item b. . n: 0. . The variation data for m and the variation data of the relational multiplicity 0: 0, 1: 1, 1: 2 in the case of the division value “2” of the data item b are stored in the variation data storage unit 9.

その後、データ生成部11は、バリエーションデータ格納部9において1つの未処理バリエーションを特定する(ステップS63)。そして、特定したバリエーションが、関係多重度n:m(0..n:0..m。以下同様に省略して記する場合もある)のバリエーションであるか判断する(ステップS65)。ここで関係多重度がn:mではない場合には、データ生成部11はレコード生成処理を実施する(ステップS67)。このレコード生成処理については、図45を用いて説明する。但し、図45の処理フローは、図12のステップS15乃至S27(ステップS19を除く)と実質的に同一である。   Thereafter, the data generation unit 11 specifies one unprocessed variation in the variation data storage unit 9 (step S63). Then, it is determined whether or not the specified variation is a variation of relational multiplicity n: m (0..n: 0..m. The same may be omitted hereinafter) (step S65). If the relational multiplicity is not n: m, the data generation unit 11 performs a record generation process (step S67). This record generation process will be described with reference to FIG. However, the processing flow of FIG. 45 is substantially the same as steps S15 to S27 (excluding step S19) of FIG.

まず、データ生成部11は、外部キー(例えばスキーマ関連情報における「関連カラム」から特定する。又は「関連元のテーブルと関連テーブルとで同じ名前のカラムを、スキーマ項目情報から特定する)の未使用の値が存在するか判断する(ステップS101)。例えば、ユーザなどによって既に外部キーの値が指定されている場合などには、当該指定されている外部キーのうち未使用の値が存在するかを判断する。そのような値が存在する場合には、データ生成部11は、当該外部キーの未使用の値を用いて、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを生成する(ステップS103)。そして元の処理に戻る。   First, the data generation unit 11 specifies the foreign key (for example, “related column” in the schema related information) or “identifies the column having the same name in the related source table and the related table from the schema item information”. It is determined whether a use value exists (step S101) For example, when a foreign key value has already been designated by a user or the like, an unused value exists among the designated foreign keys. When such a value exists, the data generation unit 11 generates a record of the related table using the unused value of the foreign key according to the schema item information of the related table ( Step S103) Then, the process returns to the original process.

ステップS101で外部キーの未使用の値が存在しないと判断された場合には、データ生成部11は、関連元テーブルにおける外部キー該当カラムに、未使用の値が存在するか判断する(ステップS105)。ステップS105で、関連元テーブルにおける外部キー該当カラムに、未使用の値が存在すると判断された場合には、データ生成部11は、当該外部キー該当カラムの未使用の値を用いて、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを生成する(ステップS107)。そして元の処理に戻る。   If it is determined in step S101 that there is no unused value for the foreign key, the data generation unit 11 determines whether there is an unused value in the corresponding column of the foreign key in the related source table (step S105). ). If it is determined in step S105 that there is an unused value in the foreign key corresponding column in the related source table, the data generation unit 11 uses the unused value in the corresponding foreign key corresponding column. The related table record is generated according to the schema item information (step S107). Then, the process returns to the original process.

一方、関連元テーブルにおける外部キー該当カラムに、未使用の値が存在しないと判断された場合には、データ生成部11は、関連元テーブルのスキーマ項目情報に従って、ステップS63で特定されたバリエーションに応じて必要となるレコードを生成する(ステップS109)。   On the other hand, if it is determined that there is no unused value in the corresponding foreign key column in the related source table, the data generation unit 11 changes the variation specified in step S63 according to the schema item information of the related source table. A necessary record is generated accordingly (step S109).

そして、データ生成部11は、ステップS109で生成された、関連元テーブルにおける外部キー該当カラムの値を用い、関連テーブルのスキーマ項目情報に従って、関連テーブルのレコードを生成する(ステップS111)。そして元の処理に戻る。   Then, the data generation unit 11 generates a record of the related table according to the schema item information of the related table using the value of the foreign key corresponding column in the related source table generated in step S109 (step S111). Then, the process returns to the original process.

例えば、データ項目bの区分値「2」の場合には、上で述べたように関係多重度0:0、1:1、1:2というバリエーションについてレコードを生成する。模式的に書けば、図46に示すように、(a)データ項目aとデータ項目xが0:0で対応する場合、(b)データ項目aとデータ項目xが1:1で対応する場合、(c)データ項目aとデータ項目xが1:2で対応する場合のレコードを生成する必要がある。なお、本例では、データ項目aが外部キーとして用いられる。   For example, in the case of the division value “2” of the data item b, as described above, a record is generated for the variations of the relational multiplicity 0: 0, 1: 1, 1: 2. If schematically written, as shown in FIG. 46, (a) when data item a corresponds to data item x at 0: 0, (b) when data item a corresponds to data item x at 1: 1. (C) It is necessary to generate a record when the data item a and the data item x correspond 1: 2. In this example, the data item a is used as an external key.

関係多重度0:0を処理する場合、図41に示した状態から開始すると、データ項目aの値「a2」は未使用の値ということになるので、図46(a)に示すように、データ項目aの値「a2」を採用すると共に、データ項目xの値をスキーマ項目情報から「x10」として生成する。   When processing the relational multiplicity 0: 0, starting from the state shown in FIG. 41, the value “a2” of the data item a is an unused value, so as shown in FIG. The value “a2” of the data item a is adopted, and the value of the data item x is generated as “x10” from the schema item information.

次に、関係多重度1:1を処理する場合には、テーブルAには未使用の値はないので、図46(b)に示すように、データ項目aの値「a14」を生成すると共に、対応するデータ項目xの値「x11」を生成する。   Next, when processing the relational multiplicity of 1: 1, since there is no unused value in the table A, the value “a14” of the data item a is generated as shown in FIG. 46B. The value “x11” of the corresponding data item x is generated.

さらに、関係多重度1:2を処理する場合には、テーブルAには未使用の値はないので、図46(c)に示すように、データ項目aの値「a15」を生成すると共に、対応するデータ項目xの値「x12」及び「x13」を生成する。   Further, when processing the relational multiplicity 1: 2, since there is no unused value in the table A, the value “a15” of the data item a is generated as shown in FIG. The values “x12” and “x13” of the corresponding data item x are generated.

以上のようにして処理が終了すると、図44の説明に戻って、データ生成部11は、ステップS67で生成したデータを、DB13に登録する(ステップS69)。上で説明した生成データ例では、データ項目bの区分値「2」の場合の処理だったので、それに対応してデータ項目aの値「a14」及び「a15」を、図47に示すようなデータをテーブルAに追加登録する。同様に、データ項目xについても「x10」「x11」「x12」「x13」を生成したので、これらを図48に示すようなデータをテーブルXに追加登録する。さらに、図46(a)で示した0:0の関係多重度については、対応関係がないということなのでこの場合を除き、図46(b)及び(c)についての対応関係については、図49に示すようなデータをテーブルZに登録する。すなわち、関係多重度1:1についてはa14及びx11を含むレコードを登録し、関係多重度1:2についてはa15及びx12を含むレコードとa15及びx13を含むレコードを登録する。   When the processing is completed as described above, returning to the description of FIG. 44, the data generation unit 11 registers the data generated in step S67 in the DB 13 (step S69). In the example of the generated data described above, since the processing is for the segment value “2” of the data item b, the values “a14” and “a15” of the data item a corresponding to the segment value “2” as shown in FIG. Data is additionally registered in table A. Similarly, since “x10”, “x11”, “x12”, and “x13” are generated for the data item x, data as shown in FIG. Further, since the 0: 0 relational multiplicity shown in FIG. 46 (a) has no correspondence, except for this case, the correspondences in FIGS. 46 (b) and 46 (c) are shown in FIG. The data as shown in FIG. That is, for relational multiplicity 1: 1, a record including a14 and x11 is registered, and for relational multiplicity 1: 2, a record including a15 and x12 and a record including a15 and x13 are registered.

そして、データ生成部11は、ステップS61で特定された必要なバリエーションの全てについてデータを生成したか判断する(ステップS81)。全てのバリエーションについてデータを生成したわけではない場合には、ステップS63に戻る。一方、全てのバリエーションを生成した場合には、端子Dを介して図39のステップS59に戻る。   Then, the data generation unit 11 determines whether data has been generated for all of the necessary variations identified in step S61 (step S81). If data has not been generated for all variations, the process returns to step S63. On the other hand, if all variations have been generated, the process returns to step S59 in FIG.

一方、ステップS65で関係多重度がn:mについてのバリエーションを展開する場面であると判断された場合には、データ生成部11は、n:mレコード生成処理を実施する(ステップS71)。n:mレコード生成処理については、図50を用いて説明する。なお、0..n:0..mの場合には、0:0、1:1、1:m、n:1及びn:mを生成する必要がある。本実施の形態では、まずn:mについてのデータを生成する。   On the other hand, if it is determined in step S65 that the relational multiplicity is a scene of developing a variation for n: m, the data generation unit 11 performs n: m record generation processing (step S71). The n: m record generation process will be described with reference to FIG. In addition, 0. . n: 0. . In the case of m, it is necessary to generate 0: 0, 1: 1, 1: m, n: 1 and n: m. In the present embodiment, first, data for n: m is generated.

まず、データ生成部11は、n:mのバリエーションについてレコード生成処理を実施する(ステップS121)。この処理は図45と同様である。なお、n及びmについては、スキーマ関連情報又はユーザ設定入力値を用いる。ここではn=3及びm=2である。   First, the data generation unit 11 performs a record generation process for n: m variations (step S121). This process is the same as in FIG. For n and m, schema related information or user setting input values are used. Here, n = 3 and m = 2.

外部から入力された未使用の外部キー値が存在せず且つテーブルAのデータ項目aに区分値「1」についての未使用の値が存在しない場合には、図45の処理で図51に示すようなデータが生成される。すなわち、データ項目aについては「a8」「a9」「a10」というデータ値が生成され、データ項目xについては「x6」「x7」というデータ値が生成されている。なお、図51の例では、レコード間関係数は「3」である。   When there is no unused foreign key value input from the outside and there is no unused value for the segment value “1” in the data item “a” of the table A, the processing of FIG. 45 is shown in FIG. Such data is generated. That is, data values “a8”, “a9”, and “a10” are generated for the data item a, and data values “x6” and “x7” are generated for the data item x. In the example of FIG. 51, the number of relations between records is “3”.

なお、最小のレコード数でn:mを満たすためには、テーブルAのデータ項目aについてはn個、テーブルXのデータ項目xについてはm個、データ値を生成すればよい。そして、データ項目aの各データ値からデータ項目xのデータ値へm本の線を引けば(関連付けを行えば)、合計でn×m本の関係が生成され、テーブルZにおいてn×m個のレコードが生成されることになる。   In order to satisfy n: m with the minimum number of records, n data items a in table A and m data values x in data item x in table X may be generated. Then, if m lines are drawn from each data value of the data item a to the data value of the data item x (if association is performed), a total of n × m relationships are generated, and n × m relationships are generated in the table Z. Will be generated.

次に、データ生成部11は、ユーザから指定されたレコード間関係数の上限Pを、生成したレコード群のレコード間関係数が超えたか判断する(ステップS123)。ユーザが「6」をレコード間関係数の上限Pとして指定すると、図51で生成したレコード群のレコード間関係数が「3」であるから、ステップS123では、生成したレコード群のレコード間関係数は、上限Pを超えていないと判断される。   Next, the data generation unit 11 determines whether or not the upper limit P of the number of relations between records designated by the user exceeds the number of relations between records of the generated record group (step S123). When the user designates “6” as the upper limit P of the number of relations between records, the number of relations between records of the record group generated in FIG. 51 is “3”. Is determined not to exceed the upper limit P.

なお、図51で生成したレコード群においては、カラム値a8が変更されると、カラム値x7を変更しなければならず、カラム値x7を変更するとカラム値a10を変更しなければならないので、カラム値a8を含むレコードと、カラム値x7を含むレコードと、カラム値a10を含むレコードとにより、レコード間関係数は「3」とカウントされる。   In the record group generated in FIG. 51, if the column value a8 is changed, the column value x7 must be changed. If the column value x7 is changed, the column value a10 must be changed. The relation number between records is counted as “3” by the record including the value a8, the record including the column value x7, and the record including the column value a10.

生成したレコード群のレコード間関係数が上限Pを超えていない場合には、データ生成部11は、再度n:mのバリエーションについてレコード生成処理を実施する(ステップS125)。ステップS121と同様である。従って、ステップS125では、図52に示すように、図51で生成したレコード群と同様のデータが生成される。   If the number of relations between records in the generated record group does not exceed the upper limit P, the data generation unit 11 again performs record generation processing for n: m variations (step S125). This is the same as step S121. Therefore, in step S125, as shown in FIG. 52, data similar to the record group generated in FIG. 51 is generated.

そして、データ生成部11は、レコード間関連付け処理を実施する(ステップS127)。例えば、図51に示したレコード群と図52に示したレコード群を、連結させる処理を実施する。すなわち、図53に示すような関連付けを行う。図53において点線の関連付けは、3:2から6:4に直す際に切断された関連付けであり、太線の関連付けは、6:4に直す際に生成された関連付けである。このような連結の方法は、グラフ理論においては周知であり、ここではこれ以上述べないが、予めルール化しておき、当該ルールに従って連結を行うものとする。   And the data generation part 11 implements the correlation process between records (step S127). For example, the process which connects the record group shown in FIG. 51 and the record group shown in FIG. 52 is implemented. That is, the association as shown in FIG. 53 is performed. In FIG. 53, the dotted line association is an association that is cut when the ratio is changed from 3: 2 to 6: 4, and the thick line association is an association that is generated when the ratio is corrected to 6: 4. Such a connection method is well known in graph theory and will not be described further here. However, it is assumed that rules are prepared in advance and connection is performed according to the rules.

ステップS127の後にステップS123に戻って、データ生成部11は、生成したレコード群のレコード間関係数が、ユーザによって指定されたレコード間関係数の上限Pを超えたか判断する。図53で示したレコード群のレコード間関係数は「6」であり、上限Pが「6」であるから、ステップS123の条件を満たしていないと判断される。このような場合にはステップS125及びS127を再度実行する。   Returning to step S123 after step S127, the data generation unit 11 determines whether the number of relations between records in the generated record group exceeds the upper limit P of the number of relations between records specified by the user. The number of relations between records in the record group shown in FIG. 53 is “6”, and the upper limit P is “6”. Therefore, it is determined that the condition of step S123 is not satisfied. In such a case, steps S125 and S127 are executed again.

なお、図53で示したレコード群において、カラム値a8が変更されると、カラム値x7が変更され、カラム値x7が変更されるとカラム値a10が変更され、カラム値a10が変更されるとカラム値x8が変更され、カラム値x8が変更されるとカラム値a12も変更され、カラム値a8が変更されるとカラム値x6も変更されるのでカラム値a13も変更される。従って、カラム値a8を含むレコードと、カラム値x7を含むレコードと、カラム値a10を含むレコードと、カラム値x8を含むレコードと、カラム値a12を含むレコードと、カラム値a13を含むレコードとにより、レコード間関係数は「6」とカウントされる。   In the record group shown in FIG. 53, when the column value a8 is changed, the column value x7 is changed. When the column value x7 is changed, the column value a10 is changed, and when the column value a10 is changed. When the column value x8 is changed and the column value x8 is changed, the column value a12 is also changed. When the column value a8 is changed, the column value x6 is also changed, so the column value a13 is also changed. Therefore, a record including the column value a8, a record including the column value x7, a record including the column value a10, a record including the column value x8, a record including the column value a12, and a record including the column value a13. The number of relations between records is counted as “6”.

具体的には、図53で示したレコード群に対して図51又は図52に示したようなレコード群を追加して連結すると、図54のようなレコード群が得られる。しかしながら、レコード間関係数は「9」となってしまう。   Specifically, when a record group as shown in FIG. 51 or 52 is added to the record group shown in FIG. 53 and connected, a record group as shown in FIG. 54 is obtained. However, the number of relations between records is “9”.

そうするとステップS123でレコード間関係数の上限Pを超えたと判断されるので、データ生成部11は、追加でレコード生成処理を行っている場合には直前実施時に生成されたデータを破棄し、関連付けをそれより前に戻す(ステップS129)。追加でレコード生成処理を実施する毎に状態を保存しておき、1つ前の状態に戻すようにしても良い。上で述べた例では図53に示した状態が採用されることになる。そして元の処理に戻る。   Then, since it is determined in step S123 that the upper limit P of the number of relations between records has been exceeded, the data generation unit 11 discards the data generated at the time of the previous execution when additional record generation processing is being performed, and Return to the previous position (step S129). It is also possible to save the state each time the record generation process is additionally performed and to return to the previous state. In the example described above, the state shown in FIG. 53 is adopted. Then, the process returns to the original process.

そして、データ生成部11は、生成データをDB13に登録する(ステップS131)。図53に基づき追加でテーブルAに登録されるデータは図55に示すようなデータである。現在処理しているのはデータ項目bの区分値「1」についてであるから、区分値は全て「1」であり、データ項目aの値は図53から分かるように「a8」乃至「a13」である。また、図53に基づき追加でテーブルXに登録されるデータは図56に示すようなデータである。すなわち、図53から分かるように「x6」乃至「x9」である。そして、図53に基づきテーブルZに登録されるデータは図57に示すようなデータである。図57では、図53の関連付けに応じて12のレコードが追加される。   Then, the data generation unit 11 registers the generation data in the DB 13 (Step S131). Data additionally registered in the table A based on FIG. 53 is data as shown in FIG. Since the current processing is for the segment value “1” of the data item b, the segment values are all “1”, and the values of the data item a are “a8” to “a13” as can be seen from FIG. It is. Further, the data additionally registered in the table X based on FIG. 53 is data as shown in FIG. That is, as can be seen from FIG. 53, they are “x6” to “x9”. The data registered in the table Z based on FIG. 53 is data as shown in FIG. In FIG. 57, 12 records are added according to the association of FIG.

図44の処理の説明に戻って、ステップS71でn:mについての処理が終了すると、0..n:0..mについてのバリエーションで未処理の0:0、1:1、1:m及びn:1を処理することになる。データ生成部11は、これらのうち未処理のサブバリエーションを特定し(ステップS73)、当該パターンについてレコード生成処理を実施する(ステップS75)。この処理についてはステップS67と同じであり、説明は省略する。そして、ステップS75で生成したデータを、DB13に登録する(ステップS77)。さらに、ステップS73で示した全てのパターンを処理したか判断し、未処理のサブバリエーションが存在する場合にはステップS73に戻る。一方、全てのサブバリエーションを処理した場合にはステップS81に移行する。   Returning to the description of the processing in FIG. 44, when the processing for n: m is completed in step S71, 0. . n: 0. . The unprocessed 0: 0, 1: 1, 1: m and n: 1 will be processed with variations for m. The data generation unit 11 identifies an unprocessed sub-variation among these (step S73), and performs a record generation process for the pattern (step S75). This process is the same as step S67, and the description thereof is omitted. Then, the data generated in step S75 is registered in the DB 13 (step S77). Further, it is determined whether all the patterns shown in step S73 have been processed. If there is an unprocessed sub-variation, the process returns to step S73. On the other hand, if all sub-variations have been processed, the process proceeds to step S81.

ステップS73乃至S79の繰り返しでは、図58のようなデータが生成される。但し、図58(a)に示す0:0の場合には、図41の状態においてデータ項目bの区分値「1」でデータ項目aについての未使用のデータ値「a1」を用い、データ項目xの未使用のデータ値「x1」を用いるので、新規に生成されるデータはない。図58(b)に示す1:1の場合には、データ項目aのデータ値「a3」とデータ項目xのデータ値「x2」は新規に生成されたものである。さらに、図58(c)に示す1:m(ここでは2)の場合には、データ項目aのデータ値「a4」とデータ項目xのデータ値「x3」及び「x4」は、新たに生成されたものである。そして、図58(d)に示すn(ここでは3):1の場合には、データ項目aのデータ値「a5」「a6」及び「a7」とデータ項目xのデータ値「x5」は、新たに生成されたものである。   In the repetition of steps S73 to S79, data as shown in FIG. 58 is generated. However, in the case of 0: 0 shown in FIG. 58A, the unused data value “a1” for the data item a is used in the state of FIG. Since the unused data value “x1” of x is used, no data is newly generated. In the case of 1: 1 shown in FIG. 58B, the data value “a3” of the data item a and the data value “x2” of the data item x are newly generated. Further, in the case of 1: m (2 in this case) shown in FIG. 58 (c), the data value “a4” of the data item a and the data values “x3” and “x4” of the data item x are newly generated. It has been done. In the case of n (here, 3): 1 shown in FIG. 58D, the data values “a5”, “a6” and “a7” of the data item a and the data value “x5” of the data item x are It is a newly created one.

このようなデータについては、ステップS77でDB13に追加登録されるが、テーブルAには図58に基づき図59に示すようなレコードが登録され、テーブルXには図58に基づき図60に示すようなレコードが登録され、テーブルZには図58に基づき図61に示すようなレコードが登録される。   Such data is additionally registered in the DB 13 in step S77, but records as shown in FIG. 59 are registered in the table A based on FIG. 58, and the table X is shown in FIG. 60 based on FIG. 61 is registered, and a record as shown in FIG. 61 is registered in the table Z based on FIG.

ステップS81で全てのバリエーションについて処理したと判断されると、端子Dを介して図39のステップS59に戻る。   If it is determined in step S81 that all variations have been processed, the process returns to step S59 in FIG.

図39の処理の説明に戻ると、再度、データ生成決定部7は、未生成の関連テーブルが存在するか判断する(ステップS59)。例えば、設計情報に含まれるスキーマ関連情報を参照して、未生成の関連テーブルが存在するか判断する。未生成の関連テーブルがまだ存在すると判断された場合には、端子Cを介して図44の処理に移行する。   Returning to the description of the processing in FIG. 39, the data generation determination unit 7 again determines whether there is an ungenerated related table (step S59). For example, with reference to schema related information included in the design information, it is determined whether an ungenerated related table exists. If it is determined that an ungenerated association table still exists, the process proceeds to the process in FIG.

一方、未生成の関連テーブルが存在しないと判断された場合には、データ生成決定部7は、例えば図62に示すような処理結果を含む表示をユーザに対して出力する(ステップS60)。図62には、テーブルAのレコードが15件、テーブルXのレコードが13件、テーブルZのレコードが21件生成され、生成された関連データのセットが\CreatedData\A_X_Zフォルダに格納されていることが示されている。メッセージ内容については、様々な態様に変形可能である。   On the other hand, if it is determined that there is no ungenerated related table, the data generation determination unit 7 outputs a display including the processing result as shown in FIG. 62 to the user (step S60). In FIG. 62, 15 records for table A, 13 records for table X, and 21 records for table Z are generated, and the generated related data set is stored in the \ CreatedData \ A_X_Z folder. It is shown. The message content can be modified in various ways.

最終的にDB13に格納されるデータをまとめると、テーブルAについては図63に示すように15レコードが生成され、テーブルXについては図64に示すように13レコード生成され、テーブルZについては図65に示すように21レコードが生成される。   When the data finally stored in the DB 13 is collected, 15 records are generated for the table A as shown in FIG. 63, 13 records are generated for the table X as shown in FIG. 64, and 65 records for the table Z are shown in FIG. 21 records are generated as shown in FIG.

以上のような処理を実施することにより、関係多重度がn:mであるような場合においても、ユーザによって指定されたレコード間関係数の上限に応じて、業務上の整合性を保持しつつ、処理上の網羅性を担保するようなレコード群を生成することができるようになる。なお、上では0..n:0..mの例を説明したが、例えば1..n:1..mであっても、0:0のサブバリエーションを生成しないようにすればよい。同様に下限が1より大きい場合、例えば2..n:2..mの場合にも、2:2、2:m、n:2、n:mといったようにサブバリエーションに展開するようにすればよい。   By performing the processing as described above, even in the case where the relational multiplicity is n: m, the business consistency is maintained according to the upper limit of the number of relations between records specified by the user. Thus, it becomes possible to generate a record group that guarantees completeness in processing. In the above, 0. . n: 0. . The example of m has been described. . n: 1. . Even if it is m, it suffices not to generate a 0: 0 sub-variation. Similarly, when the lower limit is larger than 1, for example, 2. . n: 2. . Also in the case of m, it may be developed into sub-variations such as 2: 2, 2: m, n: 2, n: m.

以上本発明の実施の形態を説明したが、本発明はこれに限定されるわけではない。例えば、図2に示した機能ブロック図は一例であって、必ずしもプログラムモジュール構成に対応しない場合もある。   Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the functional block diagram shown in FIG. 2 is an example, and may not necessarily correspond to the program module configuration.

さらに、処理フローについても処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実行させることができる。   Furthermore, as long as the processing result does not change for the processing flow, the order of steps can be changed or executed in parallel.

以上述べた実施の形態をまとめると以下のようになる。   The embodiment described above is summarized as follows.

第1の態様に係るテストデータ生成方法は、第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、第1のテーブル及び第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、第1のテーブルのデータと第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されている区分状態情報から第1のテーブルにおける区分及び状態の業務上取り得る組み合わせを特定し、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って上記組み合わせに応じた第1のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報から、第1のテーブルのレコードと第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、上記バリエーションにおいて必要となる第1のテーブルのレコードであって未生成のレコードが存在する場合には、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成ステップと、設計情報格納部に格納されている第2のテーブルのスキーマ項目情報及びスキーマ関連情報における第1のテーブルと第2のテーブルとの関係付けに従って、上記バリエーションに応じて必要となる第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成ステップとを含む。   The test data generation method according to the first aspect is a combination of schema-related information representing the relationship between the first table and the second table and the relational multiplicity, and the division and state of the first table that can be taken in business. Access to a design information storage unit that stores partition state information regarding the first table and schema item information of the first table and the second table, and a database that stores data of the first table and data of the second table It is executed by a computer that is capable. Then, a combination of divisions and states in the first table that can be taken in the business is identified from the division state information stored in the design information storage unit, and the schema item information of the first table stored in the design information storage unit The first table record and the second table record are generated from the step of generating the record of the first table corresponding to the combination according to the above and registering it in the database and the schema related information stored in the design information storage unit When there is an ungenerated record that is a record of the first table that is necessary for the above-described variation and a variation specifying step that specifies a variation of the correspondence relationship, the first stored in the design information storage unit A new record is generated according to the schema item information of table 1 and stored in the database In accordance with the relationship between the first table and the second table in the first table non-generated record generation step to record, the schema table information of the second table stored in the design information storage unit and the schema related information A second table record generation step of generating a record of the second table required according to the variation and registering it in the database.

このように業務上取り得る組み合わせに応じた第1のテーブルのレコードを生成することによって、業務上の整合性及び処理上の網羅性を担保し、第1のテーブルのレコードと第2のテーブルのレコードとの対応関係のバリエーションに応じて第1及び第2のテーブルのレコードを生成することによって、処理上の網羅性を担保している。すなわち、業務アプリケーション・プログラムに対して正しいテストを行うために十分なテストデータを自動的に生成することができるようになる。   By generating records of the first table according to the combinations that can be taken in this way, business consistency and process coverage are ensured, and the records of the first table and the second table By generating the records of the first and second tables according to the variations of the correspondence relationship with the records, the process completeness is ensured. That is, it is possible to automatically generate sufficient test data for performing a correct test on the business application program.

なお、上で述べたバリエーション特定ステップが、スキーマ関連情報における関係多重度がx(0以上の整数)乃至n(変数)であり且つ多重度上限m(xより大きい整数)が指定された場合、第1のテーブルの1レコードに対応して第2のテーブルのxレコードというバリエーションと、第1のテーブルの1レコードに対応して第2のテーブルのmレコードというバリエーションとを生成するステップを含むようにしてもよい。処理上の網羅性を担保するためである。   In the variation specifying step described above, when the relational multiplicity in the schema related information is x (an integer greater than or equal to 0) to n (variable) and the multiplicity upper limit m (an integer greater than x) is designated, A step of generating a variation of x record of the second table corresponding to one record of the first table and a variation of m record of the second table corresponding to one record of the first table. Also good. This is to ensure completeness in processing.

さらに、上で述べたバリエーション特定ステップが、スキーマ関連情報における関係多重度が0乃至n(変数)であり且つ多重度上限m(2以上の整数)が指定された場合、第1のテーブルの1レコードに対応して第2のテーブルのレコードなしというバリエーションと、第1のテーブルの1レコードに対応して第2のテーブルの1レコードというバリエーションと、第1のテーブルの1レコードに対応して第2のテーブルのmレコードというバリエーションとを生成するステップを含むようにしてもよい。典型的なバリエーションによって、処理上の網羅性を担保するためである。   Further, in the variation specifying step described above, when the relational multiplicity in the schema related information is 0 to n (variable) and the multiplicity upper limit m (an integer of 2 or more) is designated, 1 in the first table A variation of no record in the second table corresponding to the record, a variation of one record in the second table corresponding to one record in the first table, and a variation corresponding to one record in the first table A step of generating a variation of m records of the table of 2 may be included. This is to ensure completeness in processing by typical variations.

さらに、上で述べたバリエーション特定ステップが、スキーマ関連情報における、第1のテーブルの特定のレコードと第2のテーブルのレコードの関係多重度がx(0以上の整数)乃至n(変数)であり且つ多重度上限m(xより大きい整数)が指定された場合、第1のテーブルの特定のレコードに対応して第2のテーブルのxレコードであり且つ第1のテーブルの特定のレコード以外のレコードに対応して第2のテーブルのレコードなしというバリエーションと、第1のテーブルの特定のレコードに対応して第2のテーブルのmレコードであり且つ第1のテーブルの特定のレコード以外のレコードに対応して第2のテーブルのレコードなしというバリエーションとを生成するステップを含むようにしてもよい。特定のレコード(区分や状態)についてのみ第2のテーブルのレコードが対応付けられるような場合もある。   Further, in the variation specifying step described above, the relational multiplicity between the specific record of the first table and the record of the second table in the schema related information is x (an integer greater than or equal to 0) to n (variable). When the multiplicity upper limit m (an integer greater than x) is specified, the x record of the second table corresponding to the specific record of the first table and a record other than the specific record of the first table Corresponding to the variation that there is no record in the second table corresponding to, and corresponding to the record that is m record of the second table corresponding to the specific record of the first table and other than the specific record of the first table Then, a step of generating a variation of no record in the second table may be included. In some cases, the records in the second table are associated with only specific records (sections and states).

また、上で述べた第1テーブル未生成レコード生成ステップが、第1のテーブルにおいて外部キーに相当するカラムの値のうち、上記バリエーションに基づき使用可能な値が存在するか否かを判断するステップを含むようにしてもよい。このようにすれば、上記バリエーションにおいて必要となる第1のテーブルのレコードであって未生成のレコードが存在するか否かを判断することができるようになる。   The first table non-generated record generation step described above determines whether there is a usable value based on the above variation among the column values corresponding to the foreign key in the first table. May be included. In this way, it is possible to determine whether or not there is an ungenerated record that is a record in the first table that is necessary in the above variation.

さらに、上で述べた第2テーブルレコード生成ステップが、第1のテーブルにおいて外部キーに相当するカラムの値のうち、上記バリエーションに基づき使用可能な値を、第2のテーブルにおける外部キーに相当するカラムの値として採用するステップを含むようにしてもよい。   Further, in the second table record generation step described above, among the column values corresponding to the foreign keys in the first table, values that can be used based on the above variations correspond to the foreign keys in the second table. You may make it include the step employ | adopted as a value of a column.

また、上で述べた第2テーブルレコード生成ステップが、第1テーブル未生成レコード生成ステップにおいて新たにレコードが生成された場合には、当該新たなレコードにおける外部キーに相当するカラムの値を、第2のテーブルにおける外部キーに相当するカラムの値として採用するステップを含むようにしてもよい。   In addition, when the second table record generation step described above generates a new record in the first table non-generated record generation step, the column value corresponding to the foreign key in the new record is changed to the first table record generation step. A step of adopting as a column value corresponding to the foreign key in the table of 2 may be included.

さらに、第1の態様に係るテストデータ生成方法において、設計情報格納部が、第1のテーブル又は第2のテーブルと第3のテーブルの関係付け及び関係多重度を表す第2のスキーマ関連情報と、第3のテーブルのスキーマ項目情報とをさらに格納している場合には、設計情報格納部に格納されている第2のスキーマ関連情報とユーザ指定の多重度上限とから、第1のテーブルのレコード又は第2のテーブルのレコードと第3のテーブルのレコードとの対応関係のバリエーションを特定するステップと、上記バリエーションにおいて必要となる第1のテーブルのレコード又は第2のテーブルのレコードであって未生成のレコードが存在する場合には、設計情報格納部に格納されている第1のテーブル又は第2のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されている第3のテーブルのスキーマ項目情報及び第2のスキーマ関連情報における第1のテーブル又は第2のテーブルと第3のテーブルとの関係付けに従って、バリエーションに応じて必要となる第3のテーブルのレコードを生成し、データベースに登録するステップとをさらに含むようにしても良い。複数の関連テーブルが存在する場合にも対処することができるようになる。   Furthermore, in the test data generation method according to the first aspect, the design information storage unit includes second schema related information representing the relationship between the first table or the second table and the third table and the relation multiplicity. When the schema item information of the third table is further stored, the second table-related information stored in the design information storage unit and the upper limit of the multiplicity specified by the user are used. A step of specifying a variation of a correspondence relationship between a record or a record of the second table and a record of the third table, and a record of the first table or a record of the second table required in the variation, If a generated record exists, the schema item information of the first table or the second table stored in the design information storage unit The first table or the second table in the step of newly generating a record and registering it in the database, the schema item information of the third table stored in the design information storage unit, and the second schema related information And generating a record of the third table required according to the variation in accordance with the relationship with the third table and registering it in the database. It is possible to deal with a case where a plurality of related tables exist.

第2の態様に係るテストデータ生成方法は、第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されているスキーマ関連情報で指定される区分値のバリエーションを特定し、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って区分値のバリエーションに応じた第1のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報の区分値毎の関係多重度から、第1のテーブルのレコードと第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、バリエーションにおいて必要となる第1のテーブルのレコードであって未生成のレコードが存在する場合には、設計情報格納部に格納されている第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成ステップと、設計情報格納部に格納されている第2のテーブルのスキーマ項目情報及びスキーマ関連情報における第1のテーブルと第2のテーブルとの関係付けに従って、バリエーションに応じて必要となる第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成ステップとを含む。   The test data generation method according to the second aspect includes the schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each partition value, the first table, and the second table It is executed by a computer that can access a design information storage unit that stores schema item information of a table and a database that stores data of the first table and data of the second table. Then, the variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and according to the variation of the partition value according to the schema item information of the first table stored in the design information storage unit From the step of generating the record of the first table and registering it in the database, and the relational multiplicity for each section value of the schema related information stored in the design information storage unit, the record of the first table and the second table If there is a variation identification step for identifying the variation of the correspondence relationship with the table record and a record of the first table that is necessary for the variation and has not yet been generated, it is stored in the design information storage unit. A new record is generated according to the schema item information of the first table that is stored in the database. According to the relationship between the first table and the second table in the first table non-generated record generation step to be recorded, the schema item information of the second table stored in the design information storage unit, and the schema related information A second table record generation step of generating a record of the second table required according to the above and registering it in the database.

このように区分状態情報が用意されない場合においても、業務アプリケーション・プログラムに対して正しいテストを行うために十分なテストデータを自動的に生成することができる。   Thus, even when the division state information is not prepared, it is possible to automatically generate sufficient test data for performing a correct test on the business application program.

第3の態様に係るテストデータ生成方法は、第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各テーブルのスキーマ項目情報とを格納する設計情報格納部と、各テーブルを格納するデータベースとにアクセス可能であるコンピュータにより実行される。そして、設計情報格納部に格納されているスキーマ関連情報で指定される区分値のバリエーションを特定し、設計情報格納部に格納されている前記スキーマ項目情報に従って区分値のバリエーションに応じた第1及び第2のテーブルのレコードを生成し、データベースに登録するステップと、設計情報格納部に格納されているスキーマ関連情報の関連データ項目間における区分値毎の関係多重度から、関連データ項目を含む、関係テーブルのレコードのバリエーションを特定するバリエーション特定ステップと、関係テーブルのレコードのバリエーションにおいて必要となる第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、設計情報格納部に格納されている第1及び第2のテーブルのスキーマ項目情報に従って第1及び第2のテーブルの、関連データ項目の値を含むレコードを新たに生成し、データベースに登録すると共に、データベースに登録されている第1及び第2のテーブルのレコードを用いて、関係テーブルのレコードを生成し、データベースに登録する関係テーブル生成ステップとを含む。   The test data generation method according to the third aspect includes the first and second tables, the relationship between the relation tables of the first and second tables, and the division between the related data items in the first and second tables It is executed by a computer that can access the schema related information representing the relational multiplicity for each value, the design information storage unit storing the schema item information of each table, and the database storing each table. Then, the variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the first and the second according to the variation of the partition value according to the schema item information stored in the design information storage unit Including a related data item from the step of generating the record of the second table and registering it in the database, and the relational multiplicity for each segment value between the related data items of the schema related information stored in the design information storage unit; When there is an ungenerated value that is a value of the related data item of the first and second tables required in the variation specifying step for specifying the variation of the relationship table record and the variation of the relationship table record. Schema item information of the first and second tables stored in the design information storage unit Therefore, a new record including the value of the related data item in the first and second tables is newly created and registered in the database, and the records in the first and second tables registered in the database are used. Generating a table record and registering it in the database.

そして、上で述べたバリエーション特定ステップは、関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する展開ステップを含む。また、上で述べた関係テーブル生成ステップは、n:mのサブバリエーションのための関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、第1のテーブルの関連データ項目のn個の値と第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意するステップを含む。   In the variation specifying step described above, the relational multiplicity is a to n: b to m (n and m are integers of 2 or more. A is an integer of 0 to less than n. B is an integer of 0 to less than m. ) Includes a development step of developing into a plurality of sub-variations including n: m. In addition, when the relation table generation step described above generates a record group of a relation table for an n: m sub-variation, the number of relations between records indicating the influence spread range at the time of data item change in the record group. Includes n values of related data items in the first table and m values of related data items in the second table so that the maximum value is less than or equal to the upper limit value of the number of relations between records specified. Preparing one or a plurality of sets.

このようにすれば、関係多重度がa乃至n:b乃至mの場合においても、テスト上十分な網羅性をもってテストデータを生成することができるようになる。また、業務アプリケーション・プログラムにおける業務上の整合性を担保しつつテストデータを生成することもできる。   In this way, even when the relational multiplicity is a to n: b to m, it is possible to generate test data with sufficient completeness for testing. It is also possible to generate test data while ensuring business consistency in the business application program.

なお、a=0且つb=0である場合には、展開ステップにおいて、0:0、1:1、1:m及びn:1のサブバリエーションに展開するようにしてもよい。これによって網羅性が担保される。   In the case where a = 0 and b = 0, the expansion may be performed in sub-variations of 0: 0, 1: 1, 1: m, and n: 1. This ensures completeness.

なお、本方法をコンピュータに実行させるためのプログラムを作成することができ、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。   A program for causing a computer to execute this method can be created, and this program is stored in a storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. . Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a storage device such as a main memory.

なお、テストデータ生成装置100は、例えばコンピュータ装置であって、図66に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   The test data generation device 100 is, for example, a computer device. In the computer device, as shown in FIG. 66, a memory 2501 (storage unit), a CPU 2503 (processing unit), and a hard disk drive (HDD) 2505 are displayed. A display control unit 2507 connected to the device 2509, a drive device 2513 for the removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. Application programs including an operating system (OS) and a Web browser are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. If necessary, the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 to perform necessary operations. Further, data in the middle of processing is stored in the memory 2501 and stored in the HDD 2505 if necessary. Such a computer realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above with the OS and necessary application programs.

(付記1)
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム
(Appendix 1)
Schema-related information indicating the relationship between the first table and the second table and the relationship multiplicity, the division state information regarding the combinations of the division and state of the first table that can be taken in business, and the first table A computer that can access a design information storage unit that stores schema item information of the second table, and a database that stores data of the first table and data of the second table;
From the partition state information stored in the design information storage unit, a combination that can be taken in the business of the partition and state in the first table is specified, and the combination of the first table stored in the design information storage unit Generating a record of the first table according to the combination according to schema item information and registering it in the database;
From the schema related information stored in the design information storage unit, a variation specifying step for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table;
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation program for causing execution.

(付記2)
前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度がx(0以上の整数)乃至n(変数)であり且つユーザにより多重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのxレコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム
(Appendix 2)
The variation specifying step includes:
When the relational multiplicity in the schema related information is x (an integer greater than or equal to 0) to n (variable) and the multiplicity upper limit m (an integer greater than x) is designated by the user, 1 in the first table The method of claim 1, further comprising: generating a variation called x record of the second table corresponding to a record and a variation called m record of the second table corresponding to one record of the first table. Test data generation program .

(付記3)
前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度が0乃至n(変数)であり且つユーザにより多重度上限m(2以上の整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルの1レコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム
(Appendix 3)
The variation specifying step includes:
When the relational multiplicity in the schema-related information is 0 to n (variable) and the multiplicity upper limit m (an integer of 2 or more) is designated by the user, the one corresponding to one record of the first table A variation of no record in the second table, a variation of one record in the second table corresponding to one record in the first table, and the second corresponding to one record in the first table The test data generation program according to supplementary note 1, including a step of generating a variation of m records of the table of .

(付記4)
前記バリエーション特定ステップが、
前記スキーマ関連情報における、前記第1のテーブルの特定のレコードと前記第2のテーブルのレコードの前記関係多重度がx(0以上の整数)乃至n(変数)であり且つユーザにより多重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのxレコードであり且つ前記第1のテーブルの特定のレコード以外のレコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのmレコードであり且つ前記第1のテーブルの特定のレコード以外のレコードに対応して前記第2のテーブルのレコードなしというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム
(Appendix 4)
The variation specifying step includes:
In the schema related information, the relational multiplicity of the specific record of the first table and the record of the second table is x (an integer greater than or equal to 0) to n (variable) and the multiplicity upper limit m is set by the user. When (integer greater than x) is specified, it corresponds to a record of the second table corresponding to a specific record of the first table and corresponds to a record other than the specific record of the first table And a variation that there is no record in the second table, and a record other than the specific record in the first table that is the m record in the second table corresponding to the specific record in the first table. The test data generation program according to appendix 1, including a step of generating a variation of no record in the second table corresponding to Grams .

(付記5)
前記第1テーブル未生成レコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値が存在するか否かを判断するステップ
を含む付記1記載のテストデータ生成プログラム
(Appendix 5)
The first table non-generated record generation step includes:
The test data generation program according to appendix 1, including a step of determining whether there is a usable value based on the variation among the column values corresponding to the foreign key in the first table .

(付記6)
前記第2テーブルレコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む付記1記載のテストデータ生成プログラム
(Appendix 6)
The second table record generation step includes:
Supplementary note 1 including a step of adopting a value that can be used based on the variation among column values corresponding to a foreign key in the first table as a column value corresponding to a foreign key in the second table. Test data generation program .

(付記7)
前記第2テーブルレコード生成ステップが、
前記第1テーブル未生成レコード生成ステップにおいて新たにレコードが生成された場合には、当該新たなレコードにおける外部キーに相当するカラムの値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む付記1記載のテストデータ生成プログラム。
(Appendix 7)
The second table record generation step includes:
When a new record is generated in the first table non-generated record generation step, the column value corresponding to the foreign key in the new record is changed to the column value corresponding to the foreign key in the second table. The test data generation program according to appendix 1, including the step of adopting as:

(付記8)
前記設計情報格納部が、第1のテーブル又は第2のテーブルと第3のテーブルの関係付け及び関係多重度を表す第2のスキーマ関連情報と、前記第3のテーブルのスキーマ項目情報とをさらに格納している場合には、
前記設計情報格納部に格納されている前記第2のスキーマ関連情報とユーザ指定の多重度上限とから、前記第1のテーブルのレコード又は前記第2のテーブルのレコードと前記第3のテーブルのレコードとの対応関係のバリエーションを特定するステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコード又は前記第2のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブル又は前記第2のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記第3のテーブルのスキーマ項目情報及び前記第2のスキーマ関連情報における前記第1のテーブル又は前記第2のテーブルと前記第3のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第3のテーブルのレコードを生成し、前記データベースに登録するステップと、
をさらに前記コンピュータに実行させるための付記1記載のテストデータ生成プログラム。
(Appendix 8)
The design information storage unit further includes second schema related information representing a relationship between the first table or the second table and the third table and a relation multiplicity, and schema item information of the third table. If stored,
The first table record or the second table record and the third table record from the second schema related information stored in the design information storage unit and the user-specified multiplicity upper limit. Identifying a variation of the correspondence with,
The first table stored in the design information storage unit when there is an ungenerated record that is a record of the first table or a record of the second table required in the variation Or generating a new record according to the schema item information of the second table and registering it in the database;
According to the relationship between the first table or the second table and the third table in the schema item information of the third table and the second schema related information stored in the design information storage unit Generating a record of the third table required according to the variation and registering it in the database;
The test data generation program according to appendix 1, for causing the computer to further execute

(付記9)
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに実行されるテストデータ生成方法であって、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を含むテストデータ生成方法。
(Appendix 9)
Schema-related information indicating the relationship between the first table and the second table and the relationship multiplicity, the division state information regarding the combinations of the division and state of the first table that can be taken in business, and the first table And a design information storage unit that stores schema item information of the second table, and a database that can access a database that stores data of the first table and data of the second table. Test data generation method,
From the partition state information stored in the design information storage unit, a combination that can be taken in the business of the partition and state in the first table is specified, and the combination of the first table stored in the design information storage unit Generating a record of the first table according to the combination according to schema item information and registering it in the database;
From the schema related information stored in the design information storage unit, a variation specifying step for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table;
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation method including

(付記10)
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、データベースに登録する手段と、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定手段と、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成手段と、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成手段と、
を有するテストデータ生成装置。
(Appendix 10)
Schema-related information indicating the relationship between the first table and the second table and the relationship multiplicity, the division state information regarding the combinations of the division and state of the first table that can be taken in business, and the first table And a design information storage unit that stores schema item information of the second table;
From the partition state information stored in the design information storage unit, a combination that can be taken in the business of the partition and state in the first table is specified, and the combination of the first table stored in the design information storage unit Means for generating a record of the first table according to the combination according to the schema item information and registering it in a database;
Variation specifying means for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table from the schema related information stored in the design information storage unit;
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. First table non-generated record generating means for generating and registering in the database;
According to the relation between the first table and the second table in the schema item information of the second table and the schema-related information stored in the design information storage unit, it is necessary according to the variation A second table record generating means for generating a record of the second table and registering it in the database;
A test data generating apparatus having

(付記11)
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム
(Appendix 11)
Design information storage for storing schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each section value, and schema item information of the first table and the second table A computer that is accessible to a storage unit and a database that stores data of the first table and data of the second table;
A variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the partition value of the partition value is determined according to the schema item information of the first table stored in the design information storage unit. Generating a record of the first table according to variations and registering it in the database;
A variation for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table from the relationship multiplicity for each of the partition values of the schema related information stored in the design information storage unit Specific steps,
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation program for causing execution.

(付記12)
第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び前記第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各前記テーブルのスキーマ項目情報とを格納する設計情報格納部と、各前記テーブルを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記スキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1及び第2のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記関連データ項目間における前記区分値毎の関係多重度から、前記関連データ項目を含む、前記関係テーブルのレコードのバリエーションを特定するバリエーション特定ステップと、
前記関係テーブルのレコードのバリエーションにおいて必要となる前記第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、前記設計情報格納部に格納されている前記第1及び第2のテーブルのスキーマ項目情報に従って前記第1及び第2のテーブルの、前記関連データ項目の値を含むレコードを新たに生成し、前記データベースに登録すると共に、前記データベースに登録されている前記第1及び第2のテーブルのレコードを用いて、前記関係テーブルのレコードを生成し、前記データベースに登録する関係テーブル生成ステップと、
をコンピュータに実行させ、
前記バリエーション特定ステップが、
前記関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する展開ステップ
を含み、
前記関係テーブル生成ステップが、
前記n:mのサブバリエーションのための前記関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、前記第1のテーブルの関連データ項目のn個の値と前記第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意するステップ
を含むテストデータ生成プログラム。
(Appendix 12)
Schema-related information representing the relationship between the first and second tables and the relationship tables of the first and second tables and the relationship multiplicity for each segment value between the related data items in the first and second tables A computer that can access a design information storage unit that stores schema item information of each table, and a database that stores each table,
The variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the variation according to the variation of the partition value according to the schema item information stored in the design information storage unit Generating records of the first and second tables and registering them in the database;
Variation specification for specifying a variation of the record of the relation table including the related data item from the relation multiplicity for each of the division values between the related data items of the schema related information stored in the design information storage unit Steps,
In the case where there is an ungenerated value that is a value of the related data item in the first and second tables required in the variation of the record in the relation table, the design information storage unit stores the value. According to the schema item information of the first and second tables, a record including the value of the related data item of the first and second tables is newly generated, registered in the database, and registered in the database. Using the records of the first and second tables, generating a record of the relation table and registering it in the database;
To the computer,
The variation specifying step includes:
When the relational multiplicity is a to n: b to m (n and m are integers of 2 or more, a is an integer of 0 to less than n, and b is an integer of 0 to less than m), n: m Including a deployment step that deploys to multiple sub-variations including
The relation table generating step includes
When generating a record group of the relation table for the n: m sub-variation, the relation number between records indicating the influence spread range at the time of data item change in the record group is the upper limit of the relation number between records specified One or a plurality of data sets including n values of related data items in the first table and m values of related data items in the second table are prepared so as to be maximum below the value. Test data generation program including steps.

(付記13)
a=0且つb=0である場合
前記展開ステップにおいて、0:0、1:1、1:m及びn:1のサブバリエーションに展開する
付記12記載のテストデータ生成プログラム
(Appendix 13)
When a = 0 and b = 0 In the development step, the test data generation program according to appendix 12, wherein the test data is developed into sub-variations of 0: 0, 1: 1, 1: m, and n: 1 .

(付記14)
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行されるテストデータ生成方法であって、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を含むテストデータ生成方法。
(Appendix 14)
Design information storage for storing schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each section value, and schema item information of the first table and the second table A test data generation method executed by a computer that is accessible to a storage unit and a database storing data of the first table and data of the second table,
A variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the partition value of the partition value is determined according to the schema item information of the first table stored in the design information storage unit. Generating a record of the first table according to variations and registering it in the database;
A variation for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table from the relationship multiplicity for each of the partition values of the schema related information stored in the design information storage unit Specific steps,
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation method including

(付記15)
第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び前記第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各前記テーブルのスキーマ項目情報とを格納する設計情報格納部と、各前記テーブルを格納するデータベースとにアクセス可能であるコンピュータにより実行されるテストデータ生成方法であって、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記スキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1及び第2のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記関連データ項目間における前記区分値毎の関係多重度から、前記関連データ項目を含む、前記関係テーブルのレコードのバリエーションを特定するバリエーション特定ステップと、
前記関係テーブルのレコードのバリエーションにおいて必要となる前記第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、前記設計情報格納部に格納されている前記第1及び第2のテーブルのスキーマ項目情報に従って前記第1及び第2のテーブルの、前記関連データ項目の値を含むレコードを新たに生成し、前記データベースに登録すると共に、前記データベースに登録されている前記第1及び第2のテーブルのレコードを用いて、前記関係テーブルのレコードを生成し、前記データベースに登録する関係テーブル生成ステップと、
をコンピュータに実行させ、
前記バリエーション特定ステップが、
前記関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する展開ステップ
を含み、
前記関係テーブル生成ステップが、
前記n:mのサブバリエーションのための前記関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、前記第1のテーブルの関連データ項目のn個の値と前記第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意するステップ
を含むテストデータ生成方法。
(Appendix 15)
Schema-related information representing the relationship between the first and second tables and the relationship tables of the first and second tables and the relationship multiplicity for each segment value between the related data items in the first and second tables And a test data generation method executed by a computer that can access a design information storage unit that stores schema item information of each table and a database that stores each table,
The variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the variation according to the variation of the partition value according to the schema item information stored in the design information storage unit Generating records of the first and second tables and registering them in the database;
Variation specification for specifying a variation of the record of the relation table including the related data item from the relation multiplicity for each of the division values between the related data items of the schema related information stored in the design information storage unit Steps,
In the case where there is an ungenerated value that is a value of the related data item in the first and second tables required in the variation of the record in the relation table, the design information storage unit stores the value. According to the schema item information of the first and second tables, a record including the value of the related data item of the first and second tables is newly generated, registered in the database, and registered in the database. Using the records of the first and second tables, generating a record of the relation table and registering it in the database;
To the computer,
The variation specifying step includes:
When the relational multiplicity is a to n: b to m (n and m are integers of 2 or more, a is an integer of 0 to less than n, and b is an integer of 0 to less than m), n: m Including a deployment step that deploys to multiple sub-variations including
The relation table generating step includes
When generating a record group of the relation table for the n: m sub-variation, the relation number between records indicating the influence spread range at the time of data item change in the record group is the upper limit of the relation number between records specified One or a plurality of data sets including n values of related data items in the first table and m values of related data items in the second table are prepared so as to be maximum below the value. A test data generation method including steps.

(付記16)
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、データベースに登録する手段と、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定手段と、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成手段と、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成手段と、
を有するテストデータ生成装置。
(Appendix 16)
Design information storage for storing schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each section value, and schema item information of the first table and the second table And
A variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the partition value of the partition value is determined according to the schema item information of the first table stored in the design information storage unit. Means for generating a record of the first table according to variations and registering it in a database;
A variation for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table from the relationship multiplicity for each of the partition values of the schema related information stored in the design information storage unit Specific means,
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. First table non-generated record generating means for generating and registering in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating means for generating a record of the second table and registering the record in the database;
A test data generating apparatus having

(付記17)
第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び前記第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各前記テーブルのスキーマ項目情報とを格納する設計情報格納部と、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記スキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1及び第2のテーブルのレコードを生成し、データベースに登録する手段と、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記関連データ項目間における前記区分値毎の関係多重度から、前記関連データ項目を含む、前記関係テーブルのレコードのバリエーションを特定するバリエーション特定手段と、
前記関係テーブルのレコードのバリエーションにおいて必要となる前記第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、前記設計情報格納部に格納されている前記第1及び第2のテーブルのスキーマ項目情報に従って前記第1及び第2のテーブルの、前記関連データ項目の値を含むレコードを新たに生成し、前記データベースに登録すると共に、前記データベースに登録されている前記第1及び第2のテーブルのレコードを用いて、前記関係テーブルのレコードを生成し、データベースに登録する関係テーブル生成手段と、
を有し、
前記バリエーション特定手段が、
前記関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する手段
を有し、
前記関係テーブル生成手段が、
前記n:mのサブバリエーションのための前記関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、前記第1のテーブルの関連データ項目のn個の値と前記第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意する手段
を有するテストデータ生成装置。
(Appendix 17)
Schema-related information representing the relationship between the first and second tables and the relationship tables of the first and second tables and the relationship multiplicity for each segment value between the related data items in the first and second tables A design information storage unit that stores schema item information of each of the tables;
The variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the variation according to the variation of the partition value according to the schema item information stored in the design information storage unit Means for generating records of the first and second tables and registering them in the database;
Variation specification for specifying a variation of the record of the relation table including the related data item from the relation multiplicity for each of the division values between the related data items of the schema related information stored in the design information storage unit Means,
In the case where there is an ungenerated value that is a value of the related data item in the first and second tables required in the variation of the record in the relation table, the design information storage unit stores the value. According to the schema item information of the first and second tables, a record including the value of the related data item of the first and second tables is newly generated, registered in the database, and registered in the database. Using the records in the first and second tables, the relation table generating means for generating a record in the relation table and registering it in a database;
Have
The variation identification means is
When the relational multiplicity is a to n: b to m (n and m are integers of 2 or more, a is an integer of 0 to less than n, and b is an integer of 0 to less than m), n: m Means to expand to multiple sub-variations including
The relationship table generating means is
When generating a record group of the relation table for the n: m sub-variation, the relation number between records indicating the influence spread range at the time of data item change in the record group is the upper limit of the relation number between records specified One or a plurality of data sets including n values of related data items in the first table and m values of related data items in the second table are prepared so as to be maximum below the value. A test data generating device having means.

従来技術の問題を説明するための図である。It is a figure for demonstrating the problem of a prior art. 第1の実施の形態に係るシステム概要を示す図である。It is a figure which shows the system outline | summary which concerns on 1st Embodiment. 第1の例のクラス図を示す図である。It is a figure which shows the class diagram of a 1st example. 第1の例の別の観点からのクラス図である。It is a class diagram from another viewpoint of the first example. 第1の実施の形態における処理フローを示す図である。It is a figure which shows the processing flow in 1st Embodiment. 入力画面の一例を示す図である。It is a figure which shows an example of an input screen. ユーザ履歴テーブルのスキーマ関連情報の一例を示す図である。It is a figure which shows an example of the schema relevant information of a user history table. ユーザテーブルの区分・状態情報の一例を示す図である。It is a figure which shows an example of the classification and status information of a user table. ユーザテーブルのスキーマ項目情報の一例を示す図である。It is a figure which shows an example of the schema item information of a user table. ユーザテーブルの第1の部分を示す図である。It is a figure which shows the 1st part of a user table. 出力画面の一例を示す図である。It is a figure which shows an example of an output screen. 第1の実施の形態における処理フローを示す図である。It is a figure which shows the processing flow in 1st Embodiment. 第1の例におけるユーザテーブルとユーザ履歴テーブルとの対応関係のバリエーションを示す図である。It is a figure which shows the variation of the correspondence of the user table and user history table in a 1st example. ユーザテーブルの第2の部分を示す図である。It is a figure which shows the 2nd part of a user table. ユーザ履歴テーブルのスキーマ項目情報の一例を示す図である。It is a figure which shows an example of the schema item information of a user history table. ユーザ履歴テーブルの一例を示す図である。It is a figure which shows an example of a user history table. ユーザテーブルの第3の部分を示す図である。It is a figure which shows the 3rd part of a user table. 第2の例におけるクラス図である。It is a class diagram in the 2nd example. 第2の例の区分・状態情報を示す図である。It is a figure which shows the classification and status information of the 2nd example. 第2の例におけるユーザテーブルとユーザ履歴テーブルとの対応関係のバリエーションを示す図である。It is a figure which shows the variation of the correspondence of the user table and user history table in a 2nd example. 第2の例におけるユーザテーブルの追加分を示す図である。It is a figure which shows the additional part of the user table in a 2nd example. 第2の例におけるユーザ履歴テーブルを示す図である。It is a figure which shows the user history table in a 2nd example. 第3の例におけるクラス図である。It is a class diagram in the 3rd example. 担当販売テーブルのスキーマ関連情報の一例を示す図である。It is a figure which shows an example of the schema relevant information of a charge sales table. 担当販売テーブルのスキーマ項目情報の一例を示す図である。It is a figure which shows an example of the schema item information of a charge sales table. 第3の例におけるユーザテーブルと担当販売テーブルとの対応関係におけるバリエーションを示す図である。It is a figure which shows the variation in the correspondence of the user table and charge sales table in a 3rd example. 担当販売テーブルの一例を示す図である。It is a figure which shows an example of a charge sales table. 担当販売テーブルの一例を示す図である。It is a figure which shows an example of a charge sales table. 販売員テーブルのスキーマ関連情報の一例を示す図である。It is a figure which shows an example of the schema relevant information of a salesperson table. 販売員テーブルのスキーマ項目情報の一例を示す図である。It is a figure which shows an example of the schema item information of a salesperson table. 販売員テーブルの一例を示す図である。It is a figure which shows an example of a salesperson table. 第2の実施の形態の前提を説明するための図である。It is a figure for demonstrating the premise of 2nd Embodiment. 第2の実施の形態の前提を説明するための図である。It is a figure for demonstrating the premise of 2nd Embodiment. 第2の実施の形態の前提を説明するための図である。It is a figure for demonstrating the premise of 2nd Embodiment. 第2の実施の形態を説明するための具体例のクラス図である。It is a class diagram of the specific example for demonstrating 2nd Embodiment. テーブルAのスキーマ項目定義の一例を示す図である。It is a figure which shows an example of the schema item definition of Table A. テーブルXのスキーマ項目定義の一例を示す図である。It is a figure which shows an example of the schema item definition of Table X. テーブルZのスキーマ項目定義の一例を示す図である。It is a figure which shows an example of the schema item definition of the table Z. スキーマ関連情報の一例を示す図である。It is a figure which shows an example of schema related information. 第2の実施の形態における処理フローを示す図である。It is a figure which shows the processing flow in 2nd Embodiment. 設定情報入力画面の一例を示す図である。It is a figure which shows an example of a setting information input screen. 第1段階におけるテーブルAの状態を示す図である。It is a figure which shows the state of the table A in a 1st step. 第1段階におけるテーブルXの状態を示す図である。It is a figure which shows the state of the table X in a 1st step. 第1段階におけるテーブルZの状態を示す図である。It is a figure which shows the state of the table Z in a 1st step. 第2の実施の形態における処理フローを示す図である。It is a figure which shows the processing flow in 2nd Embodiment. レコード生成処理の処理フローを示す図である。It is a figure which shows the processing flow of a record production | generation process. (a)乃至(c)は、レコード生成処理において最初に用意されるデータの一例を示す図である。(A) thru | or (c) are figures which show an example of the data prepared initially in a record production | generation process. 第2段階においてテーブルAに追加されるデータを示す図である。It is a figure which shows the data added to the table A in a 2nd step. 第2段階においてテーブルXに追加されるデータを示す図である。It is a figure which shows the data added to the table X in a 2nd step. 第2段階においてテーブルZに追加されるデータを示す図である。It is a figure which shows the data added to the table Z in a 2nd step. n:mレコード生成処理の処理フローを示す図である。It is a figure which shows the processing flow of an n: m record production | generation process. 第3段階において用意されるデータの一例を示す図である。It is a figure which shows an example of the data prepared in a 3rd step. 第3段階において追加されるデータの一例を示す図である。It is a figure which shows an example of the data added in a 3rd step. 第3段階において連結されたデータの一例を示す図である。It is a figure which shows an example of the data connected in the 3rd step. 第3段階においてさらに連結されたデータの一例を示す図である。It is a figure which shows an example of the data further connected in the 3rd step. 第3段階においてテーブルAに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table A in a 3rd step. 第3段階においてテーブルXに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table X in a 3rd step. 第3段階においてテーブルZに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table Z in a 3rd step. (a)乃至(d)は、第4段階において用意されるデータの一例を示す図である。(A) thru | or (d) are figures which show an example of the data prepared in a 4th step. 第4段階においてテーブルAに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table A in a 4th step. 第4段階においてテーブルXに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table X in a 4th step. 第4段階においてテーブルZに追加されるデータの一例を示す図である。It is a figure which shows an example of the data added to the table Z in a 4th step. 処理結果の出力例を示す図である。It is a figure which shows the example of an output of a process result. 最終的にテーブルAに格納されるデータの一例を示す図である。It is a figure which shows an example of the data finally stored in the table A. 最終的にテーブルXに格納されるデータの一例を示す図である。4 is a diagram illustrating an example of data finally stored in a table X. FIG. 最終的にテーブルZに格納されるデータの一例を示す図である。4 is a diagram illustrating an example of data finally stored in a table Z. FIG. コンピュータの機能ブロック図である。It is a functional block diagram of a computer.

1 入力部
3 設計情報格納部
5 設計情報読み取り部
7 データ生成決定部
9 バリエーションデータ格納部
11 データ生成部
13 DB
DESCRIPTION OF SYMBOLS 1 Input part 3 Design information storage part 5 Design information reading part 7 Data generation determination part 9 Variation data storage part 11 Data generation part 13 DB

Claims (7)

第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。
Schema-related information indicating the relationship between the first table and the second table and the relationship multiplicity, the division state information regarding the combinations of the division and state of the first table that can be taken in business, and the first table A computer that can access a design information storage unit that stores schema item information of the second table, and a database that stores data of the first table and data of the second table;
From the partition state information stored in the design information storage unit, a combination that can be taken in the business of the partition and state in the first table is specified, and the combination of the first table stored in the design information storage unit Generating a record of the first table according to the combination according to schema item information and registering it in the database;
From the schema related information stored in the design information storage unit, a variation specifying step for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table;
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation program to execute
前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度が0乃至n(変数)であり且つユーザにより多重度上限m(2以上の整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルの1レコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む請求項1記載のテストデータ生成プログラム。
The variation specifying step includes:
When the relational multiplicity in the schema-related information is 0 to n (variable) and the multiplicity upper limit m (an integer of 2 or more) is designated by the user, the one corresponding to one record of the first table A variation of no record in the second table, a variation of one record in the second table corresponding to one record in the first table, and the second corresponding to one record in the first table The test data generation program according to claim 1, further comprising a step of generating a variation of m records of the table.
前記バリエーション特定ステップが、
前記スキーマ関連情報における、前記第1のテーブルの特定のレコードと前記第2のテーブルのレコードの関係多重度がx(0以上の整数)乃至n(変数)であり且つ重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのxレコードであるというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのmレコードであるというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのnレコードというバリエーションとを生成するステップ
を含む請求項1記載のテストデータ生成プログラム。
The variation specifying step includes:
In the schema-related information, from the relationship between a multiplicity of records for a particular record and said second table in the first table is x (0 or more integer) to n (variable) and multiplicity upper limit m (x When a large integer) is specified, the variation that the x record of the second table corresponds to the specific record of the first table, and the variation corresponding to the specific record of the first table 2. The test data according to claim 1, further comprising: generating a variation of m records of the second table and a variation of n records of the second table corresponding to a specific record of the first table. Generation program.
前記第1テーブル未生成レコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値が存在するか否かを判断するステップ
を含む請求項1記載のテストデータ生成プログラム。
The first table non-generated record generation step includes:
The test data generation program according to claim 1, further comprising: determining whether there is a usable value based on the variation among the column values corresponding to the foreign key in the first table.
前記第2テーブルレコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む請求項1記載のテストデータ生成プログラム。
The second table record generation step includes:
2. The step of adopting a value that can be used based on the variation among column values corresponding to foreign keys in the first table as column values corresponding to foreign keys in the second table. The test data generation program described.
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。
Design information storage for storing schema-related information indicating the relationship between the first table and the second table and the relational multiplicity for each section value, and schema item information of the first table and the second table A computer that is accessible to a storage unit and a database that stores data of the first table and data of the second table;
A variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the partition value of the partition value is determined according to the schema item information of the first table stored in the design information storage unit. Generating a record of the first table according to variations and registering it in the database;
A variation for specifying a variation of the correspondence relationship between the record of the first table and the record of the second table from the relationship multiplicity for each of the partition values of the schema related information stored in the design information storage unit Specific steps,
If there is a record of the first table that is necessary for the variation and has not yet been generated, a new record is created in accordance with the schema item information of the first table stored in the design information storage unit. Generating a first table non-generated record to be registered in the database;
Necessary according to the variation in accordance with the relationship between the first table and the second table in the schema item information of the second table and the schema related information stored in the design information storage unit A second table record generating step of generating a record of the second table and registering the record in the database;
Test data generation program to execute
第1及び第2のテーブル並びに当該第1及び第2のテーブルの関係テーブル間の関係付け及び前記第1及び第2のテーブルにおける関連データ項目間における区分値毎の関係多重度を表すスキーマ関連情報と、各前記テーブルのスキーマ項目情報とを格納する設計情報格納部と、各前記テーブルを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記スキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1及び第2のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記関連データ項目間における前記区分値毎の関係多重度から、前記関連データ項目を含む、前記関係テーブルのレコードのバリエーションを特定するバリエーション特定ステップと、
前記関係テーブルのレコードのバリエーションにおいて必要となる前記第1及び第2のテーブルの関連データ項目の値であって未生成の値が存在する場合には、前記設計情報格納部に格納されている前記第1及び第2のテーブルのスキーマ項目情報に従って前記第1及び第2のテーブルの、前記関連データ項目の値を含むレコードを新たに生成し、前記データベースに登録すると共に、前記データベースに登録されている前記第1及び第2のテーブルのレコードを用いて、前記関係テーブルのレコードを生成し、前記データベースに登録する関係テーブル生成ステップと、
をコンピュータに実行させ、
前記バリエーション特定ステップが、
前記関係多重度がa乃至n:b乃至m(n及びmは2以上の整数。aは0以上n未満の整数。bは0以上m未満の整数。)というバリエーションの場合に、n:mを含む複数のサブバリエーションに展開する展開ステップ
を含み、
前記関係テーブル生成ステップが、
前記n:mのサブバリエーションのための前記関係テーブルのレコード群を生成する場合、当該レコード群における、データ項目変更時の影響波及範囲を表すレコード間関係数が、指定されたレコード間関係数上限値以下で最大となるように、前記第1のテーブルの関連データ項目のn個の値と前記第2のテーブルの関連データ項目のm個の値とを含むデータセットを1又は複数セット用意するステップ
を含むテストデータ生成プログラム。
Schema-related information representing the relationship between the first and second tables and the relationship tables of the first and second tables and the relationship multiplicity for each segment value between the related data items in the first and second tables A computer that can access a design information storage unit that stores schema item information of each table, and a database that stores each table,
The variation of the partition value specified by the schema related information stored in the design information storage unit is specified, and the variation according to the variation of the partition value according to the schema item information stored in the design information storage unit Generating records of the first and second tables and registering them in the database;
Variation specification for specifying a variation of the record of the relation table including the related data item from the relation multiplicity for each of the division values between the related data items of the schema related information stored in the design information storage unit Steps,
In the case where there is an ungenerated value that is a value of the related data item in the first and second tables required in the variation of the record in the relation table, the design information storage unit stores the value. According to the schema item information of the first and second tables, a record including the value of the related data item of the first and second tables is newly generated, registered in the database, and registered in the database. Using the records of the first and second tables, generating a record of the relation table and registering it in the database;
To the computer,
The variation specifying step includes:
When the relational multiplicity is a to n: b to m (n and m are integers of 2 or more, a is an integer of 0 to less than n, and b is an integer of 0 to less than m), n: m Including a deployment step that deploys to multiple sub-variations including
The relation table generating step includes
When generating a record group of the relation table for the n: m sub-variation, the relation number between records indicating the influence spread range at the time of data item change in the record group is the upper limit of the relation number between records specified One or a plurality of data sets including n values of related data items in the first table and m values of related data items in the second table are prepared so as to be maximum below the value. Test data generation program including steps.
JP2008177573A 2007-09-27 2008-07-08 Test data generation program Expired - Fee Related JP5292956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008177573A JP5292956B2 (en) 2007-09-27 2008-07-08 Test data generation program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007250544 2007-09-27
JP2007250544 2007-09-27
JP2008177573A JP5292956B2 (en) 2007-09-27 2008-07-08 Test data generation program

Publications (2)

Publication Number Publication Date
JP2009099126A JP2009099126A (en) 2009-05-07
JP5292956B2 true JP5292956B2 (en) 2013-09-18

Family

ID=40702032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008177573A Expired - Fee Related JP5292956B2 (en) 2007-09-27 2008-07-08 Test data generation program

Country Status (1)

Country Link
JP (1) JP5292956B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626388B2 (en) * 2013-09-06 2017-04-18 TransMed Systems, Inc. Metadata automated system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3366257B2 (en) * 1998-07-07 2003-01-14 エヌイーシーシステムテクノロジー株式会社 Data warehouse test data creation device
JP2004303115A (en) * 2003-04-01 2004-10-28 Hitachi Ltd Method for constructing work flow system
JP2006227958A (en) * 2005-02-18 2006-08-31 Nomura Research Institute Ltd Test data generation system and method

Also Published As

Publication number Publication date
JP2009099126A (en) 2009-05-07

Similar Documents

Publication Publication Date Title
CN104765745B (en) Loading data in database are carried out with the method and system of logic checking
US20040107214A1 (en) Customized document portfolio system integrating IP libraries and technology documents
CN111736836B (en) Component configuration method and device based on relational graph and computer readable storage medium
JP6692281B2 (en) Test case generation device and test case generation method
CN108304291B (en) Test input information retrieval apparatus and method
US10303668B2 (en) Automatic screen generation device, automatic screen generation program, and automatic screen generation method
JP2020004340A (en) Business template changing device and program
JP5292956B2 (en) Test data generation program
JP2003006242A (en) Product data management system, program to run the system, recording medium recorded with the program, and product data management method
US6968518B2 (en) Method of resolving missing graphical symbols in computer-aided integrated circuit design
JP6948492B2 (en) Information management device and file management method
CN114547066A (en) Nuclear power business data standardization method and device and computer equipment
US20090119312A1 (en) Taxonomy tool
JP2018032113A (en) Information management device and file management method
JP2007299093A (en) Document management system
JP6700452B2 (en) Data aggregation device, data aggregation method, and data aggregation program
JP4663526B2 (en) Form creation support device, form creation support method, and form creation support program
JP4756962B2 (en) Product configuration management program, product configuration management method, and product configuration management apparatus
JP5253668B1 (en) Database construction device, database construction method, and program
JP2016095723A (en) Correspondence information creation program, correspondence information creation device, and correspondence information creation method
JP2001014202A (en) Data retrieval system, server computer used in the system and computer-readable recording medium recording program for making computer function as server computer used in data retrieval system
JP2005275597A (en) Parts structure comparison system, parts structure comparison method and program
JP2009093574A (en) Knowledge data processing method and device, and link generating method and device
JP2022150482A (en) Data retrieval device, data retrieval method and data retrieval program
JP2002063170A (en) Method for regulating web retrieval

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees