(57)【特許請求の範囲】
【請求項１】
文字列からなるテストデータを自動的に生成する方法であって、コンピュータが、
シグネチャーを受け取るステップであって、前記シグネチャーは、生成する少なくとも１つの文字列に埋め込まれる、前記受け取るステップと、
前記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定するステップと、
前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列を構成する少なくとも１つの文字を、前記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成するステップと
を実行することを含む、前記方法。
【請求項２】
前記少なくとも１つの文字を前記文字表中から選択するステップが、
前記決定した総和になるように、前記文字列中の各文字固有の前記属性値の組み合わせパターンを少なくとも１つ決定するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの文字を前記文字表中から選択するステップが、
前記各文字固有の前記属性値の組み合わせパターン毎に、前記文字列を構成する少なくとも１つの文字を前記文字表中から選択するステップ
を含む、請求項２に記載の方法。
【請求項４】
前記コンピュータが、
前記シグネチャーを複数の要素に分割するステップ
を実行することをさらに含む、請求項１に記載の方法。
【請求項５】
前記テストデータが複数の項目を持つデータであり、
前記分割するステップが、
前記複数の要素それぞれを前記複数の項目それぞれに関連付けるステップ、又は
前記複数の要素それぞれを項目中の語それぞれに関連付けるステップ、
をさらに含む、請求項４に記載の方法。
【請求項６】
前記シグネチャーを複数の要素に分割するステップが、
前記シグネチャーを１桁の数字に分割するステップであって、当該分割された１桁の数字が前記シグネチャーの各要素を構成する、前記分割するステップ
を含む、請求項４に記載の方法。
【請求項７】
前記属性値及び前記文字表が下記組み合わせパターンのいずれかである、請求項１に記載の方法：
前記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
前記文字表が、前記母音と前記子音とを記述した表である；又は、
前記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり、且つ、
前記文字表が、前記画数と当該画数に関連付けられた前記文字を記述した表である、
請求項１に記載の方法。
【請求項８】
前記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
前記文字表が、前記母音と前記子音とを記述した表である場合において、
前記属性値の総和を決定するステップが、
前記シグネチャーの要素毎に関連付けられる文字列中の母音であることを示す値の総和を決定するステップ
を含み、
前記少なくとも１つの文字を前記文字表中から選択するステップが、
前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列中の母音文字と子音文字との組み合わせパターンを少なくとも１つ決定するステップ
をさらに含む、請求項７に記載の方法。
【請求項９】
前記少なくとも１つの文字を前記文字表中から選択するステップが、
母音文字と子音文字との前記組み合わせパターン毎に、前記文字列を構成する文字を前記文字表中から選択するステップ
を含む、請求項８に記載の方法。
【請求項１０】
前記母音文字と子音文字との前記組み合わせパターンが、
母音文字が子音文字の直後にあること；
母音文字が子音文字間にあること；
母音文字が子音文字の直前にあること；
母音文字が語頭にあること；
母音文字が語尾にあること；又は、
母音文字が他の母音文字の直後にあること
のいずれか一つ又はそれらの組み合わせである、請求項８に記載の方法。
【請求項１１】
前記母音文字と子音文字との前記組み合わせパターンが、発音可能な組み合わせである、請求項８に記載の方法。
【請求項１２】
前記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり、且つ、
前記文字表が、前記画数と当該画数に関連付けられた前記文字を記述した表である場合において、
前記属性値の総和を決定するステップが、
前記シグネチャーの要素毎に関連付けられる文字列中の各文字の画数の総和を決定するステップ
を含み、
前記選択するステップが、
前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列中の各文字の画数の組み合わせパターンを少なくとも１つ決定するステップ
を含む、請求項７に記載の方法。
【請求項１３】
前記少なくとも１つの文字を前記文字表中から選択するステップが、
前記各文字の前記画数の組み合わせパターン毎に、前記文字列を構成する少なくとも１つの文字を前記文字表中から選択するステップ
を含む、請求項１２に記載の方法。
【請求項１４】
前記テストデータを生成するステップが、
前記シグネチャーの要素が複数ある場合に、第１の要素に関連付けられた第１の文字列と第２の要素に関連付けられた第２の文字列との間に、当該第１及び第２の文字列を構成する文字と異なる種類である少なくとも１つの文字をデリミッタとして挿入するステップ
をさらに含む、請求項１に記載の方法。
【請求項１５】
前記少なくとも１つの文字を前記文字表中から選択するステップが、
前記組み合わせパターンを、乱数を発生させて又はハッシュ値を計算して少なくとも１つ決定するステップ、及び／又は
前記少なくとも１つの文字を、生成する文字列毎に乱数を発生させて又はハッシュ値を計算して前記文字表中から選択するステップ
を含む、請求項１に記載の方法。
【請求項１６】
文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法であって、コンピュータが、
複数の項目を持つテストデータを受信するステップと、
マッピング情報に基づいて、前記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求めるステップであって、前記マッピング情報は、項目と当該項目に関連付けられた前記属性値の総和とのマッピング情報を含む、前記求めるステップと、
前記総和に基づいて、前記テストデータのシグネチャーを識別するステップと
を実行することを含む、前記方法。
【請求項１７】
文字列からなるテストデータを自動的に生成するコンピュータであって、
シグネチャーを受け取るシグネチャー受け取り手段であって、前記シグネチャーは、生成する少なくとも１つの文字列に埋め込まれる、前記受け取り手段と、
前記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する総和決定手段と、
前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列を構成する少なくとも１つの文字を、前記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する文字選択手段と
を備えている、前記コンピュータ。
【請求項１８】
文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであって、
複数の項目を持つテストデータを受信するテストデータ受信手段と、
マッピング情報に基づいて、前記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める解析手段であって、前記マッピング情報は、項目と当該項目に関連付けられた前記属性値の総和とのマッピング情報を含む、前記解析手段と、
前記総和に基づいて、前記テストデータのシグネチャーを識別するシグネチャー識別手段と、
を備えている、前記コンピュータ。
【請求項１９】
文字列からなるテストデータを自動的に生成するコンピュータ・プログラムであって、コンピュータに、請求項１〜１５のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【請求項２０】
文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータ・プログラムであって、コンピュータに、請求項１６に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストデータを自動的に生成する技法に関する。また、本発明は、当該テストデータ中に埋め込まれたシグネチャーを識別する技法に関する。
【背景技術】
【０００２】
テストデータ（テスト用文字列データともいう）とは、例えばシステムが正常に稼動するかどうか又はシステムが負荷に耐性可能であるかどうかをテストするための、実データに代わるデータである。テストデータは例えば、システム開発におけるサブシステムの単体テスト・モジュールの結合テスト若しくは全体のシステムテスト、又は、ウェブ・アプリケーションが実運用に耐えうるかどうかの耐性テストにおいて使用されうる。
【０００３】
テストデータとして、例えば実データ（本番データ）をそのまま使用することも考えられる。しかしながら、実データが顧客情報や機密情報を含む場合もあることから、当該実データを使用することによって情報漏洩等のリスクも懸念される。
【０００４】
テストデータを自動的に生成する従来技術の方法は種々知られている。当該従来技術において、実データに代わるテストデータを自動的に生成する為に、以下の方法が用いられている：
（１）特定の文字列を実データに付加してテストデータとする。例えば、特定の文字列「TEST_」を実データ「山田」に付加した「TEST_山田」である。
（２）同じ文字列を全ての箇所において使用してテストデータとする。例えば、「XXXXX」である。
（３）規則性のない文字列をランダムに発生してテストデータとする。例えば、「fkwLkxP」である。
（４）テストデータで使用する文字列を予め記述したルックアップ表から文字列を選択して、テストデータとする。例えば、「斉藤」、「鈴木」、「佐藤」である。
【０００５】
下記特許文献１はデータ作成処理対象として指定された電子文書中の文字列を他の文字列に変換するテストを行うためのテスト用マスキングデータ生成装置に関する発明であり（請求項１）、当該テスト用マスキングデータ生成装置は、文字列変換用デーブルとして、文字変換候補を乱数でソートする前後の対応関係を保持する変換前−変換後対応テーブルを用いて、前記文字列を変換するマスキング処理部を有することを特徴とする（請求項１）。
【０００６】
下記特許文献２は手書署名認証装置に関する発明であり（請求項１）、手書き入力された署名情報の情報量として署名情報の画数を用いることを特徴とする（請求項３）。
【０００７】
下記特許文献３は電子署名装置に関する発明であり（請求項１）、当該電子署名装置は電子署名を行うべきデーターからハッシュ値を生成するハッシュ値生成手段を備えていることを記載する（請求項１）。
【０００８】
下記特許文献４は句読点が全角文字と半角文字＋半角空白とによって構成された電子文書の埋込情報の符号化方法に関する発明であり（請求項１）、当該符号化方法は、埋込情報をバイナリデータに変換し、変換したバイナリデータの符号を、全角文字と半角文字＋半角空白とで構成される句読点に割り当て、割り当てた符号を電子文書に埋め込むことを特徴とすることを記載する（請求項１）。
【０００９】
下記特許文献５は電子メール機能を有するコンピュータに関する発明であり（段落０００１）、当該コンピュータは、差出人を特定可能とする画像情報を含むシンボルを電子メールの署名情報の中に組み込んで送信する送信手段を備えたことを記載する（請求項１）。
【００１０】
下記特許文献６は医用レポートシステムに関する発明であり（請求項１）、当該医用レポートシステムは、所定のレポートに関するレポート情報を入力するレポート情報入力手段と、前記所定のレポートに関して複数の署名情報を入力する署名情報入力手段と、前記レポート情報入力手段によって入力されたレポート情報を前記署名情報入力手段によって入力された署名情報と関連付けて管理する管理手段とを備えたことを特徴とすることを記載する（請求項１）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１１−２０９９４４号公報
【特許文献２】特開２００１−１５５１６２号公報
【特許文献３】特開２００２−２５８７４５号公報
【特許文献４】特開平１１−２８８２１６号公報
【特許文献５】特開２００１−１２５８４６号公報
【特許文献６】特開２００１−１２５９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、テストデータを自動的に生成する際に生じる以下の課題を解決することを目的とする。
【００１３】
（１）テストデータを使用するユーザは、当該テストデータが明らかにテストデータとして生成されたものであることを確認できるようにしたいという場合がある。テストデータの中には、テストデータとして生成されたものであることを確認できない場合がある。従って、当該データに実データが紛れていても気付かない。また、特定の文字列を実データに付加してテストデータとする方法では、データが実データと異なる性質になる場合がある。例えば、実データのフィールドの型が漢字である場合に、当該実データ（漢字である）に特定の文字列「TEST_」（半角文字である）を付加してテストデータとすると、当該フィールドに半角文字が入ってしまう。従って、当該フィールドに半角文字が混入し、型が崩れてしまう。
【００１４】
（２）生成したテストデータ自体にメタ情報を持たせたいという要望がある。例えば、テストデータに特徴的なシグネチャー（署名）を持たせ、当該テストデータそのものから、シグネチャーを取り出せるようにしたいという要望がある。また、テストデータ生成ツールや当該生成ツールから生成したテストデータが不正に使用されたときに容易に当該不正を認識できるようにしたいという要望がある。
【００１５】
（３）データの文字コード（codepage）が変更された場合であっても、テストデータに関連付けられたシグネチャーが失われないようにしたいという要望がある。例えば、文字コード、半角若しくは全角、又は書体若しくはフォントの違いなどがあっても、シグネチャーを認識したい場合がある。
【００１６】
（４）テストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せるようにしたいという要望がある。例えば、印刷されたテストデータや、ディスプレイ画面に表示されたテストデータからも、例えば肉眼によってシグネチャーを確認したい場合がある。
【００１７】
（５）テストデータが複数の項目（例えば、データベース・ソフトウェアの項目、表計算ソフトウェアのセル、各種アプリケーション・ソフトウェアのテンプレート中の項目）からなるデータである場合に、どの項目にも同じシグネチャーを持たせたいという要望がある。例えば、どの項目にも同じシグネチャーを持たせることによって、データの一部分だけを抜き出しても、シグネチャーを確認できるようにしたいという要望がある。
【００１８】
（６）生成したテストデータのバリエーションが少ない又は偏っている為に、バリエーションを増やしたい又は偏りをなくしたいという要望がある。
【００１９】
（７）生成したテストデータ自体が、認識可能な固有の特徴を有しているようにしたいという要望がある。
【課題を解決するための手段】
【００２０】
本発明は、文字列からなるテストデータを自動的に生成する技法を提供する。当該技法は、上記テストデータを自動的に生成する方法、並びに、そのコンピュータ、コンピュータ・プログラム及びコンピュータ・プログラム製品を包含しうる。
【００２１】
本発明は、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する技法を提供する。当該技法は、上記テストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、そのコンピュータ、コンピュータ・プログラム及びコンピュータ・プログラム製品を包含しうる。
【００２２】
本発明に従う第１の態様において、文字列からなるテストデータを自動的に生成する上記方法は、
生成する少なくとも１つの文字列に埋め込むシグネチャーを受け取るステップと、
上記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定するステップと、
上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも１つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成するステップ
を含む。
【００２３】
本発明に従う第２の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する上記方法は、
複数の項目を持つテストデータを受信するステップと、
マッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求めるステップであって、上記マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む、上記求めるステップと、
上記総和に基づいて、上記テストデータのシグネチャーを識別するステップと
を含む。
【００２４】
本発明に従う第３の態様において、文字列からなるテストデータを自動的に生成する上記コンピュータは、
生成する少なくとも１つの文字列に埋め込むシグネチャーを受け取るシグネチャー受け取り手段と、
上記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する総和決定手段と、
上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも１つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する文字選択手段と
を備えている。
【００２５】
本発明の一つの実施態様において、上記文字選択手段は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを少なくとも１つ決定しうる。
【００２６】
本発明の一つの実施態様において、上記文字選択手段は、上記各文字固有の上記属性値の組み合わせパターン毎に、上記文字列を構成する少なくとも１つの文字を上記文字表中から選択しうる。
【００２７】
本発明の一つの実施態様において、上記コンピュータは、上記シグネチャーを複数の要素に分割するシグネチャー分割手段をさらに備えうる。当該分割された各要素が上記シグネチャーの各要素を構成する。
【００２８】
本発明の一つの実施態様において、上記分割手段が、上記シグネチャーを１桁の数字に分割しうる。当該分割された１桁の数字が上記シグネチャーの各要素を構成しうる。
【００２９】
本発明の一つの実施態様において、上記コンピュータは、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを上記複数の項目それぞれに関連付けるマッピング情報生成手段をさらに備えうる。代替的には、上記マッピング情報生成手段が、上記複数の要素それぞれを項目中の語それぞれに関連付けうる。当該語は、意味のある語又は意味のない語のいずれであってもよい。
【００３０】
本発明の一つの実施態様において、上記文字選択手段は、上記シグネチャーの要素が複数ある場合に、第１の要素に関連付けられた第１の文字列と第２の要素に関連付けられた第２の文字列との間に、当該第１及び第２の文字列を構成する文字と異なる種類である少なくとも１つの文字をデリミッタとして挿入しうる。
【００３１】
本発明の一つの実施態様において、上記文字選択手段は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを、乱数を発生させて又はハッシュ値を計算して少なくとも１つ決定しうる。
【００３２】
本発明の一つの実施態様において、上記文字選択手段は、上記少なくとも１つの文字を、生成する文字列毎に乱数を発生させて又はハッシュ値を計算して上記文字表中から選択しうる。
【００３３】
本発明の一つの実施態様において、上記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
上記文字表が、上記母音と上記子音とを記述した表である場合に、
上記総和決定手段は、上記シグネチャーの要素毎に関連付けられる文字列中の母音であることを示す値の総和を決定し、且つ、
上記文字選択手段は、上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列中の母音文字と子音文字との組み合わせパターンを少なくとも１つ決定しうる。また、上記文字選択手段は、母音文字と子音文字との上記組み合わせパターン毎に、上記文字列を構成する文字を上記文字表中から選択しうる。
【００３４】
本発明の一つの実施態様において、上記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり且つ上記文字表が、上記画数と当該画数に関連付けられた上記文字を記述した表である場合に、
上記総和決定手段は、上記シグネチャーの要素毎に関連付けられる文字列中の各文字の画数の総和を決定し、且つ、
上記文字選択手段は、上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列中の各文字の画数の組み合わせパターンを少なくとも１つ決定しうる。また、上記文字選択手段は、上記各文字の上記画数の組み合わせパターン毎に、上記文字列を構成する少なくとも１つの文字を上記文字表中から選択しうる。
【００３５】
本発明に従う第４の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する上記コンピュータは、
複数の項目を持つテストデータを受信するテストデータ受信手段と、
マッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める解析手段であって、上記マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む、上記解析手段と、
上記総和に基づいて、上記テストデータのシグネチャーを識別するシグネチャー識別手段と、
を備えている。
【００３６】
本発明に従う第５の態様において、文字列からなるテストデータを自動的に生成するコンピュータ・プログラム又はコンピュータ・プログラム製品は、コンピュータに、上記第１の態様に記載の方法の各ステップを実行させる。
【００３７】
本発明に従う第６の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータ・プログラム又はコンピュータ・プログラム製品は、コンピュータに、上記第２の態様に記載の方法の各ステップを実行させる。
【００３８】
本発明の実施態様に従うコンピュータ・プログラムはそれぞれ、一つ又は複数のフレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ＢＤ、ハードディスク装置、ＵＳＢに接続可能なメモリ媒体、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。当該コンピュータ・プログラムは、上記記録媒体への格納のために、通信回線で接続する他のコンピュータ、例えばサーバ・コンピュータからダウンロードしたり、又は他の記録媒体から複製したりすることができる。また、本発明の実施態様に従うコンピュータ・プログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。また、様々な形態で、本発明の実施態様に従うコンピュータ・プログラム製品を提供することも勿論可能であることにも留意されたい。本発明の実施態様に従うコンピュータ・プログラム製品は、例えば、上記コンピュータ・プログラムを記録した記憶媒体、又は、上記コンピュータ・プログラムを伝送する伝送媒体を包含しうる。
【００３９】
本発明の上記概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーション又はサブコンビネーションもまた、本発明となりうることに留意すべきである。
【００４０】
本発明の実施態様において使用されるコンピュータの各ハードウェア構成要素を、複数のマシンと組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【００４１】
また、本発明は、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアとの組み合わせによる実行において、上記コンピュータ・プログラムのインストールされたコンピュータにおける実行が典型的な例として挙げられる。かかる場合、当該コンピュータ・プログラムが当該コンピュータのメモリにロードされて実行されることにより、当該コンピュータ・プログラムは、当該コンピュータを制御し、本発明にかかる処理を実行させる。当該コンピュータ・プログラムは、任意の言語、コード、又は、表記によって表現可能な命令群から構成されうる。そのような命令群は、当該コンピュータが特定の機能を直接的に、又は、１．他の言語、コード若しくは表記への変換及び、２．他の媒体への複製、のいずれか一方若しくは双方が行われた後に、本発明の実施態様に従う処理を実行することを可能にするものである。
【発明の効果】
【００４２】
テストデータを使用するユーザは、本発明の実施態様に従い生成されたテストデータが明らかにテストデータとして生成されたものであることを確認できる。
【００４３】
本発明の実施態様に従い生成されたテストデータは、当該テストデータ自体がシグネチャーを持っている。
【００４４】
本発明の実施態様に従い生成されたテストデータにおいて、文字コードが変更された場合であっても、当該テストデータ中のシグネチャーは失われない。
【００４５】
本発明の実施態様に従い生成されたテストデータから、当該テストデータの文字列がどのような表示形態（例えば、印刷されたテストデータ、及びディスプレイ画面に表示されたテストデータ）であっても、シグネチャーを取り出せる。
【００４６】
本発明の実施態様に従い生成されたテストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせたることが可能である。
【００４７】
本発明の実施態様に従い生成されたテストデータにおいて、当該テストデータ中の文字列の長さ（字数）を任意に変更することができるので、そのバリエーションの数を多くすることができる。
【００４８】
本発明の実施態様に従い生成されたテストデータにおいて、当該テストデータ自体が、認識可能な固有の特徴（漢字の画数、又はアルファベットの母音の数）を有している。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施態様において使用されうるコンピュータの一例を示した図である。
【図２Ａ】本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。
【図２Ｂ】本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。
【図３】図２Ａ及び図２Ｂに示す実施態様と異なる実施態様を示す図である。
【図４】図２Ａ及び図２Ｂに示す実施態様の処理の流れの詳細を示すフローチャートである。
【図５】図２Ａ及び図２Ｂに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。
【図６Ａ】本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。
【図６Ｂ】本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。
【図７】図６Ａ及び図６Ｂに示す実施態様と異なる実施態様を示す図である。
【図８】図６Ａ及び図６Ｂに示す実施態様の処理の流れの詳細を示すフローチャートである。
【図９】図６Ａ及び図６Ｂに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。
【図１０】図１に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータを自動的に生成するコンピュータの機能ブロック図の一例を示した図である。
【図１１】図１に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータの機能ブロック図の一例を示した図である。
【図１２】本発明の実施態様に従い、文字列中の母音であることを示す値の総和になるように選択された文字列（文字列中の母音文字と子音文字との組み合わせ）の例を示す。
【図１３】本発明の実施態様に従い、文字列中の各文字の画数の総和になるように選択された文字列の例を示す。
【発明を実施するための形態】
【００５０】
本発明の実施形態を、以下に図面に従って説明する。以下の図を通して、特に断らない限り、同一の符号は同一の対象を指す。本発明の実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。
【００５１】
本発明の実施態様において使用されうるコンピュータは、テストデータを自動的に生成するコンピュータ又はテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであれば特に限定されない。当該コンピュータは例えば、例えば、デスクトップ・コンピュータ、ノート・コンピュータ若しくは一体型パソコン、又は、タブレット端末（例えば、アンドロイド端末、Ｗｉｎｄｏｗｓ（登録商標）タブレットでありうる。
【００５２】
本発明の実施態様において、「テストデータ」はテスト用の文字列データであり、例えばシステムが正常に稼動するかどうか又はシステムが負荷に耐性可能であるかどうかをテストするための、実データに代わるデータでありうる。また、当該「テストデータ」は、機密情報の漏洩を防ぐ為に使用されるマスクデータとして上記文字列データを含むテストデータでもありうる。
【００５３】
本発明の実施態様において、「シグネチャー」（署名ともいう）とは、テストデータの生成時に、当該テストデータに付加される特徴情報である。シグネチャーは、数字からなり、１又は複数の要素からなりうる。
【００５４】
シグネチャーは例えば、テストデータの生成ツールの情報（例えば、製品番号、バージョン番号、ライセンス番号）、テストデータを生成若しくは使用するユーザに固有の番号（例えば、ユーザＩＤ）、又は、例えばテストデータの生成日時でありうる。
【００５５】
シグネチャーが例えば日付を含むシグネチャーの場合、当該シグネチャーは例えば「２０１３１２３１」でありうる。当該日付を含むシグネチャーは例えば、各要素が１桁の数字からなる場合には、各要素は「２」、「０」、「１」、「３」、「１」、「２」、「３」及び「１」からなり、又は、各要素が２桁の数字からなる場合には、各要素「２０」、「１３」、「１２」及び「３１」からなる。
【００５６】
図１は、本発明の実施態様において使用されうるコンピュータの一例を示した図である。
【００５７】
コンピュータ（１０１）は、ＣＰＵ（１０２）とメイン・メモリ（１０３）とを備えており、これらはバス（１０４）に接続されている。ＣＰＵ（１０２）は好ましくは、３２ビット又は６４ビットのアーキテクチャに基づくものである。当該ＣＰＵ（１０２）は例えば、インテル社のＣｏｒｅ（商標）  ｉシリーズ、Ｃｏｒｅ（商標）  ２シリーズ、Ａｔｏｍ（商標）シリーズ、Ｘｅｏｎ（登録商標）シリーズ、Ｐｅｎｔｉｕｍ（登録商標）シリーズ若しくはＣｅｌｅｒｏｎ（登録商標）シリーズ、ＡＭＤ（Advanced Micro Devices）社のＡシリーズ、Ｐｈｅｎｏｍ（商標）シリーズ、Ａｔｈｌｏｎ（商標）シリーズ、Ｔｕｒｉｏｎ（登録商標）シリーズ若しくはＳｅｍｐｒｏｎ（商標）、又は、インターナショナル・ビジネス・マシーンズ・コーポレーションのＰｏｗｅｒ（商標）シリーズでありうる。
【００５８】
バス（１０４）には、ディスプレイ・コントローラ（１０５）を介して、ディスプレイ（１０６）、例えば液晶ディスプレイ（ＬＣＤ）が接続されうる。また、液晶ディスプレイ（ＬＣＤ）は例えば、タッチパネル・ディスプレイ又はフローティング・タッチ・ディスプレイであてもよい。ディスプレイ（１０６）は、コンピュータ（１０１）上で動作中のソフトウェア（例えば、本発明の実施態様に従うコンピュータ・プログラム又は当該コンピュータ（１０１）上で動作中の各種コンピュータ・プログラム）が稼働することによって表示されるオブジェクトを、適当なグラフィック・インタフェースで表示するために使用されうる。
【００５９】
バス（１０４）には任意的に、例えばＳＡＴＡ又はＩＤＥコントローラ（１０７）を介して、ディスク（１０８）、例えばハードディスク又はソリッド・ステート・ドライブ（ＳＳＤ）が接続されうる。
【００６０】
バス（１０４）には任意的に、例えばＳＡＴＡ又はＩＤＥコントローラ（１０７）を介して、ドライブ（１０９）、例えばＣＤ、ＤＶＤ又はＢＤドライブが接続されうる。
【００６１】
バス（１０４）には、周辺装置コントローラ（１１０）を介して、例えばキーボード・マウス・コントローラ又はＵＳＢバスを介して、任意的に、キーボード（１１１）及びマウス（１１２）が接続されうる。
【００６２】
ディスク（１０８）には、オペレーティング・システム、例えばＷｉｎｄｏｗｓ（登録商標）ＯＳ、ＵＮＩＸ（登録商標）、ＭａｃＯＳ（登録商標）、及びＪ２ＥＥなどのＪａｖａ（登録商標）処理環境、Ｊａｖａ（登録商標）アプリケーション、Ｊａｖａ（登録商標）仮想マシン（ＶＭ）、Ｊａｖａ（登録商標）実行時（ＪＩＴ）コンパイラを提供するプログラム、本発明の実施態様に従うコンピュータ・プログラム、及びその他のプログラム、並びにデータが、メイン・メモリ（１０３）にロード可能なように記憶されうる。
【００６３】
ディスク（１０８）は、コンピュータ（１０１）内に内蔵されていてもよく、当該コンピュータ（１０１）がアクセス可能なようにケーブルを介して接続されていてもよく、又は、当該コンピュータ（１０１）がアクセス可能なように有線又は無線ネットワークを介して接続されていてもよい。
【００６４】
ドライブ（１０９）は、必要に応じて、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又はＢＤからプログラム、例えばオペレーティング・システム、アプリケーション又は本発明の実施態様に従うコンピュータ・プログラムをディスク（１０８）にインストールするために使用されうる。
【００６５】
通信インタフェース（１１４）は、例えばイーサネット（登録商標）・プロトコルに従う。通信インタフェース（１１４）は、通信コントローラ（１１３）を介してバス（１０４）に接続され、コンピュータ（１０１）を通信回線（１１５）に有線又は無線接続する役割を担い、コンピュータ（１０１）のオペレーティング・システムの通信機能のＴＣＰ／ＩＰ通信プロトコルに対して、ネットワーク・インタフェース層を提供する。なお、通信回線は例えば、無線ＬＡＮ接続規格に基づく無線ＬＡＮ環境、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎなどのＷｉ-Ｆｉ無線ＬＡＮ環境、又は携帯電話網環境（例えば、３Ｇ又は４Ｇ環境）でありうる。
【００６６】
以下では、母音と子音を区別して表記する言語及び所定の画数を有する文字を持つ言語のそれぞれについて、本発明の実施態様に従いテストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
【００６７】
以下に示す図２Ａ〜図２Ｂ、図３、図４、及び図５において、本発明の実施態様に従い、母音と子音を区別して表記する言語について、テストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
【００６８】
図２Ａ及び図２Ｂは、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。
【００６９】
本発明の実施態様において、「母音と子音を区別して表記する言語」とは例えば、英語、ヨーロッパ言語（例えば、ドイツ語、フランス語、又はイタリア語、スペイン語）であるが、これらに制限されるものでない。以下では、母音と子音を区別して表記する言語が英語である場合を例として説明する。
【００７０】
「母音と子音を区別して表記する言語」において、各文字固有の属性値は、母音と子音を区別して表記する言語の母音であることを示す値である。当該値は例えば、母音がある場合に１である。
【００７１】
ステップ１において、ユーザは、テストデータに埋め込みたいシグネチャー「２１」（２０１）を用意し、コンピュータ（１０１）に入力する。代替的には、コンピュータ（１０１）がシグネチャー「２１」（２０１）をユーザからのシグネチャー生成要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
【００７２】
ステップ２において、コンピュータ（１０１）は、シグネチャー「２１」（２０１）を受け取る。コンピュータ（１０１）は、生成するテストデータの雛形テーブル（２１１）を参照し、その項目数が２（カラムＸ及びカラムＹ）であることを知る。
【００７３】
コンピュータ（１０１）は、シグネチャー「２１」（２０１）を上記項目数２で分割して、シグネチャーの要素を得る。従って、コンピュータ（１０１）は、シグネチャー「２１」（２０１）を、要素「２」と要素「１」との１桁の各数字に分割する（２０２）。
【００７４】
コンピュータ（１０１）は、要素「２」及び要素「１」それぞれを、雛形テーブル（２１１）中のカラムＸ及びカラムＹに関連付けて、マッピング表（２１２）を生成する。
【００７５】
ステップ３において、コンピュータ（１０１）は、母音と子音とを記述した表である母音子音表（２１３）を参照し、シグネチャー「２１」（２０１）の要素「２」及び要素「１」毎に、当該要素の数に対応する母音文字の数になるように、母音文字と子音文字との組み合わせパターン（以下、「パターン」ともいう場合がある）を決定する。母音文字と子音文字との組み合わせパターンは、母音文字のみを含み、子音文字を含まないパターンも含む。当業者は、当該パターンにおいて、生成する文字列中の母音文字の数を決めうる。当該母音の数は例えば１〜４でありうるが、これに制限されるものではない。
【００７６】
母音子音表（２１３）は、テストデータを作成する為に用意された文字（母音と子音）を記述した表である。母音子音表（２１３）は、母音表（Ｖ）（２１４）、母音前の子音（pre V）表（Ｃ１）（２１５）、母音間の子音（between Vs）表（Ｃ２）（２１６）、及び、母音後の子音（post V）表（Ｃ３）（２１７）を含む。母音表（Ｖ）（２１４）は、母音文字のみをリストする。母音前の子音表（Ｃ１）（２１５）は、母音文字の前に置かれる子音文字をリストする。母音間の子音表（Ｃ２）（２１６）は、母音文字と母音文字との間に置かれる子音文字をリストする。母音後の子音表（Ｃ３）（２１７）は、母音文字の後に置かれる子音文字をリストする。当業者は、母音前の子音表（Ｃ１）（２１５）、母音間の子音表（Ｃ２）（２１６）及び母音後の子音表（Ｃ３）（２１７）中にリストされる少なくとも１つの子音文字を適宜設定又は選択しうる。当業者は例えば、母音文字と子音文字がこの順で結合された場合に又は子音文字と母音文字がこの順に結合された場合に発音可能な組み合わせパターンであるように、上記子音文字を選択して各表（２１５，２１６及び２１７）中にリストしうる。発音可能とは、人による発音だけでなく、機械的な（ソフトウェア的な）読み上げが可能であることも含みうる。
【００７７】
上記母音文字と子音文字との上記組み合わせパターンは例えば下記パターンのいずれか一つ又はそれらの組み合わせでありうる：
（１）母音文字が子音文字の直後にあること；
（２）母音文字が子音文字間にあること；
（３）母音文字が子音文字の直前にあること；
（４）母音文字が語頭にあること；
（５）母音文字が語尾にあること；又は、
（６）母音文字が他の母音文字の直後にあること（すなわち、母音文字が連続すること）。また、上記母音文字と子音文字との上記組み合わせパターンは、発音可能な組み合わせパターンでありうる。
【００７８】
コンピュータ（１０１）は、図２Ａに示す例では、要素「２」について、パターンＡ（２０３）、パターンＢ（２０４）及びパターンＣ（２０５）それぞれに見られるように、生成する文字列を構成する文字中の母音の総数が上記「２」になるように、「Ｖ＋Ｃ２＋Ｖ」（母音文字が語頭及び語尾にあるパターンでもある），「Ｖ＋Ｖ＋Ｃ３」（母音文字が語頭にあり、且つ母音文字が他の母音文字の直後にあるパターンでもある），及び「Ｃ１＋Ｖ＋Ｖ」（母音文字が語尾にあり、且つ母音文字が他の母音文字の直後にあるパターンでもある）の３つの組み合わせパターンを決定している。当該決定されたパターン「Ｖ＋Ｃ２＋Ｖ」，「Ｖ＋Ｖ＋Ｃ３」，及び「Ｃ１＋Ｖ＋Ｖ」のいずれにおいても、上記母音の数が上記要素「２」と等しくなるように決定されている。言い換えれば、母音であることを示す値（例えば、１とする）が上記要素「２」と等しくなるように、上記母音の総数が２つとなっている。コンピュータ（１０１）は、上記母音の総数が２になるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
【００７９】
同様に、コンピュータ（１０１）は、図２Ａに示す例では、要素「１」について、パターンＡ（２０３）、パターンＢ（２０４）及びパターンＣ（２０５）それぞれに見られるように、生成する文字列を構成する文字中の母音の総数が上記「１２」になるように、「Ｃ１＋Ｖ」の組み合わせパターンを決定している。当該決定されたパターン「Ｃ１＋Ｖ」は、上記母音の数が上記要素「１」になるように決定されている。言い換えれば、母音であることを示す値（例えば、１とする）が上記要素「１」になるように、上記母音の総数が１つとなっている。コンピュータ（１０１）は、上記組み合わせパターンを上記母音の総数が１になるように、例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
【００８０】
ステップ４において、コンピュータ（１０１）は、パターンＡ（２０３）中の要素「２」についての「Ｖ＋Ｃ２＋Ｖ」になるように、母音子音表（２１３）から母音文字、子音文字及び母音文字の組み合わせパターンを選択する。同様に、コンピュータ（１０１）は、パターンＢ（２０４）中の要素「２」についての「Ｖ＋Ｖ＋Ｃ３」になるように、母音子音表（２１３）から母音文字、母音文字及び子音文字の組み合わせパターンを選択する。同様に、コンピュータ（１０１）は、パターンＣ（２０５）中の要素「２」についての「Ｃ１＋Ｖ＋Ｖ」になるように、母音子音表（２１３）から子音文字、母音文字及び母音文字の組み合わせパターンを選択する。コンピュータ（１０１）は、母音子音表（２１３）からの上記文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ（１０１）は、パターンＡ〜Ｃ（２０３、２０４及び２０５）それぞれについて、少なくとも１つの文字列ができるように、母音子音表（２１３）から上記子音文字及び母音文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
【００８１】
同様に、コンピュータ（１０１）は、パターンＡ（２０３）中の要素「１」についての「Ｃ１＋Ｖ」になるように、母音子音表（２１３）から子音文字及び母音文字の組み合わせパターンを少なくとも１つ選択する。同様に、コンピュータ（１０１）は、パターンＢ（２０４）中の要素「１」についての「Ｃ１＋Ｖ」になるように、母音子音表（２１３）から子音文字及び母音文字の組み合わせパターンを少なくとも１つ選択する。同様に、コンピュータ（１０１）は、パターンＣ（２０５）中の要素「１」についての「Ｃ１＋Ｖ」になるように、母音子音表（２１３）から子音文字及び母音文字の組み合わせパターンを少なくとも１つ選択する。コンピュータ（１０１）、パターンＡ〜Ｃ（２０３、２０４及び２０５）それぞれについて、少なくとも１つの文字列ができるように、母音子音表（２１３）から上記文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
【００８２】
出力テーブルＡ（２０６）、出力テーブルＢ（２０７）及び出力テーブルＣ（２０８）はそれぞれ、パターンＡ（２０３）、パターンＢ（２０４）及びパターンＣ（２０５）に基づいて生成された文字列を示す。
【００８３】
ステップ５において、コンピュータ（１０１）は、出力テーブルＡ（２０６）、出力テーブルＢ（２０７）及び出力テーブルＣ（２０８）の表を合体して、テストデータ（２０９）を生成しうる。当該合体の方法は、出力テーブルＡ（２０６）、出力テーブルＢ（２０７）及び出力テーブルＣ（２０８）から、任意の１行のカラムＸ及びカラムＹの各文字列を取り出すことによって行われうる。コンピュータ（１０１）は例えば、出力テーブルＡ（２０６）、出力テーブルＢ（２０７）及び出力テーブルＣ（２０８）の順に又はランダムに、任意の１行のカラムＸ及びカラムＹの各文字列を取り出しうる。
【００８４】
コンピュータ（１０１）は、テストデータ（２０９）及びマッピング情報（２１２）を出力しうる。当該出力は、例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。
【００８５】
図３は、図２Ａ及び図２Ｂに示す実施態様と異なる実施態様を示す図である。
【００８６】
図３に示す雛形テーブル（３１１）は、図２Ａに示す雛形テーブル（２１１）と異なり、非構造化テキストである。そして、当該非構造化テキストは、雛形テーブル（３１１）中のカラムＸに入力される文字列に対応する１ｓｔ  ｗｏｒｄを入力する箇所、及び雛形テーブル（３１１）中のカラムＸに入力される文字列に対応する２ｎｄ  ｗｏｒｄを入力する箇所を有している。
【００８７】
ステップ１において、ユーザは、テストデータに埋め込みたいシグネチャー「２１」（３０１）を用意し、コンピュータ（１０１）に入力する。代替的には、コンピュータ（１０１）がシグネチャー「２１」（３０１）をユーザからの要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
【００８８】
ステップ２において、コンピュータ（１０１）は、シグネチャー「２１」（３０１）を受け取る。コンピュータ（１０１）は、生成するテストデータの雛形テーブル（３１１）を参照し、その文字列を入力する項目数が２（１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄ）であることを知る。
【００８９】
コンピュータ（１０１）は、シグネチャー「２１」（３０１）を上記項目数２で分割する。従って、シグネチャー「２１」（３０１）は、要素「２」及び要素「１」の１桁の数字に分割される（３０２）。
【００９０】
コンピュータ（１０１）は、要素「２」及び要素「１」それぞれを、１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄに関連付けて、マッピング表（３１２）を生成する。
【００９１】
ステップ３及びステップ４は、図２Ａに示すステップと同じであるので、ここではその説明を省略する。
【００９２】
出力テーブルＡ（３０６）、出力テーブルＢ（３０７）及び出力テーブルＣ（３０８）はそれぞれ、パターンＡ（２０３と同じ）、パターンＢ（２０４と同じ）及びパターンＣ（２０５と同じ）に基づいて生成された文字列を示す。
【００９３】
ステップ５において、コンピュータ（１０１）は、出力テーブルＡ（３０６）、出力テーブルＢ（３０７）及び出力テーブルＣ（３０８）の表を合体して、テストデータ（３０９）を生成しうる。当該合体の方法は、出力テーブルＡ（３０６）、出力テーブルＢ（３０７）及び出力テーブルＣ（３０８）から、任意の１行のカラムＸ及びカラムＹの各文字列を取り出し、取り出した各文字を雛形テーブル（３１１）中に入力することによって行われうる。コンピュータ（１０１）は、当該入力において、カラムＸからの文字列とカラムＹの各文字列とを区別するために、カラムＸからの文字列とカラムＹの各文字列との間に、母音及び子音以外の文字（例えば、スペース）を入力しうる。コンピュータ（１０１）は例えば、出力テーブルＡ（３０６）、出力テーブルＢ（３０７）及び出力テーブルＣ（３０８）の順に、１行ずつ、１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄの各文字列を取り出しうる。
【００９４】
コンピュータ（１０１）は、テストデータ（３０９）及びマッピング情報（３１２）を出力しうる。当該出力は、例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること、画面上に表示すること、又は、プリンタで出力することを含みうる。コンピュータ（１０１）は、テストデータ（３０９）にマッピング情報（３１２）を関連付けるための情報を挿入しうる。コンピュータ（１０１）は例えば、テストデータ（３０９）中にマッピング情報（３１２）を埋め込みうる。当該情報は、テストデータからシグネチャーを識別する処理において、当該テストデータに関連付けられたマッピング情報を特定するために使用されうる。
【００９５】
図４は、図２Ａ及び図２Ｂに示す実施態様の処理の流れの詳細を示すフローチャートである。
【００９６】
ステップ４０１において、コンピュータ（１０１）は、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する処理を開始する。
【００９７】
ステップ４０２において、コンピュータ（１０１）は、メタデータを受け取る。メタデータとは、複数のシグネチャーを持つものである。メタデータが１つのシグネチャーのみ持つ場合には、メタデータはシグネチャーと同じである。複数のシグネチャーとは例えば、テストデータの生成ツールの情報（例えば、製品番号、バージョン番号、ライセンス番号）、テストデータを生成若しくは使用するユーザに固有の番号（例えば、ユーザＩＤ）、及び、例えばテストデータの生成日時のうちのから選択される少なくとも２つのシグネチャーである。コンピュータ（１０１）は、テストデータに埋め込みたいシグネチャーをユーザが複数指定することに応じて、当該指定された複数のシグネチャーをメタデータとして例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納する。
【００９８】
ステップ４０３において、コンピュータ（１０１）は、ステップ４０２で受け取ったメタデータ中に含まれているシグネチャーから１つのシグネチャーを取り出す。
【００９９】
ステップ４０４において、コンピュータ（１０１）は、生成するテストデータの雛形テーブルを参照し、その項目数を得る。コンピュータ（１０１）は、ステップ４０３で取り出したシグネチャーを上記項目数で分割して、シグネチャーの要素を得る。典型的には、母音と子音を区別して表記する言語についてのテストデータを生成する場合には、分割されて生じた要素は１桁の数字である。
【０１００】
ステップ４０５において、コンピュータ（１０１）は、各要素を雛形テーブル中の項目に関連付けて、マッピング表を生成する。マッピング表は例えば、要素と項目とを関連付けるマッピング情報を格納したマッピング・データであってもよい。
【０１０１】
ステップ４０６において、コンピュータ（１０１）は、上記マッピング表に従って、雛形テーブル中の各項目に入力される文字列中の母音であることを示す値の総和を決定する。すなわち、コンピュータ（１０１）は、マッピング表中の上記要素（１桁の数字）を上記値の総和として決定する。
【０１０２】
ステップ４０７において、コンピュータ（１０１）は、ステップ４０６で決定した総和になるように、母音子音表を参照し、要素毎に、当該要素の数に対応する母音文字の数になるように、母音文字と子音文字との組み合わせパターンを決定する。コンピュータ（１０１）は、１つの要素について、母音文字と子音文字との１つ又は複数の組み合わせパターンを決定しうる。
【０１０３】
ステップ４０８において、コンピュータ（１０１）は、ステップ４０７で決定した組み合わせパターンのうち、１つの組み合わせパターンを取り出す。
【０１０４】
ステップ４０９において、コンピュータ（１０１）は、ステップ４０８で取り出した組み合わせパターンになるように、上記文字列を構成する母音文字及び子音文字の組み合わせを母音子音表から選択する。コンピュータ（１０１）は、ステップ４０８で取り出した上記組み合わせパターンについて、少なくとも１つの文字列ができるように、上記子音文字及び母音文字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して、上記母音子音表から選択しうる。コンピュータ（１０１）は、当該生成した文字列を例えばコンピュータ（１０１）の一時記憶装置（例えば、図１の符号１０３）又は当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。
【０１０５】
ステップ４１０において、コンピュータ（１０１）は、ステップ４０７で決定した組み合わせパターンのうち、ステップ４０９の処理が未処理の組み合わせパターンがあるかを判断する。コンピュータ（１０１）は、上記未処理の組み合わせパターンがあることに応じて、処理をステップ４０８に戻す。一方、コンピュータ（１０１）は、上記未処理の組み合わせパターンがないことに応じて、処理をステップ４１１に進める。
【０１０６】
ステップ４１１において、コンピュータ（１０１）は、ステップ４０９で格納した上記文字列を雛形テーブル中に挿入して、テストデータを生成しうる。すなわち、コンピュータ（１０１）は、上記生成した文字列をテストデータの形式に整える。
【０１０７】
ステップ４１２において、コンピュータ（１０１）は、ステップ４０２で受け取ったメタデータ中に含まれているシグネチャーのうち、ステップ４０３〜ステップ４１１の処理が未処理のシグネチャーがあるかを判断する。コンピュータ（１０１）は、上記未処理のシグネチャーがあることに応じて、処理をステップ４０３に戻す。一方、コンピュータ（１０１）は、上記未処理のシグネチャーがないことに応じて、処理をステップ４１３に進める。
【０１０８】
ステップ４１３において、コンピュータ（１０１）は、ステップ４１１で生成したテストデータ及びステップ４０５で生成したマッピング情報を当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。上記テストデータの出力は、当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること以外に、例えば、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。マッピング情報は、図５に記載のフローチャートに示すように、テストデータからシグネチャーを識別するために使用される。
【０１０９】
ステップ４１４において、コンピュータ（１０１）は、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する処理を終了する。
【０１１０】
図５は、図２Ａ及び図２Ｂに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。以下において、各ステップの主体であるコンピュータ（１０１）は、図４に記載の各ステップのコンピュータ（１０１）と物理的に同一のコンピュータであっても、異なるコンピュータであってもよい。
【０１１１】
ステップ５０１において、コンピュータ（１０１）は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を開始する。
【０１１２】
ステップ５０２において、コンピュータ（１０１）は、テストデータを受けとる。コンピュータ（１０１）は、上記テストデータを、例えば、コンピュータ（１０１）がアクセス可能な記憶媒体を介して、若しくはネットワークを経由して、又は、他のコンピュータ上の表示画面をキャプチャすることによって、若しくは印刷物をスキャナーで取り込むことによって受け取りうる。
【０１１３】
ステップ５０３において、コンピュータ（１０１）は、ステップ５０２で受け取ったテストデータ中に埋め込まれている情報を参照して、当該受信したテストデータに関連付けられたマッピング情報を取り出す。コンピュータ（１０１）は、上記マッピング情報を、例えば、コンピュータ（１０１）がアクセス可能な記憶媒体を介して、又はネットワークを経由して取り出しうる。
【０１１４】
ステップ５０４において、コンピュータ（１０１）は、ステップ５０２で受け取ったテストデータ中の文字列のうち、所定の一つの文字列を取り出す。
【０１１５】
ステップ５０５において、コンピュータ（１０１）は、ステップ５０４で取り出した文字列中の母音文字の総和を算出する。所定の１つの文字列中の母音文字の総和が、シグネチャーの一つの要素（数字である）に対応する。
【０１１６】
ステップ５０６において、コンピュータ（１０１）は、ステップ５０２で受け取ったテストデータ中の文字列のうち、ステップ５０４〜５０５の処理が未処理の文字列があるか判断する。コンピュータ（１０１）は、上記未処理の文字列があることに応じて、処理をステップ５０４に戻す。一方、コンピュータ（１０１）は、上記未処理の文字列がないことに応じて、処理をステップ５０７に進める。
【０１１７】
ステップ５０７において、コンピュータ（１０１）は、ステップ５０５で算出した母音文字の総和を組み合わせて、ステップ５０２で受け取ったテストデータのシグネチャーを識別する。例えば、ステップ５０５で算出した母音文字の総和が「２」及び「１」である場合には、シグネチャーは「２」と「１」を組み合わせた「２１」である。
【０１１８】
ステップ５０８において、コンピュータ（１０１）は、ステップ５０７で識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生（再構築）しうる。
【０１１９】
ステップ５０９において、コンピュータ（１０１）は、ステップ５０８で再生したメタデータを当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。
【０１２０】
ステップ５１０において、コンピュータ（１０１）は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を終了する。
【０１２１】
コンピュータ（１０１）は、任意的に、ステップ５０７で識別したシグネチャーと、ステップ５０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーとを比較しうる。コンピュータ（１０１）は、当該比較の結果、ステップ５０７で識別したシグネチャーが、ステップ５０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致することに応じて、当該テストデータが改ざん等されていないことを知る。一方、コンピュータ（１０１）は、当該比較の結果、ステップ５０７で識別したシグネチャーが、ステップ５０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致しないことに応じて、当該テストデータが改ざん等されていることを知る。
【０１２２】
また、コンピュータ（１０１）は、ステップ５０８で再生したメタデータから、テストデータの作成日時や生成ツールの情報を得ることが可能である。
【０１２３】
図２Ａ〜図２Ｂ、図３、図４、及び図５において、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法及び当該技法を使用して生成されたテストデータからシグネチャーを識別する技法を説明した。母音であることを示す値を使用する本発明の実施態様は、下記に示す特徴を有する。
【０１２４】
（１）本発明の実施態様に従い生成したテストデータ中の文字列は、母音子音表から選択された文字（母音文字及び子音文字）を含む。当業者は、当該母音子音表において、生成されたデータに含まれる子音を、所定の子音の組み合わせ（例えば、sp，fl及びz（以上、母音前の子音表（Ｃ１）），ks及びvr（以上、母音間の子音表（Ｃ２））、並びに、l，rr及びkt（以上、母音後の子音表（Ｃ３）））に特定することが可能である。また、テストデータ中の文字列を構成する各母音及び各子音は、コンピュータが乱数を発生させて又はハッシュ値を計算して選択されたものである。従って、図２Ｂのテストデータ（６０９）に示しているとおり、ユーザは、生成される文字列を、明らかにテストデータとして生成されたものであると認識することが可能である。
【０１２５】
（２）本発明の実施態様に従い生成したテストデータ中に埋め込まれたシグネチャーは、当該テストデータの文字列中の母音の総和から復元される。従って、生成されたテストデータ自体がメタ情報を持っている。例えば、テストデータ中の「項目Ａ」、「項目Ｂ」、「項目Ｃ」及び「項目Ｄ」中に含まれる母音の総和がそれぞれ、「１」、「２」、「３」及び「４」であるとする。この場合に、シグネチャーは、「１２３４」である。また、当該シグネチャー「１２３４」は、項目Ａ〜Ｄからなるデータ・セットのすべてに共通する。従って、所定の項目に同じシグネチャーを埋め込むことが可能であるので、テストデータの一部（すなわち、データ・セットの一つ）だけを取り出しても識別されるシグネチャーは同じである。また、上記項目Ａ〜Ｄからなるデータ・セットのうち、当該シグネチャー「１２３４」と一致しないデータ・セットは、不正のデータ（例えば、改ざん等されたデータ）であると判別されることが可能である。
【０１２６】
（３）文字列中の母音の総和は文字コードに関係ないので、母音文字の文字コード変換が行われた場合であっても、当該母音の総和は同じである。すなわち、母音の総和は、文字コード変換が行われた場合であっても変化しない。また、文字列中の文字が大文字であっても小文字であっても、文字列中の母音の総和は変化しない。従って、特定の数の母音文字と任意の数の子音文字とを使用して生成されたデータの文字コードが変更された場合であっても、本発明の実施態様に従い生成したテストデータに関連付けられたシグネチャーは失われない。
【０１２７】
（４）文字列中の母音の総和は、テストデータが印刷された場合であっても、当該印刷物から上記母音の総和を数えることは可能である。同様に、文字列中の母音の総和は、テストデータが表示画面上に表示されている場合であっても、当該画面から上記母音の総和を数えることは可能である。また、文字列中の文字が大文字であっても小文字であっても、文字列中の母音の総和は変化しない。従って、ユーザは、本発明の実施態様に従い生成したテストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せる。シグネチャーは、どのような場合であっても同じである。従って、テストデータ中の所定の文字列中の母音の総和を調べるだけで、当該テストデータが正しく生成されたデータであるかどうかや改ざん等されてないかどうかを容易に判断することが可能である。
【０１２８】
（５）本発明の実施態様に従い生成したテストデータが複数の項目を有している場合において、例えば、テストデータ中の「項目Ａ」、「項目Ｂ」、「項目Ｃ」及び「項目Ｄ」のデータ・セットを複数有している場合には、項目Ａ〜Ｄそれぞれに同じシグネチャーが埋め込まれる。従って、テストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせることが可能である。
【０１２９】
（６）本発明の実施態様に従い、文字列中の母音の総和を一定にしながら（すなわち、同じシグネチャーを有しながら）、組み合わせパターンを変更することが可能である。すなわち、母音文字の数を一定にしながら、子音文字の数を変更することによって、生成する文字列の長さを変えることが可能である。従って、生成するテストデータのバリエーションを増やせ、さらには、重複するデータを最小にすることが可能である。また、生成したテストデータを、より現実的な長さを有するデータとすることが可能である。
【０１３０】
（７）本発明の実施態様に従い生成したテストデータは、それ自体が、認識可能な固有の特徴であるシグネチャー（例えば、上記「１２３４」）を有している。
【０１３１】
以下に示す図６Ａ〜図６Ｂ、図７、図８及び図９において、本発明の実施態様に従い、母音と子音を区別して表記する言語について、テストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
【０１３２】
図６Ａ及び図６Ｂは、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。
【０１３３】
本発明の実施態様において、「所定の画数を有する文字を持つ言語」及び「所定の画数を有する文字」（すなわち、画数が定められている文字）とは例えば、日本語と漢字、中国語と簡体字若しくは繁体字、又は韓国語とハングル文字であるが、これらに制限されるものでない。以下では、所定の画数を有する文字を持つ言語が日本語であり、且つ、所定の画数を有する文字が漢字である場合を例として説明する。
【０１３４】
「所定の画数を有する文字を持つ言語」において、各文字固有の属性値は、当該言語の文字の画数である。当該画数は例えば、漢字辞典に収載されている画数に基づく。
【０１３５】
ステップ１において、ユーザは、テストデータに埋め込みたいシグネチャー「２０１３」（６０１）を用意し、コンピュータ（１０１）に入力する。代替的には、コンピュータ（１０１）がシグネチャー「２０１３」（６０１）をユーザからのシグネチャー生成要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
【０１３６】
ステップ２において、コンピュータ（１０１）は、シグネチャー「２０１３」（６０１）を受け取る。コンピュータ（１０１）は、生成するテストデータの雛形テーブル（６１１）を参照し、その項目数が２（カラムＸ及びカラムＹ）であることを知る。
【０１３７】
コンピュータ（１０１）は、シグネチャー「２０１３」（６０１）を上記項目数２で分割して、シグネチャーの要素を得る。従って、コンピュータ（１０１）は、シグネチャー「２０１３」（６０１）を、要素「２０」と要素「１３」との２つに分割する（６０２）。
【０１３８】
コンピュータ（１０１）は、要素「２０」及び要素「１３」それぞれを、雛形テーブル（６１１）中のカラムＸ及びカラムＹに関連付けて、マッピング表（６１２）を生成する。
【０１３９】
ステップ３において、コンピュータ（１０１）は、漢字（文字）の画数と当該画数に関連付けられた漢字（文字）を記述した、画数による漢字表（６１３）を参照し、シグネチャー「２０１３」（６０１）の要素「２０」及び要素「１３」毎に、当該要素の数に対応する画数の総和になるように、当該要素毎に関連付けられる文字列中の各漢字の画数の組み合わせパターン（以下、「パターン」ともいう場合がある）を決定する。当業者は、当該パターンにおいて、生成する文字列を構成する漢字の文字数を決めうる。当該文字数は例えば１〜５でありうるが、これに制限されるものではない。
【０１４０】
漢字表（６１３）は、テストデータを作成する為に用意された文字（漢字）を記述した表である。漢字表（６１３）は、漢字の画数と当該画数に関連付けられた漢字を記述した表である。漢字表（６１３）の具体的な態様の一つは例えば、漢字の画数と、当該画数に属する少なくとも１つの漢字を記述した表でありうる。当業者は、漢字表（６１３）中にリストされる漢字を適宜設定又は選択しうる。
【０１４１】
コンピュータ（１０１）は、図６Ａに示す例では、要素「２０」について、パターンＡ（６０３）、パターンＢ（６０４）及びパターンＣ（６０５）それぞれに見られるように、生成する文字列中の漢字の画数の総和が上記「２０」になるように、「５＋７＋８」，「１１＋９」，及び「２０」の３つの組み合わせパターンを決定する。当該決定されたパターン「５＋７＋８」，「１１＋９」，及び「２０」のいずれにおいても、文字列を構成する漢字の画数の総和が上記要素「２０」になるように決定されている。コンピュータ（１０１）は、上記文字列を構成する漢字の画数の総和が上記要素「２０」と等しくなるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
【０１４２】
同様に、コンピュータ（１０１）は、図６Ａに示す例では、要素「１３」について、パターンＡ（６０３）、パターンＢ（６０４）及びパターンＣ（６０５）それぞれに見られるように、生成する文字列中の漢字の画数の総和が上記「１３」になるように、「６＋７」，「５＋８」，及び「７＋６」の３つの組み合わせパターンを決定する。当該決定されたパターン「６＋７」，「５＋８」，及び「７＋６」のいずれにおいても、文字列を構成する漢字の画数の総和が上記要素「１３」になるように決定されている。コンピュータ（１０１）は、上記文字列を構成する漢字の画数の総和が上記要素「１３」と等しくなるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
【０１４３】
ステップ４において、コンピュータ（１０１）は、パターンＡ（６０３）中の要素「２０」についての「５＋７＋８」になるように、漢字表（６１３）から画数５の漢字、画数７の漢字及び画数８の漢字の組み合わせを選択する。同様に、コンピュータ（１０１）は、パターンＢ（６０４）中の要素「２０」についての「１１＋９」になるように、漢字表（６１３）から画数１１の漢字及び画数９の漢字の組み合わせを選択する。同様に、コンピュータ（１０１）は、パターンＣ（６０５）中の要素「２０」についての「２０」になるように、漢字表（６１３）から画数２０の漢字を選択する。コンピュータ（１０１）は、漢字表（６１３）からの上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ（１０１）は、パターンＡ〜Ｃ（６０３、６０４及び６０５）それぞれについて、各パターンに従って文字列を生成するように、漢字表（６１３）から漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
【０１４４】
同様に、コンピュータ（１０１）は、パターンＡ（６０３）中の要素「１３」についての「６＋７」になるように、漢字表（６１３）から画数６の漢字及び画数７の漢字の組み合わせを選択する。同様に、コンピュータ（１０１）は、パターンＢ（６０４）中の要素「１３」についての「５＋８」になるように、漢字表（６１３）から画数５の漢字及び画数８の漢字の組み合わせを選択する。同様に、コンピュータ（１０１）は、パターンＣ（６０５）中の要素「１３」についての「７＋６」になるように、漢字表（６１３）から画数７の漢字及び画数６の漢字を選択する。コンピュータ（１０１）は、漢字表（６１３）からの上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ（１０１）は、パターンＡ〜Ｃ（６０３、６０４及び６０５）それぞれについて、少なくとも１つの文字列ができるように、漢字表（６１３）から漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
【０１４５】
出力テーブルＡ（６０６）、出力テーブルＢ（６０７）及び出力テーブルＣ（６０８）はそれぞれ、パターンＡ（６０３）、パターンＢ（６０４）及びパターンＣ（６０５）に基づいて生成された文字列を示す。
【０１４６】
ステップ５において、コンピュータ（１０１）は、出力テーブルＡ（６０６）、出力テーブルＢ（６０７）及び出力テーブルＣ（６０８）の表を合体して、テストデータ（６０９）を生成しうる。当該合体の方法は、出力テーブルＡ（６０６）、出力テーブルＢ（６０７）及び出力テーブルＣ（６０８）から、任意の１行のカラムＸ及びカラムＹの各文字列を取り出すことによって行われうる。コンピュータ（１０１）は例えば、出力テーブルＡ（６０６）、出力テーブルＢ（６０７）及び出力テーブルＣ（６０８）の順に又はランダムに、任意の１行のカラムＸ及びカラムＹの各文字列を取り出しうる。
【０１４７】
コンピュータ（１０１）は、テストデータ（６０９）及びマッピング情報（６１２）を出力しうる。当該出力は、例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。
【０１４８】
図７は、図６Ａ及び図６Ｂに示す実施態様と異なる実施態様を示す図である。
【０１４９】
図７に示す雛形テーブル（７１１）は、図６Ａに示す雛形テーブル（６１１）と異なり、非構造化テキストである。そして、当該非構造化テキストは、雛形テーブル（６１１）中のカラムＸに入力される文字列に対応する１ｓｔ  ｗｏｒｄを入力する箇所、及び雛形テーブル（６１１）中のカラムＸに入力される文字列に対応する２ｎｄ  ｗｏｒｄを入力する箇所を有している。
【０１５０】
ステップ１において、ユーザは、テストデータに埋め込みたいシグネチャー「２０１３」（７０１）を用意し、コンピュータ（１０１）に入力する。代替的には、コンピュータ（１０１）がシグネチャー「２０１３」（１０１）をユーザからの要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
【０１５１】
ステップ２において、コンピュータ（１０１）は、シグネチャー「２０１３」（７０１）を受け取る。コンピュータ（１０１）は、生成するテストデータの雛形テーブル（７１１）を参照し、その文字列を入力する項目数が２（１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄ）であることを知る。
【０１５２】
コンピュータ（１０１）は、シグネチャー「２０１３」（７０１）を上記項目数２で分割する。従って、シグネチャー「２０１３」（７０１）は、要素「２０」及び要素「１３」に分割される（７０２）。
【０１５３】
コンピュータ（１０１）は、要素「２０」及び要素「１３」それぞれを、１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄに関連付けて、マッピング表（７１２）を生成する。
【０１５４】
ステップ３及びステップ４は、図６Ａに示すステップと同じであるので、ここではその説明を省略する。
【０１５５】
出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）はそれぞれ、パターンＡ（６０３と同じ）、パターンＢ（６０４と同じ）及びパターンＣ（６０５と同じ）に基づいて生成された文字列を示す。
【０１５６】
ステップ５において、コンピュータ（１０１）は、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）の表を合体して、テストデータ（７０９）を生成しうる。当該合体の方法は、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）から、任意の１行のカラムＸ及びカラムＹの各文字列を取り出し、取り出した各文字を雛形テーブル（７１１）中に入力することによって行われうる。コンピュータ（１０１）は、当該入力において、カラムＸからの文字列とカラムＹの各文字列とを区別するために、カラムＸからの文字列とカラムＹの各文字列との間に、非漢字文字（例えば、スペース）を入力しうる。コンピュータ（１０１）は例えば、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）の順に、１行ずつ、１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄの各文字列を取り出しうる。
【０１５７】
代替的には、コンピュータ（１０１）は、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）の表を合体して、テストデータ（７１０）を生成しうる。当該合体の方法は、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）から、任意の１行のカラムＸ及びカラムＹの各文字列を取り出し、取り出した各文字を雛形テーブル（７１１）中に入力することによって行われうる。当該入力において、カラムＸからの文字列とカラムＹの各文字列とを区別するために、コンピュータ（１０１）は、カラムＸからの文字列とカラムＹの各文字列との間に、非漢字文字（例えば、平仮名、片仮名、数字、アルファベット、又は記号）を入力しうる。コンピュータ（１０１）は例えば、出力テーブルＡ（７０６）、出力テーブルＢ（７０７）及び出力テーブルＣ（７０８）の順に、１行ずつ、１ｓｔ  ｗｏｒｄ及び２ｎｄ  ｗｏｒｄの各文字列を取り出しうる。
【０１５８】
コンピュータ（１０１）は、テストデータ（７０９）及びマッピング情報（７１２）を出力しうる。当該出力は、例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること、画面上に表示すること、又は、プリンタで出力することを含みうる。コンピュータ（１０１）は、テストデータ（７０９）にマッピング情報（７１２）を関連付けるための情報を挿入しうる。コンピュータ（１０１）は例えば、テストデータ（７０９）中にマッピング情報（７１２）を埋め込みうる。当該情報は、テストデータからシグネチャーを識別する処理において、当該テストデータに関連付けられたマッピング情報を特定するために使用されうる。
【０１５９】
図８は、図６Ａ及び図６Ｂに示す実施態様の処理の流れの詳細を示すフローチャートである。
【０１６０】
ステップ８０１において、コンピュータ（１０１）は、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する処理を開始する。
【０１６１】
ステップ８０２において、コンピュータ（１０１）は、メタデータを受け取る。メタデータとは、複数のシグネチャーを持つものである。メタデータが１つのシグネチャーのみ持つ場合には、メタデータはシグネチャーと同じである。複数のシグネチャーとは例えば、テストデータの生成ツールの情報（例えば、製品番号、バージョン番号、ライセンス番号）、テストデータを生成若しくは使用するユーザに固有の番号（例えば、ユーザＩＤ）、及び、例えばテストデータの生成日時のうちのから選択される少なくとも２つのシグネチャーである。コンピュータ（１０１）は、テストデータに埋め込みたいシグネチャーをユーザが複数指定することに応じて、当該指定された複数のシグネチャーをメタデータとして例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納する。
【０１６２】
ステップ８０３において、コンピュータ（１０１）は、ステップ８０２で受け取ったメタデータ中に含まれているシグネチャーから１つのシグネチャーを取り出す。
【０１６３】
ステップ８０４において、コンピュータ（１０１）は、生成するテストデータの雛形テーブルを参照し、その項目数を得る。コンピュータ（１０１）は、ステップ８０３で取り出したシグネチャーを上記項目数で分割して、シグネチャーの要素を得る。典型的には、所定の画数を有する文字を持つ言語についてのテストデータを生成する場合には、分割されて生じた要素は少なくとも１桁の数字でありうる。
【０１６４】
ステップ８０５において、コンピュータ（１０１）は、各要素を雛形テーブル中の項目に関連付けて、マッピング表を生成する。マッピング表は例えば、要素と項目とを関連付けるマッピング情報を格納したマッピング・データであってもよい。
【０１６５】
ステップ８０６において、コンピュータ（１０１）は、上記マッピング表に従って、雛形テーブル中の各項目に入力される文字列中の文字（漢字）の画数の総和を決定する。すなわち、コンピュータ（１０１）は、マッピング表中の上記要素を上記値の総和として決定する。
【０１６６】
ステップ８０７において、コンピュータ（１０１）は、ステップ８０６で決定した総和になるように、漢字表を参照し、要素毎に、当該要素毎に関連付けられる文字列中の各漢字の画数の組み合わせパターンを決定する。コンピュータ（１０１）は、１つの要素について、各漢字の画数の１つ又は複数の組み合わせパターンを決定しうる。
【０１６７】
ステップ８０８において、コンピュータ（１０１）は、ステップ８０７で決定した組み合わせパターンのうち、１つの組み合わせパターンを取り出す。
【０１６８】
ステップ８０９において、コンピュータ（１０１）は、ステップ８０８で取り出した組み合わせパターンになるように、上記文字列を構成する漢字の組み合わせを漢字表から選択する。コンピュータ（１０１）は、ステップ８０８で取り出した上記組み合わせパターンについて、少なくとも１つの文字列ができるように、上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して、上記漢字表から選択しうる。コンピュータ（１０１）は、当該生成した文字列を例えばコンピュータ（１０１）の一時記憶装置（例えば、図１の符号１０３）又は当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。
【０１６９】
ステップ８１０において、コンピュータ（１０１）は、ステップ８０７で決定した組み合わせパターンのうち、ステップ８０９の処理が未処理の組み合わせパターンがあるかを判断する。コンピュータ（１０１）は、上記未処理の組み合わせパターンがあることに応じて、処理をステップ８０８に戻す。一方、コンピュータ（１０１）は、上記未処理の組み合わせパターンがないことに応じて、処理をステップ８１１に進める。
【０１７０】
ステップ８１１において、コンピュータ（１０１）は、ステップ８０９で格納した上記文字列を雛形テーブル中に挿入して、テストデータを生成しうる。すなわち、コンピュータ（１０１）は、上記生成した文字列をテストデータの形式に整える。
【０１７１】
ステップ８１２において、コンピュータ（１０１）は、ステップ８０２で受け取ったメタデータ中に含まれているシグネチャーのうち、ステップ８０３〜ステップ８１１の処理が未処理のシグネチャーがあるかを判断する。コンピュータ（１０１）は、上記未処理のシグネチャーがあることに応じて、処理をステップ８０３に戻す。一方、コンピュータ（１０１）は、上記未処理のシグネチャーがないことに応じて、処理をステップ８１３に進める。
【０１７２】
ステップ８１３において、コンピュータ（１０１）は、ステップ８１１で生成したテストデータ及びステップ８０５で生成したマッピング情報を当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。上記テストデータの出力は、当該コンピュータ（１０１）がアクセス可能な記憶媒体中（例えば、図１の符号１０８）中に格納すること以外に、例えば、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。マッピング情報は、図９に記載のフローチャートに示すように、テストデータからシグネチャーを識別するために使用される。
【０１７３】
ステップ８１４において、コンピュータ（１０１）は、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する処理を終了する。
【０１７４】
図９は、図６Ａ及び図６Ｂに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。以下において、各ステップの主体であるコンピュータ（１０１）は、図８に記載の各ステップのコンピュータ（１０１）と物理的に同一のコンピュータであっても、異なるコンピュータであってもよい。
【０１７５】
ステップ９０１において、コンピュータ（１０１）は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を開始する。
【０１７６】
ステップ９０２において、コンピュータ（１０１）は、テストデータを受けとる。コンピュータ（１０１）は、上記テストデータを、例えば、コンピュータ（１０１）がアクセス可能な記憶媒体を介して、若しくはネットワークを経由して、又は、他のコンピュータ上の表示画面をキャプチャすることによって、若しくは印刷物をスキャナーで取り込むことによって受け取りうる。
【０１７７】
ステップ９０３において、コンピュータ（１０１）は、ステップ９０２で受け取ったテストデータ中に埋め込まれている情報を参照して、当該受信したテストデータに関連付けられたマッピング情報を取り出す。コンピュータ（１０１）は、上記マッピング情報を、例えば、コンピュータ（１０１）がアクセス可能な記憶媒体を介して、又はネットワークを経由して取り出しうる。
【０１７８】
ステップ９０４において、コンピュータ（１０１）は、ステップ９０２で受け取ったテストデータ中の文字列のうち、所定の一つの文字列を取り出す。
【０１７９】
ステップ９０５において、コンピュータ（１０１）は、ステップ９０４で取り出した文字列中の各文字（漢字）の画数の総和を算出する。所定の１つの文字列中の文字の画数の総和が、シグネチャーの一つの要素（数字である）に対応する。
【０１８０】
ステップ９０６において、コンピュータ（１０１）は、ステップ５０２で受け取ったテストデータ中の文字列のうち、ステップ９０４〜９０５の処理が未処理の文字列があるか判断する。コンピュータ（１０１）は、上記未処理の文字列があることに応じて、処理をステップ９０４に戻す。一方、コンピュータ（１０１）は、上記未処理の文字列がないことに応じて、処理をステップ９０７に進める。
【０１８１】
ステップ９０７において、コンピュータ（１０１）は、ステップ９０５で算出した画数の総和を組み合わせて、ステップ９０２で受け取ったテストデータのシグネチャーを識別する。例えば、ステップ９０５で算出した画数の総和が「２０」及び「１３」である場合には、シグネチャーは「２０」と「１３」を組み合わせた「２０１３」である。
【０１８２】
ステップ９０８において、コンピュータ（１０１）は、ステップ９０７で識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生（再構築）しうる。
【０１８３】
ステップ９０９において、コンピュータ（１０１）は、ステップ９０８で再生したメタデータを当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）中に格納しうる。
【０１８４】
ステップ９１０において、コンピュータ（１０１）は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を終了する。
【０１８５】
コンピュータ（１０１）は、任意的に、ステップ９０７で識別したシグネチャーと、ステップ９０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーとを比較しうる。コンピュータ（１０１）は、当該比較の結果、ステップ９０７で識別したシグネチャーが、ステップ９０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致することに応じて、当該テストデータが正しく生成されたデータであることや改ざん等されていないことを知る。一方、コンピュータ（１０１）は、当該比較の結果、ステップ９０７で識別したシグネチャーが、ステップ９０２で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致しないことに応じて、当該テストデータが正しく生成されていないデータであることや改ざん等されていることを知る。
【０１８６】
また、コンピュータ（１０１）は、ステップ９０８で再生したメタデータから、テストデータの作成日時や生成ツールの情報を得ることが可能である。
【０１８７】
図６Ａ〜図６Ｂ、図７、図８及び図９において、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法及び当該技法を使用して生成されたテストデータからシグネチャーを識別する技法を説明した。所定の画数（例えば、漢字の画数）を使用する本発明の実施態様は、下記に示す特徴を有する。
【０１８８】
（１）本発明の実施態様に従い生成したテストデータ中の文字列は、漢字表から選択された文字（漢字）を含む。当業者は、当該漢字表において、生成されたデータに含まれる漢字を、所定の漢字に特定することが可能である。また、テストデータ中の文字列を構成する各漢字は、コンピュータが乱数を発生させて又はハッシュ値を計算して選択されたものである。従って、図６Ｂのテストデータ（６０９）に示しているとおり、ユーザは、生成される文字列を、明らかにテストデータとして生成されたものであると認識することが可能である。
【０１８９】
（２）本発明の実施態様に従い生成したテストデータ中に埋め込まれたシグネチャーは、当該テストデータの文字列中の各漢字の画数の総数から復元される。従って、生成されたテストデータ自体がメタ情報を持っている。例えば、テストデータ中の「項目Ａ」、「項目Ｂ」、「項目Ｃ」及び「項目Ｄ」中に含まれる漢字の画数の総和がそれぞれ、「２０」、「１３」、「１２」及び「３１」であるとする。この場合に、シグネチャーは、「２０１３１２３１」である。また、当該シグネチャー「２０１３１２３１」は、項目Ａ〜Ｄからなるデータ・セットのすべてに共通する。従って、所定の項目に同じシグネチャーを埋め込むことが可能であるので、テストデータの一部（すなわち、データ・セットの一つ）だけを取り出しても識別されるシグネチャーは同じである。また、上記項目Ａ〜Ｄからなるデータ・セットのうち、当該シグネチャー「２０１３１２３１」と一致しないデータ・セットは、不正のデータ（例えば、改ざん等されたデータ）であると判別されることが可能である。
【０１９０】
（３）文字列中の漢字の画数及びその総和は文字コードに関係ないので、漢字の文字コード変換が行われた場合であっても、当該漢字の画数及びその総和は同じである。すなわち、当該漢字の画数及びその総和は、文字コード変換が行われた場合であっても変化しない。従って、漢字を使用して生成されたデータの文字コードが変更された場合であっても、本発明の実施態様に従い生成したテストデータに関連付けられたシグネチャーは失われない。
【０１９１】
（４）文字列中の漢字の画数及びその総和は、テストデータが印刷された場合であっても、当該印刷物から漢字の画数及びその総和を数えることは可能である。同様に、文字列中の漢字の画数及びその総和は、テストデータが表示画面上に表示されている場合であっても、当該画面から漢字の画数及びその総和を数えることは可能である。従って、ユーザは、本発明の実施態様に従い生成したテストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せる。シグネチャーは、どのような場合であっても同じである。従って、テストデータ中の所定の文字列中の漢字の画数の総和を調べるだけで、当該テストデータが正しく生成されたデータであるかどうかや改ざん等されてないかどうかを容易に判断することが可能である。
【０１９２】
（５）本発明の実施態様に従い生成したテストデータが複数の項目を有している場合において、例えば、テストデータ中の「項目Ａ」、「項目Ｂ」、「項目Ｃ」及び「項目Ｄ」のデータ・セットを複数有している場合には、項目Ａ〜Ｄそれぞれに同じシグネチャーが埋め込まれる。従って、テストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせることが可能である。
【０１９３】
（６）本発明の実施態様に従い、文字列中の漢字の画数の総和を一定にしながら（すなわち、同じシグネチャーを有しながら）、組み合わせパターンを変更することが可能である。よって、生成する文字列の長さ（漢字の数）を変えることが可能である。従って、生成するテストデータのバリエーションを増やせ、さらには、重複するデータを最小にすることが可能である。また、生成したテストデータを、より現実的な長さを有するデータとすることが可能である。
【０１９４】
（７）本発明の実施態様に従い生成したテストデータは、それ自体が、認識可能な固有の特徴であるシグネチャー（例えば、上記「２０１３１２３１」）を有している。
【０１９５】
図１０は、図１に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータを自動的に生成するコンピュータの機能ブロック図の一例を示した図である。
【０１９６】
コンピュータ（１００１）は、本発明の実施態様に従いテストデータを自動的に生成するコンピュータであり、例えば図１に示すコンピュータである。
【０１９７】
コンピュータ（１００１）は、メタデータ受け取り手段（１０１１）、シグネチャー受け取り手段（１０１２）、シグネチャー分割手段（１０１３）、マッピング情報生成手段（１０１４）、総和決定手段（１０１５）、パターン生成手段（１０１６）、文字選択手段（１０１７）、並びに、テストデータ出力手段（１０１８）及びマッピング情報出力手段（１０１９）を備えている。
【０１９８】
メタデータ受け取り手段（１０１１）は、例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）からメタデータを受け取る。
【０１９９】
メタデータ受け取り手段（１０１１）は、図４に記載のステップ４０２及び図８に記載のステップ８０２を実行しうる。
【０２００】
シグネチャー受け取り手段（１０１２）は、メタデータ受け取り手段（１０１１）が受け取ったメタデータから、生成する少なくとも１つの文字列に埋め込むシグネチャーを取り出す。または、シグネチャー受け取り手段（１０１２）は、メタデータ受け取り手段（１０１１）が受け取ったメタデータ中の、生成する少なくとも１つの文字列に埋め込むシグネチャーを受け取る。
【０２０１】
シグネチャー受け取り手段（１０１２）は、図４に記載のステップ４０３及び図８に記載のステップ８０３を実行しうる。
【０２０２】
シグネチャー分割手段（１０１３）は、シグネチャー受け取り手段（１０１２）が受け取ったシグネチャーを複数の要素に分割する。また、シグネチャー分割手段（１０１３）は、シグネチャーを１桁の数字に分割しうる。
【０２０３】
シグネチャー分割手段（１０１３）は、図４に記載のステップ４０４及び４１２並びに図８に記載のステップ８０４及び８１２を実行しうる。
【０２０４】
マッピング情報生成手段（１０１４）は、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを上記複数の項目それぞれに関連付けうる。また、マッピング情報生成手段（１０１４）は、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを項目中の語それぞれに関連付けうる。
【０２０５】
マッピング情報生成手段（１０１４）は、図４に記載のステップ４０５及び図８に記載のステップ８０５を実行しうる。
【０２０６】
総和決定手段（１０１５）は、シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する。
【０２０７】
総和決定手段（１０１５）は、図４に記載のステップ４０６及び図８に記載のステップ８０６を実行しうる。
【０２０８】
パターン生成手段（１０１６）は、総和決定手段（１０１５）が決定した総和になるように、文字列中の各文字の組み合わせパターンを少なくとも１つ決定しうる。
【０２０９】
パターン生成手段（１０１６）は、図４に記載のステップ４０７及び図８に記載のステップ８０７を実行しうる。
【０２１０】
文字選択手段（１０１７）は、シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも１つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する。
【０２１１】
文字選択手段（１０１７）は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを少なくとも１つ決定しうる。また、文字選択手段（１０１７）は、上記各文字固有の上記属性値の組み合わせパターン毎に、上記文字列を構成する少なくとも１つの文字を上記文字表中から選択しうる。
【０２１２】
文字選択手段（１０１７）は、図４に記載のステップ４０８〜４０９及び４１０並びに図８に記載のステップ８０８〜８０９及び８１０を実行しうる。
【０２１３】
テストデータ出力手段（１０１８）は、文字選択手段（１０１７）が生成した文字列を雛形テーブル中に挿入して、テストデータを生成する。また、テストデータ出力手段（１０１８）は、上記生成した文字列をテストデータの形式に整える。
【０２１４】
テストデータ出力手段（１０１８）は、上記生成されたテストデータを出力する。
【０２１５】
テストデータ出力手段（１０１８）は、図４に記載のステップ４１１及び４１３（テストデータの出力）及び図８に記載のステップ８１１及び８１３（テストデータの出力）を実行しうる。
【０２１６】
マッピング情報出力手段（１０１９）は、マッピング情報生成手段（１０１４）が生成したマッピング情報を例えば当該コンピュータ（１０１）がアクセス可能な記憶媒体（例えば、図１の符号１０８）に出力する。
【０２１７】
マッピング情報出力手段（１０１９）は、図４に記載のステップ４１３（マッピング情報の出力）及び図８に記載のステップ８１３（マッピング情報の出力）を実行しうる。
【０２１８】
図１１は、図１に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータの機能ブロック図の一例を示した図である。
【０２１９】
コンピュータ（１１０１）は、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであり、例えば図１に示すコンピュータである。
【０２２０】
コンピュータ（１１０１）は、テストデータ受信手段（１１１１）、マッピング情報取り出し手段（１１１２）、解析手段（１１１３）、シグネチャー識別手段（１１１４）及びメタデータ出力手段（１１１５）を備えている。
【０２２１】
テストデータ受信手段（１１１１）は、テストデータを受けとる。当該テストデータは、複数の項目を持つ。
【０２２２】
テストデータ受信手段（１１１１）は、図５に記載のステップ５０２及び図９に記載のステップ９０２を実行しうる。
【０２２３】
マッピング情報取り出し手段（１１１２）は、マッピング情報を受け取る。当該マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む。
【０２２４】
マッピング情報取り出し手段（１１１２）は、図５に記載のステップ５０３及び図９に記載のステップ９０３を実行しうる。
【０２２５】
解析手段（１１１３）は、マッピング情報取り出し手段（１１１２）が受け取ったマッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める。
【０２２６】
解析手段（１１１３）は、図５に記載のステップ５０４〜５０６及び図９に記載のステップ９０４〜９０６を実行しうる。
【０２２７】
シグネチャー識別手段（１１１４）は、解析手段（１１１３）が求めた総和に基づいて、上記テストデータのシグネチャーを識別する。
【０２２８】
また、シグネチャー識別手段（１１１４）は、上記識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生する。
【０２２９】
シグネチャー識別手段（１１１４）は、図５に記載のステップ５０７〜５０８及び図９に記載のステップ９０７〜９０８を実行しうる。
【０２３０】
メタデータ出力手段（１１１５）は、シグネチャー識別手段（１１１４）が再生したメタデータを記憶媒体中に格納する。
【０２３１】
メタデータ出力手段（１１１５）は、図５に記載のステップ５０９及び図９に記載のステップ９０９を実行する。
【０２３２】
図１２は、本発明の実施態様に従い、文字列中の母音であることを示す値の総和になるように選択された文字列（文字列中の母音文字と子音文字との組み合わせ）の例を示す。
【０２３３】
当該文字列の例では、当該文字列中の母音文字の総和が１（１母音）、２（２母音）、３（３母音）、４（４母音）及び５（５母音）の場合である。当該文字列の例からも明らかなように、生成された文字列は明らかにテストデータとして生成されたものであることが分かる。また、当該生成された文字列は、当該文字列自体が上記シグネチャー（文字列中の母音であることを示す値の総和）を有している。
【０２３４】
図１３は、本発明の実施態様に従い、文字列中の各文字の画数の総和になるように選択された文字列の例を示す。
【０２３５】
当該下記文字列の例では、当該文字列中の漢字の画数の総和が１２画〜２４画の場合である。当該文字列の例からも明らかなように、生成された文字列は明らかにテストデータとして生成されたものであることが分かる。また、当該生成された文字列は、当該文字列自体が上記シグネチャ（文字列中の各文字の画数の総和）を有している。
【図１】
0005928733.tif 000002
【図２Ａ】
0005928733.tif 000003
【図２Ｂ】
0005928733.tif 000004
【図３】
0005928733.tif 000005
【図４】
0005928733.tif 000006
【図５】
0005928733.tif 000007
【図６Ａ】
0005928733.tif 000008
【図６Ｂ】
0005928733.tif 000009
【図７】
0005928733.tif 000010
【図８】
0005928733.tif 000011
【図９】
0005928733.tif 000012
【図１０】
0005928733.tif 000013
【図１１】
0005928733.tif 000014
【図１２】
0005928733.tif 000015
【図１３】
0005928733.tif 000016