JP5292956B2 - テストデータ生成プログラム - Google Patents
テストデータ生成プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
データベースに登録すべきデータは、業務上整合性を有するデータでなければならないが、この点を考慮してデータベースにデータを登録していない場合には、正しいテストが行われない可能性がある。
データベースに登録されているデータは、業務のプロセスに従って本来様々な状態・種別の値を取り得る。これら全ての状態・種別にわたったテストデータを登録しておくことが重要である。そうでないと、例えば検索処理を実施した結果が正しく検索が行われた結果なのか、又は正しく処理されていないのに検索対象のデータにヒットすべきでないデータが含まれていなかったためであるかを区別することができないからである。
図2に本技術の一実施の形態に係るテストデータ生成装置100の機能ブロック図を示す。テストデータ生成装置100は、設定情報及び設計情報の入力をユーザから受け付ける入力部1と、スキーマ関連情報、区分・状態情報及びスキーマ項目情報を含む設計情報を格納する設計情報格納部3と、設計情報格納部3から必要な設計情報を読み出す設計情報読み取り部5と、設計情報読み取り部5によって読み出された設計情報及び入力部1からの設定情報を用いて生成すべきテストデータのバリエーションなどを決定する処理を実施するデータ生成決定部7と、データ生成決定部7の処理結果を格納するバリエーションデータ格納部9と、バリエーションデータ格納部9に格納されたデータと設計情報読み取り部5によって読み出された設計情報等を用いてテストデータの生成を行うデータ生成部11とを有する。なお、データ生成部11によって生成されたテストデータは、データベース(DB)13に登録され、当該DB13を用いて業務アプリケーション・プログラムのテストが実施される。
「ユーザ」テーブルのレコード:「ユーザ履歴」テーブルのレコード=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件生成すべきということになる。
次に、第2の例について説明する。第2の例は、図18に示すようなクラス図で表される。すなわち、「ユーザ」クラスには、2つの区分が存在しており、「個人・団体」区分と、「ユーザ」区分とがある。「個人・団体」区分において団体の場合には区分値=1となり、個人の場合には区分値=2となる。また、「ユーザ」区分において、「ユーザ」の場合には区分値=1であり、「ユーザ関係」の場合には区分値=2であり、「クレーマー」の場合には区分値3である。そして、「個人・団体」区分の区分値=1で「ユーザ」区分の区分値=1は、「団体ユーザ」というサブクラスとなる。ここまでは、第1の例と同じである。しかし、第1の例では「ユーザ」クラス全体について「ユーザ履歴」クラスが集約という関係で関連付けられていたが、第2の例では、「団体ユーザ」というサブクラスにのみ、1:nという集約関係で「ユーザ履歴」クラスが関連付けられている。
図23に、第3の例のクラス図を示す。第3の例においては、「ユーザ」クラスに対して「担当販売」クラスが1:nで関連しており、「担当販売」クラスに対して「販売員」クラスが1対1で関連している。すなわち、第1及び第2の例のようにクラス間に従属関係がない場合である。
上で述べた例では、区分・状態情報が用意される例を示したが、業務上特に状態が規定されない場合には、例えば以下で用いる図38のようなスキーマ関連情報において区分毎に関係多重度が規定されていればよい場合もある。このような場合には、図5のステップS5では、区分・状態情報を用いずスキーマ関連情報から取り得る区分値の組み合わせに従って生成すべきレコードのバリエーションを特定し、ステップS7でレコードを生成するようにしても良い。さらに、図12のステップS13でも区分・状態情報を用いずにレコード・バリエーションを特定する。
第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で対応付けるパターン等が可能である。これ以外のパターンも生成することができるが、上で述べたように、どのようなパターンを採用すべきかを判断するのは難しい。
IF((車Aの所有者でない)&(車Aの所有者である2人のメンバと同じ車を所有している))then(車Aを使うことができる)
というロジックのテストを行うことができる。
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。
前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度がx(0以上の整数)乃至n(変数)であり且つユーザにより多重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのxレコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム。
前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度が0乃至n(変数)であり且つユーザにより多重度上限m(2以上の整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルの1レコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム。
前記バリエーション特定ステップが、
前記スキーマ関連情報における、前記第1のテーブルの特定のレコードと前記第2のテーブルのレコードの前記関係多重度がx(0以上の整数)乃至n(変数)であり且つユーザにより多重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのxレコードであり且つ前記第1のテーブルの特定のレコード以外のレコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのmレコードであり且つ前記第1のテーブルの特定のレコード以外のレコードに対応して前記第2のテーブルのレコードなしというバリエーションとを生成するステップ
を含む付記1記載のテストデータ生成プログラム。
前記第1テーブル未生成レコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値が存在するか否かを判断するステップ
を含む付記1記載のテストデータ生成プログラム。
前記第2テーブルレコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む付記1記載のテストデータ生成プログラム。
前記第2テーブルレコード生成ステップが、
前記第1テーブル未生成レコード生成ステップにおいて新たにレコードが生成された場合には、当該新たなレコードにおける外部キーに相当するカラムの値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む付記1記載のテストデータ生成プログラム。
前記設計情報格納部が、第1のテーブル又は第2のテーブルと第3のテーブルの関係付け及び関係多重度を表す第2のスキーマ関連情報と、前記第3のテーブルのスキーマ項目情報とをさらに格納している場合には、
前記設計情報格納部に格納されている前記第2のスキーマ関連情報とユーザ指定の多重度上限とから、前記第1のテーブルのレコード又は前記第2のテーブルのレコードと前記第3のテーブルのレコードとの対応関係のバリエーションを特定するステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコード又は前記第2のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブル又は前記第2のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記第3のテーブルのスキーマ項目情報及び前記第2のスキーマ関連情報における前記第1のテーブル又は前記第2のテーブルと前記第3のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第3のテーブルのレコードを生成し、前記データベースに登録するステップと、
をさらに前記コンピュータに実行させるための付記1記載のテストデータ生成プログラム。
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに実行されるテストデータ生成方法であって、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を含むテストデータ生成方法。
第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、データベースに登録する手段と、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定手段と、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、データベースに登録する第1テーブル未生成レコード生成手段と、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、データベースに登録する第2テーブルレコード生成手段と、
を有するテストデータ生成装置。
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。
第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又は複数セット用意するステップ
を含むテストデータ生成プログラム。
a=0且つb=0である場合
前記展開ステップにおいて、0:0、1:1、1:m及びn:1のサブバリエーションに展開する
付記12記載のテストデータ生成プログラム。
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータにより実行されるテストデータ生成方法であって、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を含むテストデータ生成方法。
第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又は複数セット用意するステップ
を含むテストデータ生成方法。
第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、データベースに登録する手段と、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定手段と、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成手段と、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成手段と、
を有するテストデータ生成装置。
第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又は複数セット用意する手段
を有するテストデータ生成装置。
3 設計情報格納部
5 設計情報読み取り部
7 データ生成決定部
9 バリエーションデータ格納部
11 データ生成部
13 DB
Claims (7)
- 第1のテーブルと第2のテーブルとの関係付け及び関係多重度を表すスキーマ関連情報と、前記第1のテーブルの区分及び状態の業務上取り得る組み合わせに関する区分状態情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている区分状態情報から前記第1のテーブルにおける前記区分及び状態の業務上取り得る組み合わせを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記組み合わせに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。 - 前記バリエーション特定ステップが、
前記スキーマ関連情報における前記関係多重度が0乃至n(変数)であり且つユーザにより多重度上限m(2以上の整数)が指定された場合、前記第1のテーブルの1レコードに対応して前記第2のテーブルのレコードなしというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルの1レコードというバリエーションと、前記第1のテーブルの1レコードに対応して前記第2のテーブルのmレコードというバリエーションとを生成するステップ
を含む請求項1記載のテストデータ生成プログラム。 - 前記バリエーション特定ステップが、
前記スキーマ関連情報における、前記第1のテーブルの特定のレコードと前記第2のテーブルのレコードの関係多重度がx(0以上の整数)乃至n(変数)であり且つ多重度上限m(xより大きい整数)が指定された場合、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのxレコードであるというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのmレコードであるというバリエーションと、前記第1のテーブルの特定のレコードに対応して前記第2のテーブルのnレコードというバリエーションとを生成するステップ
を含む請求項1記載のテストデータ生成プログラム。 - 前記第1テーブル未生成レコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値が存在するか否かを判断するステップ
を含む請求項1記載のテストデータ生成プログラム。 - 前記第2テーブルレコード生成ステップが、
前記第1のテーブルにおいて外部キーに相当するカラムの値のうち、前記バリエーションに基づき使用可能な値を、前記第2のテーブルにおける外部キーに相当するカラムの値として採用するステップ
を含む請求項1記載のテストデータ生成プログラム。 - 第1のテーブルと第2のテーブルとの関係付け及び区分値毎の関係多重度を表すスキーマ関連情報と、前記第1のテーブル及び前記第2のテーブルのスキーマ項目情報とを格納する設計情報格納部と、前記第1のテーブルのデータと前記第2のテーブルのデータとを格納するデータベースとにアクセス可能であるコンピュータに、
前記設計情報格納部に格納されている前記スキーマ関連情報で指定される区分値のバリエーションを特定し、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って前記区分値のバリエーションに応じた前記第1のテーブルのレコードを生成し、前記データベースに登録するステップと、
前記設計情報格納部に格納されている前記スキーマ関連情報の前記区分値毎の関係多重度から、前記第1のテーブルのレコードと前記第2のテーブルのレコードとの対応関係のバリエーションを特定するバリエーション特定ステップと、
前記バリエーションにおいて必要となる前記第1のテーブルのレコードであって未生成のレコードが存在する場合には、前記設計情報格納部に格納されている前記第1のテーブルのスキーマ項目情報に従って新たにレコードを生成し、前記データベースに登録する第1テーブル未生成レコード生成ステップと、
前記設計情報格納部に格納されている前記第2のテーブルのスキーマ項目情報及び前記スキーマ関連情報における前記第1のテーブルと前記第2のテーブルとの関係付けに従って、前記バリエーションに応じて必要となる前記第2のテーブルのレコードを生成し、前記データベースに登録する第2テーブルレコード生成ステップと、
を実行させるためのテストデータ生成プログラム。 - 第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又は複数セット用意するステップ
を含むテストデータ生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008177573A JP5292956B2 (ja) | 2007-09-27 | 2008-07-08 | テストデータ生成プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007250544 | 2007-09-27 | ||
JP2007250544 | 2007-09-27 | ||
JP2008177573A JP5292956B2 (ja) | 2007-09-27 | 2008-07-08 | テストデータ生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009099126A JP2009099126A (ja) | 2009-05-07 |
JP5292956B2 true JP5292956B2 (ja) | 2013-09-18 |
Family
ID=40702032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008177573A Expired - Fee Related JP5292956B2 (ja) | 2007-09-27 | 2008-07-08 | テストデータ生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5292956B2 (ja) |
Families Citing this family (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3366257B2 (ja) * | 1998-07-07 | 2003-01-14 | エヌイーシーシステムテクノロジー株式会社 | データウェアハウステストデータ作成装置 |
JP2004303115A (ja) * | 2003-04-01 | 2004-10-28 | Hitachi Ltd | ワークフローシステム構築方法 |
JP2006227958A (ja) * | 2005-02-18 | 2006-08-31 | Nomura Research Institute Ltd | テストデータ生成システム及びテストデータ生成方法 |
-
2008
- 2008-07-08 JP JP2008177573A patent/JP5292956B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009099126A (ja) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6944515B2 (en) | Parts list system which generates and manages a parts list simply and effectively | |
CN104765745B (zh) | 对数据库中的加载数据进行逻辑验证的方法和*** | |
CN111736836B (zh) | 基于关系图的组件配置方法、装置及计算机可读存储介质 | |
JP7183592B2 (ja) | 業務テンプレート変更装置及びプログラム | |
CN108304291B (zh) | 测试输入信息检索装置和方法 | |
US10303668B2 (en) | Automatic screen generation device, automatic screen generation program, and automatic screen generation method | |
JP5292956B2 (ja) | テストデータ生成プログラム | |
US6968518B2 (en) | Method of resolving missing graphical symbols in computer-aided integrated circuit design | |
JPWO2017134800A1 (ja) | 表形式データの解析方法、表形式データの解析プログラム及び情報処理装置 | |
JP6948492B2 (ja) | 情報管理装置並びにファイル管理方法 | |
US20090119312A1 (en) | Taxonomy tool | |
JP2018032113A (ja) | 情報管理装置並びにファイル管理方法 | |
JP2004046650A (ja) | データ管理方法およびデータベース構造 | |
JPWO2009008129A1 (ja) | 開発書類データ管理装置、開発書類データ管理システム、開発書類データ管理方法及び、そのプログラム並びに記憶媒体 | |
JP2007299093A (ja) | 文書管理システム | |
JP2004199418A (ja) | 設計思考支援方法 | |
JP6361472B2 (ja) | 対応情報生成プログラム、対応情報生成装置及び対応情報生成方法 | |
JP6700452B2 (ja) | データ集計装置、データ集計方法およびデータ集計プログラム | |
JP4663526B2 (ja) | 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム | |
JP4756962B2 (ja) | 製品構成管理プログラム、製品構成管理方法および製品構成管理装置 | |
JP2017174087A (ja) | 情報処理装置及び情報処理プログラム | |
JP2001014202A (ja) | データ検索システム、当該システムで用いられるサーバ計算機およびコンピュータをデータ検索システムで用いられるサーバ計算機として機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2005275597A (ja) | 部品構成比較システム、部品構成比較方法およびプログラム | |
JP2009093574A (ja) | ナレッジ・データ処理方法及び装置、並びにリンク生成方法及び装置 | |
CN117076512A (zh) | 数据查询方法、装置及电子设备 |
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 |