(57)【要約】【課題】複雑なレコードフォーマットを有するレコードであっても、個々のレコードフォーマットに対して専用のプログラムを作成することなく、テストデータの作成および変更が可能となるデータ作成装置を提供する。【解決手段】業務プログラムからテストデータを作成するデータ作成装置であって、業務プログラムを基にレコードの構成を指示する論理的な記述のパラメータを作成するパラメータ作成部と、論理的な記述のパラメータを解析してコード化されたデータを作成するパラメータ解析部と、コード化されたデータを基にレコードの構成情報を出力するとともに、レコードの構成情報に応じて入力されたデータを取得するデータ処理部と、を備えるデータ作成装置とする。【選択図】      図１
2014044536.tif 000002
【特許請求の範囲】
【請求項１】
業務プログラムからテストデータを作成するデータ作成装置であって、
前記業務プログラムを基にレコードの構成を指示する論理的な記述のパラメータを作成するパラメータ作成部と、
前記論理的な記述のパラメータを解析してコード化されたデータを作成するパラメータ解析部と、
前記コード化されたデータを基に前記レコードの構成情報を出力するとともに、前記レコードの構成情報に応じて入力されたデータを取得するデータ処理部と、を備えることを特徴とするデータ作成装置。
【請求項２】
前記パラメータ作成部は、
前記業務プログラムのファイルの入出力時に利用する前記レコードの構成情報を手続きの流れから解析し、前記レコードの構成情報を詳細化するプログラム解析手段と、
前記レコードの構成情報を前記論理的な記述のパラメータに変換するパラメータ作成手段と、を備えることを特徴とする請求項１に記載のデータ作成装置。
【請求項３】
前記パラメータ解析部は、
前記論理的な記述のパラメータを読み取り、パラメータの指定誤りの有無を解析するパラメータ解析手段と、
指定誤りがないと判断された前記論理的な記述のパラメータをコード化するレコード作成手段と、を備えることを特徴とする請求項１または２に記載のデータ作成装置。
【請求項４】
前記データ処理部は、
前記コード化されたデータを読み取り、処理テーブルを作成するレコードフォーマット組み立て手段と、
前記レコードの可変フォーマットを制御しながら前記レコードの構成情報を出力するディスプレイ描画手段と、
前記レコードの構成情報に応じて入力されたデータを取得するデータ取得手段と、
前記レコードの構成情報に応じて入力されたデータを前記コード化されたデータを基に分割し、前記レコードの構成情報にマージするデータ挿入手段と、を備えることを特徴とする請求項１乃至３のいずれか一項に記載のデータ作成装置。
【請求項５】
前記データ取得手段が取得したデータをレコードの形式に変換するレコード登録手段と、
前記レコード登録手段によってレコードの形式に変換された情報を格納する記憶装置と、を有するファイル登録部を備えることを特徴とする請求項４に記載のデータ作成装置。
【請求項６】
前記記憶装置に格納された情報を読み取り、前記データ処理部に送信するレコード読み取り手段を有するファイル読み取り部を備えることを特徴とする請求項５に記載のデータ作成装置。
【請求項７】
前記ディスプレイ描画手段によって出力された前記レコードの構成情報を表示する表示装置を備えたことを特徴とする請求項４乃至６のいずれか一項に記載のデータ作成装置。
【請求項８】
前記データ取得装置で取得するデータを入力するための入力装置を備えたことを特徴とする請求項４乃至７のいずれか一項に記載のデータ作成装置。
【請求項９】
前記業務プログラムはＣＯＢＯＬで作成されたソースコードを有し、
前記ソースコードのデータ部においてＢＥＳＥＤ句を用いることによって、前記レコードの特定の位置から異なるレコードを挿入し、
前記ソースコードの手続部においてＳＵＢＳＴＲＩＮＧ命令を用いることによって、前記レコードを構成する要素の一部を扱う手続を行う、ことを特徴とする請求項１乃至８のいずれか一項に記載のデータ作成装置。
【請求項１０】
業務プログラムからテストデータを作成するデータ作成方法であって、
前記業務プログラムを基にレコードの構成を指示する論理的な記述のパラメータを作成し、
前記論理的な記述のパラメータを解析してコード化されたデータを作成し、
前記コード化されたデータを基に前記レコードの構成情報を出力するとともに、前記レコードの構成情報に応じて入力されたデータを取得する、ことを特徴とするデータ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのテストデータを生成するデータ作成装置およびデータ作成方法に関する。
【背景技術】
【０００２】
業務プログラムで取り扱う複雑なフォーマットを有するレコードをプログラムテスト時に利用するためには、事前にテストデータの準備が必要である。
【０００３】
一般に、複雑なレコードフォーマットを有するテスト用データの作成は、業務プログラムの完成を待つ必要がある。しかしながら、業務プログラムの開発中のテスト段階で、レコードデータが必要となる場合が多々あるのが実状であった。
【０００４】
また、汎用的なテストデータ作成ツールでは、複雑なフォーマットのテスト用データを作成することは困難である。確かに、全てのレコードの構造を洗い出し、１つ１つのレコードを固定フォーマットのレコードとしてデータを作成し、全てのレコードをマージすることにより、テスト用データを作成することは可能である。しかしながら、汎用的なテストデータ作成ツールを用いた場合、テストデータを作成するための工程が複雑であり、熟練を要するという欠点があった。
【０００５】
特許文献１には、様々なテスト用データ作成の要求に対してテストデータを作成するテストデータ作成装置が開示されている。特許文献１のテストデータ作成装置は、テストデータとプログラムデータの一致性チェックを、プログラム言語のデータ定義を行うためのコピーメンバを使用する事によって行う。特許文献１のテストデータ作成装置を用いれば、汎用のコピーメンバを使用するため、様々なテスト用データ作成の要求に対して個々のプログラムを作成する必要がなくなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６２−２３５６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
汎用的なテストデータ作成装置では、複雑なフォーマットを持つレコードの作成ができない。また、個々のレコード毎に専用のプログラムを作成しなければならないという課題があった。
【０００８】
特許文献１のテストデータ作成装置は、コピーメンバのみからレコードフォーマット作成するため、静的な構造のフォーマット作成はできるものの、レコードフォーマットが変化する動的な構造のフォーマット作成ができないという課題があった。
【０００９】
本発明の目的は、複雑なレコードフォーマットを有するレコードであっても、個々のレコードフォーマットに対して専用のプログラムを作成することなく、テストデータの作成および変更が可能となるデータ作成装置およびデータ作成方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明のデータ作成装置は、業務プログラムからテストデータを作成するデータ作成装置であって、業務プログラムを基にレコードの構成を指示する論理的な記述のパラメータを作成するパラメータ作成部と、論理的な記述のパラメータを解析してコード化されたデータを作成するパラメータ解析部と、コード化されたデータを基にレコードの構成情報を出力するとともに、レコードの構成情報に応じて入力されたデータを取得するデータ処理部と、を備える。
【００１１】
本発明のデータ作成方法は、業務プログラムからテストデータを作成するデータ作成方法であって、業務プログラムを基にレコードの構成を指示する論理的な記述のパラメータを作成し、論理的な記述のパラメータを解析してコード化されたデータを作成し、コード化されたデータを基にレコードの構成情報を出力するとともに、前記レコードの構成情報に応じて入力されたデータを取得する。
【発明の効果】
【００１２】
本発明のデータ作成装置によれば、複雑なレコードフォーマットを有するレコードであっても、専用のプログラムを作成することなく、パラメータを作成するのみでテストデータの作成および変更が可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るデータ作成装置の構成を示すブロック図である。
【図２】本発明の実施例１に係るプログラムのソースコードの一例を示す図である。
【図３】本発明の実施形態に係るパラメータ解析部の動作を示すフローチャートである。
【図４】本発明の実施形態に係る画面制御部の動作を示すフローチャートである。
【図５】本発明の実施形態に係る画面制御部の動作を示すフローチャートである。
【図６】本発明の実施形態に係るレコードの形式の一例である。
【図７】本発明の実施形態に係るレコードの形式の一例である。
【図８】本発明の実施形態に係るレコードの形式の一例である。
【図９】本発明の実施形態に係るパラメータ作成部が作成するパラメータの例である。
【図１０】本発明の実施形態に係るパラメータ作成部が作成したパラメータを、レコード構造作成手段でコード化した例である。
【図１１】本発明の実施形態に係る画面表示部によるディスプレイ表示の一例である。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係るデータ作成装置について図面を用いて説明する。なお、以下の実施形態の説明は本発明の一例であって、本発明を限定するものではない。
【００１５】
（構成）
本発明の実施形態に係るデータ作成装置の構成を図１に示す。
【００１６】
本発明のデータ作成装置は、パラメータ作成部１と、パラメータ解析部２と、データ処理部としての画面描画部３と、ファイル登録部４と、ファイル読み込み部５とを備えている。
【００１７】
（パラメータ作成部）
パラメータ作成部１は、業務プログラムからレコードの構成を指示するパラメータを作成する。
【００１８】
パラメータ作成部１は、プログラム解析手段１１と、パラメータ作成手段１２と、記憶装置１３と、記憶装置１４とを備えている。なお、記憶装置１３および１４の機能は、パラメータ作成部１の外部に設けられた別の記憶装置に負わせてもよい。
【００１９】
記憶装置１３は、業務プログラムのソースコードなどのファイルを格納する。
【００２０】
プログラム解析手段１１は、記憶装置１３に格納されている業務プログラムのファイルの入出力時に利用するレコードの構成情報を手続きの流れから解析し、レコードの構成情報を詳細化する。
【００２１】
パラメータ作成手段１２は、プログラム解析手段１１が解析したレコードの構成情報を論理的な記述のパラメータに置き換える。
【００２２】
記憶装置１４は、パラメータ作成手段１２が作成した論理的な記述のパラメータを格納する。
【００２３】
パラメータ作成部１を実現するには、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理装置）の演算装置に、プログラム解析手段１１およびパラメータ作成手段１２を割り当て、レジスタに記憶装置１３および１４を割り当てればよい。また、記憶装置１３および１４は、外部のメモリに割り当ててもよい。各構成要素間の情報のやり取りは、内部バスまたは外部バスを通じて行えばよい。
【００２４】
（パラメータ解析部）
パラメータ解析部２は、記憶装置１４に格納された論理的な記述のパラメータを解析してコード化する。
【００２５】
パラメータ解析部２は、パラメータ解析手段２１と、レコード構造作成手段２２と、記憶装置２３とを備えている。なお、記憶装置２３の機能は、パラメータ解析部２の外部に設けられた別の記憶装置に負わせてもよい。
【００２６】
パラメータ解析手段２１は、記憶装置１４から論理的な記述のパラメータを読み取り、パラメータの指定誤りの有無を解析する。
【００２７】
レコード構造作成手段２２は、パラメータ解析手段２１で解析され、指定誤りがないと判断された論理的な記述で作成されているパラメータをコード化する。
【００２８】
記憶装置２３は、レコード構造作成手段２２でコード化されたパラメータを格納する。
【００２９】
パラメータ解析部２を実現するには、例えば、ＣＰＵの演算装置にパラメータ解析手段２１およびレコード構造作成手段２２を割り当て、レジスタに記憶装置２３を割り当てればよい。また、記憶装置２３は、外部のメモリに割り当ててもよい。各構成要素間の情報のやり取りは、内部バスまたは外部バスを通じて行えばよい。
【００３０】
（画面描画部）
データ処理部としての画面描画部３は、コード化されたパラメータを基に、ディスプレイにレコードの構成情報を表示するとともに、入力されたデータを取得する。
【００３１】
画面描画部３は、レコードフォーマット組み立て手段３１と、ディスプレイ描画手段３２と、データ取得手段３３と、データ挿入手段３４を備えている。
【００３２】
レコードフォーマット組み立て手段３１は、記憶装置２３からコード化されたパラメータを読み取り、処理テーブルを作成する。
【００３３】
ディスプレイ描画手段３２は、レコードの可変フォーマットを制御しながらディスプレイにレコードの構成情報を表示する。
【００３４】
データ取得手段３３は、キーボートやタッチパネル等の入力手段により項目ごとに入力されたデータを入力順に読み取る。
【００３５】
データ挿入手段３４は、ファイル読み取り部５から得たレコードデータをコード化されたパラメータの情報をもとに分割し、レコードの構成情報にマージする。なお、処理テーブルが新規作成された場合、データ挿入手段３４は使用されない。
【００３６】
画面描画部３を実現するには、例えば、ＣＰＵの演算装置または制御装置に、レコードフォーマット組み立て手段３１、ディスプレイ描画手段３２、データ取得手段３３およびデータ挿入手段３４を割り当てればよい。ディスプレイ描画手段３２は、メモリを通じるなどしてディスプレイなどの出力手段に描画できる。また、データ取得手段３３は、キーボードなどの入力装置を通じて入力された情報を、メモリを通じるなどして取得することができる。各構成要素間の情報のやり取りは、内部バスまたは外部バスを通じて行えばよい。
【００３７】
（ファイル登録部）
ファイル登録部４は、画面描画部３から入力されたデータを格納する。
【００３８】
ファイル登録部４は、レコード登録手段４１と、記憶装置４２とを備えている。なお、記憶手段４２の機能は、パラメータ作成部１の外部に設けられた別の記憶装置に負わせてもよい。
【００３９】
レコード登録手段４１は、画面描画部３のデータ取得手段３３から得た情報をレコードの形式に変換する。
【００４０】
記録装置４２は、レコード登録手段４１よってレコードの形式に変換された情報を格納する。
【００４１】
（ファイル読み込み部）
ファイル読み取り部５は、記憶装置４２に格納されているレコードの形式に変換された情報を読み取る。
【００４２】
ファイル読み取り部５は、レコード読み取り手段５１を備えている。
【００４３】
レコード読み取り手段５１は、記憶装置４２に格納されているレコードを読み取る。ファイル読み取り部５は、読み取ったレコードを画面描画部３に送る。
【００４４】
なお、ファイル登録部４とファイル読み取り部５は、それぞれの機能を一つにまとめた構成をとってもよい。例えば、ＣＰＵの演算装置にレコード登録手段４１およびレコード読み取り手段５１を割り当て、レジスタに記憶装置４２を割り当てればよい。また、記憶装置４２は、外部のメモリに割り当ててもよい。各構成要素間の情報のやり取りは、内部バスまたは外部バスを通じて行えばよい。
【００４５】
以上が、本発明の実施形態に係るデータ作成装置の構成である。
【００４６】
なお、本発明に係るデータ作成装置の構成は、以上の実施形態に限定されない。例えば、ファイル登録部４及びファイル読み取り部５の少なくとも一方を画面描画部３に内蔵してもよい。また、各構成要素の機能を互いに共有・置換した構成であってもよい。また、各構成要素に設けた記憶装置は、外部のメモリなどの記憶装置に割り当てて配置してもよい。
【００４７】
（動作）
次に図２〜５を参照して本実施例の動作について詳細に説明する。
【００４８】
図２は、図１のパラメータ作成部１のプログラム解析手段１１を説明するためのＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）言語で作成された業務プログラムのソースコードの例である。以下に、図２のソースコードについて、特徴的な部分について説明する。なお、図２においては、説明に不要な部分は省略している。
【００４９】
プログラム解析手段１１は、ＲＥＡＤ命令で指定されているファイル名のレコードを順次解析してパラメータを作成するための情報を抽出する。
【００５０】
レコード名「ＦＩＬＥＲＥＣ」は、ＳＥＴ命令により左端のアドレスを「ＰＴＲ０１」にセットし、ＢＡＳＥＤ句を有する「ＦＯＲＭ００」がそのアドレスから構造体領域を割り当てられる。
【００５１】
このように、ＢＡＳＥＤ句を利用することにより特定の位置から異なる構造体を使い分けることができる。
【００５２】
プログラム解析手段１１は、レコードを構成する領域を考慮し、ＳＥＴ命令を解析しながら全レコードの構成を洗い出す。
【００５３】
また、ＳＵＢＳＴＲＩＮＧ命令は、文字列の一部を扱う命令である。そのため、項目の値が文字列の長さとして利用されている場合は、後述する図４の形式４の構造であると見なして解析する。
【００５４】
以上が、図２に示したプログラムの簡単な説明である。なお、一般的なプログラムの動作については説明を省略した。
【００５５】
図３〜５は、図１のパラメータ解析部２と画面制御部３における処理フローを示すフローチャートである。それぞれの処理フローについて、順番に説明する。
【００５６】
図３は、パラメータ解析部２における処理フローを示すフローチャートである。
【００５７】
図３のフローチャートにおいて、パラメータ解析手段２１は、記憶装置１４に格納されている論理的な記述のパラメータを読み取る（ステップ３１）。
【００５８】
パラメータ解析手段２１は、読み取った論理的な記述のパラメータにおいて、パラメータの指定誤りの有無を解析する（ステップ３２）。
【００５９】
レコード構造作成手段２２は、パラメータ解析手段２１で解析された論理的な記述のパラメータをコード化する（ステップ３３）。
【００６０】
記憶手段２３は、レコード構造作成手段２２によってコード化されたパラメータを格納する（ステップ３４）。
【００６１】
以上がパラメータ解析部２によって、論理的な記述のパラメータを、コード化されたパラメータに変換するフローである。なお、パラメータ解析部２による処理は、本実施形態に示した手順に限定されず、少なくとも論理的な記述のパラメータをコード化されたパラメータに変更できさえすればよい。
【００６２】
図４は、画面描画部３における処理フローを示すフローチャートである。なお、図４では、レコードフォーマットが新規作成の場合の処理フローを示す。レコードフォーマットが既に作成されている場合は、図５の処理フローに従う。
【００６３】
図４のフローチャートにおいて、レコードフォーマット組み立て手段３１は、記憶装置２３に格納されているコード化されたパラメータを読み取る（ステップ４１）。
【００６４】
レコードフォーマット組み立て手段３１は、記憶装置２３から読み取ったコード化されたパラメータを基に、処理テーブルを組み立てる（ステップ４２）。
【００６５】
ディスプレイ描画手段３２は、図示しない表示装置の画面にフォーマットを表示する（ステップ４３）。
【００６６】
なお、業務プログラムのプログラマなどの利用者は、表示装置の画面に表示されたフォーマットを確認し、画面フォーマットに従って、キーボードなどの入力装置を通じて項目データの入力をすることができる。条件に合致しないデータが入力された場合、ディスプレイ描画手段３２は、エラーとして再入力を促すメッセージを画面に表示する。
【００６７】
ここで、データ取得手段３３は、画面フォーマットに従って入力された項目データを読み取る（ステップ３３）。
【００６８】
全てのフォーマットについて処理が終了した場合（ステップ４５においてＹｅｓ）、図４のフローは終了する。
【００６９】
全てのフォーマットについて処理が終了していない場合（ステップ４５においてＮｏ）、画面描画部３は、そのレコードの最終項目が処理されたか否かを判定する（ステップ４６）。
【００７０】
レコードの最終項目が処理されていない場合（ステップ４６においてＮｏ）、レコードフォーマット組み立て手段３１は、フォーマットを変更する（ステップ４７）。フォーマットが変更されると、ステップ４３に戻る。
【００７１】
レコードの最終項目が処理された場合（ステップ４６においてＹｅｓ）、画面描画部３は、ファイル登録部４にデータを登録する（ステップ４８）。ファイル登録部４へのデータ登録が終了すると、ステップ４３に戻る。
【００７２】
ステップ４３〜４８の処理は、全てのフォーマットについて処理が終了するまで繰り返される。
【００７３】
以上が、レコードフォーマットが新規作成の場合における画面描画部３の処理フローである。なお、図４に示した画面描画部３の処理は、本実施形態に示した手順に限定されない。
【００７４】
図５は、画面描画部３における処理フローを示すフローチャートである。なお、図５では、レコードフォーマットが新規作成ではない場合を含む処理フローを示す。
【００７５】
図５において、レコードフォーマット組み立て手段３１は、描画フォーマットを作成する（ステップ５１）。
【００７６】
データ挿入手段３４は、レコード読み取り手段５１が記憶装置４２から読み取ったデータを、ファイル読み込み部５から取得する（ステップ５２）。
【００７７】
データ挿入手段３４は、各項目にデータを埋め込む（ステップ５３）。
【００７８】
ディスプレイ描画手段３２は、図示しない表示装置の画面にフォーマットを表示する（ステップ５４）。
【００７９】
なお、業務プログラムのプログラマなどの利用者は、表示装置の画面に表示されたフォーマットを確認し、画面フォーマットに従って、キーボードなどの入力装置を通じて項目データの入力をすることができる。条件に合致しないデータが入力された場合、ディスプレイ描画手段３２は、エラーとして再入力を促すメッセージを画面に表示する。
【００８０】
ここで、データ取得手段３３は、画面フォーマットに従って入力された項目データを読み取る（ステップ５５）。
【００８１】
全てのフォーマットについて処理が終了した場合（ステップ５６においてＹｅｓ）、図５のフローは終了する。
【００８２】
全てのフォーマットについて処理が終了していない場合（ステップ５６においてＮｏ）、画面描画部３は、そのレコードの最終項目が処理されたか否かを判定する（ステップ５７）。
【００８３】
レコードの最終項目が処理されていない場合（ステップ５７においてＮｏ）、レコードフォーマット組み立て手段３１は、フォーマットを変更する（ステップ５９）。フォーマットが変更されると、ステップ５４に戻る。
【００８４】
レコードの最終項目が処理された場合（ステップ５７においてＹｅｓ）、レコードフォーマット組み立て手段３１は、ファイル登録部４にデータを登録する（ステップ５８）。ファイル登録部４へのデータ登録が終了すると、ステップ５２に戻る。
【００８５】
ステップ５２〜５９の処理は、全てのフォーマットについて処理が終了するまで繰り返される。
【００８６】
以上が、レコードフォーマットが新規作成ではない場合を含む画面描画部３の処理フローである。なお、図５に示した画面描画部３の処理は、本実施形態に示した手順に限定されない。
【００８７】
このように、本発明の実施形態に係るデータ作成装置は、データのエントリ機能のみではなく、記憶装置に格納されているデータを読み取り、パラメータで指示された条件に従ってレコードを項目単位でディスプレイに表示することができる。また、本発明の実施形態に係るデータ作成装置は、データの修正を可能とするデータ更新機能を備えている。
【００８８】
本発明の実施形態に係るデータ作成装置によれば、パラメータで指示された条件に従ってレコードを項目単位に分割してディスプレイに表示することができる。そのため、ソースコードのロジック部分とデータ定義部分の両方を解析することができる。よって、本発明の実施形態によれば、複雑なフォーマットを有するレコードであっても、テストデータを作成することが可能となる。
【００８９】
（実施例）
以下において、本発明の実施形態に係る実施例について説明する。なお、以下の実施形態は一例であり、本発明を限定するものではない。
【００９０】
図６〜８は、本発明の実施形態に係るレコードの形式を表したものである。
【００９１】
一般に、業務プログラムが取り扱うレコードのフォーマットは、大別すると以下の４つの種類にまとめられる。
【００９２】
形式１：固定フォーマット。レコードの長さが一定であり、フォーマットが固定されている場合（図６のフォーマット６１０に対応）。レコード６１１およびレコード６１２は固定のフォーマットを有する。
【００９３】
形式２：レコード長による可変フォーマット。レコードの長さによってフォーマットが異なる場合（図６のフォーマット６２０に対応）。レコード６２１、レコード６２２およびレコード６２３は、それぞれ異なる長さである。
【００９４】
形式３：固定位置の値による可変フォーマット。固定位置の値によってレコードの長さが決まる可変フォーマットの場合（図７のフォーマット７３０に対応）。レコード７３１、レコード７３２およびレコード７３３は、ＩＴＥＭ０１は固定であるが、それ以外は異なる長さである。
【００９５】
形式４：項目が可変となるフォーマット。項目長が可変であり、可変する項目長は他の項目で管理される（図７のフォーマット７４０に対応）。レコード７４１、レコード７４２およびレコード７４３は、それぞれ互いに同じ項目名を有するが、特定の項目（ＩＴＥＭ０２）によって桁数を管理される項目（ＩＴＥＭ０３）が存在する。
【００９６】
なお、図６〜８において、ＩＴＥＭ０１、ＩＴＥＭ０２などが項目名、ＸＸＸ、Ｘ１１１１１１１１１などがデータを表している。
【００９７】
上記の形式３、４については、レコード内に１つのみであれば、汎用のテストデータ作成ツールでも作成可能である。しかしながら、形式３、４の項目が複数ある場合は対応できない。
【００９８】
図８の形式５（フォーマット８５０）には、複雑なフォーマットとして形式３と形式４を入れ子にした後のレコードフォーマットの例を示した。最上段のレコード８５１は単純なフォーマットのレコードである。
【００９９】
上から２段目のレコード８５２において、ＩＴＥＭ０１の値はＡＡＡ、ＩＴＥＭ１２の値は１１１である。
【０１００】
上から３段目のレコード８５３において、ＩＴＥＭ０１の値はＡＡＡ、ＩＴＥＭ１２の値は２２２であり、ＩＴＥＭ２２はＩＴＥＭ２３の長さを有する。
【０１０１】
最下段のレコード８５４において、ＩＴＥＭ０１の値はＢＢＢであり、ＩＴＥＭ３１はＩＴＥＭ３２の長さを有し、ＩＴＥＭ３３はＩＴＥＭ３４の長さを有する。
【０１０２】
形式５のようなレコードになると、プログラムロジックを解析しないと、どのフォーマットを利用するかがわからなくなる。そのため、ソースコードのロジック部分とデータ定義部分の両方が解析の対象になる。
【０１０３】
本発明の実施形態に係るデータ作成装置によれば、パラメータで指示された条件に従ってレコードを項目単位に分割してディスプレイに表示することができる。そのため、ソースコードのロジック部分とデータ定義部分の両方を解析することができる。よって、本発明の実施形態によれば、複雑なフォーマットを有するレコードであっても、テストデータを作成することが可能となる。
【０１０４】
図９は、図８のレコード８５１〜８５４を、論理的な記述のパラメータに変換したものである。図８の論理的な記述のパラメータは、図２のプログラムソースにおいて、ＢＡＳＥＤ  ＳＥＣＴＩＯＮに記述された内容に対応する。この変換は、パラメータ作成部１で行われる。
【０１０５】
パラメータ９０の２段目の右辺のカッコ内は、項目名（ＩＴＥＭ０１）、属性（文字）、桁数（３）、＝定数（＝’ＡＡＡ’）、ラベル（Ｌ０１）の順に記述されている。３段目、１０段目も同様である。
【０１０６】
１６段目の右辺のカッコ内は、項目名（ＩＴＥＭ２２）、属性（数字）、桁数（３）、＃項目名（＃ＩＴＥＭ２３）の順に記述されている。２２段目、２４段目も同様である。
【０１０７】
その他の段に関しては、項目名、属性、桁数の順に記述されている。
【０１０８】
この論理的な記述のパラメータは、パラメータ作成手段１２で作成され、記憶装置１４に格納される。
【０１０９】
図１０のテーブル１００は、記憶装置１４に格納された論理的な記述のパラメータをコード化したデータを表としてまとめたものである。
【０１１０】
種別の列において、０は固定フォーマット、１は可変フォーマットであることを示す。
【０１１１】
属性の列において、０は文字、１は日本語、２は２進数であることを示す。
【０１１２】
条件の列において、０は条件なし、１は値、２は桁数であることを示す。
【０１１３】
以下に、主な項番について簡単に説明を加える。
【０１１４】
項番１は、ＩＴＥＭ０１の形式と値によりフォーマットを変更するため指示である。
【０１１５】
項番２は、項目の形式のみの指示である。
【０１１６】
項番１０は、ＩＴＥＭ２２の値が項番１１のＩＴＥＭ２３の桁数を保持する指示である。
【０１１７】
項番１１は、最大桁数が５０桁で実桁数は項番１０が保持している指示である。
【０１１８】
項番１１がディスプレイに表示される時の桁数は、項番１０が保持している桁数であるが、描画文字が修正され桁数の増減が生じた場合は、項番１０に値をリセットする。
【０１１９】
以上が、各項番についての簡単な説明である。
【０１２０】
図１０のコード化されたパラメータは、レコード構造作成手段２２で作成され、記憶装置２３に格納される。
【０１２１】
図１１は、図１の画面描画部３のディスプレイ描画３２が、図示しない表示装置に出力した画面１１０の表示例である。画面上部１１１には、レコードを項目毎に分割して表示している。画面下部１１２には、レコードの一覧を表示している。
【０１２２】
画面上部１１１のレコードを項目毎に分解して表示した部分にデータが入力されると、データ取得手段３３は、入力されたデータを読み込む。データ取得手段３３で取得されたデータは、ファイル登録部４のデータ登録手段４１においてレコードの形式に変換され、記憶装置４２に格納される。
【０１２３】
レコード読み取り手段５１は、記憶装置４２に格納されているレコードを読み取り、画面描画部３に送る。
【０１２４】
レコードフォーマット組み立て手段３１は、記憶装置２３に格納されているコード化データを検索する。
【０１２５】
該当項目に条件が指定されている場合、レコードフォーマット組み立て手段３１は、それ以降の項目について該当するフォーマットを変更する。データ挿入手段３４は、レコードフォーマット組み立て手段３１によって検索されたコード化データの情報を基に、レコード読み取り手段５１から送られたレコードを分割し、レコードの構成情報にマージする。ディスプレイ描画手段３２は、変更されたフォーマットを描画しなおす。
【０１２６】
また、条件に合致しないデータが入力された場合、ディスプレイ描画手段３２はエラーとして再入力を促すメッセージを画面に表示する。
【０１２７】
ディスプレイ描画手段３２は、画面下部１１２に、レコードとして組み立てられたデータを順次表示する。
【０１２８】
図１１において、画面上部１１１のＩＴＥＭ０１、１１、１２、１３、１４の右側には、画面下部１１２の００００２の行にあるレコードが項目単位に分割されて表示されている。これは、図２のソースコードにおいて、手続部（ＰＲＯＣＥＤＵＲＥ  ＤＩＶＩＳＩＯＮ）の上から６、７行目の手順に相当する。
【０１２９】
また、図示しないが、ＩＴＥＭ１２に「２２２」と入力すると、「２２２」に該当する項目が表示される。この手順は、図２のソースコードにおいて、手続部の上から９〜１２行目の手順に相当する。図２のソースコードにおいて、手続部の上から１３行目以下の手順も同様である。
【０１３０】
以上のような流れで、テストデータが作成される。なお、ここであげた実施例は、本発明を説明するための一例であり、本発明を限定するものではない。
【０１３１】
（変形例）
本発明では、レコードの構成を指示するパラメータを設定しているため、プログラムのソースコードからパラメータを自動作成している。しかしながら、レコードの構成を指示するパラメータを設定しない場合も想定される。そのような場合は、対話的にレコードの構造を設計できるツールからパラメータを自動作成することもできる。
【０１３２】
また、本発明の実施形態ではＣＯＢＯＬ言語の例を示したが、その他のプログラム言語においても同様の手続をとればテストデータの作成をすることが可能である。例えば、Ｃ言語、ＪＡＶＡ（登録商標）などのプログラム言語にも適用が可能である。
【０１３３】
以上のように、本発明の実施形態に係るデータ作成装置によれば、業務プログラムの単体テストおよび機能テスト時において、複雑なレコードフォーマットを持つデータであっても、テスト用データを作成することができる。また、テスト完了後の業務プログラムが作成したデータを部分的に変更することができる。
【０１３４】
また、本発明の実施形態に係るデータ作成装置によれば、専用のプログラムを作成することなく、パラメータを作成するのみでレコードのフォーマットをディスプレイに表示し、データを入力または修正することによって、テストデータの作成や変更することができる。
【０１３５】
さらに、本発明の実施形態に係るデータ作成装置によれば、パラメータで指示された条件に従ってレコードを項目単位に分割してディスプレイに表示することができる。そのため、ソースコードのロジック部分とデータ定義部分の両方を解析することができる。よって、本発明の実施形態によれば、複雑なフォーマットを有するレコードであっても、テストデータを作成することが可能となる。
【０１３６】
本発明の実施形態に係るデータ作成装置によれば、以下のような機能・効果を実現することができる。まず、複雑なレコードフォーマットを持つテスト用レコードを対話式に作成することができる。また、簡易なパラメータでレコードの構造を定義することができる。さらには、プログラムソースからレコードの構造を定義することができる。
【０１３７】
さらに、本発明の実施形態に係るデータ作成装置に、ディスプレイ描画手段３２による出力を表示する出力手段としてディスプレイなどの表示装置を備えたデータ作成装置を構成することも可能である。また、データ取得装置３３で取得することができるデータの入力装置として、キーボードなどを備えたデータ作成装置を構成することも可能である。
【０１３８】
以上、本発明を実施形態および実施例に基づいて説明したが、本発明の実施形態に係るデータ作成装置は、上記実施形態の構成にのみ限定されるものではない。すなわち、上記実施形態の構成から種々の修正及び変更を施したデータ装置も本発明の範囲に含まれる。さらに、本発明の実施形態に基づいたデータ作成方法をコンピュータに実行させるためのプログラムも本発明の範囲に含まれる。
【符号の説明】
【０１３９】
１    パラメータ作成部
２    パラメータ解析部
３    画面描画部
４    ファイル登録部
５    ファイル読み取り部
１１    プログラム解析手段
１２    パラメータ作成手段
１３    記憶装置
１４    記憶装置
２１    パラメータ解析手段
２２    レコード構造作成手段
２３    記憶装置
３１    レコードフォーマット組み立て手段
３２    ディスプレイ描画手段
３３    データ取得手段
３４    データ挿入手段
４１    レコード登録手段
４２    記憶装置
５１    レコード読み取り手段
９０    パラメータ
１００    テーブル
１１０    画面
１１１    画面上部
１１２    画面下部
６１０、６２０、７３０、７４０、８５０    フォーマット
６１１、６１２、６２１、６２２、６２３、７３１、７３２、７３３、７４１、７４２、７４３、８５１、８５２、８５３、８５４    レコード
【図１】
2014044536.tif 000003
【図２】
2014044536.tif 000004
【図３】
2014044536.tif 000005
【図４】
2014044536.tif 000006
【図５】
2014044536.tif 000007
【図６】
2014044536.tif 000008
【図７】
2014044536.tif 000009
【図８】
2014044536.tif 000010
【図９】
2014044536.tif 000011
【図１０】
2014044536.tif 000012
【図１１】
2014044536.tif 000013