JP5514143B2 - テストデータ生成装置及び方法 - Google Patents
テストデータ生成装置及び方法 Download PDFInfo
- Publication number
- JP5514143B2 JP5514143B2 JP2011087672A JP2011087672A JP5514143B2 JP 5514143 B2 JP5514143 B2 JP 5514143B2 JP 2011087672 A JP2011087672 A JP 2011087672A JP 2011087672 A JP2011087672 A JP 2011087672A JP 5514143 B2 JP5514143 B2 JP 5514143B2
- Authority
- JP
- Japan
- Prior art keywords
- constraints
- character string
- test case
- variables
- constraint
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
テストケースを格納するテストケース記憶手段と、
設計情報として、ソフトウェアの入力値の定義域を表す入力値定義、ソフトウェアの処理の流れを表す処理フロー図、データベースの設計情報であるDB定義を取得し、入力変数、DBテーブル変数、及び該ソフトウェアの特定の振る舞いを引き起こすようにテストデータが満たすべき条件である制約を抽出し、前記テストケース記憶手段に格納するテストケース抽出手段と、
前記テストケース記憶手段から取得した、前記DBテーブル変数のレコード件数に関する制約を解き、該DBテーブル変数のレコード件数を決定し、前記テストケース記憶手段に格納するDBレコード件数決定手段と、
前記テストケース記憶手段から取得した、文字列型変数同士の包含関係に関する制約から、文字列長に関する制約を導出し、文字列型変数の文字列長と整数型変数に関する制約を解き、文字列長変数と整数型変数を前記テストケース記憶手段に格納する整数・文字列長決定手段と、
前記文字列型変数に関する制約を解き、該文字列型変数を構成する文字の値を決定し、前記テストケース記憶手段に格納する文字決定手段と、
前記テストケース記憶手段に格納されている前記入力変数、前記DBテーブル変数をテストデータとして出力する出力手段と、を有することを特徴とする。
前記入力値定義及び前記処理フロー図から「入力値に対する制約」を抽出し、該処理フロー図のDB検索条件から、「検索ヒット数、入力値、DB初期状態依存関係に関する制約」を抽出し、前記DB定義より「DB初期状態に対する制約」を抽出する手段を含む。
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」に含まれる不等式で表された「DBテーブルのレコード群の件数に関する制約」を選択し、連立不等式として解くことでDBテーブル変数のDBレコード件数を決定する手段を含み、
前記整数・文字列長決定手段は、
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記テストケース抽出手段で抽出された前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる、不等式で表された「文字列の長さに関する制約」を選択し、連立不等式として解くことで配列の長さを決定する手段を含む。
前記「DB初期状態に対する制約」のうち、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較、または、文字列変数同士の比較とする制約に変形する手段を含む。
前記「DB初期状態に対する制約」の中から、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較に変換した制約、前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる、不等式で表された「整数に関する制約」を選択し、選択された整数に関する制約を連立不等式として解き、制約群を満たす値を求める手段を含む。
前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」のいずれかに含まれる、文字列変数同士の包含関係に基づいて、該文字列変数同士の対応する位置に存在する文字がそれぞれ一致する文字を前記文字の値と決定する手段を含む。
(1)入力値に対する制約:入力値定義、処理フロー図より取得;
(2)検索ヒット数、入力値、DB初期状態の対応に関する制約:処理フロー図に記述されたDB検索条件より取得;
(3)DB初期状態に対する制約:DB定義より取得;
があり、上記の(1)〜(3)に含まれる各制約は図6に示すようにBNFで定義されている。制約は、設計情報に含まれる後述するテストケース抽出部で抽出される制約(図6(A))と、テストデータ生成処理中に導出される制約(図6(B))がある。制約には、整数制約、文字列制約、一意制約がある。整数制約には、整数算術式、整数比較演算子、整数算術式に関する制約が含まれる。文字列制約には、文字列因子、文字列比較演算子、文字列因子に関する制約が含まれる。一意制約は、distinctカラム全称参照で表される。
・DB定義(DBテーブル変数、DBテーブルの各カラムに対する制約、DBテーブルの主キー、外部キー);
・入力値定義;
・処理フロー図;
が含まれる。当該設計情報から変数(入力変数、DBテーブル変数)及び、制約を抽出し、これらをテストケースaとしてテストケース記憶部160に格納する。当該ステップの詳細については、図10にて後述する。
詳細は図20で後述する。
WHERE (ID>=検索ID)
AND(名前subString社員名)
が抽出される。
fieldX1, FieldX2, …,fieldXn, filedY1, fieldY2, …,fieldXm
とする。ここで、fieldXi == any FieldY (但し、i = 1〜m, any FieldYmのいずれか)という整数制約を生成し、整数変数同士の比較という制約に変形することを指す。
fieldX1, fieldX2, …, filedXn, fieldY1, fieldY2, …, fieldXm
とする。ここで、fieldXi equalsString anyFieldY(但し、i = 1〜m, anyFieldYはfieldY1〜fieldYmのいずれ)という整数制約を生成し、文字列変数同士の比較という制約に変形することを指す。
Length(A) >= Length(C)+Length(B)
Length(C) >= Length(D)
Length(E )== Length(F)
を得る(図6(B))。当該処理を文字列親子ノードのリストの各文字列親子ノードに対して行う。詳細については図22で後述する。
Length(s0)>=Length(sh)+Length(s1)+…+Length(sn)+Length(st)
という整数制約を生成し、これを文字列長に関する整数制約(図6(B))として出力する。
[(ps[文字列現在位置],cs[0]),…,(ps[文字列現在位置+1],cs[Length(cs)-1])
という文字列変数ペアリストを作成する。そして、文字列現在位置にLength(cs)を加え、ステップ1070に移行する。
[ps[0], cs[0], …, (ps[Length(ps)−1], cs[Length(cs)−1])
という文字列変数ペアリストを作成する。そして文字列現在位置にLength(cs)を加え、ステップ1070の処理に移行する。
[(ps)[Length(ps)−Length(cs)], cs[0]], …, (ps[Length(ps)−1], cs[Length(cs)−1])
という文字列変数ペアリストを作成し、ステップ1070の処理に移行する。
100 テストデータ生成装置
110 テストケース抽出部
120 DBレコード件数決定部
130 整数・文字列長決定部
140 文字決定部
150 テストデータ出力部
Claims (10)
- データベース(DB)に格納されているデータの読み出し操作を伴う機能性テストを実施するためのテストデータを生成するテストデータ生成装置であって、
テストケースを格納するテストケース記憶手段と、
設計情報として、ソフトウェアの入力値の定義域を表す入力値定義、ソフトウェアの処理の流れを表す処理フロー図、データベースの設計情報であるDB定義を取得し、入力変数、DBテーブル変数、及び該ソフトウェアの特定の振る舞いを引き起こすようにテストデータが満たすべき条件である制約を抽出し、前記テストケース記憶手段に格納するテストケース抽出手段と、
前記テストケース記憶手段から取得した、前記DBテーブル変数のレコード件数に関する制約を解き、該DBテーブル変数のレコード件数を決定し、該レコード件数分のDBレコード変数を生成し、前記テストケース記憶手段に格納するDBレコード件数決定手段と、
前記テストケース記憶手段から取得した、文字列型変数同士の包含関係に関する制約から、文字列長に関する制約を導出し、文字列型変数の文字列長と整数型変数に関する制約を解き、文字列長変数と整数型変数を前記テストケース記憶手段に格納する整数・文字列長決定手段と、
前記テストケース記憶手段から取得した文字列型変数に関する制約を解き、文字列型変数を構成する文字の値を決定し、前記テストケース記憶手段に格納する文字決定手段と、
前記テストケース記憶手段に格納されている前記入力変数、前記DBテーブル変数をテストデータとして出力する出力手段と、
を有することを特徴とするテストデータ生成装置。 - 前記テストケース抽出手段は、
前記入力値定義及び前記処理フロー図から「入力値に対する制約」を抽出し、該処理フロー図のDB検索条件から、「検索ヒット数、入力値、DB初期状態依存関係に関する制約」を抽出し、前記DB定義より「DB初期状態に対する制約」を抽出する手段を含む
請求項1記載のテストデータ生成装置。 - 前記レコード件数決定手段は、
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」に含まれる不等式で表された「DBテーブルのレコード群の件数に関する制約」を選択し、連立不等式として解くことでDBテーブル変数のDBレコード件数を決定する手段を含み、
前記整数・文字列長決定手段は、
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記テストケース抽出手段で抽出された前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる、不等式で表された「文字列の長さに関する制約」を選択し、連立不等式として解くことで配列の長さを決定する手段を含む
請求項2記載のテストデータ生成装置。 - 前記レコード件数決定手段は、
前記「DB初期状態に対する制約」のうち、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較、または、文字列変数同士の比較とする制約に変形する手段を含む
請求項3記載のテストデータ生成装置。 - 前記整数・文字列長決定手段は、
前記「DB初期状態に対する制約」のうち、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較に変換した制約、前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる、不等式で表された「整数に関する制約」を選択し、選択された整数に関する制約を連立不等式として解き、制約群を満たす値を求める手段を含む
請求項3記載のテストデータ生成装置。 - 前記文字決定手段は、
前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」のいずれかに含まれる、文字列変数同士の包含関係に基づいて、該文字列変数同士の対応する位置に存在する文字がそれぞれ一致する文字を前記文字の値と決定する手段を含む
請求項2記載のテストデータ生成装置。 - データベース(DB)に格納されているデータの読み出し操作を伴う機能性テストを実施するためのテストデータを生成するテストデータ生成方法であって、
テストケース抽出手段が、設計情報として、ソフトウェアの入力値の定義域を表す入力値定義、ソフトウェアの処理の流れを表す処理フロー図、データベースの設計情報であるDB定義を取得し、入力変数、DBテーブル変数、及び該ソフトウェアの特定の振る舞いを引き起こすようにテストデータが満たすべき条件である制約を抽出し、テストケース記憶手段に格納するテストケース抽出ステップと、
DBレコード件数決定手段が、前記テストケース記憶手段から取得した、前記DBテーブル変数のレコード件数に関する制約を解き、該DBテーブル変数のレコード件数を決定し、前記テストケース記憶手段に格納するDBレコード件数決定ステップと、
整数・文字列長決定手段が、前記テストケース記憶手段から取得した、文字列型変数同士の包含関係に関する制約から、文字列長に関する制約を導出し、文字列型変数の文字列長と整数型変数に関する制約を解き、文字列長変数と整数型変数を前記テストケース記憶手段に格納する整数・文字列長決定ステップと、
文字決定手段が、前記文字列型変数に関する制約を解き、該文字列型変数を構成する文字の値を決定し、前記テストケース記憶手段に格納する文字決定ステップと、
出力手段が、前記テストケース記憶手段に格納されている前記入力変数、前記DBテーブル変数をテストデータとして出力する出力ステップと、
を行うことを特徴とするテストデータ生成方法。 - 前記テストケース抽出ステップにおいて、
前記入力値定義及び前記処理フロー図から「入力値に対する制約」を抽出し、該処理フロー図のDB検索条件から、「検索ヒット数、入力値、DB初期状態依存関係に関する制約」を抽出し、前記DB定義より「DB初期状態に対する制約」を抽出し、
前記レコード件数決定ステップにおいて、
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」に含まれる不等式で表された「DBテーブルのレコード群の件数に関する制約」を選択し、連立不等式として解くことでDBテーブル変数のDBレコード件数を決定し、
前記整数・文字列長決定ステップにおいて、
入れ子の配列に相当する複雑なDBテーブルのレコード群を検出した場合に、前記テストケース抽出手段で抽出された前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる不等式で表された「文字列の長さに関する制約」を選択し、連立不等式として解くことで配列の長さを決定する
請求項7記載のテストデータ生成方法。 - 前記レコード件数決定ステップにおいて、
前記「DB初期状態に対する制約」のうち、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較、または、文字列変数同士の比較とする制約に変形し、
前記整数・文字列長決定ステップにおいて、
前記「DB初期状態に対する制約」のうち、DBレコードの主キー、外部キーに関する制約を選び、整数変数同士比較に変換した制約、前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」、前記「DB初期状態に対する制約」のいずれかに含まれる、不等式で表された「整数に関する制約」を選択し、選択された整数に関する制約を連立不等式として解き、制約群を満たす値を求める
請求項8記載のテストデータ生成方法。 - 前記文字決定ステップにおいて、
前記「入力値に対する制約」、前記「検索ヒット数、入力値、DB初期状態依存関係に関する制約」のいずれかに含まれる、文字列変数同士の包含関係に基づいて、該文字列変数同士の対応する位置に存在する文字がそれぞれ一致する文字を前記文字の値と決定する手段を含む
請求項8記載のテストデータ生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087672A JP5514143B2 (ja) | 2011-04-11 | 2011-04-11 | テストデータ生成装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011087672A JP5514143B2 (ja) | 2011-04-11 | 2011-04-11 | テストデータ生成装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012221311A JP2012221311A (ja) | 2012-11-12 |
JP5514143B2 true JP5514143B2 (ja) | 2014-06-04 |
Family
ID=47272717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011087672A Active JP5514143B2 (ja) | 2011-04-11 | 2011-04-11 | テストデータ生成装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5514143B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5965455B2 (ja) * | 2014-10-15 | 2016-08-03 | 日本電信電話株式会社 | 優先度付き境界値テストデータ生成装置、方法及びプログラム |
JP6067642B2 (ja) * | 2014-10-15 | 2017-01-25 | 日本電信電話株式会社 | 同値テストデータ生成装置、方法及びプログラム |
JP6067644B2 (ja) * | 2014-10-15 | 2017-01-25 | 日本電信電話株式会社 | 不等号誤りを検出する境界値テストデータ生成装置、方法及びプログラム |
JP6067643B2 (ja) * | 2014-10-15 | 2017-01-25 | 日本電信電話株式会社 | 境界値テストデータ生成装置、方法及びプログラム |
JP6684233B2 (ja) * | 2017-01-12 | 2020-04-22 | 株式会社日立製作所 | テスト入力情報検索装置及び方法 |
-
2011
- 2011-04-11 JP JP2011087672A patent/JP5514143B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012221311A (ja) | 2012-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5514143B2 (ja) | テストデータ生成装置及び方法 | |
Korman et al. | Distributed verification of minimum spanning trees | |
CN106897352B (zh) | 在拓展中进行修改的区块链的生成方法及*** | |
JP5040925B2 (ja) | 情報抽出規則作成支援システム、情報抽出規則作成支援方法及び情報抽出規則作成支援プログラム | |
US10445428B2 (en) | Information object extraction using combination of classifiers | |
CN102388595A (zh) | Vpc迁移中的资源匹配方法及装置 | |
US20180039890A1 (en) | Adaptive knowledge base construction method and system | |
CN107066495B (zh) | 沿纵向拓展的区块链的生成方法及*** | |
CN104077228A (zh) | 一种基于谓词依赖图的efsm可执行测试序列生成方法 | |
CN114077534A (zh) | 测试用例生成方法、装置和计算机可读存储介质 | |
JP5514144B2 (ja) | テストデータ生成装置及び方法 | |
Ďuračík et al. | Searching source code fragments using incremental clustering | |
Álvarez-Miranda et al. | The recoverable robust two-level network design problem | |
JP5514145B2 (ja) | テストデータ生成装置及び方法 | |
JP5514146B2 (ja) | テストデータ生成装置及び方法 | |
JP5718166B2 (ja) | 設計検証方法及びプログラム | |
JP5523526B2 (ja) | テストパス中に複数の参照アクセスをもつテスト用のデータ生成装置及び方法及びプログラム | |
CN109558521A (zh) | 大规模关键词多模匹配方法、装置以及设备 | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
Gnecco et al. | Sparse solutions to the average consensus problem via various regularizations of the fastest mixing Markov-chain problem | |
Stepien et al. | Challenges of composing XACML policies | |
Gupta et al. | Fast dynamic programming in trees in the mpc model | |
Blanché et al. | Hereditary graph classes: When the complexities of coloring and clique cover coincide | |
CN114201199A (zh) | 基于信息安全大数据的防护升级方法及信息安全*** | |
CN110750449A (zh) | 一种测试驱动的网页构件功能抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121022 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20131007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131227 |
|
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: 20140325 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5514143 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |