JP2013012162A - テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 - Google Patents
テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 Download PDFInfo
- Publication number
- JP2013012162A JP2013012162A JP2011146057A JP2011146057A JP2013012162A JP 2013012162 A JP2013012162 A JP 2013012162A JP 2011146057 A JP2011146057 A JP 2011146057A JP 2011146057 A JP2011146057 A JP 2011146057A JP 2013012162 A JP2013012162 A JP 2013012162A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- partial character
- information
- digits
- pattern
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】制約に含まれる文字列ごとに、複数の文字列間の関連情報を参照して他文字列と一致する部分文字列を求め、該部分文字列を1つの要素とする配列に変換することで、SMTソルバの時間計算量を削減することができる、SMTソルバの時間計算量を削減するテストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置である。
【選択図】図2
Description
制約(条件)の例
文字列A=文字列Bかつ
文字列B>文字列C
文字列制約の例
文字列1=subString(文字列3, 0, 4)(4文字)
文字列2=subString(文字列3, 4, 7)(3文字)
文字列4=文字列3(12文字)
文字列制約を充足する文字列の例
文字列1=ABCD
文字列2=EFG
文字列3=ABCDEFG00001
文字列4=文字列3
従来の文字列制約表現例
文字列1[0]=文字列3[0]
文字列1[1]=文字列3[1]
文字列1[2]=文字列3[2]
文字列1[3]=文字列3[3]
文字列2[0]=文字列3[4]
文字列2[1]=文字列3[5]
文字列2[2]=文字列3[6]
文字列4[0]=文字列3[0]
文字列4[1]=文字列3[1]
文字列4[2]=文字列3[2]
:
:
文字列4[10]=文字列3[10]
文字列4[11]=文字列3[11]
また、関連する技術として、文字列の制約条件として、大小関係のみが制約式に含まれる場合には、この文字列部分全体を変数に置き換え、大小関係を満たす充足値(数値)を得る。次に、この数値を文字列に変換することで文字列のテストデータを生成するという技術が知られている。
続いて、上記元制約情報の抽出した上記文字列に含まれる上記部分文字列のうち分割された上記部分文字列を、分割した上記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する。
上記充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する。
元の文字列制約の例
文字列1=subString(文字列3, 0, 4)(4文字)
文字列2=subString(文字列3, 4, 7)(3文字)
文字列4=文字列3(12文字)
変換後の文字列制約における文字列表現の例
文字列1=要素1(1要素)
文字列2=要素2(1要素)
文字列3=要素3 要素4 要素5(3要素)
文字列4=要素6 要素7 要素8(3要素)
変換後の文字列制約の例
要素1=要素3
要素2=要素4
要素6=要素3
要素7=要素4
要素8=要素5
その後、変換した制約をSMTソルバの入力として充足値求め、求めた充足値を用いてテストデータを生成する。その結果、SMTソルバの時間計算量を削減することができる。
テストデータ生成装置1について説明する。
図1は、テストデータ生成装置のハードウェアの一実施例を示す図である。テストデータ生成装置1は、制御部2、記憶部3、記録媒体読取装置4、入出力インタフェース5(入出力I/F)、通信インタフェース6(通信I/F)などを備えている。また、上記各構成部はバス7によってそれぞれ接続されている。
生成部201は、後述する関連パターン情報を参照し、文字列のパターンと一致するプログラムの仕様に基づいて生成されるテストの条件を有する元制約情報に含まれる文字列を抽出する。関連パターン情報は、変数を表す部分文字列各々を用いて表現される文字列の表現パターン、該文字列の表現において必須となる前記部分文字列各々の桁数を求める式パターン、前記部分文字列各々の関連していることを示す関連パターン、が関連付けられている。また、生成部201は、関連パターン情報を参照し、抽出した文字列に対応する式パターンを取得し、取得した式パターンと関連パターンに、抽出した文字列に含まれる部分文字列を代入し、必須部分文字列と関連情報を求める。生成部201は、後述する項目定義情報を参照し、部分文字列に対応する必須部分文字列の桁数を取得し、必須部分文字列に取得した桁数を代入する。項目定義情報は、元制約情報に含まれる変数を表す部分文字列と、該部分文字列の桁数と、が関連付けられている。
制約変換部204は、元制約情報から抽出した文字列に含まれる部分文字列のうち分割された部分文字列を、分割した部分文字列の名称を用いた表現に変換して後述する変換後制約情報を生成する。
充足値変換部206は、充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する。
例えば、商品検索用アプリケーションを用いて説明をする。なお、本例では商品検索用アプリケーションを用いて説明するが、商品検索用アプリケーションに限定されるものではない。図3は、商品検索用アプリケーションの画面の一実施例を示す図である。図3に示す商品検索アプリケーションは、入出力部9の出力装置に表示される商品検索画面301を用いて商品を検索し、検索結果をする商品検索結果画面305または商品検索結果画面307に表示する。商品検索画面301には、メーカ名を入力するためのテキスト入力部302、カテゴリ名を入力するためのテキスト入力部303、検索を開始するための実行ボタン304(「検索結果」)が配置されている。本例では、テキスト入力部302に「Maker1」が入力され、テキスト入力部303に「Category1」が入力された場合が示されている。商品検索結果画面305は、入力されたメーカ名またはカテゴリ名に基いて検索した結果、一致する商品がない場合に表示される画面で、「マッチする商品はありません」などのメッセージを表示する。商品検索結果画面307は、入力されたメーカ名またはカテゴリ名に基いて検索した結果、一致する商品がある場合に表示される画面である。商品検索結果画面307のテーブル308は、行が選択されたことを示す「選択」と、商品名を表示する「商品名」と、商品名に関連する商品コードを表示する「商品コード」とを表示する情報を有する。「選択」は、本例では選択されると「●」が表示され、選択されていない状態では「○」が表示される。「商品名」には、本例では「Product1」「Product2」・・・・が示されている。「商品コード」には、本例では空であるが実際には商品名に関連する商品コードを表示される。商品検索結果画面307の実行ボタン309(「詳細」)は、選択されると「商品名」に関連付けられている「単価」「在庫数」が表示される。商品検索結果画面305と商品検索結果画面307の実行ボタン306と310(「戻る」)は、商品検索画面301の画面に戻る場合に選択するボタンである。
図5は、項目定義情報のデータ構造の一実施例を示す図である。図2の項目定義情報209は、例えば、図5に示す画面に関する項目定義情報501やDBに関する項目定義情報502などがある。項目定義情報501は、「画面」「項目」「型」「桁」などの情報を記憶する。「画面」には、画面を識別するための識別情報が記憶されている。本例では、商品検索画面301を示す「検索画面」・・・・が記憶されている。「項目」には、「検索画面」に記憶されている画面に設けられている項目などを識別する情報が記憶されている。例えば、プログラムで扱う変数に対応する名称などが記憶されている。本例では、商品検索画面301のテキスト入力部302、303を用いて入力されるデータが代入される変数に対応する情報「メーカ」「カテゴリ」・・・・が記憶されている。「型」には、「項目」に対応する変数などのデータの型が記憶されている。データの型は、例えば、プログラムで扱うことができる変数などの型などである。本例では、「項目」の情報各々に対応する「文字列」などが記憶されている。「桁」には、「項目」に対応する変数などのデータの桁(桁数)が記憶されている。本例では、「項目」の「メーカ」「カテゴリ」・・・・に対応する「文字列」の桁「10」が記憶されている。
元制約情報208は、仕様に基づいて生成したテスト項目と、アプリケーションで使用する各種スタブ(例えば、データベーススタブやネットワークスタブなど)の制約項目と、を用いて生成される情報である。例えば、上記商品検索用アプリケーションをテストするために用いる元制約情報を図6に示す。図6は、元制約情報の一実施例を示す図である。図6の元制約情報603は、テスト項目601(1)〜(3)と、制約項目602(4)〜(7)とを用いて生成される。元制約情報603は、例えば、テスト項目601(1)〜(3)と制約項目602(4)〜(7)に示されている条件を、形式的に記述したものである。
記述例
numOfRecord(r in T, condition) (記述1)
subStr(X, i, j) (記述2)
ステップS101で生成部201は後述する関連パターン情報207を用いて元制約情報208を解析して、後述する部分文字列関連情報211を生成する。
表現パターン「subString(str1, N1, N2) # S」の場合は、例えば、str1の式を「{str1[N1, N2]}」にする。
表現パターン「prefix(str1, S)」の場合は、例えば、str1の式を「{srt1[0, d(S)]}」にする。「prefix(str1, "ABC")」という表現は、「str1[0,3]="ABC"」と等価である。「d("ABC")=3」に注意。
表現パターン「strLength(str1) # strLength(str2)」の場合は、例えば、str1の式を「chars(srt1, 0, min(d(str1), d(str2)))」にし、str2の式を「chars(str2, 0, min(d(str1), d(str2)))」にする。str1、str2の長さが可変であるので、お互いに対応する文字が存在する全ての文字は切り出す。
図9は、生成部の動作の一実施例を示すフロー図である。ステップS201では、生成部201が元制約情報208の未選択の文字列を抽出する。例えば、図6の(1)〜(7)から文字列を抽出する。
抽出した文字列の例
r.名前 = 検索画面.メーカ
ステップS206では、生成部201が現在選択されている文字列に対して関連パターン情報207の表現パターンを全て選択したか否かを判定し、全ての表現パターンが選択されていればステップS206(Yes)に移行する。未選択の表現パターンがなければステップS203(No)に移行する。関連パターン情報801の例であれば、「No」「P1」から「P12」までの表現をすべて選択した場合にステップS207(Yes)に移行する。
代入した式の例
{メーカ.名前[0, min(d(メーカ.名前), d(検索画面.メーカ))]}
{検索画面.メーカ[0, min(d(メーカ.名前), d(検索画面.メーカ))]}
生成した式にデータを代入した例
{メーカ.名前[0, min(10, 10)]} → {メーカ.名前[0, 10]}
{検索画面.メーカ[0, min(10, 10)]} → {検索画面.メーカ[0, 10]}
ステップS102では、分割部202が部分文字列関連情報211を用いて項目分割情報を抽出する。ステップS102の動作について図11を用いて説明する。
図12は、項目分割情報のデータ構造の一実施例を示す図である。図12の項目分割情報121は画面情報に関する項目分割情報で、図2の項目分割情報212は、例えば、図5に示す画面に関する項目定義情報501やDBに関する項目定義情報502などがある。
ステップS302では、分割部202が部分文字列関連情報211の未選択の行を選択する。ステップS303では、分割部202が部分文字列関連情報211の必須部分文字列を項目分割情報212の分割位置に反映させる。ステップS304では、分割部202が二項間の分割位置を反映させる。ステップS305では、部分文字列関連情報の全ての行を選択したか否かを判定し、全てを選択した場合にはステップS306(Yes)に移行し、未選択の行がある場合にはステップS302(No)に移行する。
例えば、図10の部分文字列関連情報101の「R1」に対応する行から順番に選択する場合について説明する。
ステップS103では、定義部203が項目分割情報212と項目定義情報209とを用いてデータ表現情報を抽出する。ステップS103の動作について図13を用いて説明する。
データ表現情報141は、例えば、「画面」「項目」「データ表現」などの情報を記憶する。「画面」には、画面を識別するための識別情報が記憶されている。本例では、図3に商品検索画面301に関連することを示す「検索画面」が記憶されている。「項目」には、「画面」に記憶されている検索画面に設けられている項目などを識別する情報が記憶されている。例えば、プログラムで扱う変数に対応する名称などが記憶されている。本例では、商品検索画面301のテキスト入力部302、303を用いて入力されるデータが代入される変数に対応する情報「メーカ」「カテゴリ」が記憶されている。「データ表現」は、「桁範囲」「対応データ項目」を有している。「桁範囲」には、「項目」各々に対応する桁数から1を引いた値が記憶される。本例では、「桁範囲」に「0−9」「0−9」が記憶されている。「対応データ項目」には、「項目」各々に対応する項目名が記憶される。本例では、「項目」に「メーカ」「カテゴリ」が記憶されている。
ステップS104では、制約変換部204が元制約情報208とデータ表現情報213とを用いて変換後制約情報214を抽出する。ステップS104の動作について図15を用いて説明する。
図15のステップS201〜S208では、制約変換部204が図9に示したステップS201〜S208と同じ処理を行う。例えば、図6の元制約情報603の(3)の「(subString(r1.商品コート゛, 0, 4) = r2.コート゛)」が選択されたとすれば、「文字列項目」として「商品.商品コート゛」「カテコ゛リ.コート゛」が生成される。そして、「必須部分文字列」として「商品.商品コート゛」に対応する「{str[4, 7]}」と「カテコ゛リ.コート゛」に対応する「{str[0, 3]}」が生成される。
・足立正和,他、「充足可能性判定に基づくリアルタイムシステムのスケジューリング解析」、組込みシステムシンポジウム2008、平成20年10月
・Armin Biere, Marijn Heule, Hans Van Maaren, Toby Walsh, "Handbook of Satisfiability(Frontiers in Artificial Intelligence and Applications)",IOS Press, 2009年2月
・R.E. Bryant, Daniel Kroening, Ofer Strichman, "Decision Procedures: An Algorithmic Point of View (Texts in Theoretical Computer Science. An EATCS Series)", Springer, 2008年7月7日
検索画面171の場合、商品検索画面301のテキスト入力部302、303に入力される「メーカ」に対応する「101」、「カテゴリ」に対応する「202」となる。
ステップS107では、充足値変換部206が元制約充足データを生成する。
ステップS107の動作について図18を用いて説明する。図18は、制約変換部の動作の一実施例を示すフロー図である。
検索画面191の場合、商品検索画面301のテキスト入力部302、303に入力される「メーカ」に対応する「101」、「カテゴリ」に対応する「202」を、ステップS601では、「Maker0」「Category1」に変換する。
本実施の態様では、制約に含まれる文字列ごとに、複数の文字列間の関連を記憶した情報を参照して他文字列と一致する部分文字列を求め、該部分文字列を1つの要素とする配列に変換し、制約を変換する。その後、変換した制約をSMTソルバの入力として充足値求め、求めた充足値を用いてテストデータを生成する。その結果、SMTソルバの時間計算量を削減することができるという効果を奏する。すなわち、項目分割情報に従って変換後制約情報を生成することで、文字配列に対する制約として表現していた文字列の制約は、部分文字列に対応する単独の値(数値等)に対する制約として表現され、変換後制約の複雑さが抑えられる。そのため、充足可能性判定がより効率化し、多くの文字列制約を含むデータをより高速に生成することが可能になる
例えば、「商品.商品コード」によって表現される文字列が13文字からなる場合、文字列に関する制約を3つの部分文字列に対する制約として表現できる場合、従来と比べて制約の複雑さ(変数の数)は3/13となり、制約に対する充足可能性判定もより効率化される。
(付記1)
変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入し、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求め、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振り、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、
処理をコンピュータに実行させるテストデータ生成プログラム。
(付記2)
前記変換後制約情報を入力として、SMTソルバを用いて前記変換後制約情報が有する条件各々の充足値を求め、
前記充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する、
処理を前記コンピュータに実行させること特徴とする付記1に記載のテストデータ生成プログラム。
(付記3)
前記桁数を代入したすべての前記必須部分文字列に対して、複数回、前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々に前記桁数各々を、反映させて分割位置を求め、
前記桁数を代入したすべての前記必須部分文字列に対応する前回の分割位置と今回の分割位置を同じにする、
処理を前記コンピュータに実行させること特徴とする付記1または2に記載のテストデータ生成プログラム。
(付記4)
変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入し、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求め、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振り、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、
こと特徴とするテストデータ生成方法。
(付記5)
前記コンピュータは、
前記変換後制約情報を入力として、SMTソルバを用いて前記変換後制約情報が有する条件各々の充足値を求め、
前記充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する、
こと特徴とする付記4に記載のテストデータ生成方法。
(付記6)
前記コンピュータは、
前記桁数を代入したすべての前記必須部分文字列に対して、複数回、前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々に前記桁数各々を、反映させて分割位置を求め、
前記桁数を代入したすべての前記必須部分文字列に対応する前回の分割位置と今回の分割位置を同じにする、
こと特徴とする付記4または5に記載のテストデータ生成方法。
(付記7)
変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入する、生成部と、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求め、分割部と、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振る、定義部と、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、制約変換部と、
を備えること特徴とするテストデータ生成装置。
(付記8)
前記変換後制約情報を入力として、SMTソルバを用いて前記変換後制約情報が有する条件各々の充足値を求める充足値生成部と、
前記充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する充足値変換部と、
を備えること特徴とする付記7に記載のテストデータ生成装置。
(付記9)
前記分割部は、
前記桁数を代入したすべての前記必須部分文字列に対して、複数回、前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々に前記桁数各々を、反映させて分割位置を求め、
前記桁数を代入したすべての前記必須部分文字列に対応する前回の分割位置と今回の分割位置を同じにする、
を備えること特徴とする付記7または8に記載のテストデータ生成装置。
2 制御部
3 記憶部
4 記録媒体読取装置
5 入出力インタフェース
6 通信インタフェース
7 バス
8 記録媒体
9 入出力部
201 生成部
202 分割部
203 定義部
204 制約変換部
205 充足値生成部
206 充足値変換部
207 関連パターン情報
208 元制約情報
209 項目定義情報
210 元制約充足情報
211 部分文字列関連情報
212 項目分割情報
213 データ表現情報
214 変換後制約情報
215 変換後制約充足値情報
Claims (5)
- 変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入し、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求め、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振り、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、
処理をコンピュータに実行させるテストデータ生成プログラム。 - 前記変換後制約情報を入力として、SMTソルバを用いて前記変換後制約情報が有する条件各々の充足値を求め、
前記充足値各々を用いて変換後制約の充足値から元制約情報の有する条件を充足するテストデータを生成する、
処理を前記コンピュータに実行させること特徴とする請求項1に記載のテストデータ生成プログラム。 - 前記桁数を代入したすべての前記必須部分文字列に対して、複数回、前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々に前記桁数各々を、反映させて分割位置を求め、
前記桁数を代入したすべての前記必須部分文字列に対応する前回の分割位置と今回の分割位置を同じにする、
処理を前記コンピュータに実行させること特徴とする請求項1または2に記載のテストデータ生成プログラム。 - 変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入し、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求め、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振り、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、
こと特徴とするテストデータ生成方法。 - 変数を表す部分文字列各々を用いて表現される文字列の表現パターンと、該文字列の表現において必須となる前記部分文字列各々の必須部分文字列の桁数を求める式パターンと、前記部分文字列各々が関連していることを示す関連パターンと、が関連付けて記憶された関連パターン情報テーブルを参照し、テスト対象のプログラムの入力データの制約条件を示す元制約情報から、前記文字列の表現パターンと一致する文字列を抽出し、
前記関連パターン情報テーブルを参照して、抽出した前記文字列の前記表現パターンに対応する前記式パターン及び関連パターンを取得し、
取得した前記式パターン及び前記関連パターンに、抽出した前記文字列に含まれる部分文字列を代入して、必須部分文字列と部分文字列各々が関連していることを示す関連情報を求め、
前記元制約情報に含まれる変数を表す前記部分文字列と、該部分文字列の桁数と、が関連付けられている項目定義情報を参照して、前記部分文字列に対応する前記必須部分文字列の桁数を取得し、
前記必須部分文字列に取得した前記桁数を代入する、生成部と、
前記桁数を代入した前記必須部分文字列と前記関連情報とを用いて、関連する該必須部分文字列各々の前記桁数を取得し、取得した前記桁数各々を前記必須部分文字列各々に対応する前記部分文字列の分割位置を求める、分割部と、
前記分割位置に従い、抽出した前記文字列に含まれる前記部分文字列を分割し、分割した部分文字列各々の桁範囲と、該分割した部分文字列各々に名称を割り振る、定義部と、
前記元制約情報の抽出した前記文字列に含まれる前記部分文字列のうち分割された前記部分文字列を、分割した前記部分文字列の名称を用いた表現に変換して変換後制約情報を生成する、制約変換部と、
を備えること特徴とするテストデータ生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011146057A JP5673395B2 (ja) | 2011-06-30 | 2011-06-30 | テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011146057A JP5673395B2 (ja) | 2011-06-30 | 2011-06-30 | テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013012162A true JP2013012162A (ja) | 2013-01-17 |
JP5673395B2 JP5673395B2 (ja) | 2015-02-18 |
Family
ID=47685967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011146057A Active JP5673395B2 (ja) | 2011-06-30 | 2011-06-30 | テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5673395B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016058073A (ja) * | 2014-09-04 | 2016-04-21 | 富士通株式会社 | 検査方法 |
US10241899B2 (en) * | 2017-01-12 | 2019-03-26 | Hitachi, Ltd. | Test input information search device and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011085967A (ja) * | 2009-10-13 | 2011-04-28 | Fujitsu Ltd | テストデータ生成プログラム、方法及び装置 |
JP2011198034A (ja) * | 2010-03-19 | 2011-10-06 | Fujitsu Ltd | データ生成方法,データ生成装置,およびデータ生成プログラム |
-
2011
- 2011-06-30 JP JP2011146057A patent/JP5673395B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011085967A (ja) * | 2009-10-13 | 2011-04-28 | Fujitsu Ltd | テストデータ生成プログラム、方法及び装置 |
JP2011198034A (ja) * | 2010-03-19 | 2011-10-06 | Fujitsu Ltd | データ生成方法,データ生成装置,およびデータ生成プログラム |
Non-Patent Citations (2)
Title |
---|
CSNJ201010047138; 藤原翔一朗 外6名: 'SMT Solverを利用したWebアプリケーション用テストデータの生成' 第72回(平成22年)全国大会講演論文集(1) , 20100308, p.1-281〜1-282, 社団法人情報処理学会 * |
JPN6013064884; 藤原翔一朗 外6名: 'SMT Solverを利用したWebアプリケーション用テストデータの生成' 第72回(平成22年)全国大会講演論文集(1) , 20100308, p.1-281〜1-282, 社団法人情報処理学会 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016058073A (ja) * | 2014-09-04 | 2016-04-21 | 富士通株式会社 | 検査方法 |
US10241899B2 (en) * | 2017-01-12 | 2019-03-26 | Hitachi, Ltd. | Test input information search device and method |
Also Published As
Publication number | Publication date |
---|---|
JP5673395B2 (ja) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Masmoudi et al. | Lot-sizing in a multi-stage flow line production system with energy consideration | |
RU2632133C2 (ru) | Способ (варианты) и система (варианты) создания модели прогнозирования и определения точности модели прогнозирования | |
US9760347B2 (en) | Method and system to identify GUI objects for non-markup-language-presented applications | |
JP6937556B2 (ja) | 複数のメディアソースからのコンテンツの組織化及び視覚化 | |
AU2015347304B2 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
US20150261793A1 (en) | Method for implementing database | |
US20080295007A1 (en) | Data Visualization | |
JP2011034457A (ja) | データマイニングシステム、データマイニング方法及びデータマイニング用プログラム | |
JP3777087B2 (ja) | デ―タ表示システム、データ表示方法、コンピュータシステムおよび記録媒体 | |
Fazayeli et al. | A hybrid meta-heuristic algorithm for flowshop robust scheduling under machine breakdown uncertainty | |
JP6692281B2 (ja) | テストケース生成装置、及びテストケース生成方法 | |
US9864802B2 (en) | Rules-based knowledge-driven search filters | |
JP5673395B2 (ja) | テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 | |
Mota et al. | A compact timed state space approach for the analysis of manufacturing systems: key algorithmic improvements | |
CN108304291B (zh) | 测试输入信息检索装置和方法 | |
JP2023502850A (ja) | ネットワーク可視化のシステム及び方法 | |
JP2022179882A (ja) | 計画評価装置及び計画評価方法 | |
TWI582624B (zh) | 用於感知情境並推薦資訊之電子計算裝置、其方法及其電腦程式產品 | |
JP6455087B2 (ja) | 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法 | |
JPWO2020122004A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2013012082A (ja) | テストデータ生成プログラム、テストデータ生成方法、テストデータ生成装置 | |
JP7021401B1 (ja) | ロギング支援装置、ロギングシステム、ロギング支援方法及びプログラム | |
JP5417359B2 (ja) | 文書評価支援システム、及び文書評価支援方法 | |
Abrahamse | Introducing RDA: A Guide to the Basics after 3R: by Chris Oliver. Chicago: ALA Editions, 2021. ix, 200 pp. ISBN 978-0-8389-1908-8. $46.99 | |
JP2018018279A (ja) | 文書検索装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141113 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5673395 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |