(57)【特許請求の範囲】
【請求項１】
文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、機密情報を含む本番データからテストデータを生成する制御手段とを備えたテストデータ生成システムであって、
前記制御手段は、
前記本番データを構成する文字の文字コードと文字種別を特定する手段、
前記文字種別の文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成する手段、
前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する手段、
前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったときには元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する手段、及び
前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する手段
を備えたことを特徴とするテストデータ生成システム。
【請求項２】
演算処理を行なわない文字の文字コードを登録した無変換文字データ記憶手段を更に備え、
前記制御手段は、本番データを構成する文字コードが前記無変換文字データ記憶手段に記録されている文字コードである場合には、前記新たな文字コードの生成対象から除外する手段を更に備えたことを特徴とする請求項１に記載のテストデータ生成システム。
【請求項３】
前記乱数は、文字毎に生成することを特徴とする請求項１又は２に記載のテストデータ生成システム。
【請求項４】
文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、制御手段とを用いて、機密情報を含む本番データからテストデータを生成する方法であって、
前記制御手段は、
前記本番データを構成する文字の文字コードと文字種別を特定する段階、
前記文字種別の文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成する段階、
前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する段階、
前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったときには元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する段階、及び
前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する段階
を実行することを特徴とするテストデータ生成方法。
【請求項５】
文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、制御手段とを用いて、機密情報を含む本番データからテストデータを生成するためのプログラムであって、
前記制御手段を、
前記本番データを構成する文字の文字コードと文字種別を特定する手段、
前記文字種別の文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成する手段、
前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する手段、
前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったときには元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する手段、及び
前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する手段
として機能させることを特徴とするテストデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報等を含む本番データから、テスト環境において用いるテストデータを生成するためのテストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムを新たに構築した場合や新しいプログラムを作成した場合、動作試験が行なわれる。この動作試験においては、コンピュータシステムに対して、処理対象となるテスト用データ（テストデータ）が投入されて実施される。特に、このようなコンピュータシステムの本番環境において大量のデータを処理対象としている場合には、テスト環境においても大量のテストデータを準備して動作試験を行なう必要がある。また、動作試験においては、できるだけ実際のデータ（本番データ）に近いデータを用いて動作試験を行なうことが望ましい。
【０００３】
しかしながら、本番データが個人情報等の機密情報を含む場合、この本番データをそのまま用いて動作試験を行なうことは、個人情報の保護の観点から好ましくない。そこで、本番データから個人情報をマスキングしたテストデータを作成する技術が検討されている（例えば、特許文献１参照）。この文献記載のテスト用データファイル作成装置においては、文字毎に乱数を発生し、この乱数に応じた文字を文字種毎の文字リストから取得する。このため、数字、記号、漢字、カナ等の字種を変更することなくデータを変換できるので、システム動作の正当性を正確に確認できる。
【特許文献１】特開２００６−２３６２２０号公報（図１、図２、図４及び図６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、大容量のテストデータを生成する場合、できるだけ多くのテストデータを生成する必要がある。このため、特許文献１に記載の技術のように、文字毎に発生させた乱数を用いて、それに対応する文字を文字リストから取得していたのでは、変換処理に長時間を要する。
【０００５】
本発明は、上述した問題に鑑みてなされ、その目的は、テスト環境において用いるテストデータを効率的に生成するためのテストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題点を解決するために、請求項１に記載の発明は、文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、機密情報を含む本番データからテストデータを生成する制御手段とを備えたテストデータ生成システムであって、前記制御手段は、前記本番データを構成する文字の文字コードと文字種別を特定する手段、前記文字種別の文
字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成する手段、前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する手段、前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったときには元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する手段、及び前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する手段を備えたことを要旨とする。
【０００７】
請求項２に記載の発明は、請求項１に記載のテストデータ生成システムにおいて、演算
処理を行なわない文字の文字コードを登録した無変換文字データ記憶手段を更に備え、前記制御手段は、本番データを構成する文字コードが前記無変換文字データ記憶手段に記録されている文字コードである場合には、前記新たな文字コードの生成対象から除外する手段を更に備えたことを要旨とする。
【０００８】
請求項３に記載の発明は、請求項１又は２に記載のテストデータ生成システムにおいて、前記乱数は、文字毎に生成することを要旨とする。
【０００９】
請求項４に記載の発明は、文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、制御手段とを用いて、機密情報を含む本番データからテストデータを生成する方法であって、前記制御手段は、前記本番データを構成する文字の文字コードと文字種別を特定する段階、前記文字種別の文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成する段階、前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する段階、前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったときには元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する段階、及び前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する段階を実行することを要旨とする。
【００１０】
請求項５に記載の発明は、文字コードに対応する文字種別を記録した文字コードデータ記憶手段と、制御手段とを用いて、機密情報を含む本番データからテストデータを生成するためのプログラムであって、前記制御手段を、前記本番データを構成する文字の文字コードと文字種別を特定する手段、前記文字種別の文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となる乱数を生成し、前記文字コードに対して前記乱数の加算又は減算のいずれかの演算を行なう第１の演算処理を実行して新たな第１の文字コードを生成する手段、前記第１の文字コードが、前記文字種別の文字コード範囲に含まれない場合には、前記第１の演算処理において加算を行なったとき
には元の文字コードに対して前記乱数の減算を行ない、前記第１の演算処理において減算を行なったときには元の文字コードに対して前記乱数の加算を行なう第２の演算処理を実行して新たな第２の文字コードを生成する手段、及び前記本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する手段として機能させることを要旨とする。
【００１１】
（作用）
請求項１，４又は５に記載の発明によれば、制御手段は、文字コードと乱数とを用いて第１の演算処理を実行して、新たな第１の文字コードを生成する。第１の文字コードが、元の文字の文字種別の文字コード範囲に含まれない場合には、制御手段は、乱数を用いて第２の演算処理を実行して新たな第２の文字コードを生成する。制御手段は、本番データを構成する文字コードを、新たに生成した文字コードに置換してテストデータを生成する。このため、文字を表示する文字コードに対して乱数を用いた演算処理を行なうので、本番データを利用しながら、個人情報等の機密情報をマスキングしたテストデータを効率的に生成することができる。また、第１の演算処理の結果、新たに得られた文字コードが同じ文字種別の文字コード範囲に含まれない場合には、第２の演算処理を行なって新たな文字コードを生成する。従って、同じ文字種別で異なる文字に変換することができる。このため、本番データに用いられている文字種別は、テストデータにおいても維持されるので、文字種別が共通するテストデータを生成することができる。
【００１２】
請求項２に記載の発明によれば、制御手段は、本番データを構成する文字コードが無変換文字データ記憶手段に記録されている文字コードである場合には、新たな文字コードの生成は行なわず、元の文字コードのデータを維持する。このため、変換する必要がない文字は、そのまま維持されるので、本番データに含まれる項目の特徴を残しながら、テストデータを生成することができる。
【００１３】
本発明によれば、第１及び第２の演算処理は、文字コードに対して乱数を加算又は減算する処理である。このため、効率的な演算処理によって、本番データからテストデータを生成することができる。
【発明の効果】
【００１４】
本発明によれば、テスト環境において用いるテストデータを効率的に生成することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を具体化した実施形態を図１〜図３に基づいて説明する。本実施形態においては、個人情報を含む本番データからテストデータを生成する。
図１に示すように、テストデータ生成システム１０は、制御手段としての制御部１１を備える。この制御部１１は、図示しないＣＰＵ、ＲＡＭ及びＲＯＭを有し、後述する処理（乱数を生成する段階、文字コードと文字種別を特定する段階、新たな文字コードを生成する段階、演算処理の対象から除外する段階及びテストデータを生成する段階等を含む処理）を行なう。そして、このためのテストデータ生成プログラムを実行することにより、この制御部１１は、乱数発生手段１３、文字種別特定手段１５、変換対象特定手段１６及び加減算処理手段１７として機能する。
【００１６】
乱数発生手段１３は、公知の乱数発生方法に従って、所定範囲内の乱数を発生させる。本実施形態では、文字種別に応じて乱数の生成方法を変更する。具体的には、文字種別において、利用可能な文字が設定された文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となるような乱数を生成する。
【００１７】
文字種別特定手段１５は、変換対象である文字コードの文字の種別（文字種別）を特定する。
変換対象特定手段１６は、マスキングを行なう変換対象（文字コード）を特定する。
加減算処理手段１７は、乱数発生手段１３によって生成された乱数を、文字コードに対して加算又は減算するスクランブル処理を行なう。
【００１８】
更に、制御部１１は、無変換文字データ記憶手段としての無変換文字データ記憶部２０及び文字コードデータ記憶手段としての文字コードデータ記憶部３０、変換カードデータ記憶部４０に接続されている。
【００１９】
無変換文字データ記憶部２０は、スクランブル処理において変換しない文字（無変換文字）を特定するための無変換文字データが記録されている。この無変換文字データは、テストデータの生成処理を実行する前に予め登録しておく。この無変換文字データは、無変換文字の文字コードに関するデータから構成されている。例えば、レコードに含まれる住所項目においては、「県」、「市」、「町」、「丁目」及び「番地」等が無変換文字となる。
【００２０】
文字コードデータ記憶部３０は、本番データに用いられている文字の文字種別の範囲を特定するための文字種別範囲テーブルが記録されている。この文字種別範囲テーブルは、テストデータの生成処理を実行する前に予め登録しておく。この文字種別範囲テーブルは、文字種別識別子に対して上限値及び下限値に関するデータを含んで構成される。
【００２１】
文字種別データ領域には、半角数字、全角文字、半角英数カナ等の文字種別を特定するための識別子に関するデータが記録される。
上限値及び下限値データ領域には、この文字種別に含まれる文字の文字コードの範囲（文字コード範囲）を決める上限値及び下限値に関するデータが記録される。
【００２２】
変換カードデータ記憶部４０には、本番データに含まれる文字コードの変換方法を特定するための変換カードが記録されている。この変換カードは、文字種別、変換開始位置、変換終了位置に関するデータを含んで構成される。
【００２３】
文字種別データ領域には、変換対象領域に含まれる文字の文字種別を特定するための識別子に関するデータが記録される。本実施形態では、この文字種別に応じて、乱数の発生方法を変える。
【００２４】
変換開始位置、変換終了位置データ領域には、本番データに含まれる各レコードにおいて変換対象となる領域の開始位置（開始カラム）、終了位置（終了カラム）を特定するためのデータが記録される。
【００２５】
更に、テストデータ生成システム１０は、本番データ記憶手段５０、入力手段６０及びテストデータ記憶手段７０に接続されている。
本番データ記憶手段５０には、機密情報を含んだ本番データが記録されている。本実施形態では、機密情報として、業務において実際に用いられる個人情報（氏名、住所及び電話番号等）を含む顧客情報が記録されている。そして、本番データは、各顧客情報が各々に記録された複数のレコードから構成されている。
【００２６】
入力手段６０は、テストデータ生成処理に用いる本番データを設定したり、テストデータ生成処理の開始指示を入力したりするための手段であり、具体的には、キーボードやポインティングデバイス等から構成される。
【００２７】
テストデータ記憶手段７０には、テストデータ生成処理によって、本番データから生成されたテストデータが記録される。このテストデータは、本番データと同じデータフォーマットで構成される。
【００２８】
次に、このシステムを用いたテストデータ生成処理の処理手順について、図２及び図３を用いて説明する。
まず、テストデータ生成システム１０の制御部１１は、本番データ及び変換カードの取得処理を実行する（ステップＳ１−１）。ここでは、まず、入力手段６０を用いて、テストデータ生成システム１０に対して、テストデータ生成処理対象の本番データや、使用する変換カードの指定情報を含めた開始指示を入力する。
【００２９】
開始指示を受けたテストデータ生成システム１０の制御部１１は、本番データ記憶手段５０から、入力手段６０において指定された本番データを取得する。
更に、制御部１１は、変換カードデータ記憶部４０から、入力手段６０において指定された変換カードを取得する。そして、以下の処理においては、本番データに含まれる各レコード（処理対象レコード）を順次、特定し、制御部１１のメモリに仮記憶する。そして、この処理対象レコードに対して、順次、特定した変換カード（処理対象変換カード）毎に、以下のマスキングを行なう。
【００３０】
まず、テストデータ生成システム１０の制御部１１は、変換対象カラムの特定処理を実行する（ステップＳ１−２）。具体的には、まず、制御部１１の文字種別特定手段１５は、処理対象変換カードに記録された文字種別を用いて変換対象の文字種別を特定する。次に、制御部１１の変換対象特定手段１６は、処理対象変換カードに記録された変換開始位置、変換終了位置を用いて変換対象カラムを特定する。
【００３１】
次に、テストデータ生成システム１０の制御部１１は、変換対象の文字コードの特定処
理を実行する（ステップＳ１−３）。具体的には、制御部１１の変換対象特定手段１６は、この変換対象カラムに含まれる文字コードを特定する。次に、変換対象特定手段１６は、変換対象カラムに含まれる文字コードと、無変換文字データ記憶部２０に記憶されている無変換文字データの文字コードとを比較する。そして、変換対象特定手段１６は、無変換文字データ記憶部２０に記憶されている文字コードを、新たな文字コードの生成対象から除外し、残りの文字コードを変換対象として特定する。
【００３２】
例えば、無変換文字データとして「町」、「丁目」及び「番地」についての文字コードが無変換文字データ記憶部２０に記憶されている場合を想定する。この場合、図２に示すように、住所データが「神田錦町２丁目３番地」である場合には、この住所データの文字のうち、無変換文字２１を除いた「神」、「田」及び「錦」が変換対象として特定される。
【００３３】
そして、テストデータ生成システム１０の制御部１１は、乱数の生成処理を実行する（ステップＳ１−４）。具体的には、制御部１１の乱数発生手段１３は、文字種別特定手段１５から、変換対象の文字種別を取得し、この文字種別に応じて、スクランブル処理に用いる乱数を生成する。
【００３４】
次に、テストデータ生成システム１０の制御部１１は、変換対象として特定した文字コードに対して、乱数を用いた加算処理（第１の演算処理）を実行する（ステップＳ１−５）。具体的には、制御部１１の加減算処理手段１７は、変換対象として特定した文字コードに対して、生成した乱数を加算した新たな文字コード（第１の文字コード）を算出する。そして、加減算処理手段１７は、算出した文字コードを制御部１１のメモリに仮記憶する。
【００３５】
例えば、図２に示すように「神」、「田」及び「錦」の漢字の文字コードがそれぞれ「３Ｆ４０」、「４５４４」、「３６５３」の場合、加減算処理手段１７は、この文字コードに対して、生成した乱数を加算する。図２において、生成した乱数が「２２」の場合、文字種別特定手段１５は、各文字コードに対応した「３Ｆ６２」、「４５６６」、「３６７５」の文字コードとなる。これらの文字コードに対応する文字は、それぞれ「垂」、「宕」及び「九」となる。
【００３６】
次に、テストデータ生成システム１０の制御部１１は、算出した文字コードの文字の文字種別の判定処理を実行する（ステップＳ１−６）。ここでは、算出した文字コードが、元の文字の文字種別の文字コード範囲に含まれるかどうかを判定する。具体的には、制御部１１の文字種別特定手段１５は、変換対象の文字種別について、文字コードデータ記憶部３０の文字種別範囲テーブルに記録された上限値及び下限値を取得する。そして、文字種別特定手段１５は、上限値及び下限値によって特定される文字コード範囲と、メモリに仮記憶された文字コードとを比較する。
【００３７】
ここで、メモリに仮記憶された文字コードの中で、文字コード範囲を逸脱することにより、同じ文字種別でなくなっている文字コードが含まれる場合（ステップＳ１−６において「ＮＯ」の場合）、テストデータ生成システム１０の制御部１１は、減算処理（第２の演算処理）を実行する（ステップＳ１−７）。具体的には、制御部１１の変換対象特定手段１６は、文字コード範囲から逸脱している文字コードを特定する。そして、制御部１１の加減算処理手段１７は、この文字コードから、ステップＳ１−４において生成した乱数を減算した新たな文字コード（第２の文字コード）を算出する。そして、加減算処理手段１７は、制御部１１のメモリに仮記憶されている第１の文字コードを、新たに算出した第２の文字コードに置換する。
【００３８】
例えば、「瑤」の文字コードは「７４２４」であり、これに「３」以上の乱数を加算した場合、文字コード範囲を逸脱する。この場合には、元の文字コードから乱数を減算して新たな文字コードを生成する。
【００３９】
そして、算出したすべての第１の文字コードが文字コード範囲を逸脱していない場合（ステップＳ１−６において「ＹＥＳ」の場合）又は減算処理を実行した場合（ステップＳ１−７）には、テストデータ生成システム１０の制御部１１は、文字コードの置換処理を実行する（ステップＳ１−８）。具体的には、制御部１１の加減算処理手段１７は、新たに生成した文字コードを、処理対象レコードにおける変換対象カラムの文字コードと置換する。そして、この処理対象レコードについて、次の変換カードを用いてスクランブル処理を行なう。
【００４０】
そして、この処理対象レコードについて、すべての変換カードを適用した場合、テストデータ生成システム１０の制御部１１は、テストデータの記録処理を実行する（ステップＳ１−９）。具体的には、制御部１１の変換対象特定手段１６は、新たな文字コードに変換されてメモリに仮記憶されている処理対象レコードをテストデータ記憶手段７０に記録する。
【００４１】
更に、本番データに含まれるすべてのレコードについて、上述した処理を繰り返して実行する。以上により、テストデータ生成処理を終了する。
【００４２】
本実施形態によれば、以下のような効果を得ることができる。
・  本実施形態では、テストデータ生成システム１０の制御部１１は、変換対象として特定した文字コードに対して、乱数を用いた加算処理（第１の演算処理）を実行する（ステップＳ１−５）。これにより、本番データに含まれる文字コードに対して、乱数を用いた演算処理を行なうことにより、本番データをスクランブル処理を行ない、機密情報をマスキングすることができる。
【００４３】
更に、メモリに仮記憶された文字コードの中で、文字コード範囲を逸脱している場合（ステップＳ１−６において「ＮＯ」の場合）、テストデータ生成システム１０の制御部１１は、減算処理（第２の演算処理）を実行する（ステップＳ１−７）。このように文字コード範囲を逸脱している場合、新たに算出した文字コードによって表わされる文字の文字種別は、本番データに含まれ文字の文字種別とは異なることになる。この場合には、減算処理によって新たな文字コードを算出する。これにより、同じ文字種別により個人情報等の機密情報をマスキングしたテストデータを生成することができる。従って、異なる文字種別が混ざることがなく、例えば、住所の項目に含まれる文字は住所らしく、電話番号の項目に含まれる文字は電話番号らしく変換することができる。
【００４４】
・  本実施形態では、テストデータ生成システム１０の制御部１１は、乱数の生成処理を実行する（ステップＳ１−４）。具体的には、制御部１１の乱数発生手段１３は、処理対象変換カードに記録された文字種別に応じて、スクランブル処理に用いる乱数を生成する。この乱数発生手段１３は、文字種別によって決定される文字コードの範囲において、最大文字コードと最小文字コードの差分の半分以下となるような乱数を生成する。これにより、乱数の加算処理により文字コード範囲を逸脱している場合、同じ乱数を用いた減算処理を実行することにより、同じ文字種別の文字コード範囲に収束させることができる。従って、簡易な２回の演算処理により同じ文字種別の文字コードを取得することができる。
【００４５】
・  本実施形態では、テストデータ生成システム１０の制御部１１は、変換対象の文字コードの特定処理を実行する（ステップＳ１−３）。具体的には、制御部１１の変換対象
特定手段１６は、変換対象範囲に含まれる文字コードと、無変換文字データ記憶部２０に記憶されている無変換文字データの文字コードとを比較する。そして、無変換文字データ記憶部２０に記憶されていない文字コードの文字を変換対象として特定する。これにより、所定の文字コードについては、加算処理や減算処理の対象とならず、マスキングが行なわれない。従って、例えば、各項目（例えば、住所）には、その項目に特徴的な文字（住所の場合には「県」や「市」、「丁目」）が含まれる。このような特徴的な文字を無変換文字として残すことにより、その項目を想起させるような（例えば、住所は住所を想起させるような）テストデータを生成することができる。更に、演算対象の文字コードを減らすことにより演算負荷を軽減することができる。
【００４６】
・  本実施形態では、変換カードデータ記憶部４０には、変換対象の範囲を特定するための変換カードが記録されている。この変換カードには、文字種別、変換開始位置、変換終了位置に関するデータが記録される。そして、テストデータ生成システム１０の制御部１１は、変換対象カラムの特定処理を実行する（ステップＳ１−２）。これにより、使用する変換カードを特定することにより、各レコードにおいてマスキングを行なうカラムを任意に指定することができる。そして、変換カード毎に乱数の生成を行なうので、変換対象領域を細かく分けた変換カードを指定した場合には、マスキングの強度を制御することができる。
【００４７】
また、上記実施形態は、以下のように変更してもよい。
○  上記実施形態において、制御部１１の変換対象特定手段１６は、処理対象変換カードに記録された変換開始位置、変換終了位置に関するデータを取得し、変換対象カラムを特定する。この変換対象カラムについて、テストデータ生成システム１０の制御部１１は、乱数の生成処理を実行する（ステップＳ１−４）。ここで、１つの乱数を利用する範囲はこれに限定されるものではなく、例えば、文字毎に乱数を生成するように構成することも可能である。
【００４８】
○  上記実施形態において、制御部１１は、第１の演算処理として加算処理を行ない、第２の演算処理として減算処理を行なった。第１及び第２の演算処理は、これらに限定されるものではなく、例えば、第１の演算処理を減算処理とし、第２の演算処理を加算処理としてもよい。更に、加減算だけでなく、乗算や除算などの演算処理を行なうように構成してもよい。
【００４９】
また、第２の演算処理については、同じ文字種別の範囲に収まるように補正できるものであればよい。第２の演算処理において、例えば、制御部１１は、種別毎に設定された種別文字コード範囲の中間値を取得し、乱数を中間値で除算した余りを用いて加算するようにしてもよい。
更に、第２の演算処理に用いる文字コードは、元の文字コードだけでなく、第１の演算処理によって特定した文字コードに対して、別の乱数を適用することも可能である。
【００５０】
○  上記実施形態においては、文字コードデータ記憶部３０は、文字種別範囲データと文字コードに関するデータとが記録されている。ここで、メインフレーム等のコンピュータシステムのベンダ毎に、文字コード及びこの文字コードに対応する文字種別範囲データを複数記憶させてもよい。具体的には、ベンダを特定するベンダ識別子毎の文字コードテーブルを文字コードデータ記憶部３０に記憶する。そして、スクランブル処理を実行する場合には、制御部１１は、入力手段６０を介して、文字コードを使用するコンピュータシステムのベンダを特定するベンダ識別子を取得する。制御部１１は、取得したベンダ識別子に関連付けられた文字種別範囲テーブルを文字コードデータ記憶部３０から取得し、この文字種別範囲テーブルを用いて、文字コードの種別を特定する。これにより、ベンダ毎の文字コードを用いてスクランブル処理を行なうことができる。
【００５１】
○  上記実施形態においては、テストデータ生成システム１０の制御部１１は、変換カードデータ記憶部４０に記録されている変換カードを用いて、変換対象カラムの特定処理を実行する（ステップＳ１−２）。更に、算出した文字コードの文字の文字種別の判断処理（ステップＳ１−６）においては、文字種別特定手段１５は、変換カードの文字種別について、文字コードデータ記憶部３０の文字種別範囲テーブルにおいて上限値及び下限値を取得して判断する。これに代えて、制御部１１の文字種別特定手段１５は、各レコードに記録された文字コードを用いて文字種別を特定して、同じ文字種別になるように文字コード範囲を決定するようにしてもよい。
【００５２】
○  上記実施形態においては、変換カードデータ記憶部４０の変換カードが記録されている変換開始位置、変換終了位置を用いて変換対象領域を特定する。これに代えて、１レコードを複数の要素データ（フォーマットレコード）から構成し、各フォーマットレコードにおいて使用する変換カードを決定するようにしてもよい。この場合には、レコードを構成する各フォーマットレコードにレコード識別子を設定しておく。更に、変換カードにも、この変換カードを適用するレコード識別子を登録しておく。そして、制御部１１の変換対象特定手段１６は、変換カードに登録されたレコード識別子が設定されたフォーマットレコードに対して、この変換カードを適用してスクランブル処理を行なう。これにより、各フォーマットレコードに記録された内容や属性に応じて、変換カードにおいて設定されたスクランブル処理を行なうことができる。
【図面の簡単な説明】
【００５３】
【図１】実施形態におけるテストデータ生成システムの概略図。
【図２】本実施形態におけるテストデータ生成処理の変換例の説明図。
【図３】本実施形態におけるテストデータ生成処理の処理手順を示す流れ図。
【符号の説明】
【００５４】
１０…テストデータ生成システム、１１…制御手段としての制御部、１３…乱数発生手段、１５…文字種別特定手段、１６…変換対象特定手段、１７…加減算処理手段、２０…無変換文字データ記憶手段としての無変換文字データ記憶部、２１…無変換文字、３０…文字コードデータ記憶手段としての文字コードデータ記憶部、５０…本番データ記憶手段、６０…入力手段、７０…テストデータ記憶手段。
【図１】
0004575416.tif 000002
【図２】
0004575416.tif 000003
【図３】
0004575416.tif 000004