(57)【要約】【課題】実際のデータの秘匿性を保ちつつ、実際のデータと同様の多様なテストデータを作成する。【解決手段】既に利用されていたデータベースシステム１０の実データを用いて、新たなデータベースシステム２０の動作を検証するために用いるテストデータを生成するテストデータ生成装置１００であって、実データの中の変更をすべき複数のフィールドを指定する指定部１１０と、指定部１１０で指定された複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出する高頻度データ抽出部１２０と、高頻度データ抽出部１２０により抽出された、複数のフィールドのそれぞれにおける高頻度データの組み合わせによって、複数のフィールドの実データを置き換えることによりテストデータを作成するデータ変更部１３０とを備える。【選択図】  図１
2004326510.tif 000002
【特許請求の範囲】
【請求項１】
既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するテストデータ生成装置であって、
前記実データの中の変更をすべき複数のフィールドを指定する指定部と、
前記指定部で指定された前記複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出する高頻度データ抽出部と、
前記高頻度データ抽出部により抽出された、前記複数のフィールドのそれぞれにおける前記高頻度データの組み合わせによって、前記複数のフィールドの前記実データを置き換えることにより前記テストデータを作成するデータ変更部と
を備えたテストデータ生成装置。
【請求項２】
前記既に利用されていたデータベースシステムおよび前記新たなデータベースシステムは、複数のデータベースのデータをリレーションキーで対応付けたリレーショナルデータベースシステムであり、
前記複数のデータベースの各々の前記実データに含まれる、各フィールドのデータ種別を格納するフォーマット格納部と、
前記フォーマット格納部に格納された前記データ種別を参照することにより、前記複数のデータベースの、前記指定部により指定された前記フィールドを変更するフィールド変更部と
を更に備え、
前記データ変更部は、前記フィールド変更部により変更された前記フィールドの前記実データを置き換えることにより前記テストデータを作成する請求項１に記載のテストデータ生成装置。
【請求項３】
前記複数のデータベースに含まれる同一の前記データ種別の前記リレーションキーを、同じ規則で変更するリレーションキー変更部を更に備えた請求項２に記載のテストデータ生成装置。
【請求項４】
前記高頻度データ抽出部は、前記指定部で指定された前記複数のフィールドのそれぞれにおいて、前記実データにおける当該フィールド内でのデータの出現頻度を検出し、当該フィールドで出現頻度が高いほうにある複数の高頻度データを抽出する請求項１に記載のテストデータ生成装置。
【請求項５】
前記データ変更部は、前記実データに含まれる各文字を、予め定められた同一の規則に基づいて変更する請求項１に記載のテストデータ生成装置。
【請求項６】
既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するテストデータ生成方法であって、
前記実データの中の変更をすべき複数のフィールドを指定し、
指定された前記複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出し、
抽出された、前記複数のフィールドのそれぞれにおける前記高頻度データの組み合わせによって、前記複数のフィールドの前記実データを置き換えることにより前記テストデータを作成する
テストデータ生成方法。
【請求項７】
既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するコンピュータ用のプログラムであって、前記コンピュータを
前記実データの中の変更をすべき複数のフィールドを指定する指定手段、
前記指定手段で指定された前記複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出する高頻度データ抽出手段、および、
前記高頻度データ抽出手段により抽出された、前記複数のフィールドのそれぞれにおける前記高頻度データの組み合わせによって、前記複数のフィールドの前記実データを置き換えることにより前記テストデータを作成するデータ変更手段として機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テストデータ生成装置、テストデータ生成方法、およびプログラムに関する。特に本発明は、既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成することができるテストデータ生成装置、テストデータ生成方法、およびプログラムに関する。
【０００２】
【従来の技術】
従来、システム開発者は、既に利用されていたデータベースシステムの実際のデータを用いて、新しいデータベースシステムの動作を検証していた（例えば、非特許文献１）。
【０００３】
【非特許文献１】
「日本経済新聞」朝刊、日本経済新聞社、２００２年４月２３日、第５頁
【０００４】
【発明が解決しようとする課題】
しかし、システム開発者とデータの管理者が異なる場合がある。この場合に、データの管理者は実際のデータの秘匿性を保ちつつ、システム開発者は実際のデータと同様のデータを用いて新しいデータベースシステムの試験稼動をすることが重要である。
【０００５】
そこで本発明は、上記の課題を解決することのできるテストデータ生成装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００６】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するテストデータ生成装置であって、実データの中の変更をすべき複数のフィールドを指定する指定部と、指定部で指定された複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出する高頻度データ抽出部と、高頻度データ抽出部により抽出された、複数のフィールドのそれぞれにおける高頻度データの組み合わせによって、複数のフィールドの実データを置き換えることによりテストデータを作成するデータ変更部とを備える。
【０００７】
既に利用されていたデータベースシステムおよび新たなデータベースシステムは、複数のデータベースのデータをリレーションキーで対応付けたリレーショナルデータベースシステムであり、複数のデータベースの各々の実データに含まれる、各フィールドのデータ種別を格納するフォーマット格納部と、フォーマット格納部に格納されたデータ種別を参照することにより、複数のデータベースの、指定部により指定されたフィールドを変更するフィールド変更部とを更に備え、データ変更部は、フィールド変更部により変更されたフィールドの実データを置き換えることによりテストデータを作成してもよい。
【０００８】
高頻度データ抽出部は、指定部で指定された複数のフィールドのそれぞれにおいて、実データにおける当該フィールド内でのデータの出現頻度を検出し、当該フィールドで出現頻度が高いほうにある複数の高頻度データを抽出してもよい。
【０００９】
複数のデータベースに含まれる同一のデータ種別のリレーションキーを、同じ規則で変更するリレーションキー変更部を更に備えてもよい。
【００１０】
データ変更部は、実データに含まれる各文字を、予め定められた同一の規則に基づいて変更してもよい。
【００１１】
本発明の第２の形態によると、既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するテストデータ生成方法であって、実データの中の変更をすべき複数のフィールドを指定し、指定された複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出し、抽出された、複数のフィールドのそれぞれにおける高頻度データの組み合わせによって、複数のフィールドの実データを置き換えることによりテストデータを作成する。
【００１２】
本発明の第３の形態によると、既に利用されていたデータベースシステムの実データを用いて、新たなデータベースシステムの動作を検証するために用いるテストデータを生成するコンピュータ用のプログラムであって、コンピュータを、実データの中の変更をすべき複数のフィールドを指定する指定手段、指定手段で指定された複数のフィールドのそれぞれにおいて、当該フィールドで他のデータより高い頻度で出現する高頻度データを抽出する高頻度データ抽出手段、および、高頻度データ抽出手段により抽出された、複数のフィールドのそれぞれにおける高頻度データの組み合わせによって、複数のフィールドの実データを置き換えることによりテストデータを作成するデータ変更手段として機能させる。
【００１３】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた発明となりうる。
【００１４】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１５】
図１は、テストデータ生成システム２００の機能構成を示す。テストデータ生成システム２００は、既に利用されていた既データベースシステム１０と、新しい新データシステム２０と、既データベースシステム１０に格納された実際のデータに基づいて新データシステム２０のテストデータを作成するテストデータ生成装置１００とを含む。
【００１６】
既データシステム１０は、実データとして顧客、住所および勤務先のデータをそれぞれ格納する顧客マスタデータベース１２、住所マスタデータベース１４および法人マスタデータベース１６を備える。既データシステム１０はさらに、テストデータの作成の対象となる実データを格納する対象データ格納部１８を備える。既データシステム１０は、データの管理者により管理される。
【００１７】
テストデータ生成装置１００は、指定部１１０と、高頻度データ抽出部１２０と、データ変更部１３０と、フォーマット格納部１４０と、フィールド変更部１５０と、リレーションキー変更部１６０とを備える。図１に示す実施形態において、テストデータ生成装置１００はさらに、置換え用マスタデータ格納部１７を備える。
【００１８】
従来、システム開発者は、既に利用されていた既データベースシステム１０のデータのみを用いて、新しい新データベースシステム２０の動作を検証していた。しかし、システム開発者とデータの管理者が異なる場合がある。この場合に、データの管理者は実際のデータの秘匿性を保ちつつ、システム開発者は実際のデータと同様のデータを用いて新データベースシステム２０の試験稼動をすることが重要である。さらに、新データベースシステム２０は、既データベースシステム１０に格納された実際のデータよりもさらに多様なデータおよび新たなデータを処理することが予想される。このため、システム開発者は、多様なテストデータを作成し、そのテストデータを用いて新データベースシステム２０を試験稼動することが重要である。
【００１９】
そこで、本実施形態に係るテストデータ生成装置１００は、新データベースシステム２０が処理すべき可能性のある多様なデータに対応したテストデータを、容易かつ迅速に作成するものである。
【００２０】
テストデータ生成装置１００は、既データベースシステム１０の実データを用いて、新データベースシステム２０の動作を検証するために用いるテストデータを生成する。また、既データベースシステム１０および新データベースシステム２０は、複数のデータベースのデータをリレーションキーで対応付けたリレーショナルデータベースシステムである。既データシステム１０のデータベースは、それぞれ、実データを格納する。上述のように、既データシステム１０は、実データを格納する複数のデータベースとして、顧客マスタデータベース１２、住所マスタデータベース１４、法人マスタデータベース１６および対象データ格納部１８を備える。
【００２１】
指定部１１０は、実データの秘匿性を守るために、実データの中の変更をすべき複数のフィールドを指定する。本実施形態の指定部１１０は、既データベースシステム１０から実データを取得する。指定部１１０は、例えば顧客の氏名、年令、顧客の口座がある部店、および口座番号のフィールドを含む顧客情報を、実データとして取得する。指定部１１０は、取得した実データに含まれるフィールドのうちで、秘匿性のあるデータを格納した複数のフィールドを、変更をすべきフィールドとして指定する。例えば、指定部１１０は、テストデータを使用する開発者からの入力に基づき、秘匿性のあるフィールドのうちのどのフィールドを変更するかを格納した変更パラメータファイルを作成する。この場合、指定部１１０は、この変更パラメータファイルを参照することにより、既データベースシステム１０におけるフィールドのうち、実データを変更すべきフィールドを指定する。指定部１１０は、変更すべき複数のフィールドが指定された実データを、高頻度データ抽出部１２０およびデータ変更部１３０に出力する。なお、本実施形態において、指定部１１０により変更すべく指定されたフィールド、例えば部店および口座番号のフィールド、に格納されたデータを、実データのリレーションキーとする。
【００２２】
高頻度データ抽出部１２０は、指定部１１０で指定された複数のフィールドのそれぞれにおいて、他のデータより高い頻度で出現する高頻度データを抽出する。本実施形態の高頻度データ抽出部１２０は、指定部１１０により指定された複数のフィールドのうち、数字情報のフィールド以外のフィールド、例えば電話番号および郵便番号以外のフィールドを選択する。高頻度データ抽出部１２０は、選択したフィールドに格納されたデータを、例えば、実データにおける当該フィールド内での出現の頻度を検出して出現頻度順に並べ替える。高頻度データ抽出部１２０は、選択したフィールドにおいて並べ替えたデータから、当該フィールドで出現の頻度が高い高頻度データを、所定個数分だけ抽出する。高頻度データ抽出部１２０は、所定個数として、例えば選択されたフィールドが顧客の姓または名の場合に一例として１００個の高頻度データを、それぞれのフィールドにおいて抽出する。高頻度データ抽出部１２０は、抽出した所定個数分のデータを、フィールドに対応付けてデータ変更部１３０へ出力する。なお、当該フィールドで出現頻度が高い高頻度データを、所定個数分だけ抽出する場合に、当該フィールドで出現頻度が高いほうにあるデータたとえば当該フィールドでの平均出現頻度以上のデータを抽出してもよく、当該平均出現頻度以上のデータから複数もしくは数個以上のデータを抽出する構成としてもよい。
【００２３】
フォーマット格納部１４０は、複数のデータベースに含まれる、各フィールドのデータ種別を格納する。本実施形態のフォーマット格納部１４０は、実データのフィールドを、実データの先頭から順に第１のフィールド、第２のフィールド、第３のフィールド、…とする。データ変更部１３０は、各フィールドに格納されたデータの属性であるデータ種別を、フィールドに対応付けて、データベースごとに格納する。
【００２４】
フィールド変更部１５０は、フォーマット格納部１４０に格納されたデータ種別を参照することにより、複数のデータベースの、指定部１１０により指定されたフィールドを変更する。フィールド変更部１５０は、指定部１１０から取得した実データにおける、指定された複数のそれぞれのフィールドに対応付けて、フォーマット格納部１４０に格納されるそれぞれのデータ種別を読み出す。フィールド変更部１５０は、読み出したデータ種別のうちで、テストデータが含むべきデータ種別と一致するデータ種別を選び出す。フィールド変更部１５０は、選び出したデータ種別に対応付けられる実データのフィールドを、テストデータにおいてそのデータ種別に対応付けられたフィールドに変更する。フィールド変更部１５０は、フィールドを変更した実データを、置換え対象データとしてデータ変更部１３０に出力する。
【００２５】
データ変更部１３０は、高頻度データ抽出部１２０により抽出された、複数のフィールドのそれぞれにおける高頻度データの組み合わせによって、複数のフィールドの実データを置き換えることによりテストデータを作成する。本実施形態では、データ変更部１３０は、指定部１１０から取得した実データにおいて、高頻度データ抽出部１２０により高頻度データが抽出されたフィールドに格納されたデータを、抽出された所定個数の高頻度データからランダムに選び出したデータに変更する。例えば、データ変更部１３０は、高頻度データ抽出部１２０から姓および名の高頻度データを取得し、これらの姓および名で、実データである顧客の姓または名を置き換える。実データの姓および名の中には稀な姓および名が含まれていることがあるが、実データの姓および名に基づいた高頻度データで置き換えることにより、顧客の秘匿性を保ちつつ、実データと同様の多様なテストデータを作成することができる。
【００２６】
また、データ変更部１３０は、上記複数のフィールドと異なるフィールドにおいて、実データに含まれる各文字を、予め定められた同一の規則に基づいて変更する。例えば、データ変更部１３０は、実データの中で変更すべく指定された数字情報のフィールドに格納されたデータの文字である数字のそれぞれを、予め定められた同一の規則に基づいて変更する。本実施形態において、データ変更部１３０は、データに含まれた数字を、その数字について１対１に対応させた他の数字に入れ替えることにより、同一の規則に基づいてデータを変更する。例えば、データ変更部１３０は、データに含まれた数字「０」を「１」に入れ替え、同様に「１」を「２」に、「２」を「０」に入れ替える。例えば、指定部１１０から取得した実データに郵便番号のフィールドが含まれる場合、データ変更部１３０は、数字情報である郵便番号の各数字を入れ替え、さらに入替え後の郵便番号に基づいた県名および市区町村名を、置換え用マスタデータの住所として作成する。データ変更部１３０は、複数のフィールドにおける変更後のデータの組にそれぞれデータ識別番号を割り振り、置換え用マスタデータを作成する。
【００２７】
データ変更部１３０は、フィールド変更部１５０から取得した置換え対象データにおける１つのデータと、置換え用マスタデータにおける１つのデータとを関連付ける。データ変更部１３０は、置換え用マスタデータに割り振られたデータ識別番号に対応付けて、その置換え用マスタデータに関連付けた置換え対象データのリレーションキーをリレーションキー変更部１６０に出力する。データ変更部１３０は、置換え対象データにおけるそれぞれのデータ種別のデータを、このデータと関連付けられた置換え用マスタデータにおいてそれと対応するデータ種別のデータに置き換えることにより、テストデータを作成する。データ変更部１３０は、作成したテストデータを新データベースシステム２０に出力する。
【００２８】
リレーションキー変更部１６０は、複数のデータベースに含まれる同一のデータ種別のリレーションキーを、同じ規則で変更する。本実施形態において、リレーションキー変更部１６０は、置換え用マスタデータのデータ識別番号およびこれに対応付けた置換え対象データのリレーションキーを、データ変更部１３０から取得し、これらを格納する変更マップファイルを生成する。リレーションキー変更部１６０は、置換え対象データのうちで、変更マップファイルに格納されたリレーションキーと一致するリレーションキーを有する置換え対象データを選び出す。データ変更部１３０は、選び出した置換え対象データを、リレーションキー変更部１６０によって関連付けられた置換え用マスタデータで置き換えることにより、同一の規則に基づいてリレーションキーを変更してテストデータを作成する。すなわち、リレーションキー変更部１６０は、同一のリレーションキーを含む複数の置換え対象データに対して、１つの置換え用マスタデータを関連付けて、テストデータを作成する。これにより、置換え対象データが変更されても、同じリレーションキーを含むデータは、同一の置換え用マスタデータに基づいて置き換えることができ、複数のテストデータ間の整合性を保つことができる。
【００２９】
以上の構成により、テストデータ生成装置１００は、既データベースシステム１０の複数の実データ間で、それぞれの実データに含まれるフィールドのデータを置き換えることによりテストデータを作成する。よって、実データに秘匿性がある場合であっても、実データを置き換えたテストデータを作成するので、元の実データの秘匿性を保ちつつ、実データと同様のもしくはそれ以上の多様なテストデータを作成することができる。また、新データベースシステム２０が処理すべき可能性のある多様なデータに対応したテストデータを、複数データ間の整合性を保ちつつ、容易かつ迅速に作成することができる。
【００３０】
図２は、フォーマット格納部１４０のデータフォーマットの一例を示す。フォーマット格納部１４０は、複数のデータベースに含まれる、各フィールドのデータ種別を格納する。例えば、フォーマット格納部１４０は、データベースの１つであるＤＢ＿１の実データにおいて、第１のフィールドに対応付けてデータ種別「姓」、第２のフィールドに対応付けてデータ種別「名」、第３のフィールドに対応付けてデータ種別「年令」、第４のフィールドに対応付けてデータ種別「部店」、第５のフィールドに対応付けてデータ種別「口座番号」、第６のフィールドに対応付けて、そのフィールドに対応する実データのフィールドがない旨としてダミー記号「＊」、および第７のフィールドに対応付けてダミー記号「＊」を格納する。
【００３１】
これにより、フォーマット格納部１４０は、データベースごとにフィールドの構成が異なる実データにおいて、各フィールドのデータ種別を効率的に管理することができる。
【００３２】
図３は、テストデータ生成装置１００の動作の一例を示すフローチャートである。図４は、図３に示すフローチャートにおいて、実データを置き換えることにより作成されるテストデータの例を示す説明図である。指定部１１０は、既データベースシステム１０の実データのうち、テストデータとして使用する場合に秘匿性を守るべきデータを格納したフィールドを、変更すべきフィールドとして指定する（Ｓ１００）。指定部１１０は、既データシステム１０から実データを取得する（Ｓ１０２）。
【００３３】
図４に示す対象データ格納部１８が図２に示すＤＢ＿１である場合に、指定部１１０は、実データを変更すべきフィールドとして、第１、第２および第５フィールドを指定する。さらに図４に示す実施形態において、指定部１１０は、実データを変更するために用いる置換え用マスタデータを作成すべく、顧客マスタデータベース１２、住所マスタデータベース１４および法人マスタデータベース１６から顧客の「姓」、「名」、「住所」および「勤務地」の実データＤ１をそれぞれ取得する。
【００３４】
高頻度データ抽出部１２０は、指定部１１０により指定された複数のフィールドのうち、例えば電話番号または郵便番号など数字情報のフィールド以外のフィールドを選択する。高頻度データ抽出部１２０は、選択したフィールドに格納されたデータを、フィールド内での出現の頻度順に並べ替える。高頻度データ抽出部１２０は、選択したフィールドにおいて並べ替えたデータから、当該フィールドで出現の頻度が高い高頻度データを、所定個数分だけ抽出する（Ｓ１０４）。高頻度データ抽出部１２０は、抽出した所定個数分のデータを、フィールドに対応付けてデータ変更部１３０へ出力する。
【００３５】
図４に示す例において、高頻度データ抽出部１２０は、指定部１１０から実データを取得し、そのなかから、数字情報のフィールド以外のフィールドとして、「姓」および「名」のフィールドを選択する。高頻度データ抽出部１２０は、選択したフィールド「姓」に格納されたデータを、フィールド内での出現の頻度の高い順に、「松下」、「本田」、「田中」、…のように並べ替える。同様に高頻度データ抽出部１２０は、選択したフィールド「名」に格納されたデータも、出現の頻度の高い順に並べ替える。高頻度データ抽出部１２０は、たとえば並べ替えたデータが１０００個ある場合に、並べ替えたデータにおける出現の頻度の高い方から一例として１００個分の高頻度データを、「姓」および「名」のフィールドそれぞれについて抽出してもよい。図４においては、説明の簡略化のため、「姓」の高頻度データとして「松下」および「本田」の２個、および「名」の高頻度データとして「茂」および「一郎」の２個のデータが抽出された例を示す。
【００３６】
データ変更部１３０は、指定部１１０から取得した実データにおいて、高頻度データ抽出部１２０により高頻度データが抽出されたフィールドに格納されたデータを、抽出された所定個数の高頻度データから無作為に選び出したデータに変更する（Ｓ１０６）。また、データ変更部１３０は、指定部１１０から取得した実データにおいて、変更すべく指定された、数字情報のフィールドに格納されたデータに含まれる文字である数字をそれぞれ、予め定められた同一の規則に基づいて変更する（Ｓ１０８）。データ変更部１３０は、変更をすべく指定されたフィールドのデータを変更した実データのそれぞれにデータ識別番号を割り振り、置換え用マスタデータを作成する（Ｓ１１０）。
【００３７】
図４に示す例において、データ変更部１３０は、「姓」の高頻度データである「松下」および「本田」と、「名」の高頻度データである「茂」および「一郎」とを無作為に組み合わせ、「姓：松下、名：一郎」および「姓：本田、名：茂」のデータＤ２を作成する。また、データ変更部１３０は、数字情報のフィールドである「口座番号」において数字「１」を「３」に、「２」を「４」に入れ替える等の規則により、「口座番号」に格納されたデータ「１１１１１１」を「３３３３３３」に変更する。さらに、データ変更部１３０は、「住所」における番地も予め定められた規則に基づいて変更する。数字を予め定められた規則に基づいて変更することにより、変更の前後でデータの長さが保たれ、データの取扱いが容易になる。データ変更部１３０は、これらの「姓」、「名」、「住所」、「口座番号」および「勤務先」を無作為に組み合わせ、データ識別番号「００１」を割り振り、置換え用マスタデータＤ３として「姓：松下、名：一郎、住所：東京都新宿区神楽坂１丁目××、口座番号：３３３３３３、勤務先：○○製作所東京都千代田区」を作成する。置換え用マスタデータ格納部１７は、データ変更部１３０により作成された置換え用マスタデータＤ３を格納する。
【００３８】
フィールド変更部１５０は、指定部１１０から取得した実データにおける、指定された複数のそれぞれのフィールドに対応付けて、フォーマット格納部１４０に格納されるそれぞれのデータ種別を読み出す。フィールド変更部１５０は、保持するテストデータのデータ種別と一致する実データのデータ種別に対応付けられたフィールドを、テストデータにおけるそのデータ種別に対応付けられたフィールドに変更する（Ｓ１１２）。フィールド変更部１５０は、フィールドを変更した実データを、置換え対象データとしてデータ変更部１３０に出力する。
【００３９】
例えば、フィールド変更部１５０は、対象データ格納部１８（図２におけるＤＢ＿１）の実データにおいて、指定された第１のフィールドに対応付けてフォーマット格納部１４０に格納されるデータ種別「姓」を読み出す。同様にして、フィールド変更部１５０は、指定された第２、第４、および第５のフィールドに対応付けて、フォーマット格納部１４０にそれぞれ格納されるデータ種別「名」、「部店」、および「口座番号」を読み出す。フィールド変更部１５０は、テストデータのデータ種別として「姓」、「名」、「部店」、および「口座番号」を保持する。フィールド変更部１５０は、保持するテストデータのデータ種別と一致する実データのデータ種別「部店」に対応付けられたフィールドである第４のフィールドを、テストデータにおけるデータ種別「部店」に対応付けられたフィールドである第３のフィールドに変更する。同様にして、フィールド変更部１５０は、データ種別「姓」、「名」、および「口座番号」についても、実データのフィールドをテストデータのフィールドに変更して、対象データ格納部１８に格納されたデータに基づいた置換え対象データＤ４として「姓：鈴木、名：太郎、部店：０１０、口座番号：１１１１１１」を作成する。
【００４０】
データ変更部１３０は、フィールド変更部１５０から取得した置換え対象データにおける１つのデータと、作成した置換え用マスタデータにおける１つのデータとを関連付ける（Ｓ１１４）。データ変更部１３０は、置換え対象データにおけるそれぞれのデータ種別のデータを、このデータと関連付けられた置換え用マスタデータにおいてそれと対応するデータ種別のデータに置き換えることにより、テストデータを作成する。データ変更部１３０は、置換え用マスタデータに割り振られたデータ識別番号に対応付けて、その置換え用マスタデータに関連付けた置換え対象データのリレーションキーをリレーションキー変更部１６０に出力する。
【００４１】
例えば、データ変更部１３０は、フィールド変更部１５０から取得した置換え対象データＤ４「姓：鈴木、名：太郎、部店：０１０、口座番号：１１１１１１」と、作成した置換え用マスタデータＤ３「データ識別番号：００１、姓：松下、名：一郎、住所：東京都新宿区神楽坂１丁目××、口座番号：３３３３３３、勤務先：○○製作所東京都千代田区」とを関連付ける。データ変更部１３０は、置換え対象データＤ４のデータ種別「姓」のデータ「鈴木」を、関連付けた置換え用マスタデータＤ３のデータ種別「姓」のデータ「松下」に置き換える。同様にして、データ変更部１３０は、置換え対象置換え用テストデータＤ５として「姓：松下、名：一郎、部店：０１０、口座番号：３３３３３３」を作成する。データ変更部１３０は、置換え用マスタデータＤ３に割り振られたデータ識別番号「００１」に対応付けて、その置換え用マスタデータＤ３に関連付けた置換え対象データＤ４のリレーションキー部店「０１０」および口座番号「１１１１１１」をリレーションキー変更部１６０に出力する。
【００４２】
リレーションキー変更部１６０は、データ変更部１３０から取得した、置換え用マスタデータのデータ識別番号に対応付けた置換え対象データのリレーションキーを格納するデータベースを生成する。リレーションキー変更部１６０は、複数のデータベースからデータ変更部１３０により取得された置換え対象データのうちで、データ識別番号と対応付けられたリレーションキーと一致するリレーションキーを有する置換え対象データを選び出す。リレーションキー変更部１６０は、一致していたリレーションキーに対応づけて格納するデータ識別番号を割り振られた置換え用マスタデータと、選び出した置換え対象データとを関連付ける（Ｓ１１６）。データ変更部１３０は、リレーションキーが一致した置換え対象データを、リレーションキー変更部１６０によって関連付けられた置換え用マスタデータで置き換えることにより、同一の規則に基づいてリレーションキーを変更してテストデータを作成する（Ｓ１１８）。データ変更部１３０は、作成したテストデータを新データベースシステム２０に出力する（Ｓ１２０）。以上で本フローチャートは終了する。
【００４３】
例えば、リレーションキーが「口座番号」である場合に、リレーションキー変更部１３０は、置換え用マスタデータＤ３の「識別番号：００１」およびこれに対応付けて置換え対象データＤ４のリレーションキーとして「口座番号：１１１１１１」を格納する。さらに、リレーションキー変更部１３０は、複数のデータベースに格納された置換え対象データＤ４のうちで、「口座番号：１１１１１１」を有する置換え対象データＤ４を選び出す。上述の例において、リレーションキー変更部１６０は、選び出した置換え対象データＤ４のすべての口座番号を、置換え用マスタデータＤ３の識別番号「００１」における口座番号を参照することにより、同一の「口座番号：３３３３３３」に置き換えることによりテストデータＤ５を作成する。
【００４４】
以上により、テストデータ生成装置１００は、実データに秘匿性がある場合であっても、実データを置き換えたテストデータを作成するので、実データの秘匿性を保ちつつ、実データと同様のもしくはそれ以上の多様なテストデータを作成することができる。また、新データベースシステム２０が処理すべき可能性のある多様なデータに対応したテストデータを、複数データ間の整合性を保ちつつ、容易かつ迅速に作成することができる。
【００４５】
なお、テストデータ生成装置１００をコンピュータにより構成し、このコンピュータを上記の指定部１１０、高頻度データ抽出部１２０、データ変更部１３０、フォーマット格納部１４０、フィールド変更部１５０、および、リレーション変更部１６０として動作させるプログラムをインストールし、コンピュータにこれらの各部１１０から１６０の機能を発揮させる構成としてもよい。
【００４６】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【図１】テストデータ生成システム２００の機能構成を示すブロック図である。
【図２】フォーマット格納部１４０のデータフォーマットの一例である。
【図３】テストデータ生成装置１００の動作の一例を示すフローチャートである。
【図４】実データを置き換えることにより作成されるテストデータの例を示す説明図である。
【符号の説明】
１０  既データベースシステム
１２  顧客マスタデータベース
１４  住所マスタデータベース
１６  法人マスタデータベース
１７  置換えマスタデータ格納部
１８  対象データ格納部
２０  新データベースシステム
１００  テストデータ生成装置
１１０  指定部
１２０  高頻度データ抽出部
１３０  データ変更部
１４０  フォーマット格納部
１５０  フィールド変更部
１６０  リレーションキー変更部
２００  テストデータ生成システム
【図１】
2004326510.tif 000003
【図２】
2004326510.tif 000004
【図３】
2004326510.tif 000005
【図４】
2004326510.tif 000006