JP2012190063A - データ生成装置及びデータ生成プログラム - Google Patents

データ生成装置及びデータ生成プログラム Download PDF

Info

Publication number
JP2012190063A
JP2012190063A JP2011050498A JP2011050498A JP2012190063A JP 2012190063 A JP2012190063 A JP 2012190063A JP 2011050498 A JP2011050498 A JP 2011050498A JP 2011050498 A JP2011050498 A JP 2011050498A JP 2012190063 A JP2012190063 A JP 2012190063A
Authority
JP
Japan
Prior art keywords
data
information
test data
test
data generation
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.)
Granted
Application number
JP2011050498A
Other languages
English (en)
Other versions
JP5651050B2 (ja
Inventor
Hiroyuki Kato
寛之 加藤
Keiji Sato
圭司 佐藤
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.)
Fujitsu Marketing Ltd
Original Assignee
Fujitsu Marketing Ltd
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 Fujitsu Marketing Ltd filed Critical Fujitsu Marketing Ltd
Priority to JP2011050498A priority Critical patent/JP5651050B2/ja
Publication of JP2012190063A publication Critical patent/JP2012190063A/ja
Application granted granted Critical
Publication of JP5651050B2 publication Critical patent/JP5651050B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】データ間の参照関係の整合性が維持されたテストデータを容易に作成すること。
【解決手段】開示の装置は、データベース情報取得部又は画面情報取得部が、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ種別を取得する。また、データベース情報取得部が、業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を取得する。そして、テストデータ生成部が、データの項目ごとに、データベース情報取得部又は画面情報取得部によって取得されたデータ種別の属性及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成する。
【選択図】 図1

Description

この発明は、データ生成装置及びデータ生成プログラムに関する。
従来、WebブラウザやGUI(Graphical User Interface)を利用した業務アプリケーションプログラムの開発においては、開発した業務アプリケーションプログラムに係るテストが行われる。このようなテストでは、テストを実行する担当者が、テキストエディタ(text editor)などを用いてテスト内容に応じたテストデータを作成し、作成したテストデータを用いて各種テストが行われる。
例えば、担当者は、業務アプリケーションの画面から入力する入力値のテストデータを作成し、作成した入力値のテストデータを用いて、業務アプリケーションが入力値に対して想定通りに動作するか否かをテストする。また、担当者は、業務アプリケーションの画面に表示される表示値のテストデータを作成し、作成した表示値のテストデータを用いて、表示される値が想定通りであるか否かをテストする。また、担当者は、大量のテストデータを用いて、業務アプリケーションの処理が遅滞することなく実行されるか否かをテストする。
ここで、業務アプリケーションプログラムのテストに用いられるテストデータを作成するためのいくつかの技術が知られている。例えば、テストデータを作成するための技術としては、既存のテストデータに類似したテストデータを作成する技術が知られている。また、例えば、既存のデータベースからデータの定義情報やキー情報を元に、データの参照関係の整合性を維持したテストデータを作成する技術が知られている。また、例えば、データベースに記憶されたテーブル間の対応関係を元に、データの参照関係の整合性を維持したテストデータを作成する技術が知られている。
特開2010−140166号公報 特開2008−226056号公報 特開2009−99126号公報
しかしながら、上述した従来技術では、データ間の整合性が維持されたテストデータを容易に作成することができないという課題があった。例えば、上述した従来技術では、既存のテストデータとは類似しないテストデータを作成することが困難であり、新たな参照関係の整合性を維持したテストデータを容易に作成することができない。また、例えば、上述した従来技術では、データに関する定義情報やキー情報、或いはテーブル間の対応関係に関する情報がない場合にはテストデータを作成することができず、データ間の参照関係の整合性が維持されたテストデータを容易に作成することができない。
そこで、本開示の技術は、上述した従来技術の問題に鑑みて、データ間の整合性が維持されたテストデータを容易に作成することを可能にするデータ生成装置及びデータ生成プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示の装置は、データ情報取得部とデータ生成部とを有する。データ情報取得部は、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報と、前記業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を取得する。データ生成部は、前記データの項目ごとに、前記データ情報取得部によって取得されたデータ項目の情報及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成する。
開示の装置は、データ間の整合性が維持されたテストデータを容易に作成することを可能にする。
図1は、実施例1に係るテストデータ生成装置の構成の一例を示す図である。 図2は、実施例1に係る表示装置によって表示出力されるGUIの第1の例を示す図である。 図3は、実施例1に係るデータベース情報取得部によって取得される情報を説明するための図である。 図4は、実施例1に係るデータ種別の一例を示す図である。 図5Aは、実施例1に係る参照情報の一例を示す図である。 図5Bは、実施例1に係るテストデータ構造作成制御部による処理の一例を説明するための図である。 図5Cは、実施例1に係るテストデータ構造入力受付部によって受付けられるSQL文の一例を示す図である。 図6は、実施例1に係るテストデータ生成部によって生成されるテストデータの第1の例を示す図である。 図7は、実施例1に係る業務アプリケーションの画面の一例を説明するための図である。 図8は、実施例1に係る画面処理のソースコードの一例を示す図である。 図9は、実施例1に係る入力チェックの外部定義の一例を示す図である。 図10は、実施例1に係るフレームワークのチェック定義の一例を示す図である。 図11は、実施例1に係る表示装置によって表示出力されるGUIの第2の例を示す図である。 図12Aは、実施例1に係るテストデータ生成部によって生成されるテストデータの第2の例を示す図である。 図12Bは、実施例1に係るテストデータ生成部によって生成されるテストデータの第3の例を示す図である。 図13は実施例1に係るテストデータ生成装置によって表示されるテストデータ検索画面の一例を示す図である。 図14は、実施例1に係るテストデータ生成装置によるデータベースからのデータ種別の取得処理の手順を説明するためのフローチャートである。 図15は、実施例1に係るテストデータ生成装置によるデータ項目の参照関係の決定処理の手順を説明するためのフローチャートである。 図16は、実施例1に係るテストデータ生成装置によるテストデータ生成処理の第1の手順を説明するためのフローチャートである。 図17は、実施例1に係るテストデータ生成装置によるテストデータ生成処理の第2の手順として関連データの作成を説明するためのフローチャートである。 図18は、実施例1に係るテストデータ生成装置によるテストデータ生成処理の第3の手順を説明するためのフローチャートである。 図19は、実施例1に係るテストデータ生成装置による画面処理実装のソースコードからのデータ種別の取得処理の手順を説明するためのフローチャートである。 図20は、実施例1に係るテストデータ生成装置によるフレームワーク入力チェック定義からのデータ項目ごとの情報の取得処理の手順を説明するためのフローチャートである。 図21は、実施例1に係るテストデータ生成装置によるテストデータ生成処理の第4の手順を説明するためのフローチャートである。 図22は、実施例2に係るデータ生成プログラムを実行するコンピュータを説明するための図である。
以下に添付図面を参照して、本願の開示するデータ生成装置及びデータ生成プログラムの実施例を詳細に説明する。なお、本願の開示するデータ生成装置及びデータ生成プログラムは、以下の実施例により限定されるものではない。
実施例1に係るテストデータ生成装置は、業務アプリケーションの開発に際して実行されるプログラムテストに用いられるテストデータを生成する。具体的には、実施例1に係るテストデータ生成装置は、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報を取得する。そして、実施例1に係るテストデータ生成装置は、業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を取得する。そして、実施例1に係るテストデータ生成装置は、データの項目ごとに、データの属性及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成する。
例えば、実施例1に係るテストデータ生成装置は、データベースの定義又は画面処理を実装するソースコードから、テストデータを生成するデータ項目ごとにデータの属性を示すデータ項目の情報を取得する。そして、実施例1に係るテストデータ生成装置は、データ項目ごとに、テーブルの対応関係、或いは、ユーザによって設定されたSQL(Structured Query Language)文からデータ間の参照関係を取得する。そして、実施例1に係るテストデータ生成装置は、データ項目ごとに、データの属性に応じたテストデータや、参照関係に応じたテストデータなどを生成する。従って、実施例1に係るテストデータ生成装置は、例えば、既存のテストデータとは類似しないテストデータを作成することができる。また、実施例1に係るテストデータ生成装置は、データに関する定義情報やキー情報、或いはテーブル間の対応関係に関する情報がない場合であっても、SQL文を用いることでテストデータを作成することができる。その結果、実施例1に係るテストデータ生成装置は、データ間の整合性が維持されたテストデータを容易に作成することを可能にする。
ここで、まず、実施例1に係るテストデータ生成装置の構成を説明する。図1は、実施例1に係るテストデータ生成装置100の構成の一例を示す図である。図1に示すように、テストデータ生成装置100は、入力装置110と、表示装置120と、テストデータ構造作成制御部130と、データ情報取得部140と、テストデータ構造入力受付部150と、テストデータ作成制御部160と、データベースデータ取得部170と、テストデータ生成部180と、関連データ生成部190とを有する。そして、テストデータ生成装置100は、図1に示すように、業務アプリケーションが実行される端末200及び各種データが記憶されたデータベース300に接続される。そして、テストデータ生成装置100は、図1に示すように、データベース300によって記憶された各種データ及び端末200によって記憶された業務アプリケーションのソースファイル/データの定義ファイル201などを用いて、負荷テスト用テストデータ181、表示テスト用テストデータ182、入力テスト用テストデータ183及び関連データ191などを生成する。
端末200は、例えば、開発フレームワークを用いて作成された業務アプリケーションのソースファイル及び開発フレームワークの定義ファイルなどを記憶する。そして、端末200は、記憶した業務アプリケーションに係る各種処理を実行する。データベース300は、例えば、端末200によって実行される業務アプリケーションに用いられる各種データ及びテーブル間の参照関係などを示すリレーショナルデータベースなどを記憶する。
負荷テスト用テストデータ181は、業務アプリケーションの処理が遅滞することなく実行されるか否かをテストするためのテストデータである。表示テスト用テストデータ182は、業務アプリケーションの画面に表示される値が想定通りであるか否かをテストするためのテストデータである。入力テスト用テストデータ183は、業務アプリケーションの画面から入力された入力値に対して業務アプリケーションが想定通りに動作するか否かをテストするためのテストデータである。なお、関連データ191については後述する。
入力装置110は、例えば、キーボード、マウスなどであり、ユーザによる種々の情報の入力処理を受付ける。一例を挙げると、入力装置110は、テスト内容を示す情報や、テストデータを生成する際の参照先を示すSQL文などの入力処理を受付ける。表示装置120は、例えば、ディスプレイなどであり、後述するテストデータ構造作成制御部130による制御の元、ユーザに対して処理結果を表示出力する。一例を挙げると、表示装置120は、ユーザに対してGUIを介してテストデータの生成過程を表示出力する。
図2は、実施例1に係る表示装置120によって表示出力されるGUIの第1の例を示す図である。例えば、表示装置120は、図2に示すように、「PT(Program Test)データ生成ツール」ウィンドウを表示出力する。表示装置120によって表示出力される「PT(Program Test)データ生成ツール」ウィンドウは、図2に示すように、「生成データ設定」タブと「DB接続設定」タブとを有する。「生成データ設定」タブは、テストデータを生成する際の設定事項が表示されるタブであり、テストデータの生成対象となるデータに関する情報が表示される。
「生成データ設定」タブは、図2に示すように、「生成対象」、「テーブル名」、「日本語名」及び「生成データ件数」が対応付けられた上側のウィンドウと、「カラムNo」、「項目名」、「タイプ」、「桁数」、「日本語名」、「データ生成方法」、「データ桁数」及び「データ生成パターン」が対応付けられた下側のウィンドウとを有する。上側のウィンドウにおいては、テストデータの生成対象となるデータが含まれるテーブルに関する情報が表示される。例えば、上側のウィンドウにおいては、図2に示すように、「テーブル名:M_SHAIN、日本語名:社員マスタ(共通)」が表示される。また、上側のウィンドウにおける「生成対象」は、ユーザがテストデータの生成対象となるテーブルを選択する領域である。また、「生成データ件数」は、生成するテストデータの件数がユーザによって入力される領域である。
下側のウィンドウにおいては、上側のウィンドウにおいて選択されたテーブルに含まれるデータの項目ごとの情報が表示される。例えば、下側のウィンドウにおいては、図2に示すように、「カラムNo:1、項目名:SOSHIKIZU_CD、タイプ:varchar、桁数:6、日本語名:組織図コード、データ生成方法:全角日本語、データ桁数:6」などが表示される。上記した情報は、上側のウィンドウの「テーブル名:M_SEDAI、日本語名:世代管理マスタ(共通)」がユーザによって選択された場合に、選択されたテーブルに含まれるデータの項目について下側のウィンドウに表示される。なお、下側のウィンドウにおける項目ごとの情報の詳細については、後述する。また、「DB接続設定」タブは、テストデータ生成装置100とデータベース300との接続設定が表示されるタブである。
図1に戻って、テストデータ構造作成制御部130は、作成するテストデータの構造決定に係る各種処理を制御する。具体的には、テストデータ構造作成制御部130は、まず、ユーザによって指定されたテスト内容に基づいて、データの項目ごとの情報の取得先を選択する。より具体的には、テストデータ構造作成制御部130は、入力装置110を介して入力されたテスト内容の情報に基づいて、データの項目ごとの情報の取得先としてデータベース300又は端末200のどちらか一方を選択する。
例えば、テストデータ構造作成制御部130は、テスト内容が負荷テストである旨の情報を受付けると、取得先としてデータベース300を選択し、データベース300よって記憶されたテーブルの情報からデータの項目ごとの情報を取得するように後述するデータ情報取得部140のデータベース情報取得部141を制御する。また、テストデータ構造作成制御部130は、テスト内容が表示テスト又は入力テストである旨の情報を受付けると、取得先として端末200を選択し、端末200よって記憶された業務アプリケーションのソースコード又はフレームワークの定義ファイルからデータの項目ごとの情報を取得するように後述するデータ情報取得部140の画面情報取得部142を制御する。
そして、テストデータ構造作成制御部130は、データ情報取得部140のデータベース情報取得部141又は画面情報取得部142によって取得されたデータの項目ごとの情報を反映させた情報を内部メモリに記憶して、記憶した情報に基づいてウィンドウを表示装置120に表示させるように制御する。以下では、まず、データベース300からデータ項目の情報を取得して、負荷テスト用テストデータを生成する場合について説明した後に、端末200からデータ項目の情報を取得して、入力テスト用テストデータを生成する場合について説明する。
データ情報取得部140は、図1に示すように、データベース情報取得部141と、画面情報取得部142とを有し、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報と、前記業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を取得する。データベース情報取得部141は、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報を取得する。具体的には、データベース情報取得部141は、テストデータ構造作成制御部130の制御の元、テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶するデータベース300から、当該データのテーブル情報を取得する。そして、データベース情報取得部141は、テストデータの生成対象となるテーブルがユーザによって選択されると、選択されたテーブルに含まれるデータの項目ごとの情報を取得する。
図3は、実施例1に係るデータベース情報取得部141によって取得される情報を説明するための図である。図3においては、データベース情報取得部141によってデータの項目ごとの情報が取得された後の状態について示す。例えば、データベース情報取得部141は、まず、図3の領域(2)に示す「テーブル名:M_SHAIN、日本語名:社員マスタ(共通)」などのテーブル情報をデータベース300から取得する。そして、図3の領域(1)に示すように、ユーザによってテーブル情報から「テーブル名:M_SEDAI、日本語名:世代管理マスタ(共通)」のテーブルが選択されると、データベース情報取得部141は、図3の領域(3)及び(4)に示すように、選択された「テーブル名:M_SEDAI、日本語名:世代管理マスタ(共通)」のテーブルに含まれるデータの項目ごとに、当該データの属性を示すデータ項目の情報をデータベース300から取得する。例えば、データベース情報取得部141は、「項目名:SOSHIKIZU_CD」のデータ種別「タイプ:varchar、桁数:6、日本語名:組織図コード」を取得する。さらに、データベース情報取得部141は、項目ごとにデータの参照関係をデータベース300から取得する。図3の領域(5)にプルダウン方式で示されたデータ生成方法は、データベース情報取得部141によって取得されたデータ項目の情報及びデータの参照関係に基づいて、テストデータ構造作成制御部130によって表示する内容が決定される。また、図3の領域(6)に示すデータ生成パターンは、図3の領域(5)に示すプルダウンからユーザによって選択されたデータ生成方法に基づいて、参照先の情報が表示される。
ここで、図3の領域(4)〜(6)に設定される内容の詳細について説明する。図3の領域(4)に示す「タイプ」とは、データ項目のタイプを意味し、例えば、数値、文字、日付などがある。すなわち、図3の「タイプ」は、各項目のデータがどのような文字列で作成されるかを示したものであり、例えば、「varchar」は、データが日本語などの文字によって生成されることを示す。また、図3の「int」は、データが数値によって生成されることを示し、「datetime」はデータが日付形式によって生成されることを示す。次に「桁数」とは、データ項目の最大の桁数を意味する。例えば、桁数「8」は8桁以下のデータで作成される文字列であることを示す。次に「日本語名」とはデータ項目の名称を日本語で表した名称を示す。これらの文字列の情報は、データベース300に記憶される定義情報から取得される。
図3の領域(5)に示すデータ生成方法は、タイプの情報及びデータベース情報取得部141によって取得された情報に基づいて、すなわち、図3の領域(4)に示された情報に基づいて、テストデータ構造作成制御部130によってデータ種別が設定される。図4は、実施例1に係るデータ種別の一例を示す図である。例えば、データ生成方法には、データ項目の情報に基づいて、図4に示されるデータ種別の何れかが自動選択されて設定される。例えば、「タイプ」が「datatime」で、桁数が「8」の場合には、データ種別として「日付型_日付(YYYYMMDD形式)」が選択される。別の例として、「タイプ」が「varchar」で、桁数が「6」の場合、データ種別として「文字型_半角&数字」が選択される。ここで、データ種別を選択する基準として、データタイプの日本語名がどの様な文字列で表現されているかによって判断してもよい。例えば、データタイプの日本語名が「〜コード」の文字列で表される場合は、必要とされるテストデータが数値コードであると判断して「文字型_半角&数字」を選択する。
一方、参照関係を示す参照情報がデータベース300に記憶されている場合には、テストデータ構造作成制御部130は、以下に記載するように、データ生成方法とデータ生成パターンとを設定する。図5Aは、実施例1に係る参照情報の一例を示す図である。図5Aにおいては、主キー(PK:Primary Key)と外部キー(FK:Foreign Key)とにより参照関係が示された参照情報を示す。例えば、図5Aに示す商品データを対象としたテストデータを生成する際に、「項目:カテゴリコード」のデータは、参照先のカテゴリデータにおけるカテゴリコードを利用するようにデータ生成方法及びデータ生成パターンが設定される。
図5Bは、実施例1に係るテストデータ構造作成制御部130による処理の一例を説明するための図である。図5においては、「項目:カテゴリコード(CATEGORY_CD)」を対象とした場合のウィンドウの一部を示す。図5Aに示す参照情報がデータベース300に記憶されており、データベース情報取得部141によって取得されると、テストデータ構造作成制御部130は、図5Bに示すように、データ生成方法を「外部参照」と設定する。そして、テストデータ構造作成制御部130は、図5Bに示すように、カテゴリデータのカテゴリコードが参照先である旨の情報である「M_CATEGORY.CATEGORY_CD」をデータ生成パターンに設定する。また、データ生成方法としてユーザの選択により「ランダム生成」又は「SQL設定」を設定することも可能である。データ生成方法が「ランダム生成」の場合は、データタイプの「タイプ」及び「桁数」に整合性が合う形式にデータを生成する方法となる。データ生成方法が「SQL設定」の場合は、データ生成パターンにSQL文を設定して、設定されたSQLに応じてデータを生成する方法となる。この場合、SQL文はデータ生成パターンに設定する。なお、データ生成方法は、図3及び図5Bに示すように、プルダウンである。すなわち、データ生成方法として設定される内容は、複数設定することが可能であり、最終的なデータ生成方法はユーザによって選択されるようにすることが可能である。
図1に戻って、テストデータ構造入力受付部150は、入力装置110を介してユーザから入力された設定を図3に示すウィンドウに反映する。例えば、テストデータ構造入力受付部150は、テストデータの生成対象となるテーブル選択や、プルダウンによるデータ生成方法の選択を受付けて、各設定項目に反映させる。また、テストデータ構造入力受付部150は、データの項目ごとに生成するデータ件数を受付けて、ウィンドウ内の「生成データ件数」に反映する。
さらに、テストデータ構造入力受付部150は、データ生成方法に「SQL設定」が設定された場合には、参照情報としてSQL文を受付けて、ウィンドウ内のデータ生成パターンに反映させる。図5Cは、実施例1に係るテストデータ構造入力受付部150によって受付けられるSQL文の一例を示す図である。例えば、テストデータ構造入力受付部150は、図5Cに示すように、「部門マスタから部門コードのデータを選択する」旨のSQL文「SELECT BUMON_CD FROM M_BUMON」を入力装置110を介して受付け、データ生成パターンに設定する。同様に、テストデータ構造入力受付部150は、図5Cに示すように、「部門マスタから部門コードのデータを選択する際に、部門コードが010から250までのデータを選択する」旨のSQL文「SELECT BUMON_CD FROM M_BUMON WHERE BUMON_CD BETWEEN ‘010’AND‘250’」を入力装置110を介して受付け、データ生成パターンに設定する。
図1に戻って、テストデータ作成制御部160は、テストデータ構造作成制御部130及びテストデータ構造入力受付部によって設定されたウィンドウの情報に基づいたテストデータの生成に係る各種処理を制御する。具体的には、テストデータ作成制御部160は、後述するデータベースデータ取得部170、テストデータ生成部180、関連データ生成部190による処理を制御する。
データベースデータ取得部170は、テストデータ構造作成制御部130及びテストデータ構造入力受付部150によって設定されたウィンドウの情報に基づいて、テストデータの生成に用いられるデータをデータベース300から取得する。例えば、データ生成方法に「外部参照」が設定されている場合に、データベースデータ取得部170は、図5Aに示す「カテゴリデータ」から「カテゴリコード」のデータをデータベース300から取得する。
テストデータ生成部180は、データの項目ごとに、データベース情報取得部141によって取得されたデータタイプの情報に基づいて設定されたデータ種別の属性又は参照情報又はSQL設定又はランダム生成のうち少なくとも1つに応じたテストデータを生成する。具体的には、テストデータ生成部180は、ウィンドウの情報に含まれるデータ生成方法及びデータ生成パターンに基づいてテストデータを生成する。
例えば、テストデータ生成部180は、データ生成パターンが設定されていない場合には、データ生成方法の設定内容に応じたテストデータを、設定された件数生成する。一例を挙げると、図3の「SOSHIKIZU_CD」のテストデータを生成する場合には、データ生成パターンが設定されておらず、データ生成方法が、データ種別である「データ生成方法:全角日本語」であることから、テストデータ生成部180は、6文字の全角日本語のランダムな文字列をテストデータとして生成する。同様に、データ生成方法が「ランダム生成」の場合は、データタイプの「タイプ」及び「桁数」に整合性が合う形式にデータがランダムに生成される。例えば、タイプが「int」で桁数が「3」の場合には、テストデータ生成部180は、ランダムな3桁の数字をテストデータとして生成する。
一方、データ生成パターンが設定されている場合には、テストデータ生成部180は、データ生成方法及びデータ生成パターンの設定内容に応じたテストデータを、設定された件数生成する。一例を挙げると、図5Bの「CATEGORY_CD」のテストデータを生成する場合には、データ生成方法が「外部参照」であり、データ生成パターンに参照先として「M_CATEGORY.CATEGORY_CD」が設定されていることから、テストデータ生成部180は、外部参照の参照先として「M_CATEGORY.CATEGORY_CD」を参照して、「CATEGORY_CD」のテストデータを生成する。具体的には、データベースデータ取得部170がデータベース300より「M_CATEGORY」テーブルに登録されている「CATEGORY_CD」の値を複数取得する。そして、テストデータ生成部180は、取得された複数データから任意にデータ選択してテストデータとして生成する。同様に、データ生成方法が「SQL設定」であり、データ生成パターンにSQL文が設定されていた場合には、テストデータ生成部180は、SQL文に記載された参照先のデータをテストデータとして生成する。具体的には、データベースデータ取得部170は、設定されたSQL文をデータベース300で実行し、実行結果として複数データを取得する。テストデータ生成部180は、データベースデータ取得部170が実行結果として取得した複数データから任意にデータを選択し、当該項目のテストデータとして生成する。
図6は、実施例1に係るテストデータ生成部180によって生成されるテストデータの第1の例を示す図である。図6においては、図3に示すウィンドウに設定された情報に基づいて生成されたテストデータを示す。例えば、テストデータ生成部180は、図6に示すように、「組織図コード:組織1−1、世代コード:20、利用開始年月日:21年4月1日、利用終了年月日:22年3月31日、カレント区分:1111、登録日付:20090331、登録社員コード:社員ID0111、更新日付:20091211、更新社員コード:社員ID0222」とするテストデータを生成してデータベース300に格納させる。同様に、テストデータ生成部180は、図6に示すように、世代管理データのテストデータを生成する。
図1に戻って、関連データ生成部190は、参照関係を示す参照情報が設定されたデータ間のテストデータを生成する際に、参照先にデータが登録されていない場合に、参照先のデータを関連データとして生成する。具体的には、データ生成方法として外部参照が設定されており、データ生成パターンに設定された参照先にデータが登録されていない場合に、データ種別に応じたデータを関連データ191として生成して、生成したデータをデータベース300に登録する。
例えば、関連データ生成部190は、図5Bのデータ生成パターンに示す参照先「M_CATEGORY.CATEGORY_CD」にデータが登録されていない場合に、同一カラム内の「タイプ」、「桁数」を参照する。そして、「タイプ」が「varchar」であり。「桁数」が「6」であることから、関連データ生成部190は、6文字の文字データを生成する。そして、関連データ生成部は、生成したデータを「M_CATEGORY.CATEGORY_CD」に登録する。
上述したように、実施例1に係るテストデータ生成装置100は、負荷テスト用テストデータを生成する場合に、データベース300からデータ項目の情報を取得してテストデータを生成する。続いて、端末200からデータ項目の情報を取得して、入力テスト用テストデータを生成する場合について説明する。
図1に戻って、画面情報取得部142は、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報を取得する。具体的には、画面情報取得部142は、テストデータ構造作成制御部130の制御の元、テスト対象の業務アプリケーションの画面処理が実装されたソースコード又はフレームワーク定義を端末200から取得する。図7は、実施例1に係る業務アプリケーションの画面の一例を説明するための図である。例えば、実施例1に係る業務アプリケーションの画面としては、図7に示すように、「商品コード」、「メーカーコード」、「メーカー商品コード」、「商品名」、「カテゴリコード」、「商品説明」及び「単価」の入力項目が設定された商品情報編集の画面がある。以下では、画面処理が実装されたソースコードからデータ項目の情報を取得する場合について説明した後、フレームワーク定義からデータ項目の情報を取得する場合について説明する。
画面処理が実装されたソースコードからデータ項目の情報を取得する場合には、画面情報取得部142は、フレームワークの画面共通処理クラスを継承するソースコードの一覧を取得することにより、図7に示すような画面処理が実装されたプログラムの一覧を取得する。そして、画面情報取得部142は、テストデータを生成するデータ項目を取得したソースコードの入力チェック実装箇所から取得する。
図8は、実施例1に係る画面処理のソースコードの一例を示す図である。図8においては、図7に示す画面の入力チェック処理が実装されたソースコードについて示す。例えば、画面情報取得部142は、まず、フレームワークの入力チェック処理メソッドの一覧から対象となる変数名を取得する。一例を挙げると、画面情報取得部142は、図8に示すソースコードから「Set Default Validation」メソッドの一覧を取得する。そして、画面情報取得部142は、取得したメソッドの引数からテストデータの生成対象となる項目を取得する。一例を挙げると、画面情報取得部142は、図8に示す「validator.Set Default Validation(Me.SearchShohinCd,“商品コード(検索)”,InputValidator.CheckType.LengthCheck,0,4)」から、「SearchShohinCd」を項目名、「“商品コード(検索)”」を日本語名として取得する。
フレームワーク定義からデータ項目の情報を取得する場合には、画面情報取得部142は、フレームワークの入力チェック定義より、入力チェックが定義されている画面一覧を取得する。図9は、実施例1に係る入力チェックの外部定義の一例を示す図である。例えば、画面情報取得部142は、図9に示すように、<Screen id=・・・>〜</Screen>となっているScreenタグの項目を画面一覧として取得する。そして、画面情報取得部142は、画面の入力チェック定義より入力チェックの定義タグを取得する。例えば、画面情報取得部142は、図9に示す「Check」タグを入力チェックの定義タグとして取得する。
そして、画面情報取得部142は、取得したCheckタグからテストデータの生成対象となる項目を取得する。例えば、画面情報取得部142は、図9に示す<Check DisplayName=“商品コード”ControlId=“ShohinCd”Name=“商品コード”>から、「ShohinCd」を項目名、「“商品コード”」を日本語名として取得する。
ここで、画面情報取得部142は、フレームワークのチェック定義を参照して、取得したデータの項目ごとにタイプなどのデータタイプを設定する。図10は、実施例1に係るフレームワークのチェック定義の一例を示す図である。図10に示すように、フレームワークのチェック定義には、入力チェック種類(Check Type)ごとに、入力チェックの内容と、チェックの概要と、入力チェックの条件1及び2が対応付けられている。
例えば、図8に示す「日本語名:商品コード」についてデータ種別を設定する場合には、「日本語名:商品コード」に係る入力チェック処理メソッドが「validator.Set Default Validation(Me.ShohinCd,“商品コード”,InputValidator.CheckType.NullCheck,,,)」、「validator.Set Default Validation(Me.ShohinCd,“商品コード”,InputValidator.CheckType.LengthCheck,0,4)」、「validator.Set Default Validation(Me.ShohinCd,“商品コード”,InputValidator.CheckType.Natural Number Check,,,)」であることから「タイプ:数値」、「桁数:4桁」、「日本語名:商品コード」、「データ生成方法:数値」、「データ桁数:4桁」とするデータ種別が設定される。
また、例えば、図9に示す「日本語名:伝票番号」についてデータタイプを設定する場合には、「日本語名:伝票番号」に係るCheckタグが、<Check CheckType=“Natural Number Check”>、<Check Arg1=“10000”Arg2=“99999”CheckType=“Range Check”/>、<Check Arg1=“0”Arg2=“5”CheckType=“Length Check”/>であり、チェック定義として「Natural Number Check」及び「Range Check」で10000〜99999、「Length Check」で0〜5文字が定義されていることから、「タイプ:数値」、「桁数:5桁」、「日本語名:伝票番号」、「データ生成パターン:10000〜99999が、異常値、正常値、閾値として設定される」が設定される。
上述した画面情報取得部142によるデータ項目の情報の取得においても、テストデータ構造作成制御部130によってウィンドウが表示出力される。図11は、実施例1に係る表示装置によって表示出力されるGUIの第2の例を示す図である。例えば、図11に示すように、画面情報取得部142によってソースコードから画面名が取得され、「商品情報編集マスタ」がテストデータ生成の対象として選択されると、商品情報編集マスタに含まれる入力項目が展開され、項目ごとに「タイプ」、「桁数」、「日本語名」、「データ生成方法」、「データ桁数」及び「データ生成パターン」が設定される。ここで、図11の領域(5)に示すデータ生成パターンには、外部参照としてSQL文が設定される。
テストデータ生成部180は、上記したウィンドウに設定された情報に基づいてテストデータを生成する。図12Aは、実施例1に係るテストデータ生成部によって生成されるテストデータの第2の例を示す図である。図12Aにおいては、図11に示すウィンドウに設定された情報に基づいて生成されたテストデータを示す。
例えば、テストデータ生成部180は、図12Aに示すように、端末200の業務アプリケーションに入力するためのテストデータとして、「商品コード:S0002、メーカーコード:F001、メーカー商品コード:28475684、商品名:えんぴつX、カテゴリコード:01、商品説明:文房具、単価:200」とするテストデータを生成して入力用テストデータ183として出力する。同様に、テストデータ生成部180は、図12Aに示すように、端末200の業務アプリケーションで表示するためにデータベース300に登録するテストデータとして、商品データのテストデータとして表示用テストデータ182を出力する。また、関連データ生成部190は、参照先のテストデータを生成する。図12Bは、実施例1に係るテストデータ生成部によって生成されるテストデータの第3の例を示す図である。例えば、データ生成方法が「外部参照」、データ生成パターンが「CATEGORY.CATEGORY_CD」と設定されている場合に、関連データ生成部190は、図12Bに示すように、「カテゴリコード:01、カテゴリ名:文具」とする関連データ191を生成してデータベース300に格納させる。
上述したように、実施例1に係るテストデータ生成装置100は、データベースの定義や、画面処理が実装されたソースコード、フレームワークの定義を用いて、業務アプリケーションのテストデータを生成する。そして、実施例1に係るテストデータ生成装置100は、生成したテストデータをデータベース300又は端末200に格納させる。実施例1に係るテストデータ生成装置100は、このようにして生成したテストデータの検索を実行させることも可能である。図13は実施例1に係るテストデータ生成装置100によって表示されるテストデータ検索画面の一例を示す図である。
例えば、実施例1に係るテストデータ生成装置100は、図13に示すように、「商品コード」、「メーカーコード」及び「メーカー商品コード」などの複数の検索条件を受付けて、受け付けた検索結果の論理積の検索結果を表示させることも可能である。
次に、図14〜図21を用いて、実施例1に係るテストデータ生成装置100の処理の手順を説明する。図14は、実施例1に係るテストデータ生成装置100によるデータベースからのデータ種別の取得処理の手順を説明するためのフローチャートである。なお、図14においては、テスト内容に応じたデータ種別の取得先が決定された後の処理について示す。
図14に示すように、実施例1に係るテストデータ生成装置100においては、データベース情報取得部141が、データベース300よりテーブル一覧を取得する(ステップS101)。そして、テストデータ構造入力受付部150が、テストデータを作成する対象テーブルの選択を受け付ける(ステップS102)。その後、データベース情報取得部141が、テストデータを作成するデータ項目を選択されたテーブルより取得する(ステップS103)。
そして、テストデータ構造入力受付部150が、テストデータを作成するデータ項目の変更/入力を受け付ける(ステップS104)。その後、データベース情報取得部141が、データベース300より対象テーブルのデータ項目の情報を取得する(ステップS105)。そして、テストデータ構造入力受付部150が、データ項目の情報の変更/入力を受付ける(ステップS106)。続いて、テストデータ構造作成制御部130が、データ項目ごとにデータ種別を決定する(ステップS107)。そして、テストデータ構造入力受付部150が、データ項目ごとにデータ種別の変更を受付け(ステップS108)、データ生成パターンの入力を受け付けて(ステップS109)、処理を終了する。
図15は、実施例1に係るテストデータ生成装置100によるデータ項目の参照関係の決定処理の手順を説明するためのフローチャートである。なお、図15においては、データ項目が決定された後の処理について示す。
図15に示すように、実施例1に係るテストデータ生成装置100においては、データベース情報取得部141が、データベース300よりテーブルの関連情報を取得する(ステップS201)。そして、テストデータ構造作成制御部130が、データベース情報取得部141によって取得されたテーブルの関連情報よりデータ項目ごとの関連を決定する(ステップS202)。その後、テストデータ構造入力受付部150が、データ項目の関連の入力を受け付けて(ステップS203)、処理を終了する。
図16は、実施例1に係るテストデータ生成装置100によるテストデータ生成処理の第1の手順を説明するためのフローチャートである。なお、図16においては、データ項目ごとの情報がデータベース300より取得された場合のテストデータ生成処理について示す。また、図16においては、データ項目ごとのデータ生成方法及びデータ生成パターンが設定された後の処理について示す。
図16に示すように、実施例1に係るテストデータ生成装置100においては、テストデータ生成部180が、データ項目のデータ生成パターンを取得し(ステップS301)、データ生成パターンにデータ種別が設定されているか否かを判定する(ステップS302)。ここで、データ生成パターンにデータ種別が設定されている場合には(ステップS302肯定)、テストデータ生成部180が、データ種別に応じたテストデータを作成して(ステップS303)、設定された件数を生成したか否かを判定する(ステップS304)。
ここで、設定された件数を生成していない場合には(ステップS304否定)、テストデータ生成部180が、ステップS303に戻って、データ種別に応じたテストデータを作成する。一方、設定された件数を生成した場合には(ステップS304肯定)、テストデータ生成部180が、ステップS310の判定を実行する。
ステップS302において、データ生成パターンにデータ種別が設定されていない場合には(ステップS302否定)、テストデータ生成部180が、データ生成パターンに応じたテストデータを生成する。データ生成パターンがランダム生成設定の場合には(ステップS305)、テストデータ生成部180が、データタイプに応じたテストデータをランダムに生成して(ステップS306)、設定された件数を生成したか否かを判定する(ステップS307)。
ここで、設定された件数を生成していない場合には(ステップS307否定)、テストデータ生成部180が、ステップS306に戻って、ランダム生成設定の場合の処理を実行する。一方、設定された件数を生成した場合には(ステップS307肯定)、テストデータ生成部180が、ステップS310の判定を実行する。同様に、データ生成パターンが外部参照設定の場合(ステップS308)及びSQL設定の場合(ステップS309)についても、各設定でテストデータを生成して設定された件数を生成したか否かを判定する(ステップS307)。なお、データ生成パターンが外部参照設定の場合のテストデータ生成処理の手順及びSQL設定の場合のテストデータ生成処理の手順については、それぞれ図17及び18において説明する。
各設定におけるテストデータを設定された件数生成した場合には(ステップS304肯定、ステップS307肯定)、テストデータ生成部180が、全てのデータ項目について処理したか否かを判定する(ステップS310)。ここで、全てのデータ項目について処理していない場合には(ステップS310否定)、テストデータ生成部180は、ステップS301に戻って、未処理のデータ項目のデータ生成パターンを取得する。一方、全てのデータ項目について処理した場合には(ステップS310肯定)、テストデータ生成部180は、処理を終了する。
図17は、実施例1に係るテストデータ生成装置100によるテストデータ生成処理の第2の手順として関連データの作成を説明するためのフローチャートである。なお、図17においては、図16におけるステップS308とステップS307との間の処理について示す。
図17に示すように、実施例1に係るテストデータ生成装置100においては、データ生成パターンが外部参照設定の場合には(図16、ステップS308)、データベース情報取得部141が、参照先のテーブルに登録データがあるか否かを判定する(ステップS311)。ここで、参照先のテーブルに登録データがある場合には(ステップS311肯定)、データベースデータ取得部170は、参照先テーブルより登録データの一覧を取得する(ステップS312)。
そして、テストデータ生成部180が、取得したデータよりランダムに値を1つ選択して(ステップS313)、選択したデータをテストデータとして生成して(ステップS314)、処理を終了する。一方、ステップS312の判定において、参照先のテーブルに登録データがない場合には(ステップS311否定)、関連データ生成部190が、データタイプに応じてテストデータを生成して(ステップS315)、生成したデータが参照先のテーブルにあるか否かを判定する(ステップS316)。
ここで、生成したデータが参照先のテーブルにある場合には(ステップS316肯定)、関連データ生成部が処理を終了する。一方、生成したデータが参照先のテーブルにない場合には(ステップS316否定)、関連データ生成部190が、参照先テーブルにキーデータを関連データ191として作成して(ステップS318)、処理を終了する。なお、図17に示す処理が終了すると、図16に示すステップS307の判定処理が実行される。
図18は、実施例1に係るテストデータ生成装置100によるテストデータ生成処理の第3の手順を説明するためのフローチャートである。なお、図18においては、図16におけるステップS310とステップS308との間の処理について示す。
図18に示すように、実施例1に係るテストデータ生成装置100においては、データ生成パターンがSQL設定の場合には(図16、ステップS309)、テストデータ生成部180が、SQLのチェックが設定されているか否かをデータ生成パターンの設定から判定する(ステップS318)。ここで、SQLのチェックが設定されていない場合には(ステップS318否定)、テストデータ生成部180が、SQLの実行結果の一覧を取得する(ステップS319)。
そして、テストデータ生成部180が、取得したデータよりランダムに値を1つ選択して(ステップS320)、選択したデータをテストデータとして生成して(ステップS321)、処理を終了する。一方、SQLのチェックが設定されている場合には(ステップS318肯定)、テストデータ生成部180が、データタイプに応じてテストデータを生成して(ステップS322)、データ生成パターンに設定されているSQLをデータベースデータ取得部170で実行する。そして、データベースデータ取得部170が、SQLの実行結果に生成したデータが含まれるか否かを判定する(ステップS323)。
ここで、SQLの実行結果に生成したデータが含まれない場合には(ステップS323否定)、テストデータ生成部180が、データ参照エラーであると判定して、データを生成せずに(ステップS324)、処理を終了する。一方、SQLの実行結果に生成したデータが含まれる場合には(ステップS323肯定)、テストデータ生成部180が、処理を終了する。なお、図18に示す処理が終了すると、図16に示すステップS307の判定処理が実行される。
図19は、実施例1に係るテストデータ生成装置100による画面処理実装のソースコードからのデータ種別の取得処理の手順を説明するためのフローチャートである。なお、図19においては、テスト内容に応じたデータ種別の取得先が決定された後の処理について示す。
図19に示すように、実施例1に係るテストデータ生成装置100においては、画面情報取得部142が、端末200より画面処理実装のソース一覧を取得する(ステップS401)。そして、テストデータ構造入力受付部150が、テストデータを作成する画面の選択を受け付ける(ステップS402)。その後、画面情報取得部142が、テストデータを作成するデータ項目を画面ソースの入力チェック実装箇所より取得する(ステップS403)。
そして、テストデータ構造入力受付部150が、テストデータを作成するデータ項目の変更/入力を受け付ける(ステップS404)。その後、画面情報取得部142が、入力チェック実装より対象画面のチェック定義情報を取得して、テストデータ作成項目とする(ステップS405)。そして、テストデータ構造入力受付部150が、データ項目の情報の変更/入力を受付ける(ステップS406)。続いて、テストデータ構造作成制御部130が、データ生成パターンの入力を受け付けて(ステップS407)、処理を終了する。
図20は、実施例1に係るテストデータ生成装置100によるフレームワーク入力チェック定義からのデータ項目ごとの情報の取得処理の手順を説明するためのフローチャートである。なお、図20においては、テスト内容に応じたデータ項目ごとの情報の取得先が決定された後の処理について示す。
図20に示すように、実施例1に係るテストデータ生成装置100においては、画面情報取得部142が、端末200より入力チェック定義が定義されている画面一覧を取得する(ステップS501)。そして、テストデータ構造入力受付部150が、テストデータを作成する画面の選択を受け付ける(ステップS502)。その後、画面情報取得部142が、テストデータを作成するデータ項目を画面の入力チェック定義より取得する(ステップS503)。
そして、テストデータ構造入力受付部150が、テストデータを作成するデータ項目の変更/入力を受け付ける(ステップS504)。その後、画面情報取得部142が、入力チェック定義より対象画面のチェック定義情報を取得して、テストデータ作成項目とする(ステップS505)。そして、テストデータ構造入力受付部150が、データ項目の情報の変更/入力を受付ける(ステップS506)。続いて、テストデータ構造作成制御部130が、データ生成パターンの入力を受け付けて(ステップS507)、処理を終了する。
図21は、実施例1に係るテストデータ生成装置によるテストデータ生成処理の第4の手順を説明するためのフローチャートである。なお、図21においては、データ項目ごとのデータ種別が画面処理を実装するソースコード又はフレームワークの入力チェック定義より取得された場合のテストデータ生成処理について示す。また、図21においては、データ項目ごとのデータタイプ、データ生成方法及びデータ生成パターンが設定された後の処理について示す。
図21に示すように、実施例1に係るテストデータ生成装置100においては、テストデータ生成部180が、データ項目のデータ生成パターンを取得し(ステップS601)、データ生成パターンにデータ種別が設定されているか否かを判定する(ステップS602)。ここで、データ生成パターンにデータ種別が設定されている場合には(ステップS602肯定)、テストデータ生成部180が、データ種別に応じたテストデータを作成して(ステップS603)、設定された件数を生成したか否かを判定する(ステップS604)。
ここで、設定された件数を生成していない場合には(ステップS604否定)、テストデータ生成部180が、ステップS603に戻って、データ種別に応じたテストデータを作成する。一方、設定された件数を生成した場合には(ステップS604肯定)、テストデータ生成部180が、ステップS609の判定を実行する。
ステップS602において、データ生成パターンにデータ種別が設定されていない場合には(ステップS602否定)、テストデータ生成部180が、データ生成パターンに応じたテストデータを生成する。データ生成パターンがランダム生成設定の場合には(ステップS605)、テストデータ生成部180が、データタイプに応じてテストデータをランダムに生成して(ステップS606)、設定された件数を生成したか否かを判定する(ステップS607)。
ここで、設定された件数を生成していない場合には(ステップS607否定)、テストデータ生成部180が、ステップS605に戻って、ランダム生成設定の場合の処理を実行する。一方、設定された件数を生成した場合には(ステップS607肯定)、テストデータ生成部180が、ステップS609の判定を実行する。同様に、データ生成パターンがSQL設定の場合(ステップS608)についても、各設定でテストデータを作成して設定された件数を生成したか否かを判定する(ステップS607)。なお、データ生成パターンがSQL設定の場合のテストデータ生成処理の手順については、図18と同様である。
各設定におけるテストデータを設定された件数生成した場合には(ステップS604肯定、ステップS607肯定)、テストデータ生成部180が、全てのデータ項目について処理したか否かを判定する(ステップS609)。ここで、全てのデータ項目について処理していない場合には(ステップS609否定)、テストデータ生成部180は、ステップS601に戻って、未処理のデータ項目のデータ生成パターンを取得する。一方、全てのデータ項目について処理した場合には(ステップS609肯定)、テストデータ生成部180は、処理を終了する。
上述したように、実施例1によれば、データベース情報取得部141又は画面情報取得部142が、テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報を取得し、テストデータ構造作成制御部130がデータ種別を設定する。また、データベース情報取得部141又は画面情報取得部142が、業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を取得する。そして、テストデータ生成部180が、データの項目ごとに、テストデータ構造作成制御部130によって設定されたデータ種別の属性及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成する。従って、実施例1に係るテストデータ生成装置100は、例えば、既存のテストデータとは類似しないテストデータを作成したり、データに関する定義情報やキー情報、或いはテーブル間の対応関係に関する情報がない場合にテストデータを作成したりすることができ、データ間の参照関係の整合性が維持されたテストデータを容易に作成することを可能にする。
また、実施例1によれば、データベース情報取得部141は、テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶するデータベース300から当該データのデータ項目の情報を取得する。また、データベース情報取得部141は、データベース300によって記憶されたテーブル定義又は利用者によって設定されたSQL文により参照情報を取得する。そして、テストデータ生成部180は、テーブル定義によって参照関係が定義されたテーブル間において、参照情報が含まれていない場合に、当該参照関係が定義されたテーブル間の参照情報として、データベース情報取得部141によって取得されたデータ種別に応じたデータを生成する。従って、実施例1に係るテストデータ生成装置100は、データ間の整合性を維持したテストデータを利用者が所望する分量だけ生成することを可能にする。
また、実施例1によれば、画面情報取得部142は、テスト対象の業務アプリケーションにおける画面のソースコードから当該画面に入力されるデータのデータ項目の情報を取得する。また、画面情報取得部142は、利用者によって設定されたSQL文により参照情報を取得する。従って、実施例1に係るテストデータ生成装置100は、データ間の整合性を確実に維持したテストデータを生成することを可能にする。
また、実施例1によれば、テストデータ構造入力受付部150がテスト内容を受け付ける。そして、データベース情報取得部141は、テストデータ構造入力受付部150によって受付けられたテスト内容が負荷テストであった場合に、テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶するデータベース300から当該データのデータ項目の情報を取得する。画面情報取得部142は、テストデータ構造入力受付部150によって受付けられたテスト内容が入力テスト又は表示テストであった場合に、テスト対象の業務アプリケーションにおける画面のソースコードから当該画面に入力されるデータのデータ項目の情報を取得する。また、データベース情報取得部141は、テストデータ構造入力受付部150によって受付けられたテスト内容が負荷テストであった場合に、データベース300によって記憶されたテーブル定義又は利用者によって設定されたSQL文により参照情報を取得する。そして、画面情報取得部142は、テストデータ構造入力受付部150によって受付けられたテスト内容が入力テスト又は表示テストであった場合に、利用者によって設定されたSQL文により参照情報を取得する。従って、実施例1に係るテストデータ生成装置100は、テスト内容に応じたテストデータを自動で生成することを可能にする。
例えば、従来技術では、データ項目の情報等に応じて、ランダムに大量のテストデータを生成することが可能であるが、データ間の整合性が確保されていない場合が多い。その結果、データ間に整合性が維持されていないテストデータを用いて業務アプリケーションのテストを行うこととなり、テスト時に問題が発生した際に、テストデータの問題なのか、業務アプリケーションの問題なのか判別することが困難になる場合があった。さらに、従来技術では、データ間の整合性が維持されていないために、作成されたテストデータを画面から登録する場合において、例えば、画面からの入力をプルダウンにより選択する必要があるにも関わらず、作成されたテストデータの入力がプルダウンでは選択できないという問題が発生する場合があった。
本実施例に係るテストデータ生成装置100では、データ間の整合性が維持されたテストデータを大量に生成することを可能にするとともに、テスト特性に合わせたテストデータを容易に生成することを可能する。その結果、本実施例に係るテストデータ生成装置100は、業務アプリケーションのテストを正確に行うことも可能にする。
さて、これまで実施例1について説明したが、上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。
上述した実施例1では、データベースからのデータ項目ごとの情報の取得と、画面処理を実装したソースコード又はフレームワーク入力チェック定義からのデータ項目ごとのっ情報の取得とを両方実行するテストデータ生成装置100について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、どちらか一方を実行する場合であってもよい。
また、例えば、データベースからのデータ項目ごとの情報の取得を実行する装置と、画面処理を実装したソースコード又はフレームワーク入力チェック定義からのデータ項目ごとの情報の取得を実行する装置とを接続して、実施例1に係るテストデータ生成装置100と同様の処理を実行するようにしてもよい。
上述した実施例1では、テストデータ生成装置100が端末200及びデータベース300から独立している場合について説明した。しかしながら、開示の技術はこれに限定されるものではなく、例えば、テストデータ生成装置100が端末200に内蔵される場合であってもよい。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示すデータベース情報取得部141と画面情報取得部142とを1つの情報取得部として統合してもよい。また、一方で、図1に示すテストデータ構造作成制御部130を、データ生成方法及びデータ生成パターンを設定する設定部と、表示装置120にGUIを表示出力させる表示制御部とに分散してもよい。
また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。例えば、生成するテストデータの件数の入力処理を自動で行ってもよい。かかる場合には、例えば、過去に生成したデータの件数を元に、生成するデータの件数を自動で決定するようにしてもよい。また、テストデータ生成部180をテストデータ生成装置100の外部装置としてネットワーク経由で接続するようにしてもよい。
[データ生成プログラム]
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本実施例はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行するようにしてもよい。そこで、以下では、図22を用いて上記実施例1に示したテストデータ生成装置100と同様の機能を有するデータ生成プログラムを実行するコンピュータの一例を説明する。図22は、実施例2に係るデータ生成プログラムを実行するコンピュータを説明するための図である。
図22に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030とを有する。また、図23に示すように、コンピュータ1000は、例えば、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図22に示すように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図22に示すように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図22に示すように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図22に示すように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図23に示すように、例えばディスプレイ1130に接続される。
ここで、図22に示すように、ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、データ生成プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクに記憶される。具体的には、上述した実施例で説明したデータ情報取得部140と同様の処理を実行するデータ情報取得手順と、テストデータ生成部180と同様の処理を実行するデータ生成手順とが記述されたプログラムモジュール1093が、ハードディスクに記憶される。
また、上述した実施例で説明したテストデータ構造作成制御部130の内部メモリに記憶されるデータのように、規則検査プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えばハードディスクに記憶される。そして、CPU1020が、ハードディスクに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAM1012に読み出し、データ情報取得手順、データ生成手順を実行する。
なお、データ生成プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、解析プログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
100 テストデータ生成装置
110 入力装置
120 表示装置
130 テストデータ構造作成制御部
140 データ情報取得部
141 データベース情報取得部
142 画面情報取得部
150 テストデータ構造入力受付部
160 テストデータ作成制御
170 データベースデータ取得部
180 テストデータ生成部
190 関連データ生成部
200 端末
300 データベース

Claims (5)

  1. テスト対象の業務アプリケーションによって用いられるデータの項目ごとに、当該データの属性を示すデータ項目の情報と、前記業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報とを取得するデータ情報取得部と、
    前記データの項目ごとに、前記データ情報取得部によって取得されたデータ項目の情報及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成するデータ生成部と、
    を有することを特徴とするデータ生成装置。
  2. 前記データ情報取得部は、前記テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶するデータベースから当該データのデータ項目の情報と、テーブル定義又は利用者によって設定されたSQL文に対応する前記参照情報とを取得し、
    前記データ生成部は、前記テーブル定義によって参照関係が定義されたテーブル間において、参照情報が含まれていない場合に、当該参照関係が定義されたテーブル間の参照情報として、前記データ情報取得部によって取得されたデータ項目の情報に応じたデータを生成することを特徴とする請求項1に記載のデータ生成装置。
  3. 前記データ情報取得部は、前記テスト対象の業務アプリケーションにおける画面のソースコードから当該画面に入力されるデータのデータ項目の情報を取得し、前記データベースから利用者によって設定されたSQL文に対応する前記参照情報を取得することを特徴とする請求項1又は2に記載のデータ生成装置。
  4. テスト内容を受け付ける受付部をさらに有し、
    前記データ情報取得部は、
    前記受付部によって受付けられたテスト内容が負荷テストであった場合に、前記テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶するデータベースから当該データのデータ項目の情報と、テーブル定義又は利用者によって設定されたSQL文に対応する前記参照情報とを取得するデータベース情報取得部と、
    前記受付部によって受付けられたテスト内容が入力テスト又は表示テストであった場合に、前記テスト対象の業務アプリケーションにおける画面のソースコードから当該画面に入力されるデータのデータ項目の情報を取得する画面情報取得部とを有することを特徴とする請求項1に記載のデータ生成装置。
  5. テスト対象の業務アプリケーションによって用いられるデータに関する情報を記憶する第1の記憶部から、前記データの項目ごとに、当該データの属性を示すデータ項目の情報を取得し、前記業務アプリケーションによって用いられるデータに関するデータ間の参照関係を示す参照情報を記憶する第2の記憶部から前記参照情報を取得するデータ情報取得手順と、
    前記データの項目ごとに、前記データ情報取得手順によって取得されたデータ項目の情報及び参照情報の参照関係のうち少なくとも一方に応じたテストデータを生成するデータ生成手順と、
    をコンピュータに実行させることを特徴とするデータ生成プログラム。
JP2011050498A 2011-03-08 2011-03-08 データ生成装置及びデータ生成プログラム Expired - Fee Related JP5651050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011050498A JP5651050B2 (ja) 2011-03-08 2011-03-08 データ生成装置及びデータ生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011050498A JP5651050B2 (ja) 2011-03-08 2011-03-08 データ生成装置及びデータ生成プログラム

Publications (2)

Publication Number Publication Date
JP2012190063A true JP2012190063A (ja) 2012-10-04
JP5651050B2 JP5651050B2 (ja) 2015-01-07

Family

ID=47083187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011050498A Expired - Fee Related JP5651050B2 (ja) 2011-03-08 2011-03-08 データ生成装置及びデータ生成プログラム

Country Status (1)

Country Link
JP (1) JP5651050B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016021161A (ja) * 2014-07-15 2016-02-04 株式会社日立製作所 シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法
JP2017531855A (ja) * 2014-09-08 2017-10-26 アビニシオ テクノロジー エルエルシー データ駆動型検査用フレームワーク
JP2018112919A (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 テスト入力情報検索装置及び方法
WO2019187263A1 (ja) * 2018-03-30 2019-10-03 日本電気株式会社 情報処理装置、並びに、テスト管理方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP2020119005A (ja) * 2019-01-18 2020-08-06 ソフトバンク株式会社 テストケースの作成支援装置及びプログラム
CN113419774A (zh) * 2021-05-31 2021-09-21 西南电子技术研究所(中国电子科技集团公司第十研究所) 自动遍历被测产品不同测试参数的测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157144A (ja) * 2000-11-17 2002-05-31 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2006227958A (ja) * 2005-02-18 2006-08-31 Nomura Research Institute Ltd テストデータ生成システム及びテストデータ生成方法
JP2006244195A (ja) * 2005-03-04 2006-09-14 Nec Corp プログラムテスト支援装置およびその方法
JP2009289083A (ja) * 2008-05-29 2009-12-10 Hitachi Information Systems Ltd テストデータ作成システム及びテストデータ作成方法
WO2010144608A1 (en) * 2009-06-10 2010-12-16 Ab Initio Technology Llc Generating test data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157144A (ja) * 2000-11-17 2002-05-31 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2006227958A (ja) * 2005-02-18 2006-08-31 Nomura Research Institute Ltd テストデータ生成システム及びテストデータ生成方法
JP2006244195A (ja) * 2005-03-04 2006-09-14 Nec Corp プログラムテスト支援装置およびその方法
JP2009289083A (ja) * 2008-05-29 2009-12-10 Hitachi Information Systems Ltd テストデータ作成システム及びテストデータ作成方法
WO2010144608A1 (en) * 2009-06-10 2010-12-16 Ab Initio Technology Llc Generating test data
JP2012529716A (ja) * 2009-06-10 2012-11-22 アビニシオ テクノロジー エルエルシー テストデータの生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016021161A (ja) * 2014-07-15 2016-02-04 株式会社日立製作所 シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法
JP2017531855A (ja) * 2014-09-08 2017-10-26 アビニシオ テクノロジー エルエルシー データ駆動型検査用フレームワーク
JP2018112919A (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 テスト入力情報検索装置及び方法
WO2019187263A1 (ja) * 2018-03-30 2019-10-03 日本電気株式会社 情報処理装置、並びに、テスト管理方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JPWO2019187263A1 (ja) * 2018-03-30 2021-02-12 日本電気株式会社 情報処理装置、並びに、テスト管理方法及びプログラム
JP2020119005A (ja) * 2019-01-18 2020-08-06 ソフトバンク株式会社 テストケースの作成支援装置及びプログラム
CN113419774A (zh) * 2021-05-31 2021-09-21 西南电子技术研究所(中国电子科技集团公司第十研究所) 自动遍历被测产品不同测试参数的测试方法

Also Published As

Publication number Publication date
JP5651050B2 (ja) 2015-01-07

Similar Documents

Publication Publication Date Title
CN111722839B (zh) 一种代码生成方法、装置、电子设备及存储介质
JP3057019B2 (ja) 部品選定装置及びcad機能を備えた部品選定システム
US7216340B1 (en) Analysis data validation tool for use in enterprise architecture modeling with result based model updating
US8601438B2 (en) Data transformation based on a technical design document
JP5651050B2 (ja) データ生成装置及びデータ生成プログラム
US20050091206A1 (en) Method and system for handling data available in multidimensional databases using a spreadsheet
JP2006318448A (ja) インタフェース画面設計中心のソフトウェア生産工程の自動化方法及び、この方法をプログラム化して収録したコンピュータで読出し可能な記録媒体{Methodforautomationofsoftwaremanufacturingprocessbasedongraphicuserinterfacedesign,andComputerreadablemediumhavingthereoncomputerexecutableinstructionforperformingthesame}
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
CN107562459B (zh) 管理***、界面生成/显示/操作方法、介质、终端
CN111784108B (zh) 一种主数据管理平台的建模方法和装置
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US20030110175A1 (en) Deploying predefined data warehouse process models
US8606762B2 (en) Data quality administration framework
US20060136471A1 (en) Differential management of database schema changes
US10241899B2 (en) Test input information search device and method
JP4929018B2 (ja) セルコンセプトを用いた設計方法、図面作成装置、プログラム、および記録媒体
JP7246301B2 (ja) プログラム開発支援システム及びプログラム開発支援方法
JP2011209971A (ja) テスト支援装置、テスト支援システム、制御方法、プログラム、及び記録媒体
JP3373129B2 (ja) プログラム開発支援方法
JP6665637B2 (ja) プログラム作成支援システム
WO2023238358A1 (ja) 表示制御装置、表示制御方法および表示制御プログラム
JP2000172739A (ja) 設計支援装置
WO2000023878A2 (en) System and method for summarizing a software program
WO2022180804A1 (ja) 表示制御装置、表示制御方法および表示制御プログラム
US20090132532A1 (en) Procedure generation apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141114

R150 Certificate of patent or registration of utility model

Ref document number: 5651050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees