JP5928733B2 - 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム - Google Patents

文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5928733B2
JP5928733B2 JP2013184755A JP2013184755A JP5928733B2 JP 5928733 B2 JP5928733 B2 JP 5928733B2 JP 2013184755 A JP2013184755 A JP 2013184755A JP 2013184755 A JP2013184755 A JP 2013184755A JP 5928733 B2 JP5928733 B2 JP 5928733B2
Authority
JP
Japan
Prior art keywords
character
test data
signature
computer
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013184755A
Other languages
English (en)
Other versions
JP2015052873A (ja
Inventor
哲夫 難波
哲夫 難波
秀夫 武田
秀夫 武田
英介 神崎
英介 神崎
かおり 丸山
かおり 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2013184755A priority Critical patent/JP5928733B2/ja
Priority to US14/478,421 priority patent/US9613019B2/en
Publication of JP2015052873A publication Critical patent/JP2015052873A/ja
Application granted granted Critical
Publication of JP5928733B2 publication Critical patent/JP5928733B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、テストデータを自動的に生成する技法に関する。また、本発明は、当該テストデータ中に埋め込まれたシグネチャーを識別する技法に関する。
テストデータ(テスト用文字列データともいう)とは、例えばシステムが正常に稼動するかどうか又はシステムが負荷に耐性可能であるかどうかをテストするための、実データに代わるデータである。テストデータは例えば、システム開発におけるサブシステムの単体テスト・モジュールの結合テスト若しくは全体のシステムテスト、又は、ウェブ・アプリケーションが実運用に耐えうるかどうかの耐性テストにおいて使用されうる。
テストデータとして、例えば実データ(本番データ)をそのまま使用することも考えられる。しかしながら、実データが顧客情報や機密情報を含む場合もあることから、当該実データを使用することによって情報漏洩等のリスクも懸念される。
テストデータを自動的に生成する従来技術の方法は種々知られている。当該従来技術において、実データに代わるテストデータを自動的に生成する為に、以下の方法が用いられている:
(1)特定の文字列を実データに付加してテストデータとする。例えば、特定の文字列「TEST_」を実データ「山田」に付加した「TEST_山田」である。
(2)同じ文字列を全ての箇所において使用してテストデータとする。例えば、「XXXXX」である。
(3)規則性のない文字列をランダムに発生してテストデータとする。例えば、「fkwLkxP」である。
(4)テストデータで使用する文字列を予め記述したルックアップ表から文字列を選択して、テストデータとする。例えば、「斉藤」、「鈴木」、「佐藤」である。
下記特許文献1はデータ作成処理対象として指定された電子文書中の文字列を他の文字列に変換するテストを行うためのテスト用マスキングデータ生成装置に関する発明であり(請求項1)、当該テスト用マスキングデータ生成装置は、文字列変換用デーブルとして、文字変換候補を乱数でソートする前後の対応関係を保持する変換前−変換後対応テーブルを用いて、前記文字列を変換するマスキング処理部を有することを特徴とする(請求項1)。
下記特許文献2は手書署名認証装置に関する発明であり(請求項1)、手書き入力された署名情報の情報量として署名情報の画数を用いることを特徴とする(請求項3)。
下記特許文献3は電子署名装置に関する発明であり(請求項1)、当該電子署名装置は電子署名を行うべきデーターからハッシュ値を生成するハッシュ値生成手段を備えていることを記載する(請求項1)。
下記特許文献4は句読点が全角文字と半角文字+半角空白とによって構成された電子文書の埋込情報の符号化方法に関する発明であり(請求項1)、当該符号化方法は、埋込情報をバイナリデータに変換し、変換したバイナリデータの符号を、全角文字と半角文字+半角空白とで構成される句読点に割り当て、割り当てた符号を電子文書に埋め込むことを特徴とすることを記載する(請求項1)。
下記特許文献5は電子メール機能を有するコンピュータに関する発明であり(段落0001)、当該コンピュータは、差出人を特定可能とする画像情報を含むシンボルを電子メールの署名情報の中に組み込んで送信する送信手段を備えたことを記載する(請求項1)。
下記特許文献6は医用レポートシステムに関する発明であり(請求項1)、当該医用レポートシステムは、所定のレポートに関するレポート情報を入力するレポート情報入力手段と、前記所定のレポートに関して複数の署名情報を入力する署名情報入力手段と、前記レポート情報入力手段によって入力されたレポート情報を前記署名情報入力手段によって入力された署名情報と関連付けて管理する管理手段とを備えたことを特徴とすることを記載する(請求項1)。
特開2011−209944号公報 特開2001−155162号公報 特開2002−258745号公報 特開平11−288216号公報 特開2001−125846号公報 特開2001−125995号公報
本発明は、テストデータを自動的に生成する際に生じる以下の課題を解決することを目的とする。
(1)テストデータを使用するユーザは、当該テストデータが明らかにテストデータとして生成されたものであることを確認できるようにしたいという場合がある。テストデータの中には、テストデータとして生成されたものであることを確認できない場合がある。従って、当該データに実データが紛れていても気付かない。また、特定の文字列を実データに付加してテストデータとする方法では、データが実データと異なる性質になる場合がある。例えば、実データのフィールドの型が漢字である場合に、当該実データ(漢字である)に特定の文字列「TEST_」(半角文字である)を付加してテストデータとすると、当該フィールドに半角文字が入ってしまう。従って、当該フィールドに半角文字が混入し、型が崩れてしまう。
(2)生成したテストデータ自体にメタ情報を持たせたいという要望がある。例えば、テストデータに特徴的なシグネチャー(署名)を持たせ、当該テストデータそのものから、シグネチャーを取り出せるようにしたいという要望がある。また、テストデータ生成ツールや当該生成ツールから生成したテストデータが不正に使用されたときに容易に当該不正を認識できるようにしたいという要望がある。
(3)データの文字コード(codepage)が変更された場合であっても、テストデータに関連付けられたシグネチャーが失われないようにしたいという要望がある。例えば、文字コード、半角若しくは全角、又は書体若しくはフォントの違いなどがあっても、シグネチャーを認識したい場合がある。
(4)テストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せるようにしたいという要望がある。例えば、印刷されたテストデータや、ディスプレイ画面に表示されたテストデータからも、例えば肉眼によってシグネチャーを確認したい場合がある。
(5)テストデータが複数の項目(例えば、データベース・ソフトウェアの項目、表計算ソフトウェアのセル、各種アプリケーション・ソフトウェアのテンプレート中の項目)からなるデータである場合に、どの項目にも同じシグネチャーを持たせたいという要望がある。例えば、どの項目にも同じシグネチャーを持たせることによって、データの一部分だけを抜き出しても、シグネチャーを確認できるようにしたいという要望がある。
(6)生成したテストデータのバリエーションが少ない又は偏っている為に、バリエーションを増やしたい又は偏りをなくしたいという要望がある。
(7)生成したテストデータ自体が、認識可能な固有の特徴を有しているようにしたいという要望がある。
本発明は、文字列からなるテストデータを自動的に生成する技法を提供する。当該技法は、上記テストデータを自動的に生成する方法、並びに、そのコンピュータ、コンピュータ・プログラム及びコンピュータ・プログラム製品を包含しうる。
本発明は、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する技法を提供する。当該技法は、上記テストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、そのコンピュータ、コンピュータ・プログラム及びコンピュータ・プログラム製品を包含しうる。
本発明に従う第1の態様において、文字列からなるテストデータを自動的に生成する上記方法は、
生成する少なくとも1つの文字列に埋め込むシグネチャーを受け取るステップと、
上記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定するステップと、
上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも1つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成するステップ
を含む。
本発明に従う第2の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する上記方法は、
複数の項目を持つテストデータを受信するステップと、
マッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求めるステップであって、上記マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む、上記求めるステップと、
上記総和に基づいて、上記テストデータのシグネチャーを識別するステップと
を含む。
本発明に従う第3の態様において、文字列からなるテストデータを自動的に生成する上記コンピュータは、
生成する少なくとも1つの文字列に埋め込むシグネチャーを受け取るシグネチャー受け取り手段と、
上記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する総和決定手段と、
上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも1つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する文字選択手段と
を備えている。
本発明の一つの実施態様において、上記文字選択手段は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを少なくとも1つ決定しうる。
本発明の一つの実施態様において、上記文字選択手段は、上記各文字固有の上記属性値の組み合わせパターン毎に、上記文字列を構成する少なくとも1つの文字を上記文字表中から選択しうる。
本発明の一つの実施態様において、上記コンピュータは、上記シグネチャーを複数の要素に分割するシグネチャー分割手段をさらに備えうる。当該分割された各要素が上記シグネチャーの各要素を構成する。
本発明の一つの実施態様において、上記分割手段が、上記シグネチャーを1桁の数字に分割しうる。当該分割された1桁の数字が上記シグネチャーの各要素を構成しうる。
本発明の一つの実施態様において、上記コンピュータは、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを上記複数の項目それぞれに関連付けるマッピング情報生成手段をさらに備えうる。代替的には、上記マッピング情報生成手段が、上記複数の要素それぞれを項目中の語それぞれに関連付けうる。当該語は、意味のある語又は意味のない語のいずれであってもよい。
本発明の一つの実施態様において、上記文字選択手段は、上記シグネチャーの要素が複数ある場合に、第1の要素に関連付けられた第1の文字列と第2の要素に関連付けられた第2の文字列との間に、当該第1及び第2の文字列を構成する文字と異なる種類である少なくとも1つの文字をデリミッタとして挿入しうる。
本発明の一つの実施態様において、上記文字選択手段は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを、乱数を発生させて又はハッシュ値を計算して少なくとも1つ決定しうる。
本発明の一つの実施態様において、上記文字選択手段は、上記少なくとも1つの文字を、生成する文字列毎に乱数を発生させて又はハッシュ値を計算して上記文字表中から選択しうる。
本発明の一つの実施態様において、上記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
上記文字表が、上記母音と上記子音とを記述した表である場合に、
上記総和決定手段は、上記シグネチャーの要素毎に関連付けられる文字列中の母音であることを示す値の総和を決定し、且つ、
上記文字選択手段は、上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列中の母音文字と子音文字との組み合わせパターンを少なくとも1つ決定しうる。また、上記文字選択手段は、母音文字と子音文字との上記組み合わせパターン毎に、上記文字列を構成する文字を上記文字表中から選択しうる。
本発明の一つの実施態様において、上記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり且つ上記文字表が、上記画数と当該画数に関連付けられた上記文字を記述した表である場合に、
上記総和決定手段は、上記シグネチャーの要素毎に関連付けられる文字列中の各文字の画数の総和を決定し、且つ、
上記文字選択手段は、上記シグネチャーの要素毎に、上記決定した総和になるように、上記文字列中の各文字の画数の組み合わせパターンを少なくとも1つ決定しうる。また、上記文字選択手段は、上記各文字の上記画数の組み合わせパターン毎に、上記文字列を構成する少なくとも1つの文字を上記文字表中から選択しうる。
本発明に従う第4の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する上記コンピュータは、
複数の項目を持つテストデータを受信するテストデータ受信手段と、
マッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める解析手段であって、上記マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む、上記解析手段と、
上記総和に基づいて、上記テストデータのシグネチャーを識別するシグネチャー識別手段と、
を備えている。
本発明に従う第5の態様において、文字列からなるテストデータを自動的に生成するコンピュータ・プログラム又はコンピュータ・プログラム製品は、コンピュータに、上記第1の態様に記載の方法の各ステップを実行させる。
本発明に従う第6の態様において、文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータ・プログラム又はコンピュータ・プログラム製品は、コンピュータに、上記第2の態様に記載の方法の各ステップを実行させる。
本発明の実施態様に従うコンピュータ・プログラムはそれぞれ、一つ又は複数のフレキシブル・ディスク、MO、CD−ROM、DVD、BD、ハードディスク装置、USBに接続可能なメモリ媒体、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。当該コンピュータ・プログラムは、上記記録媒体への格納のために、通信回線で接続する他のコンピュータ、例えばサーバ・コンピュータからダウンロードしたり、又は他の記録媒体から複製したりすることができる。また、本発明の実施態様に従うコンピュータ・プログラムは、圧縮し、又は複数に分割して、単一又は複数の記録媒体に格納することもできる。また、様々な形態で、本発明の実施態様に従うコンピュータ・プログラム製品を提供することも勿論可能であることにも留意されたい。本発明の実施態様に従うコンピュータ・プログラム製品は、例えば、上記コンピュータ・プログラムを記録した記憶媒体、又は、上記コンピュータ・プログラムを伝送する伝送媒体を包含しうる。
本発明の上記概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーション又はサブコンビネーションもまた、本発明となりうることに留意すべきである。
本発明の実施態様において使用されるコンピュータの各ハードウェア構成要素を、複数のマシンと組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
また、本発明は、ハードウェア、ソフトウェア、又は、ハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアとの組み合わせによる実行において、上記コンピュータ・プログラムのインストールされたコンピュータにおける実行が典型的な例として挙げられる。かかる場合、当該コンピュータ・プログラムが当該コンピュータのメモリにロードされて実行されることにより、当該コンピュータ・プログラムは、当該コンピュータを制御し、本発明にかかる処理を実行させる。当該コンピュータ・プログラムは、任意の言語、コード、又は、表記によって表現可能な命令群から構成されうる。そのような命令群は、当該コンピュータが特定の機能を直接的に、又は、1.他の言語、コード若しくは表記への変換及び、2.他の媒体への複製、のいずれか一方若しくは双方が行われた後に、本発明の実施態様に従う処理を実行することを可能にするものである。
テストデータを使用するユーザは、本発明の実施態様に従い生成されたテストデータが明らかにテストデータとして生成されたものであることを確認できる。
本発明の実施態様に従い生成されたテストデータは、当該テストデータ自体がシグネチャーを持っている。
本発明の実施態様に従い生成されたテストデータにおいて、文字コードが変更された場合であっても、当該テストデータ中のシグネチャーは失われない。
本発明の実施態様に従い生成されたテストデータから、当該テストデータの文字列がどのような表示形態(例えば、印刷されたテストデータ、及びディスプレイ画面に表示されたテストデータ)であっても、シグネチャーを取り出せる。
本発明の実施態様に従い生成されたテストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせたることが可能である。
本発明の実施態様に従い生成されたテストデータにおいて、当該テストデータ中の文字列の長さ(字数)を任意に変更することができるので、そのバリエーションの数を多くすることができる。
本発明の実施態様に従い生成されたテストデータにおいて、当該テストデータ自体が、認識可能な固有の特徴(漢字の画数、又はアルファベットの母音の数)を有している。
本発明の実施態様において使用されうるコンピュータの一例を示した図である。 本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。 本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。 図2A及び図2Bに示す実施態様と異なる実施態様を示す図である。 図2A及び図2Bに示す実施態様の処理の流れの詳細を示すフローチャートである。 図2A及び図2Bに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。 本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。 本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。 図6A及び図6Bに示す実施態様と異なる実施態様を示す図である。 図6A及び図6Bに示す実施態様の処理の流れの詳細を示すフローチャートである。 図6A及び図6Bに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。 図1に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータを自動的に生成するコンピュータの機能ブロック図の一例を示した図である。 図1に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータの機能ブロック図の一例を示した図である。 本発明の実施態様に従い、文字列中の母音であることを示す値の総和になるように選択された文字列(文字列中の母音文字と子音文字との組み合わせ)の例を示す。 本発明の実施態様に従い、文字列中の各文字の画数の総和になるように選択された文字列の例を示す。
本発明の実施形態を、以下に図面に従って説明する。以下の図を通して、特に断らない限り、同一の符号は同一の対象を指す。本発明の実施形態は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。
本発明の実施態様において使用されうるコンピュータは、テストデータを自動的に生成するコンピュータ又はテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであれば特に限定されない。当該コンピュータは例えば、例えば、デスクトップ・コンピュータ、ノート・コンピュータ若しくは一体型パソコン、又は、タブレット端末(例えば、アンドロイド端末、Windows(登録商標)タブレットでありうる。
本発明の実施態様において、「テストデータ」はテスト用の文字列データであり、例えばシステムが正常に稼動するかどうか又はシステムが負荷に耐性可能であるかどうかをテストするための、実データに代わるデータでありうる。また、当該「テストデータ」は、機密情報の漏洩を防ぐ為に使用されるマスクデータとして上記文字列データを含むテストデータでもありうる。
本発明の実施態様において、「シグネチャー」(署名ともいう)とは、テストデータの生成時に、当該テストデータに付加される特徴情報である。シグネチャーは、数字からなり、1又は複数の要素からなりうる。
シグネチャーは例えば、テストデータの生成ツールの情報(例えば、製品番号、バージョン番号、ライセンス番号)、テストデータを生成若しくは使用するユーザに固有の番号(例えば、ユーザID)、又は、例えばテストデータの生成日時でありうる。
シグネチャーが例えば日付を含むシグネチャーの場合、当該シグネチャーは例えば「20131231」でありうる。当該日付を含むシグネチャーは例えば、各要素が1桁の数字からなる場合には、各要素は「2」、「0」、「1」、「3」、「1」、「2」、「3」及び「1」からなり、又は、各要素が2桁の数字からなる場合には、各要素「20」、「13」、「12」及び「31」からなる。
図1は、本発明の実施態様において使用されうるコンピュータの一例を示した図である。
コンピュータ(101)は、CPU(102)とメイン・メモリ(103)とを備えており、これらはバス(104)に接続されている。CPU(102)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものである。当該CPU(102)は例えば、インテル社のCore(商標) iシリーズ、Core(商標) 2シリーズ、Atom(商標)シリーズ、Xeon(登録商標)シリーズ、Pentium(登録商標)シリーズ若しくはCeleron(登録商標)シリーズ、AMD(Advanced Micro Devices)社のAシリーズ、Phenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(登録商標)シリーズ若しくはSempron(商標)、又は、インターナショナル・ビジネス・マシーンズ・コーポレーションのPower(商標)シリーズでありうる。
バス(104)には、ディスプレイ・コントローラ(105)を介して、ディスプレイ(106)、例えば液晶ディスプレイ(LCD)が接続されうる。また、液晶ディスプレイ(LCD)は例えば、タッチパネル・ディスプレイ又はフローティング・タッチ・ディスプレイであてもよい。ディスプレイ(106)は、コンピュータ(101)上で動作中のソフトウェア(例えば、本発明の実施態様に従うコンピュータ・プログラム又は当該コンピュータ(101)上で動作中の各種コンピュータ・プログラム)が稼働することによって表示されるオブジェクトを、適当なグラフィック・インタフェースで表示するために使用されうる。
バス(104)には任意的に、例えばSATA又はIDEコントローラ(107)を介して、ディスク(108)、例えばハードディスク又はソリッド・ステート・ドライブ(SSD)が接続されうる。
バス(104)には任意的に、例えばSATA又はIDEコントローラ(107)を介して、ドライブ(109)、例えばCD、DVD又はBDドライブが接続されうる。
バス(104)には、周辺装置コントローラ(110)を介して、例えばキーボード・マウス・コントローラ又はUSBバスを介して、任意的に、キーボード(111)及びマウス(112)が接続されうる。
ディスク(108)には、オペレーティング・システム、例えばWindows(登録商標)OS、UNIX(登録商標)、MacOS(登録商標)、及びJ2EEなどのJava(登録商標)処理環境、Java(登録商標)アプリケーション、Java(登録商標)仮想マシン(VM)、Java(登録商標)実行時(JIT)コンパイラを提供するプログラム、本発明の実施態様に従うコンピュータ・プログラム、及びその他のプログラム、並びにデータが、メイン・メモリ(103)にロード可能なように記憶されうる。
ディスク(108)は、コンピュータ(101)内に内蔵されていてもよく、当該コンピュータ(101)がアクセス可能なようにケーブルを介して接続されていてもよく、又は、当該コンピュータ(101)がアクセス可能なように有線又は無線ネットワークを介して接続されていてもよい。
ドライブ(109)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラム、例えばオペレーティング・システム、アプリケーション又は本発明の実施態様に従うコンピュータ・プログラムをディスク(108)にインストールするために使用されうる。
通信インタフェース(114)は、例えばイーサネット(登録商標)・プロトコルに従う。通信インタフェース(114)は、通信コントローラ(113)を介してバス(104)に接続され、コンピュータ(101)を通信回線(115)に有線又は無線接続する役割を担い、コンピュータ(101)のオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インタフェース層を提供する。なお、通信回線は例えば、無線LAN接続規格に基づく無線LAN環境、IEEE802.11a/b/g/nなどのWi-Fi無線LAN環境、又は携帯電話網環境(例えば、3G又は4G環境)でありうる。
以下では、母音と子音を区別して表記する言語及び所定の画数を有する文字を持つ言語のそれぞれについて、本発明の実施態様に従いテストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
以下に示す図2A〜図2B、図3、図4、及び図5において、本発明の実施態様に従い、母音と子音を区別して表記する言語について、テストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
図2A及び図2Bは、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法を説明するための図である。
本発明の実施態様において、「母音と子音を区別して表記する言語」とは例えば、英語、ヨーロッパ言語(例えば、ドイツ語、フランス語、又はイタリア語、スペイン語)であるが、これらに制限されるものでない。以下では、母音と子音を区別して表記する言語が英語である場合を例として説明する。
「母音と子音を区別して表記する言語」において、各文字固有の属性値は、母音と子音を区別して表記する言語の母音であることを示す値である。当該値は例えば、母音がある場合に1である。
ステップ1において、ユーザは、テストデータに埋め込みたいシグネチャー「21」(201)を用意し、コンピュータ(101)に入力する。代替的には、コンピュータ(101)がシグネチャー「21」(201)をユーザからのシグネチャー生成要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
ステップ2において、コンピュータ(101)は、シグネチャー「21」(201)を受け取る。コンピュータ(101)は、生成するテストデータの雛形テーブル(211)を参照し、その項目数が2(カラムX及びカラムY)であることを知る。
コンピュータ(101)は、シグネチャー「21」(201)を上記項目数2で分割して、シグネチャーの要素を得る。従って、コンピュータ(101)は、シグネチャー「21」(201)を、要素「2」と要素「1」との1桁の各数字に分割する(202)。
コンピュータ(101)は、要素「2」及び要素「1」それぞれを、雛形テーブル(211)中のカラムX及びカラムYに関連付けて、マッピング表(212)を生成する。
ステップ3において、コンピュータ(101)は、母音と子音とを記述した表である母音子音表(213)を参照し、シグネチャー「21」(201)の要素「2」及び要素「1」毎に、当該要素の数に対応する母音文字の数になるように、母音文字と子音文字との組み合わせパターン(以下、「パターン」ともいう場合がある)を決定する。母音文字と子音文字との組み合わせパターンは、母音文字のみを含み、子音文字を含まないパターンも含む。当業者は、当該パターンにおいて、生成する文字列中の母音文字の数を決めうる。当該母音の数は例えば1〜4でありうるが、これに制限されるものではない。
母音子音表(213)は、テストデータを作成する為に用意された文字(母音と子音)を記述した表である。母音子音表(213)は、母音表(V)(214)、母音前の子音(pre V)表(C)(215)、母音間の子音(between Vs)表(C)(216)、及び、母音後の子音(post V)表(C)(217)を含む。母音表(V)(214)は、母音文字のみをリストする。母音前の子音表(C)(215)は、母音文字の前に置かれる子音文字をリストする。母音間の子音表(C)(216)は、母音文字と母音文字との間に置かれる子音文字をリストする。母音後の子音表(C)(217)は、母音文字の後に置かれる子音文字をリストする。当業者は、母音前の子音表(C)(215)、母音間の子音表(C)(216)及び母音後の子音表(C)(217)中にリストされる少なくとも1つの子音文字を適宜設定又は選択しうる。当業者は例えば、母音文字と子音文字がこの順で結合された場合に又は子音文字と母音文字がこの順に結合された場合に発音可能な組み合わせパターンであるように、上記子音文字を選択して各表(215,216及び217)中にリストしうる。発音可能とは、人による発音だけでなく、機械的な(ソフトウェア的な)読み上げが可能であることも含みうる。
上記母音文字と子音文字との上記組み合わせパターンは例えば下記パターンのいずれか一つ又はそれらの組み合わせでありうる:
(1)母音文字が子音文字の直後にあること;
(2)母音文字が子音文字間にあること;
(3)母音文字が子音文字の直前にあること;
(4)母音文字が語頭にあること;
(5)母音文字が語尾にあること;又は、
(6)母音文字が他の母音文字の直後にあること(すなわち、母音文字が連続すること)。また、上記母音文字と子音文字との上記組み合わせパターンは、発音可能な組み合わせパターンでありうる。
コンピュータ(101)は、図2Aに示す例では、要素「2」について、パターンA(203)、パターンB(204)及びパターンC(205)それぞれに見られるように、生成する文字列を構成する文字中の母音の総数が上記「2」になるように、「V+C+V」(母音文字が語頭及び語尾にあるパターンでもある),「V+V+C」(母音文字が語頭にあり、且つ母音文字が他の母音文字の直後にあるパターンでもある),及び「C+V+V」(母音文字が語尾にあり、且つ母音文字が他の母音文字の直後にあるパターンでもある)の3つの組み合わせパターンを決定している。当該決定されたパターン「V+C+V」,「V+V+C」,及び「C+V+V」のいずれにおいても、上記母音の数が上記要素「2」と等しくなるように決定されている。言い換えれば、母音であることを示す値(例えば、1とする)が上記要素「2」と等しくなるように、上記母音の総数が2つとなっている。コンピュータ(101)は、上記母音の総数が2になるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
同様に、コンピュータ(101)は、図2Aに示す例では、要素「1」について、パターンA(203)、パターンB(204)及びパターンC(205)それぞれに見られるように、生成する文字列を構成する文字中の母音の総数が上記「12」になるように、「C+V」の組み合わせパターンを決定している。当該決定されたパターン「C+V」は、上記母音の数が上記要素「1」になるように決定されている。言い換えれば、母音であることを示す値(例えば、1とする)が上記要素「1」になるように、上記母音の総数が1つとなっている。コンピュータ(101)は、上記組み合わせパターンを上記母音の総数が1になるように、例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
ステップ4において、コンピュータ(101)は、パターンA(203)中の要素「2」についての「V+C+V」になるように、母音子音表(213)から母音文字、子音文字及び母音文字の組み合わせパターンを選択する。同様に、コンピュータ(101)は、パターンB(204)中の要素「2」についての「V+V+C」になるように、母音子音表(213)から母音文字、母音文字及び子音文字の組み合わせパターンを選択する。同様に、コンピュータ(101)は、パターンC(205)中の要素「2」についての「C+V+V」になるように、母音子音表(213)から子音文字、母音文字及び母音文字の組み合わせパターンを選択する。コンピュータ(101)は、母音子音表(213)からの上記文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ(101)は、パターンA〜C(203、204及び205)それぞれについて、少なくとも1つの文字列ができるように、母音子音表(213)から上記子音文字及び母音文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
同様に、コンピュータ(101)は、パターンA(203)中の要素「1」についての「C+V」になるように、母音子音表(213)から子音文字及び母音文字の組み合わせパターンを少なくとも1つ選択する。同様に、コンピュータ(101)は、パターンB(204)中の要素「1」についての「C+V」になるように、母音子音表(213)から子音文字及び母音文字の組み合わせパターンを少なくとも1つ選択する。同様に、コンピュータ(101)は、パターンC(205)中の要素「1」についての「C+V」になるように、母音子音表(213)から子音文字及び母音文字の組み合わせパターンを少なくとも1つ選択する。コンピュータ(101)、パターンA〜C(203、204及び205)それぞれについて、少なくとも1つの文字列ができるように、母音子音表(213)から上記文字の組み合わせパターンを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
出力テーブルA(206)、出力テーブルB(207)及び出力テーブルC(208)はそれぞれ、パターンA(203)、パターンB(204)及びパターンC(205)に基づいて生成された文字列を示す。
ステップ5において、コンピュータ(101)は、出力テーブルA(206)、出力テーブルB(207)及び出力テーブルC(208)の表を合体して、テストデータ(209)を生成しうる。当該合体の方法は、出力テーブルA(206)、出力テーブルB(207)及び出力テーブルC(208)から、任意の1行のカラムX及びカラムYの各文字列を取り出すことによって行われうる。コンピュータ(101)は例えば、出力テーブルA(206)、出力テーブルB(207)及び出力テーブルC(208)の順に又はランダムに、任意の1行のカラムX及びカラムYの各文字列を取り出しうる。
コンピュータ(101)は、テストデータ(209)及びマッピング情報(212)を出力しうる。当該出力は、例えば当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。
図3は、図2A及び図2Bに示す実施態様と異なる実施態様を示す図である。
図3に示す雛形テーブル(311)は、図2Aに示す雛形テーブル(211)と異なり、非構造化テキストである。そして、当該非構造化テキストは、雛形テーブル(311)中のカラムXに入力される文字列に対応する1st wordを入力する箇所、及び雛形テーブル(311)中のカラムXに入力される文字列に対応する2nd wordを入力する箇所を有している。
ステップ1において、ユーザは、テストデータに埋め込みたいシグネチャー「21」(301)を用意し、コンピュータ(101)に入力する。代替的には、コンピュータ(101)がシグネチャー「21」(301)をユーザからの要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
ステップ2において、コンピュータ(101)は、シグネチャー「21」(301)を受け取る。コンピュータ(101)は、生成するテストデータの雛形テーブル(311)を参照し、その文字列を入力する項目数が2(1st word及び2nd word)であることを知る。
コンピュータ(101)は、シグネチャー「21」(301)を上記項目数2で分割する。従って、シグネチャー「21」(301)は、要素「2」及び要素「1」の1桁の数字に分割される(302)。
コンピュータ(101)は、要素「2」及び要素「1」それぞれを、1st word及び2nd wordに関連付けて、マッピング表(312)を生成する。
ステップ3及びステップ4は、図2Aに示すステップと同じであるので、ここではその説明を省略する。
出力テーブルA(306)、出力テーブルB(307)及び出力テーブルC(308)はそれぞれ、パターンA(203と同じ)、パターンB(204と同じ)及びパターンC(205と同じ)に基づいて生成された文字列を示す。
ステップ5において、コンピュータ(101)は、出力テーブルA(306)、出力テーブルB(307)及び出力テーブルC(308)の表を合体して、テストデータ(309)を生成しうる。当該合体の方法は、出力テーブルA(306)、出力テーブルB(307)及び出力テーブルC(308)から、任意の1行のカラムX及びカラムYの各文字列を取り出し、取り出した各文字を雛形テーブル(311)中に入力することによって行われうる。コンピュータ(101)は、当該入力において、カラムXからの文字列とカラムYの各文字列とを区別するために、カラムXからの文字列とカラムYの各文字列との間に、母音及び子音以外の文字(例えば、スペース)を入力しうる。コンピュータ(101)は例えば、出力テーブルA(306)、出力テーブルB(307)及び出力テーブルC(308)の順に、1行ずつ、1st word及び2nd wordの各文字列を取り出しうる。
コンピュータ(101)は、テストデータ(309)及びマッピング情報(312)を出力しうる。当該出力は、例えば当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること、画面上に表示すること、又は、プリンタで出力することを含みうる。コンピュータ(101)は、テストデータ(309)にマッピング情報(312)を関連付けるための情報を挿入しうる。コンピュータ(101)は例えば、テストデータ(309)中にマッピング情報(312)を埋め込みうる。当該情報は、テストデータからシグネチャーを識別する処理において、当該テストデータに関連付けられたマッピング情報を特定するために使用されうる。
図4は、図2A及び図2Bに示す実施態様の処理の流れの詳細を示すフローチャートである。
ステップ401において、コンピュータ(101)は、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する処理を開始する。
ステップ402において、コンピュータ(101)は、メタデータを受け取る。メタデータとは、複数のシグネチャーを持つものである。メタデータが1つのシグネチャーのみ持つ場合には、メタデータはシグネチャーと同じである。複数のシグネチャーとは例えば、テストデータの生成ツールの情報(例えば、製品番号、バージョン番号、ライセンス番号)、テストデータを生成若しくは使用するユーザに固有の番号(例えば、ユーザID)、及び、例えばテストデータの生成日時のうちのから選択される少なくとも2つのシグネチャーである。コンピュータ(101)は、テストデータに埋め込みたいシグネチャーをユーザが複数指定することに応じて、当該指定された複数のシグネチャーをメタデータとして例えば当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納する。
ステップ403において、コンピュータ(101)は、ステップ402で受け取ったメタデータ中に含まれているシグネチャーから1つのシグネチャーを取り出す。
ステップ404において、コンピュータ(101)は、生成するテストデータの雛形テーブルを参照し、その項目数を得る。コンピュータ(101)は、ステップ403で取り出したシグネチャーを上記項目数で分割して、シグネチャーの要素を得る。典型的には、母音と子音を区別して表記する言語についてのテストデータを生成する場合には、分割されて生じた要素は1桁の数字である。
ステップ405において、コンピュータ(101)は、各要素を雛形テーブル中の項目に関連付けて、マッピング表を生成する。マッピング表は例えば、要素と項目とを関連付けるマッピング情報を格納したマッピング・データであってもよい。
ステップ406において、コンピュータ(101)は、上記マッピング表に従って、雛形テーブル中の各項目に入力される文字列中の母音であることを示す値の総和を決定する。すなわち、コンピュータ(101)は、マッピング表中の上記要素(1桁の数字)を上記値の総和として決定する。
ステップ407において、コンピュータ(101)は、ステップ406で決定した総和になるように、母音子音表を参照し、要素毎に、当該要素の数に対応する母音文字の数になるように、母音文字と子音文字との組み合わせパターンを決定する。コンピュータ(101)は、1つの要素について、母音文字と子音文字との1つ又は複数の組み合わせパターンを決定しうる。
ステップ408において、コンピュータ(101)は、ステップ407で決定した組み合わせパターンのうち、1つの組み合わせパターンを取り出す。
ステップ409において、コンピュータ(101)は、ステップ408で取り出した組み合わせパターンになるように、上記文字列を構成する母音文字及び子音文字の組み合わせを母音子音表から選択する。コンピュータ(101)は、ステップ408で取り出した上記組み合わせパターンについて、少なくとも1つの文字列ができるように、上記子音文字及び母音文字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して、上記母音子音表から選択しうる。コンピュータ(101)は、当該生成した文字列を例えばコンピュータ(101)の一時記憶装置(例えば、図1の符号103)又は当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。
ステップ410において、コンピュータ(101)は、ステップ407で決定した組み合わせパターンのうち、ステップ409の処理が未処理の組み合わせパターンがあるかを判断する。コンピュータ(101)は、上記未処理の組み合わせパターンがあることに応じて、処理をステップ408に戻す。一方、コンピュータ(101)は、上記未処理の組み合わせパターンがないことに応じて、処理をステップ411に進める。
ステップ411において、コンピュータ(101)は、ステップ409で格納した上記文字列を雛形テーブル中に挿入して、テストデータを生成しうる。すなわち、コンピュータ(101)は、上記生成した文字列をテストデータの形式に整える。
ステップ412において、コンピュータ(101)は、ステップ402で受け取ったメタデータ中に含まれているシグネチャーのうち、ステップ403〜ステップ411の処理が未処理のシグネチャーがあるかを判断する。コンピュータ(101)は、上記未処理のシグネチャーがあることに応じて、処理をステップ403に戻す。一方、コンピュータ(101)は、上記未処理のシグネチャーがないことに応じて、処理をステップ413に進める。
ステップ413において、コンピュータ(101)は、ステップ411で生成したテストデータ及びステップ405で生成したマッピング情報を当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。上記テストデータの出力は、当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること以外に、例えば、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。マッピング情報は、図5に記載のフローチャートに示すように、テストデータからシグネチャーを識別するために使用される。
ステップ414において、コンピュータ(101)は、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する処理を終了する。
図5は、図2A及び図2Bに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。以下において、各ステップの主体であるコンピュータ(101)は、図4に記載の各ステップのコンピュータ(101)と物理的に同一のコンピュータであっても、異なるコンピュータであってもよい。
ステップ501において、コンピュータ(101)は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を開始する。
ステップ502において、コンピュータ(101)は、テストデータを受けとる。コンピュータ(101)は、上記テストデータを、例えば、コンピュータ(101)がアクセス可能な記憶媒体を介して、若しくはネットワークを経由して、又は、他のコンピュータ上の表示画面をキャプチャすることによって、若しくは印刷物をスキャナーで取り込むことによって受け取りうる。
ステップ503において、コンピュータ(101)は、ステップ502で受け取ったテストデータ中に埋め込まれている情報を参照して、当該受信したテストデータに関連付けられたマッピング情報を取り出す。コンピュータ(101)は、上記マッピング情報を、例えば、コンピュータ(101)がアクセス可能な記憶媒体を介して、又はネットワークを経由して取り出しうる。
ステップ504において、コンピュータ(101)は、ステップ502で受け取ったテストデータ中の文字列のうち、所定の一つの文字列を取り出す。
ステップ505において、コンピュータ(101)は、ステップ504で取り出した文字列中の母音文字の総和を算出する。所定の1つの文字列中の母音文字の総和が、シグネチャーの一つの要素(数字である)に対応する。
ステップ506において、コンピュータ(101)は、ステップ502で受け取ったテストデータ中の文字列のうち、ステップ504〜505の処理が未処理の文字列があるか判断する。コンピュータ(101)は、上記未処理の文字列があることに応じて、処理をステップ504に戻す。一方、コンピュータ(101)は、上記未処理の文字列がないことに応じて、処理をステップ507に進める。
ステップ507において、コンピュータ(101)は、ステップ505で算出した母音文字の総和を組み合わせて、ステップ502で受け取ったテストデータのシグネチャーを識別する。例えば、ステップ505で算出した母音文字の総和が「2」及び「1」である場合には、シグネチャーは「2」と「1」を組み合わせた「21」である。
ステップ508において、コンピュータ(101)は、ステップ507で識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生(再構築)しうる。
ステップ509において、コンピュータ(101)は、ステップ508で再生したメタデータを当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。
ステップ510において、コンピュータ(101)は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を終了する。
コンピュータ(101)は、任意的に、ステップ507で識別したシグネチャーと、ステップ502で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーとを比較しうる。コンピュータ(101)は、当該比較の結果、ステップ507で識別したシグネチャーが、ステップ502で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致することに応じて、当該テストデータが改ざん等されていないことを知る。一方、コンピュータ(101)は、当該比較の結果、ステップ507で識別したシグネチャーが、ステップ502で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致しないことに応じて、当該テストデータが改ざん等されていることを知る。
また、コンピュータ(101)は、ステップ508で再生したメタデータから、テストデータの作成日時や生成ツールの情報を得ることが可能である。
図2A〜図2B、図3、図4、及び図5において、本発明の実施態様に従い、母音と子音を区別して表記する言語において、当該言語の母音であることを示す値を属性値としてテストデータを生成する技法及び当該技法を使用して生成されたテストデータからシグネチャーを識別する技法を説明した。母音であることを示す値を使用する本発明の実施態様は、下記に示す特徴を有する。
(1)本発明の実施態様に従い生成したテストデータ中の文字列は、母音子音表から選択された文字(母音文字及び子音文字)を含む。当業者は、当該母音子音表において、生成されたデータに含まれる子音を、所定の子音の組み合わせ(例えば、sp,fl及びz(以上、母音前の子音表(C)),ks及びvr(以上、母音間の子音表(C))、並びに、l,rr及びkt(以上、母音後の子音表(C)))に特定することが可能である。また、テストデータ中の文字列を構成する各母音及び各子音は、コンピュータが乱数を発生させて又はハッシュ値を計算して選択されたものである。従って、図2Bのテストデータ(609)に示しているとおり、ユーザは、生成される文字列を、明らかにテストデータとして生成されたものであると認識することが可能である。
(2)本発明の実施態様に従い生成したテストデータ中に埋め込まれたシグネチャーは、当該テストデータの文字列中の母音の総和から復元される。従って、生成されたテストデータ自体がメタ情報を持っている。例えば、テストデータ中の「項目A」、「項目B」、「項目C」及び「項目D」中に含まれる母音の総和がそれぞれ、「1」、「2」、「3」及び「4」であるとする。この場合に、シグネチャーは、「1234」である。また、当該シグネチャー「1234」は、項目A〜Dからなるデータ・セットのすべてに共通する。従って、所定の項目に同じシグネチャーを埋め込むことが可能であるので、テストデータの一部(すなわち、データ・セットの一つ)だけを取り出しても識別されるシグネチャーは同じである。また、上記項目A〜Dからなるデータ・セットのうち、当該シグネチャー「1234」と一致しないデータ・セットは、不正のデータ(例えば、改ざん等されたデータ)であると判別されることが可能である。
(3)文字列中の母音の総和は文字コードに関係ないので、母音文字の文字コード変換が行われた場合であっても、当該母音の総和は同じである。すなわち、母音の総和は、文字コード変換が行われた場合であっても変化しない。また、文字列中の文字が大文字であっても小文字であっても、文字列中の母音の総和は変化しない。従って、特定の数の母音文字と任意の数の子音文字とを使用して生成されたデータの文字コードが変更された場合であっても、本発明の実施態様に従い生成したテストデータに関連付けられたシグネチャーは失われない。
(4)文字列中の母音の総和は、テストデータが印刷された場合であっても、当該印刷物から上記母音の総和を数えることは可能である。同様に、文字列中の母音の総和は、テストデータが表示画面上に表示されている場合であっても、当該画面から上記母音の総和を数えることは可能である。また、文字列中の文字が大文字であっても小文字であっても、文字列中の母音の総和は変化しない。従って、ユーザは、本発明の実施態様に従い生成したテストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せる。シグネチャーは、どのような場合であっても同じである。従って、テストデータ中の所定の文字列中の母音の総和を調べるだけで、当該テストデータが正しく生成されたデータであるかどうかや改ざん等されてないかどうかを容易に判断することが可能である。
(5)本発明の実施態様に従い生成したテストデータが複数の項目を有している場合において、例えば、テストデータ中の「項目A」、「項目B」、「項目C」及び「項目D」のデータ・セットを複数有している場合には、項目A〜Dそれぞれに同じシグネチャーが埋め込まれる。従って、テストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせることが可能である。
(6)本発明の実施態様に従い、文字列中の母音の総和を一定にしながら(すなわち、同じシグネチャーを有しながら)、組み合わせパターンを変更することが可能である。すなわち、母音文字の数を一定にしながら、子音文字の数を変更することによって、生成する文字列の長さを変えることが可能である。従って、生成するテストデータのバリエーションを増やせ、さらには、重複するデータを最小にすることが可能である。また、生成したテストデータを、より現実的な長さを有するデータとすることが可能である。
(7)本発明の実施態様に従い生成したテストデータは、それ自体が、認識可能な固有の特徴であるシグネチャー(例えば、上記「1234」)を有している。
以下に示す図6A〜図6B、図7、図8及び図9において、本発明の実施態様に従い、母音と子音を区別して表記する言語について、テストデータを生成する技法、及び当該生成されたテストデータ中に埋め込まれたシグネチャーを識別する技法を説明する。
図6A及び図6Bは、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法を説明するための図である。
本発明の実施態様において、「所定の画数を有する文字を持つ言語」及び「所定の画数を有する文字」(すなわち、画数が定められている文字)とは例えば、日本語と漢字、中国語と簡体字若しくは繁体字、又は韓国語とハングル文字であるが、これらに制限されるものでない。以下では、所定の画数を有する文字を持つ言語が日本語であり、且つ、所定の画数を有する文字が漢字である場合を例として説明する。
「所定の画数を有する文字を持つ言語」において、各文字固有の属性値は、当該言語の文字の画数である。当該画数は例えば、漢字辞典に収載されている画数に基づく。
ステップ1において、ユーザは、テストデータに埋め込みたいシグネチャー「2013」(601)を用意し、コンピュータ(101)に入力する。代替的には、コンピュータ(101)がシグネチャー「2013」(601)をユーザからのシグネチャー生成要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
ステップ2において、コンピュータ(101)は、シグネチャー「2013」(601)を受け取る。コンピュータ(101)は、生成するテストデータの雛形テーブル(611)を参照し、その項目数が2(カラムX及びカラムY)であることを知る。
コンピュータ(101)は、シグネチャー「2013」(601)を上記項目数2で分割して、シグネチャーの要素を得る。従って、コンピュータ(101)は、シグネチャー「2013」(601)を、要素「20」と要素「13」との2つに分割する(602)。
コンピュータ(101)は、要素「20」及び要素「13」それぞれを、雛形テーブル(611)中のカラムX及びカラムYに関連付けて、マッピング表(612)を生成する。
ステップ3において、コンピュータ(101)は、漢字(文字)の画数と当該画数に関連付けられた漢字(文字)を記述した、画数による漢字表(613)を参照し、シグネチャー「2013」(601)の要素「20」及び要素「13」毎に、当該要素の数に対応する画数の総和になるように、当該要素毎に関連付けられる文字列中の各漢字の画数の組み合わせパターン(以下、「パターン」ともいう場合がある)を決定する。当業者は、当該パターンにおいて、生成する文字列を構成する漢字の文字数を決めうる。当該文字数は例えば1〜5でありうるが、これに制限されるものではない。
漢字表(613)は、テストデータを作成する為に用意された文字(漢字)を記述した表である。漢字表(613)は、漢字の画数と当該画数に関連付けられた漢字を記述した表である。漢字表(613)の具体的な態様の一つは例えば、漢字の画数と、当該画数に属する少なくとも1つの漢字を記述した表でありうる。当業者は、漢字表(613)中にリストされる漢字を適宜設定又は選択しうる。
コンピュータ(101)は、図6Aに示す例では、要素「20」について、パターンA(603)、パターンB(604)及びパターンC(605)それぞれに見られるように、生成する文字列中の漢字の画数の総和が上記「20」になるように、「5+7+8」,「11+9」,及び「20」の3つの組み合わせパターンを決定する。当該決定されたパターン「5+7+8」,「11+9」,及び「20」のいずれにおいても、文字列を構成する漢字の画数の総和が上記要素「20」になるように決定されている。コンピュータ(101)は、上記文字列を構成する漢字の画数の総和が上記要素「20」と等しくなるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
同様に、コンピュータ(101)は、図6Aに示す例では、要素「13」について、パターンA(603)、パターンB(604)及びパターンC(605)それぞれに見られるように、生成する文字列中の漢字の画数の総和が上記「13」になるように、「6+7」,「5+8」,及び「7+6」の3つの組み合わせパターンを決定する。当該決定されたパターン「6+7」,「5+8」,及び「7+6」のいずれにおいても、文字列を構成する漢字の画数の総和が上記要素「13」になるように決定されている。コンピュータ(101)は、上記文字列を構成する漢字の画数の総和が上記要素「13」と等しくなるように、上記組み合わせパターンを例えば乱数を発生させて又はハッシュ値を計算して決定しうる。
ステップ4において、コンピュータ(101)は、パターンA(603)中の要素「20」についての「5+7+8」になるように、漢字表(613)から画数5の漢字、画数7の漢字及び画数8の漢字の組み合わせを選択する。同様に、コンピュータ(101)は、パターンB(604)中の要素「20」についての「11+9」になるように、漢字表(613)から画数11の漢字及び画数9の漢字の組み合わせを選択する。同様に、コンピュータ(101)は、パターンC(605)中の要素「20」についての「20」になるように、漢字表(613)から画数20の漢字を選択する。コンピュータ(101)は、漢字表(613)からの上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ(101)は、パターンA〜C(603、604及び605)それぞれについて、各パターンに従って文字列を生成するように、漢字表(613)から漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
同様に、コンピュータ(101)は、パターンA(603)中の要素「13」についての「6+7」になるように、漢字表(613)から画数6の漢字及び画数7の漢字の組み合わせを選択する。同様に、コンピュータ(101)は、パターンB(604)中の要素「13」についての「5+8」になるように、漢字表(613)から画数5の漢字及び画数8の漢字の組み合わせを選択する。同様に、コンピュータ(101)は、パターンC(605)中の要素「13」についての「7+6」になるように、漢字表(613)から画数7の漢字及び画数6の漢字を選択する。コンピュータ(101)は、漢字表(613)からの上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。コンピュータ(101)は、パターンA〜C(603、604及び605)それぞれについて、少なくとも1つの文字列ができるように、漢字表(613)から漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して選択しうる。
出力テーブルA(606)、出力テーブルB(607)及び出力テーブルC(608)はそれぞれ、パターンA(603)、パターンB(604)及びパターンC(605)に基づいて生成された文字列を示す。
ステップ5において、コンピュータ(101)は、出力テーブルA(606)、出力テーブルB(607)及び出力テーブルC(608)の表を合体して、テストデータ(609)を生成しうる。当該合体の方法は、出力テーブルA(606)、出力テーブルB(607)及び出力テーブルC(608)から、任意の1行のカラムX及びカラムYの各文字列を取り出すことによって行われうる。コンピュータ(101)は例えば、出力テーブルA(606)、出力テーブルB(607)及び出力テーブルC(608)の順に又はランダムに、任意の1行のカラムX及びカラムYの各文字列を取り出しうる。
コンピュータ(101)は、テストデータ(609)及びマッピング情報(612)を出力しうる。当該出力は、例えば当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。
図7は、図6A及び図6Bに示す実施態様と異なる実施態様を示す図である。
図7に示す雛形テーブル(711)は、図6Aに示す雛形テーブル(611)と異なり、非構造化テキストである。そして、当該非構造化テキストは、雛形テーブル(611)中のカラムXに入力される文字列に対応する1st wordを入力する箇所、及び雛形テーブル(611)中のカラムXに入力される文字列に対応する2nd wordを入力する箇所を有している。
ステップ1において、ユーザは、テストデータに埋め込みたいシグネチャー「2013」(701)を用意し、コンピュータ(101)に入力する。代替的には、コンピュータ(101)がシグネチャー「2013」(101)をユーザからの要求に応じて自動的に、例えば乱数を発生させて又はハッシュ値を計算して生成しうる。
ステップ2において、コンピュータ(101)は、シグネチャー「2013」(701)を受け取る。コンピュータ(101)は、生成するテストデータの雛形テーブル(711)を参照し、その文字列を入力する項目数が2(1st word及び2nd word)であることを知る。
コンピュータ(101)は、シグネチャー「2013」(701)を上記項目数2で分割する。従って、シグネチャー「2013」(701)は、要素「20」及び要素「13」に分割される(702)。
コンピュータ(101)は、要素「20」及び要素「13」それぞれを、1st word及び2nd wordに関連付けて、マッピング表(712)を生成する。
ステップ3及びステップ4は、図6Aに示すステップと同じであるので、ここではその説明を省略する。
出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)はそれぞれ、パターンA(603と同じ)、パターンB(604と同じ)及びパターンC(605と同じ)に基づいて生成された文字列を示す。
ステップ5において、コンピュータ(101)は、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)の表を合体して、テストデータ(709)を生成しうる。当該合体の方法は、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)から、任意の1行のカラムX及びカラムYの各文字列を取り出し、取り出した各文字を雛形テーブル(711)中に入力することによって行われうる。コンピュータ(101)は、当該入力において、カラムXからの文字列とカラムYの各文字列とを区別するために、カラムXからの文字列とカラムYの各文字列との間に、非漢字文字(例えば、スペース)を入力しうる。コンピュータ(101)は例えば、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)の順に、1行ずつ、1st word及び2nd wordの各文字列を取り出しうる。
代替的には、コンピュータ(101)は、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)の表を合体して、テストデータ(710)を生成しうる。当該合体の方法は、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)から、任意の1行のカラムX及びカラムYの各文字列を取り出し、取り出した各文字を雛形テーブル(711)中に入力することによって行われうる。当該入力において、カラムXからの文字列とカラムYの各文字列とを区別するために、コンピュータ(101)は、カラムXからの文字列とカラムYの各文字列との間に、非漢字文字(例えば、平仮名、片仮名、数字、アルファベット、又は記号)を入力しうる。コンピュータ(101)は例えば、出力テーブルA(706)、出力テーブルB(707)及び出力テーブルC(708)の順に、1行ずつ、1st word及び2nd wordの各文字列を取り出しうる。
コンピュータ(101)は、テストデータ(709)及びマッピング情報(712)を出力しうる。当該出力は、例えば当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること、画面上に表示すること、又は、プリンタで出力することを含みうる。コンピュータ(101)は、テストデータ(709)にマッピング情報(712)を関連付けるための情報を挿入しうる。コンピュータ(101)は例えば、テストデータ(709)中にマッピング情報(712)を埋め込みうる。当該情報は、テストデータからシグネチャーを識別する処理において、当該テストデータに関連付けられたマッピング情報を特定するために使用されうる。
図8は、図6A及び図6Bに示す実施態様の処理の流れの詳細を示すフローチャートである。
ステップ801において、コンピュータ(101)は、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する処理を開始する。
ステップ802において、コンピュータ(101)は、メタデータを受け取る。メタデータとは、複数のシグネチャーを持つものである。メタデータが1つのシグネチャーのみ持つ場合には、メタデータはシグネチャーと同じである。複数のシグネチャーとは例えば、テストデータの生成ツールの情報(例えば、製品番号、バージョン番号、ライセンス番号)、テストデータを生成若しくは使用するユーザに固有の番号(例えば、ユーザID)、及び、例えばテストデータの生成日時のうちのから選択される少なくとも2つのシグネチャーである。コンピュータ(101)は、テストデータに埋め込みたいシグネチャーをユーザが複数指定することに応じて、当該指定された複数のシグネチャーをメタデータとして例えば当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納する。
ステップ803において、コンピュータ(101)は、ステップ802で受け取ったメタデータ中に含まれているシグネチャーから1つのシグネチャーを取り出す。
ステップ804において、コンピュータ(101)は、生成するテストデータの雛形テーブルを参照し、その項目数を得る。コンピュータ(101)は、ステップ803で取り出したシグネチャーを上記項目数で分割して、シグネチャーの要素を得る。典型的には、所定の画数を有する文字を持つ言語についてのテストデータを生成する場合には、分割されて生じた要素は少なくとも1桁の数字でありうる。
ステップ805において、コンピュータ(101)は、各要素を雛形テーブル中の項目に関連付けて、マッピング表を生成する。マッピング表は例えば、要素と項目とを関連付けるマッピング情報を格納したマッピング・データであってもよい。
ステップ806において、コンピュータ(101)は、上記マッピング表に従って、雛形テーブル中の各項目に入力される文字列中の文字(漢字)の画数の総和を決定する。すなわち、コンピュータ(101)は、マッピング表中の上記要素を上記値の総和として決定する。
ステップ807において、コンピュータ(101)は、ステップ806で決定した総和になるように、漢字表を参照し、要素毎に、当該要素毎に関連付けられる文字列中の各漢字の画数の組み合わせパターンを決定する。コンピュータ(101)は、1つの要素について、各漢字の画数の1つ又は複数の組み合わせパターンを決定しうる。
ステップ808において、コンピュータ(101)は、ステップ807で決定した組み合わせパターンのうち、1つの組み合わせパターンを取り出す。
ステップ809において、コンピュータ(101)は、ステップ808で取り出した組み合わせパターンになるように、上記文字列を構成する漢字の組み合わせを漢字表から選択する。コンピュータ(101)は、ステップ808で取り出した上記組み合わせパターンについて、少なくとも1つの文字列ができるように、上記漢字の組み合わせを、例えば乱数を発生させて又はハッシュ値を計算して、上記漢字表から選択しうる。コンピュータ(101)は、当該生成した文字列を例えばコンピュータ(101)の一時記憶装置(例えば、図1の符号103)又は当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。
ステップ810において、コンピュータ(101)は、ステップ807で決定した組み合わせパターンのうち、ステップ809の処理が未処理の組み合わせパターンがあるかを判断する。コンピュータ(101)は、上記未処理の組み合わせパターンがあることに応じて、処理をステップ808に戻す。一方、コンピュータ(101)は、上記未処理の組み合わせパターンがないことに応じて、処理をステップ811に進める。
ステップ811において、コンピュータ(101)は、ステップ809で格納した上記文字列を雛形テーブル中に挿入して、テストデータを生成しうる。すなわち、コンピュータ(101)は、上記生成した文字列をテストデータの形式に整える。
ステップ812において、コンピュータ(101)は、ステップ802で受け取ったメタデータ中に含まれているシグネチャーのうち、ステップ803〜ステップ811の処理が未処理のシグネチャーがあるかを判断する。コンピュータ(101)は、上記未処理のシグネチャーがあることに応じて、処理をステップ803に戻す。一方、コンピュータ(101)は、上記未処理のシグネチャーがないことに応じて、処理をステップ813に進める。
ステップ813において、コンピュータ(101)は、ステップ811で生成したテストデータ及びステップ805で生成したマッピング情報を当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。上記テストデータの出力は、当該コンピュータ(101)がアクセス可能な記憶媒体中(例えば、図1の符号108)中に格納すること以外に、例えば、表示装置の画面上に表示すること、又は、プリンタで出力することを含みうる。マッピング情報は、図9に記載のフローチャートに示すように、テストデータからシグネチャーを識別するために使用される。
ステップ814において、コンピュータ(101)は、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する処理を終了する。
図9は、図6A及び図6Bに示す実施態様に従い生成されたテストデータからシグネチャーを識別するフローチャートを示す。以下において、各ステップの主体であるコンピュータ(101)は、図8に記載の各ステップのコンピュータ(101)と物理的に同一のコンピュータであっても、異なるコンピュータであってもよい。
ステップ901において、コンピュータ(101)は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を開始する。
ステップ902において、コンピュータ(101)は、テストデータを受けとる。コンピュータ(101)は、上記テストデータを、例えば、コンピュータ(101)がアクセス可能な記憶媒体を介して、若しくはネットワークを経由して、又は、他のコンピュータ上の表示画面をキャプチャすることによって、若しくは印刷物をスキャナーで取り込むことによって受け取りうる。
ステップ903において、コンピュータ(101)は、ステップ902で受け取ったテストデータ中に埋め込まれている情報を参照して、当該受信したテストデータに関連付けられたマッピング情報を取り出す。コンピュータ(101)は、上記マッピング情報を、例えば、コンピュータ(101)がアクセス可能な記憶媒体を介して、又はネットワークを経由して取り出しうる。
ステップ904において、コンピュータ(101)は、ステップ902で受け取ったテストデータ中の文字列のうち、所定の一つの文字列を取り出す。
ステップ905において、コンピュータ(101)は、ステップ904で取り出した文字列中の各文字(漢字)の画数の総和を算出する。所定の1つの文字列中の文字の画数の総和が、シグネチャーの一つの要素(数字である)に対応する。
ステップ906において、コンピュータ(101)は、ステップ502で受け取ったテストデータ中の文字列のうち、ステップ904〜905の処理が未処理の文字列があるか判断する。コンピュータ(101)は、上記未処理の文字列があることに応じて、処理をステップ904に戻す。一方、コンピュータ(101)は、上記未処理の文字列がないことに応じて、処理をステップ907に進める。
ステップ907において、コンピュータ(101)は、ステップ905で算出した画数の総和を組み合わせて、ステップ902で受け取ったテストデータのシグネチャーを識別する。例えば、ステップ905で算出した画数の総和が「20」及び「13」である場合には、シグネチャーは「20」と「13」を組み合わせた「2013」である。
ステップ908において、コンピュータ(101)は、ステップ907で識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生(再構築)しうる。
ステップ909において、コンピュータ(101)は、ステップ908で再生したメタデータを当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)中に格納しうる。
ステップ910において、コンピュータ(101)は、本発明の実施態様に従い、テストデータからシグネチャーを識別する処理を終了する。
コンピュータ(101)は、任意的に、ステップ907で識別したシグネチャーと、ステップ902で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーとを比較しうる。コンピュータ(101)は、当該比較の結果、ステップ907で識別したシグネチャーが、ステップ902で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致することに応じて、当該テストデータが正しく生成されたデータであることや改ざん等されていないことを知る。一方、コンピュータ(101)は、当該比較の結果、ステップ907で識別したシグネチャーが、ステップ902で受け取ったテストデータ中に埋め込まれていると期待されるシグネチャーと一致しないことに応じて、当該テストデータが正しく生成されていないデータであることや改ざん等されていることを知る。
また、コンピュータ(101)は、ステップ908で再生したメタデータから、テストデータの作成日時や生成ツールの情報を得ることが可能である。
図6A〜図6B、図7、図8及び図9において、本発明の実施態様に従い、所定の画数を有する文字を持つ言語において、当該言語の文字の画数を属性値としてテストデータを生成する技法及び当該技法を使用して生成されたテストデータからシグネチャーを識別する技法を説明した。所定の画数(例えば、漢字の画数)を使用する本発明の実施態様は、下記に示す特徴を有する。
(1)本発明の実施態様に従い生成したテストデータ中の文字列は、漢字表から選択された文字(漢字)を含む。当業者は、当該漢字表において、生成されたデータに含まれる漢字を、所定の漢字に特定することが可能である。また、テストデータ中の文字列を構成する各漢字は、コンピュータが乱数を発生させて又はハッシュ値を計算して選択されたものである。従って、図6Bのテストデータ(609)に示しているとおり、ユーザは、生成される文字列を、明らかにテストデータとして生成されたものであると認識することが可能である。
(2)本発明の実施態様に従い生成したテストデータ中に埋め込まれたシグネチャーは、当該テストデータの文字列中の各漢字の画数の総数から復元される。従って、生成されたテストデータ自体がメタ情報を持っている。例えば、テストデータ中の「項目A」、「項目B」、「項目C」及び「項目D」中に含まれる漢字の画数の総和がそれぞれ、「20」、「13」、「12」及び「31」であるとする。この場合に、シグネチャーは、「20131231」である。また、当該シグネチャー「20131231」は、項目A〜Dからなるデータ・セットのすべてに共通する。従って、所定の項目に同じシグネチャーを埋め込むことが可能であるので、テストデータの一部(すなわち、データ・セットの一つ)だけを取り出しても識別されるシグネチャーは同じである。また、上記項目A〜Dからなるデータ・セットのうち、当該シグネチャー「20131231」と一致しないデータ・セットは、不正のデータ(例えば、改ざん等されたデータ)であると判別されることが可能である。
(3)文字列中の漢字の画数及びその総和は文字コードに関係ないので、漢字の文字コード変換が行われた場合であっても、当該漢字の画数及びその総和は同じである。すなわち、当該漢字の画数及びその総和は、文字コード変換が行われた場合であっても変化しない。従って、漢字を使用して生成されたデータの文字コードが変更された場合であっても、本発明の実施態様に従い生成したテストデータに関連付けられたシグネチャーは失われない。
(4)文字列中の漢字の画数及びその総和は、テストデータが印刷された場合であっても、当該印刷物から漢字の画数及びその総和を数えることは可能である。同様に、文字列中の漢字の画数及びその総和は、テストデータが表示画面上に表示されている場合であっても、当該画面から漢字の画数及びその総和を数えることは可能である。従って、ユーザは、本発明の実施態様に従い生成したテストデータの文字列がどのような表示形態であっても、シグネチャーを取り出せる。シグネチャーは、どのような場合であっても同じである。従って、テストデータ中の所定の文字列中の漢字の画数の総和を調べるだけで、当該テストデータが正しく生成されたデータであるかどうかや改ざん等されてないかどうかを容易に判断することが可能である。
(5)本発明の実施態様に従い生成したテストデータが複数の項目を有している場合において、例えば、テストデータ中の「項目A」、「項目B」、「項目C」及び「項目D」のデータ・セットを複数有している場合には、項目A〜Dそれぞれに同じシグネチャーが埋め込まれる。従って、テストデータが複数の項目からなるデータである場合に、どの項目にも同じシグネチャーを持たせることが可能である。
(6)本発明の実施態様に従い、文字列中の漢字の画数の総和を一定にしながら(すなわち、同じシグネチャーを有しながら)、組み合わせパターンを変更することが可能である。よって、生成する文字列の長さ(漢字の数)を変えることが可能である。従って、生成するテストデータのバリエーションを増やせ、さらには、重複するデータを最小にすることが可能である。また、生成したテストデータを、より現実的な長さを有するデータとすることが可能である。
(7)本発明の実施態様に従い生成したテストデータは、それ自体が、認識可能な固有の特徴であるシグネチャー(例えば、上記「20131231」)を有している。
図10は、図1に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータを自動的に生成するコンピュータの機能ブロック図の一例を示した図である。
コンピュータ(1001)は、本発明の実施態様に従いテストデータを自動的に生成するコンピュータであり、例えば図1に示すコンピュータである。
コンピュータ(1001)は、メタデータ受け取り手段(1011)、シグネチャー受け取り手段(1012)、シグネチャー分割手段(1013)、マッピング情報生成手段(1014)、総和決定手段(1015)、パターン生成手段(1016)、文字選択手段(1017)、並びに、テストデータ出力手段(1018)及びマッピング情報出力手段(1019)を備えている。
メタデータ受け取り手段(1011)は、例えば当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)からメタデータを受け取る。
メタデータ受け取り手段(1011)は、図4に記載のステップ402及び図8に記載のステップ802を実行しうる。
シグネチャー受け取り手段(1012)は、メタデータ受け取り手段(1011)が受け取ったメタデータから、生成する少なくとも1つの文字列に埋め込むシグネチャーを取り出す。または、シグネチャー受け取り手段(1012)は、メタデータ受け取り手段(1011)が受け取ったメタデータ中の、生成する少なくとも1つの文字列に埋め込むシグネチャーを受け取る。
シグネチャー受け取り手段(1012)は、図4に記載のステップ403及び図8に記載のステップ803を実行しうる。
シグネチャー分割手段(1013)は、シグネチャー受け取り手段(1012)が受け取ったシグネチャーを複数の要素に分割する。また、シグネチャー分割手段(1013)は、シグネチャーを1桁の数字に分割しうる。
シグネチャー分割手段(1013)は、図4に記載のステップ404及び412並びに図8に記載のステップ804及び812を実行しうる。
マッピング情報生成手段(1014)は、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを上記複数の項目それぞれに関連付けうる。また、マッピング情報生成手段(1014)は、テストデータが複数の項目を持つデータである場合に、上記複数の要素それぞれを項目中の語それぞれに関連付けうる。
マッピング情報生成手段(1014)は、図4に記載のステップ405及び図8に記載のステップ805を実行しうる。
総和決定手段(1015)は、シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する。
総和決定手段(1015)は、図4に記載のステップ406及び図8に記載のステップ806を実行しうる。
パターン生成手段(1016)は、総和決定手段(1015)が決定した総和になるように、文字列中の各文字の組み合わせパターンを少なくとも1つ決定しうる。
パターン生成手段(1016)は、図4に記載のステップ407及び図8に記載のステップ807を実行しうる。
文字選択手段(1017)は、シグネチャーの要素毎に、上記決定した総和になるように、上記文字列を構成する少なくとも1つの文字を、上記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する。
文字選択手段(1017)は、上記決定した総和になるように、上記文字列中の各文字固有の上記属性値の組み合わせパターンを少なくとも1つ決定しうる。また、文字選択手段(1017)は、上記各文字固有の上記属性値の組み合わせパターン毎に、上記文字列を構成する少なくとも1つの文字を上記文字表中から選択しうる。
文字選択手段(1017)は、図4に記載のステップ408〜409及び410並びに図8に記載のステップ808〜809及び810を実行しうる。
テストデータ出力手段(1018)は、文字選択手段(1017)が生成した文字列を雛形テーブル中に挿入して、テストデータを生成する。また、テストデータ出力手段(1018)は、上記生成した文字列をテストデータの形式に整える。
テストデータ出力手段(1018)は、上記生成されたテストデータを出力する。
テストデータ出力手段(1018)は、図4に記載のステップ411及び413(テストデータの出力)及び図8に記載のステップ811及び813(テストデータの出力)を実行しうる。
マッピング情報出力手段(1019)は、マッピング情報生成手段(1014)が生成したマッピング情報を例えば当該コンピュータ(101)がアクセス可能な記憶媒体(例えば、図1の符号108)に出力する。
マッピング情報出力手段(1019)は、図4に記載のステップ413(マッピング情報の出力)及び図8に記載のステップ813(マッピング情報の出力)を実行しうる。
図11は、図1に従うハードウェア構成を好ましくは備えており、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータの機能ブロック図の一例を示した図である。
コンピュータ(1101)は、本発明の実施態様に従いテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであり、例えば図1に示すコンピュータである。
コンピュータ(1101)は、テストデータ受信手段(1111)、マッピング情報取り出し手段(1112)、解析手段(1113)、シグネチャー識別手段(1114)及びメタデータ出力手段(1115)を備えている。
テストデータ受信手段(1111)は、テストデータを受けとる。当該テストデータは、複数の項目を持つ。
テストデータ受信手段(1111)は、図5に記載のステップ502及び図9に記載のステップ902を実行しうる。
マッピング情報取り出し手段(1112)は、マッピング情報を受け取る。当該マッピング情報は、項目と当該項目に関連付けられた上記属性値の総和とのマッピング情報を含む。
マッピング情報取り出し手段(1112)は、図5に記載のステップ503及び図9に記載のステップ903を実行しうる。
解析手段(1113)は、マッピング情報取り出し手段(1112)が受け取ったマッピング情報に基づいて、上記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める。
解析手段(1113)は、図5に記載のステップ504〜506及び図9に記載のステップ904〜906を実行しうる。
シグネチャー識別手段(1114)は、解析手段(1113)が求めた総和に基づいて、上記テストデータのシグネチャーを識別する。
また、シグネチャー識別手段(1114)は、上記識別したシグネチャーを組み合わせて、複数のシグネチャーを持つメタデータを再生する。
シグネチャー識別手段(1114)は、図5に記載のステップ507〜508及び図9に記載のステップ907〜908を実行しうる。
メタデータ出力手段(1115)は、シグネチャー識別手段(1114)が再生したメタデータを記憶媒体中に格納する。
メタデータ出力手段(1115)は、図5に記載のステップ509及び図9に記載のステップ909を実行する。
図12は、本発明の実施態様に従い、文字列中の母音であることを示す値の総和になるように選択された文字列(文字列中の母音文字と子音文字との組み合わせ)の例を示す。
当該文字列の例では、当該文字列中の母音文字の総和が1(1母音)、2(2母音)、3(3母音)、4(4母音)及び5(5母音)の場合である。当該文字列の例からも明らかなように、生成された文字列は明らかにテストデータとして生成されたものであることが分かる。また、当該生成された文字列は、当該文字列自体が上記シグネチャー(文字列中の母音であることを示す値の総和)を有している。
図13は、本発明の実施態様に従い、文字列中の各文字の画数の総和になるように選択された文字列の例を示す。
当該下記文字列の例では、当該文字列中の漢字の画数の総和が12画〜24画の場合である。当該文字列の例からも明らかなように、生成された文字列は明らかにテストデータとして生成されたものであることが分かる。また、当該生成された文字列は、当該文字列自体が上記シグネチャ(文字列中の各文字の画数の総和)を有している。

Claims (20)

  1. 文字列からなるテストデータを自動的に生成する方法であって、コンピュータが、
    グネチャーを受け取るステップであって、前記シグネチャーは、生成する少なくとも1つの文字列に埋め込まれる、前記受け取るステップと、
    前記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定するステップと、
    前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列を構成する少なくとも1つの文字を、前記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成するステップと
    を実行することを含む、前記方法。
  2. 前記少なくとも1つの文字を前記文字表中から選択するステップが、
    前記決定した総和になるように、前記文字列中の各文字固有の前記属性値の組み合わせパターンを少なくとも1つ決定するステップ
    をさらに含む、請求項1に記載の方法。
  3. 前記少なくとも1つの文字を前記文字表中から選択するステップが、
    前記各文字固有の前記属性値の組み合わせパターン毎に、前記文字列を構成する少なくとも1つの文字を前記文字表中から選択するステップ
    を含む、請求項2に記載の方法。
  4. 前記コンピュータが、
    前記シグネチャーを複数の要素に分割するステップ
    を実行することをさらに含む、請求項1に記載の方法。
  5. 前記テストデータが複数の項目を持つデータであり、
    前記分割するステップが、
    前記複数の要素それぞれを前記複数の項目それぞれに関連付けるステップ、又は
    前記複数の要素それぞれを項目中の語それぞれに関連付けるステップ、
    をさらに含む、請求項4に記載の方法。
  6. 前記シグネチャーを複数の要素に分割するステップが、
    前記シグネチャーを1桁の数字に分割するステップであって、当該分割された1桁の数字が前記シグネチャーの各要素を構成する、前記分割するステップ
    を含む、請求項4に記載の方法。
  7. 前記属性値及び前記文字表が下記組み合わせパターンのいずれかである、請求項1に記載の方法:
    前記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
    前記文字表が、前記母音と前記子音とを記述した表である;又は、
    前記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり、且つ、
    前記文字表が、前記画数と当該画数に関連付けられた前記文字を記述した表である、
    請求項1に記載の方法。
  8. 前記属性値が、母音と子音を区別して表記する言語の母音であることを示す値であり、且つ、
    前記文字表が、前記母音と前記子音とを記述した表である場合において、
    前記属性値の総和を決定するステップが、
    前記シグネチャーの要素毎に関連付けられる文字列中の母音であることを示す値の総和を決定するステップ
    を含み、
    前記少なくとも1つの文字を前記文字表中から選択するステップが、
    前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列中の母音文字と子音文字との組み合わせパターンを少なくとも1つ決定するステップ
    をさらに含む、請求項7に記載の方法。
  9. 前記少なくとも1つの文字を前記文字表中から選択するステップが、
    母音文字と子音文字との前記組み合わせパターン毎に、前記文字列を構成する文字を前記文字表中から選択するステップ
    を含む、請求項8に記載の方法。
  10. 前記母音文字と子音文字との前記組み合わせパターンが、
    母音文字が子音文字の直後にあること;
    母音文字が子音文字間にあること;
    母音文字が子音文字の直前にあること;
    母音文字が語頭にあること;
    母音文字が語尾にあること;又は、
    母音文字が他の母音文字の直後にあること
    のいずれか一つ又はそれらの組み合わせである、請求項8に記載の方法。
  11. 前記母音文字と子音文字との前記組み合わせパターンが、発音可能な組み合わせである、請求項8に記載の方法。
  12. 前記属性値が、所定の画数を有する文字を持つ言語の当該文字の画数であり、且つ、
    前記文字表が、前記画数と当該画数に関連付けられた前記文字を記述した表である場合において、
    前記属性値の総和を決定するステップが、
    前記シグネチャーの要素毎に関連付けられる文字列中の各文字の画数の総和を決定するステップ
    を含み、
    前記選択するステップが、
    前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列中の各文字の画数の組み合わせパターンを少なくとも1つ決定するステップ
    を含む、請求項7に記載の方法。
  13. 前記少なくとも1つの文字を前記文字表中から選択するステップが、
    前記各文字の前記画数の組み合わせパターン毎に、前記文字列を構成する少なくとも1つの文字を前記文字表中から選択するステップ
    を含む、請求項12に記載の方法。
  14. 前記テストデータを生成するステップが、
    前記シグネチャーの要素が複数ある場合に、第1の要素に関連付けられた第1の文字列と第2の要素に関連付けられた第2の文字列との間に、当該第1及び第2の文字列を構成する文字と異なる種類である少なくとも1つの文字をデリミッタとして挿入するステップ
    をさらに含む、請求項1に記載の方法。
  15. 前記少なくとも1つの文字を前記文字表中から選択するステップが、
    前記組み合わせパターンを、乱数を発生させて又はハッシュ値を計算して少なくとも1つ決定するステップ、及び/又は
    前記少なくとも1つの文字を、生成する文字列毎に乱数を発生させて又はハッシュ値を計算して前記文字表中から選択するステップ
    を含む、請求項1に記載の方法。
  16. 文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法であって、コンピュータが、
    複数の項目を持つテストデータを受信するステップと、
    マッピング情報に基づいて、前記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求めるステップであって、前記マッピング情報は、項目と当該項目に関連付けられた前記属性値の総和とのマッピング情報を含む、前記求めるステップと、
    前記総和に基づいて、前記テストデータのシグネチャーを識別するステップと
    を実行することを含む、前記方法。
  17. 文字列からなるテストデータを自動的に生成するコンピュータであって、
    グネチャーを受け取るシグネチャー受け取り手段であって、前記シグネチャーは、生成する少なくとも1つの文字列に埋め込まれる、前記受け取り手段と、
    前記シグネチャーの要素毎に関連付けられる文字列中の各文字固有の属性値の総和を決定する総和決定手段と、
    前記シグネチャーの要素毎に、前記決定した総和になるように、前記文字列を構成する少なくとも1つの文字を、前記テストデータを作成する為に用意された文字を記述した文字表中から選択して、当該選択された文字を含む文字列からなるテストデータを生成する文字選択手段と
    を備えている、前記コンピュータ。
  18. 文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータであって、
    複数の項目を持つテストデータを受信するテストデータ受信手段と、
    マッピング情報に基づいて、前記テストデータ中の文字列の各文字固有の属性値を解析して、当該属性値の総和を求める解析手段であって、前記マッピング情報は、項目と当該項目に関連付けられた前記属性値の総和とのマッピング情報を含む、前記解析手段と、
    前記総和に基づいて、前記テストデータのシグネチャーを識別するシグネチャー識別手段と、
    を備えている、前記コンピュータ。
  19. 文字列からなるテストデータを自動的に生成するコンピュータ・プログラムであって、コンピュータに、請求項1〜15のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
  20. 文字列からなるテストデータ中に埋め込まれたシグネチャーを識別するコンピュータ・プログラムであって、コンピュータに、請求項16に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
JP2013184755A 2013-09-06 2013-09-06 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム Expired - Fee Related JP5928733B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013184755A JP5928733B2 (ja) 2013-09-06 2013-09-06 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム
US14/478,421 US9613019B2 (en) 2013-09-06 2014-09-05 Techniques for automatically generating test data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013184755A JP5928733B2 (ja) 2013-09-06 2013-09-06 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2015052873A JP2015052873A (ja) 2015-03-19
JP5928733B2 true JP5928733B2 (ja) 2016-06-01

Family

ID=52626398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013184755A Expired - Fee Related JP5928733B2 (ja) 2013-09-06 2013-09-06 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US9613019B2 (ja)
JP (1) JP5928733B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5928733B2 (ja) * 2013-09-06 2016-06-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム
CN112783775B (zh) * 2021-01-26 2024-03-01 中国工商银行股份有限公司 特殊字符输入测试方法及装置
CN114138819A (zh) * 2021-12-08 2022-03-04 中国建设银行股份有限公司 一种数据处理的方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288216A (ja) 1998-04-02 1999-10-19 Matsushita Electric Ind Co Ltd 電子文書の埋込情報の符号化方法および復号化方法
JP2001125846A (ja) 1999-10-26 2001-05-11 Fujitsu Ltd 電子装置及び記憶媒体
JP4718658B2 (ja) 1999-10-29 2011-07-06 株式会社東芝 医用レポートシステム
JP2001256076A (ja) * 2000-03-08 2001-09-21 Ricoh Co Ltd テストデータ生成装置、テストデータ生成方法及び記録媒体
JP2002258745A (ja) 2001-03-06 2002-09-11 Sony Corp 電子署名装置
US20050182946A1 (en) * 2004-02-13 2005-08-18 Will Shatford Fast hashing function for pseudo-random generator
WO2006003675A2 (en) * 2004-07-12 2006-01-12 Syed Ibrahim Abdul Hameed Khan System, method of generation and use of bilaterally generated variable instant passwords
US20070031009A1 (en) * 2005-04-15 2007-02-08 Julius Mwale Method and system for string-based biometric authentication
US7739249B2 (en) * 2007-04-16 2010-06-15 Sap, Ag Data generator apparatus testing data dependent applications, verifying schemas and sizing systems
US20090022319A1 (en) * 2007-07-19 2009-01-22 Mark Shahaf Method and apparatus for securing data and communication
JP5212980B2 (ja) * 2007-08-16 2013-06-19 株式会社システムエグゼ テストデータ作成装置及び作成方法
JP5407727B2 (ja) * 2009-10-13 2014-02-05 富士通株式会社 テストデータ生成プログラム、方法及び装置
JP5401343B2 (ja) 2010-01-28 2014-01-29 株式会社日立ハイテクノロジーズ 静電チャック用電源回路、及び静電チャック装置
JP5513953B2 (ja) 2010-03-29 2014-06-04 株式会社日立ソリューションズ テスト用マスキングデータ生成装置及びプログラム
CN102298582B (zh) * 2010-06-23 2016-09-21 商业对象软件有限公司 数据搜索和匹配方法和系统
JP5609681B2 (ja) * 2011-01-27 2014-10-22 富士通株式会社 テストデータ生成プログラム、方法及び装置
US8345876B1 (en) * 2012-03-06 2013-01-01 Robert Samuel Sinn Encryption/decryption system and method
US20140119539A1 (en) * 2012-10-31 2014-05-01 Kabushiki Kaisha Toshiba Electronic device and decrypting method
JP5928733B2 (ja) * 2013-09-06 2016-06-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム

Also Published As

Publication number Publication date
US9613019B2 (en) 2017-04-04
US20150073778A1 (en) 2015-03-12
JP2015052873A (ja) 2015-03-19

Similar Documents

Publication Publication Date Title
JP4918937B2 (ja) 帳票種識別プログラム、帳票種識別方法および帳票種識別装置
JP4993319B2 (ja) ソフトウェアの国際化の検証を支援する装置及び方法
CN110770735B (zh) 具有嵌入式数学表达式的文档的编码转换
US20130181995A1 (en) Handwritten character font library
US10963717B1 (en) Auto-correction of pattern defined strings
JP5928733B2 (ja) 文字列からなるテストデータを自動的に生成する方法及び文字列からなるテストデータ中に埋め込まれたシグネチャーを識別する方法、並びに、それらのコンピュータ及びコンピュータ・プログラム
Bhatti et al. Phonetic-based sindhi spellchecker system using a hybrid model
JP2019179470A (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP4863017B2 (ja) 情報隠蔽システム、装置及び方法
KR102072708B1 (ko) 텍스트 콘텐츠의 장르를 추론하는 방법 및 컴퓨터 프로그램
CN106250035A (zh) 动态生成个人化手写字型的系统和方法
US11508139B2 (en) Information processing apparatus and non-transitory computer readable medium
JPWO2014171519A1 (ja) 誤記検出装置及び記録媒体
KR101423508B1 (ko) 폰트 제공 방법 및 시스템
Chowdhury et al. Implementation of an optical character reader (ocr) for bengali language
JP6523345B2 (ja) プレーンasciiデータストリームの符号化
JP2002197097A (ja) 記事要約文生成装置,記事要約文生成処理方法および記事要約文生成処理プログラムの記録媒体
Bhatt et al. Aspects of handwriting synthesis and its applications
JP7561378B2 (ja) 書類画像処理システム、書類画像処理方法、および書類画像処理プログラム
Biggs Comparison of visual and logical character segmentation in Tesseract OCR Language Data for Indic Writing Scripts
JP2014044555A (ja) 画像処理装置、画像処理システム及びプログラム
JP6535978B2 (ja) 文字入力装置、文字入力方法、及び文字入力プログラム
KR102556563B1 (ko) 텍스트 범위에 대한 폰트 갱신 방법 및 디바이스
CN117391045B (zh) 可复制蒙文的可携带文件格式文件输出方法
KR102313056B1 (ko) 사용자 맞춤형 폰트의 생성에 이용되는 시트, 사용자 맞춤형 폰트를 생성하는 디바이스 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160108

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160108

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160224

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160224

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160329

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160412

R150 Certificate of patent or registration of utility model

Ref document number: 5928733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees