JP6135466B2 - Test case extraction program, method and apparatus - Google Patents
Test case extraction program, method and apparatus Download PDFInfo
- Publication number
- JP6135466B2 JP6135466B2 JP2013230612A JP2013230612A JP6135466B2 JP 6135466 B2 JP6135466 B2 JP 6135466B2 JP 2013230612 A JP2013230612 A JP 2013230612A JP 2013230612 A JP2013230612 A JP 2013230612A JP 6135466 B2 JP6135466 B2 JP 6135466B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- range
- symbolic execution
- output
- condition
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、レグレッションテストに関する。 The present invention relates to a regression test.
レグレッションテストとは、プログラムに変更を施した際に、その変更が及ぼす影響を特定するテストのことである。1つのプログラムに変更を施した場合には、他のプログラムにまで変更の影響が及ぶ場合が有る。例えば、変更を施したプログラムの出力結果を用いて処理を行う他のプログラムが有る場合には、そのプログラムが変更の影響を受けることがある。 A regression test is a test that identifies the effect of a change when the program is changed. When one program is changed, the change may affect other programs. For example, when there is another program that performs processing using the output result of the changed program, the program may be affected by the change.
レグレッションテストに関して、以下のような技術が知られている。具体的には、プログラムを解析することにより、そのプログラム内のデータ項目のうちプログラム変更の影響を受けるデータ項目を特定し、そのデータ項目を参照する他のプログラムを抽出する。 The following techniques are known for regression testing. Specifically, by analyzing the program, data items that are affected by the program change are specified from among the data items in the program, and other programs that refer to the data item are extracted.
また、プログラムのテストケースを実行した際に実行トレースを登録し、登録した実行トレースに基づき、影響を受けるテストケースを抽出する技術が知られている。 Further, a technique is known in which an execution trace is registered when a test case of a program is executed, and an affected test case is extracted based on the registered execution trace.
しかし、上記の技術を利用すると、動作に影響が無いプログラム或いはテストケースまで抽出されてしまうことがある。このような場合、本来であればテストを行わなくてもよいプログラム或いはテストケースについて再度テストを実行するという、無駄な工数が発生する。 However, when the above technique is used, a program or test case that does not affect the operation may be extracted. In such a case, a wasteful man-hour is required in which a test is executed again for a program or test case that normally does not need to be tested.
従って、本発明の目的は、1つの側面では、プログラムの変更によって影響を受ける他のプログラムのテストケースを特定するための技術を提供することである。 Therefore, the objective of this invention is providing the technique for specifying the test case of the other program affected by the change of a program in one side.
本発明に係るテストデータ抽出方法は、第1のプログラム及び第2のプログラムの各々について、シンボリック実行を行い、プログラム内のパスを特定するための条件であるパス条件及びシンボリック実行によって出力される項目の値域を含むテストデータを生成し、変更後の第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、変更前の第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、第2のプログラムについてのテストデータに含まれるパス条件と値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する処理を含む。 The test data extraction method according to the present invention performs symbolic execution for each of the first program and the second program, and is a path condition that is a condition for specifying a path in the program and items output by symbolic execution. Test data including the range of the current value is generated, symbolic execution is performed on the first program after the change, the range of items output by the symbolic execution is specified, and output is performed by symbolic execution on the first program before the change An expression representing a portion in which the range has changed using the first range that is the range of the item to be changed and the second range that is the range of the item that is output by symbolic execution of the first program after the change The path condition included in the test data for the second program is a term whose range has changed. And whether the second condition that a solution exists in the logical product of the path condition included in the test data for the second program and the expression representing the part whose range has changed is satisfied. It includes a process for determining.
1つの側面では、プログラムの変更によって影響を受ける他のプログラムのテストケースを特定できるようになる。 In one aspect, it becomes possible to identify test cases for other programs that are affected by program changes.
図1乃至図5を用いて、本実施の形態の概要について説明する。本実施の形態においては、或るプログラムを変更した場合に、他のプログラムのテストケースのうち影響を受けるテストケースを特定するため、以下のような処理を実行する。 The outline of the present embodiment will be described with reference to FIGS. In the present embodiment, when a certain program is changed, the following processing is executed in order to identify the test case that is affected among the test cases of other programs.
まず、事前の処理として、図1に示す処理が行われる。具体的には、関連する複数のプログラムの各々について、シンボリック実行を行う。図1においては、プログラム1と、プログラム2と、プログラム3とについてシンボリック実行を行っている。そして、各プログラムについてテストケースを生成する。テストケースには、プログラム内のパスを特定するための条件であるパス条件と、プログラムの実行の結果として出力される項目(以下、出力項目と呼ぶ)の値域とが含まれる。図1の例では、各プログラムについて2つのテストケースが生成される。但し、プログラム3における、パス条件が「x!=100」であるテストケースのように、テストケースに含まれる出力項目が空である(すなわち、出力項目が無い)場合がある。そして、各プログラムの各テストケースについて、出力項目の値域の和集合を求める。例えばプログラム1については、出力項目aについて、「a=1」と「a=0」との和集合「a=1or0」を求め、出力項目bについて、「b=0」と「b=0」との和集合「b=0」を求める。
First, the process shown in FIG. 1 is performed as a prior process. Specifically, symbolic execution is performed for each of a plurality of related programs. In FIG. 1, symbolic execution is performed for
なお、シンボリック実行については、例えば、玉井哲雄、福永光一、「記号実行システム」、情報処理、pp18-28、1982/01/15などに詳しく述べられているので、そちらを参照されたい。 Symbolic execution is described in detail in, for example, Tetsuo Tamai, Koichi Fukunaga, “Symbol Execution System”, Information Processing, pp18-28, 1982/01/15, etc., so please refer to them.
ここで、プログラム1に変更が施されたとする。すると、図2に示すように、プログラム1について、図1を用いて説明した処理を再度実行する。そして、プログラム1の出力項目a及び出力項目bについて、値域の和集合を求める。この例では、aについては「a=−1or0」であり、bについては「b=0」である。
Here, it is assumed that the
そして、図3に示すように、プログラム1について、変更前における、出力項目の値域の和集合と、変更後における、出力項目の値域の和集合とを比較する。本例では、出力項目a及び出力項目bの各々について、値域の和集合を比較し、変化があった領域を求める。出力項目bについては、変更前後で値域の和集合に変化は無いが、出力項目aについては、変更前後で値域の和集合に変化がある。具体的には、変更前においては「a=1」が値域の和集合に含まれていたが変更後には含まれておらず、変更後においては「a=−1」が値域の和集合に含まれているが変更前には含まれていない。したがって、変更前後における値域の変化部分は「a=1ora=−1」と表すことができる。
Then, as shown in FIG. 3, for
プログラム1を変更したことにより、関連するプログラム2及びプログラム3が影響を受ける可能性がある。そこで、プログラム2及びプログラム3について、影響を受けるテストケースを特定する。まず、図4に示すように、プログラム2及びプログラム3について、パス条件を抽出する。図4の例では、プログラム2について、「a>1」及び「a<=1」が抽出され、プログラム3について、「x=100」及び「x!=100」が抽出される。
As the
そして、図5に示すように、プログラム2及びプログラム3について抽出されたパス条件に、値域が変化した出力項目(出力項目a)が含まれるか判定する。本例では、「a>1」及び「a<=1」には出力項目aが含まれ、「x=100」及び「x!=100」には出力項目aが含まれない。そこで、「a>1」及び「a<=1」についてさらなる判定を行う。具体的には、パス条件と出力項目aの値域の変化を表す式とをand(すなわち論理積)で結合し、解が有るか判定する。「a<=1 and (a=1ora=−1)」には、a=1という解が有り、「a>1 and (a=1ora=−1)」には、解が無い。そこで、「a<=1」についてさらなる判定を行う。具体的には、「a<=1」というパス条件についてのテストケース(図5におけるテストケース50)に、出力項目が有るか(すなわち、何らかの出力が有るか)判定する。本例では、c及びdという出力項目が有る。よって、テストケース50は、プログラム1に施した変更に影響を受けるテストケース(以下、影響テストケースと呼ぶ)である。
Then, as shown in FIG. 5, it is determined whether the path condition extracted for the
プログラム内には複数のパスが存在する場合があり、変更の影響が全てのパスのテストケースに及ぶとは限らない。そこで、図1乃至図5に示したようにすれば、プログラムのテストケースのうち、他のプログラムに施した変更に影響を受けるテストケースを特定できるようになる。これにより、再度テストを実行すべきテストケースを少なくすることができるので、プログラム変更時における工数を削減できるようになる。 There may be a plurality of paths in the program, and the effect of the change does not necessarily reach the test cases of all paths. Therefore, as shown in FIGS. 1 to 5, it is possible to specify a test case that is affected by a change made to another program among the test cases of the program. As a result, it is possible to reduce the number of test cases to be re-executed, thereby reducing the number of man-hours when changing the program.
以下では、本実施の形態の詳細な内容について説明する。 Below, the detailed content of this Embodiment is demonstrated.
図6に、本実施の形態における情報処理装置1の機能ブロック図を示す。情報処理装置1は、プログラム格納部101と、変更後プログラム格納部102と、シンボリック実行部103と、入力項目格納部104と、採番テーブル格納部105と、メンバテーブル格納部106と、テストケース格納部107と、値域特定部108と、演算データ格納部109と、値域データ格納部110と、差分演算部111と、差分データ格納部112と、影響テストケース特定部113と、影響テストケース格納部114とを含む。
FIG. 6 shows a functional block diagram of the
プログラム格納部101には、本実施の形態における処理の対象になる、関連する複数のプログラムが格納される。変更後プログラム格納部102には、プログラム格納部101に格納されているプログラムのうち、変更されたプログラムが格納される。
The
シンボリック実行部103は、プログラム格納部101に格納されているプログラムについて、入力項目格納部104に格納されているデータ、採番テーブル格納部105に格納されているデータ、及びメンバテーブル格納部106に格納されているデータを用いてシンボリック実行を行う。そして、シンボリック実行部103は、シンボリック実行の結果(本実施の形態においては、テストケース)をテストケース格納部107に格納する。同様に、シンボリック実行部103は、変更後プログラム格納部102に格納されている、変更後のプログラムについて、入力項目格納部104に格納されているデータ、採番テーブル格納部105に格納されているデータ、及びメンバテーブル格納部106に格納されているデータを用いてシンボリック実行を行う。そして、シンボリック実行部103は、シンボリック実行の結果をテストケース格納部107に格納する。
The
値域特定部108は、テストケース格納部107に格納されているデータ及び演算データ格納部109に格納されているデータを用いて処理を行い、処理結果を値域データ格納部110に格納する。差分演算部111は、値域データ格納部110に格納されているデータを用いて処理を行い、処理結果を差分データ格納部112に格納する。影響テストケース特定部113は、差分データ格納部112に格納されているデータを用いて処理を行い、処理結果を影響テストケース格納部114に格納する。
The
図7に、シンボリック実行においてシンボル化される項目を示す。入力項目格納部104には、ユーザから入力された入力項目である、ユーザ名(name)及びランク(rank)が格納されるが、これらの入力項目がシンボリック実行においてシンボル化される。また、採番テーブル格納部105に格納される採番テーブルには、現在の番号という項目(currentId)が格納されるが、この項目もシンボル化される。メンバテーブル格納部106に格納されるメンバテーブルにおいては、シンボル化される項目は無い。
FIG. 7 shows items symbolized in the symbolic execution. The input
図8を用いて、プログラム格納部101に格納されているプログラムによる処理について説明する。本実施の形態においては、図8に示したプログラム「createMember」、プログラム「calculateDiscount」及びプログラム「sendMail」がプログラム格納部101に格納される。プログラム「createMember」は、「rank」が1又は2である場合にメンバテーブルにメンバの情報を追加するプログラムである。プログラム「calculateDiscount」は、メンバテーブルに格納されたメンバの情報を参照し、「rank」に紐付く割引率によって計算を行うプログラムである。プログラム「sendMail」は、メンバテーブルに格納されたメンバの情報を参照し、「rank」が2以上であればメールを送信するプログラムである。このように、プログラム「calculateDiscount」及びプログラム「sendMail」は、プログラム「createMember」の出力項目を使用して処理を行う。
The processing by the program stored in the
次に、図9乃至図29を用いて、情報処理装置1の動作について説明する。
Next, the operation of the
まず、図9乃至図21を用いて、予め実行する処理について説明する。なお、本処理を実行する段階では、変更後プログラム格納部102には変更後のプログラムは格納されていない。
First, processing executed in advance will be described with reference to FIGS. At the stage of executing this process, the changed
シンボリック実行部103は、プログラム格納部101に格納されているプログラムの中から、未処理のプログラムを1つ特定する(図9:ステップS1)。シンボリック実行部103は、特定されたプログラムについてシンボリック実行を行い(ステップS3)、シンボリック実行の結果(本実施の形態においては、テストケース)をテストケース格納部107に格納する。
The
シンボリック実行部103は、プログラム格納部101に未処理のプログラムが有るか判断する(ステップS5)。未処理のプログラムが有る場合(ステップS5:Yesルート)、未処理のプログラムについて処理するため、ステップS1の処理に戻る。一方、未処理のプログラムが無い場合(ステップS5:Noルート)、処理を終了する。
The
以上のような処理を実行すれば、各プログラムについてテストケースを用意することができる。 By executing the processing as described above, a test case can be prepared for each program.
図10乃至図12に、テストケース格納部107に格納されるテストケースの一例を示す。図10は、プログラム「createMember」についてのテストケースであり、図11は、プログラム「calculateDiscount」についてテストケースであり、図12は、プログラム「sendMail」についてのテストケースである。各テストケースには、テストケースの番号と、プログラム名と、パス条件と、出力項目の値域とが含まれる。なお、番号が3であるテストケース及び番号が22であるテストケースのように、出力項目の値域を含まない場合もある。また、番号が20であるテストケースのように、別のプログラム或いは関数の呼び出しを出力項目として取り扱う場合もある。
10 to 12 show examples of test cases stored in the test
次に、図13乃至図21を用いて、各出力項目の値域の和集合を求める処理について説明する。本処理は、各プログラムについて行われる。 Next, processing for obtaining the union of the range of each output item will be described with reference to FIGS. This process is performed for each program.
まず、値域特定部108は、テストケース格納部107から未処理のテストケースを1つ特定する(図13:S11)。そして、値域特定部108は、特定されたテストケースからデータ(ここでは、プログラム名、出力項目、出力項目の値域、及びパス条件)を抽出し、演算データ格納部109に格納する(ステップS13)。
First, the
図14に、演算データ格納部109に格納されるデータの一例を示す。図14の例では、プログラム名と、出力項目と、出力項目の値域と、パス条件とが格納される。ステップS13の処理の時点では、「パス条件代入後の値域」の欄には何も格納されない。
FIG. 14 shows an example of data stored in the calculation
図13の説明に戻り、値域特定部108は、テストケース格納部107に未処理のテストケースが有るか判断する(ステップS15)。未処理のテストケースが有る場合(ステップS15:Yesルート)、未処理のテストケースについて処理するため、ステップS11の処理に戻る。一方、未処理のテストケースが無い場合(ステップS15:Noルート)、値域特定部108は、演算データ格納部109から未処理の行を1つ特定する(ステップS17)。
Returning to the description of FIG. 13, the
値域特定部108は、特定された行について、出力項目の値域にパス条件を代入し、結果を同じ行における「パス条件代入後の値域」の欄に格納する(ステップS19)。
The value
値域特定部108は、未処理の行が有るか判断する(ステップS21)。未処理の行が有る場合(ステップS21:Yesルート)、未処理の行について処理するため、ステップS17の処理に戻る。一方、未処理の行が無い場合(ステップS21:Noルート)、処理は端子Aを介して図15のステップS23の処理に移行する。
The
図16に、未処理の行が無くなった時点における演算データ格納部109に格納されるデータの一例を示す。図16の例では、図14と比較すると、「パス条件代入後の値域」の欄にデータが格納されている。1、2、3、4、7及び8行目の「パス条件代入後の値域」の欄に格納されるデータは、パス条件が代入されたにもかかわらず、出力項目の値域の欄に格納されるデータと差異が無い。これは、出力項目の値域に、「Sym_rank」が含まれていないためである。これに対して、5及び6行目における出力項目の値域には、「Sym_rank」が含まれているため、「出力項目の値域」と「パス条件代入後の出力項目の値域」とが異なっている。
FIG. 16 shows an example of data stored in the calculation
次に、図15の端子A以降の処理について説明する。値域特定部108は、演算データ格納部109から未処理の行を1つ特定する(図15:ステップS23)。
Next, processing after terminal A in FIG. 15 will be described. The value
値域特定部108は、値域データ格納部110において、特定された行の出力項目を含む行を探索する(ステップS25)。値域特定部108は、行が検出されたか判断する(ステップS27)。行が検出されない場合(ステップS27:Noルート)、値域特定部108は、ステップS23において特定された行のデータ(ここでは、プログラム名、出力項目、及び出力項目の値域)を値域データ格納部110に格納する(ステップS29)。
The
図17に、値域データ格納部110に格納されているデータの一例を示す。図17の例では、プログラム名と、出力項目と、値域の和集合とが格納される。なお、ステップS27のNoルートを経由する場合、値域の和集合に格納されるデータは、出力項目の値域である。
FIG. 17 shows an example of data stored in the range
一方、行が検出された場合(ステップS27:Yesルート)、値域特定部108は、ステップS27において検出された行の和集合が、ステップS23において特定された行におけるパス条件代入後の値域を含むか判定する(ステップS31)。特定された行におけるパス条件代入後の値域を含む場合(ステップS33:Yesルート)、新たに値域を追加しなくてもよいので、ステップS37の処理に移行する。特定された行におけるパス条件代入後の値域を含まない場合(ステップS33:Noルート)、値域特定部108は、検出された行の和集合と、特定された行におけるパス条件代入後の値域とを、論理和(OR)で接続する(ステップS35)。そしてステップS37の処理に移行する。
On the other hand, when a row is detected (step S27: Yes route), the
値域特定部108は、演算データ格納部109に未処理の行が有るか判断する(ステップS37)。未処理の行が有る場合(ステップS37:Yesルート)、未処理の行について処理するため、ステップS23の処理に戻る。一方、未処理の行が無い場合(ステップS37:Noルート)、処理を終了する。
The value
以上のような処理を行うことで、テストケース毎の値域を、出力項目毎に整理することができる。そして、プログラムに変更が施された際に、整理されたデータを利用して処理を行うことができるようになる。 By performing the processing as described above, the value range for each test case can be organized for each output item. Then, when the program is changed, processing can be performed using the organized data.
同様に、プログラム「createDiscount」のテストケースについて、上で述べた処理によって、図18に示すデータが演算データ格納部109に格納されたとする。すると、値域データ格納部110には、図19に示すデータが格納される。
Similarly, for the test case of the program “createDiscount”, it is assumed that the data shown in FIG. Then, the data shown in FIG. 19 is stored in the range
また、プログラム「sendMail」のテストケースについて、上で述べた処理によって、図20に示すデータが演算データ格納部109に格納されたとする。すると、値域データ格納部110には、図21に示すデータが格納される。
Further, for the test case of the program “sendMail”, it is assumed that the data shown in FIG. 20 is stored in the operation
ここで、図8に示したプログラム「createMember」の2行目にコードが追加され、図22に示すように変更されたとする。図22においては、変更により新たに追加された部分に下線が付されている。この変更により、「rank」が1又は2ではない場合だけでなく、「rank」が0ではない場合も例外として取り扱われる。 Here, it is assumed that a code is added to the second line of the program “createMember” shown in FIG. 8 and changed as shown in FIG. In FIG. 22, the part newly added by the change is underlined. Due to this change, not only when “rank” is not 1 or 2, but also when “rank” is not 0, it is treated as an exception.
図22に示したプログラムが、変更後プログラム格納部102に格納されると、シンボリック実行部103は、変更後のプログラム「createMember」について再度シンボリック実行を行う。すると、図23に示すようなテストケースが生成され、テストケース格納部107に格納される。図23に示した、番号が3であるテストケースは、図10には無かったテストケースである。図23に示した、番号が4であるテストケースは、図10に示した、番号が3であるテストケースに相当するが、パス条件に「&&Sym_rank!=0」が新たに追加されている。また、図23に示したテストケースについて、値域特定部108が処理を行うと、図24に示すように値域の和集合が求められ、値域データ格納部110に格納される。
When the program illustrated in FIG. 22 is stored in the changed
次に、図25乃至図29を用いて、影響テストケースを特定する処理について説明する。まず、図25乃至図27を用いて、差分演算部111が実行する処理について説明する。
Next, processing for identifying an influence test case will be described with reference to FIGS. First, processing executed by the
まず、差分演算部111は、値域データ格納部110に格納されている、プログラムの変更前後における値域の和集合を比較し、値域の和集合が変化した出力項目を特定する(図25:ステップS41)。例えば、図17に示した和集合と、図24に示した和集合とを比較すると、出力項目「メンバテーブル.rank」が特定される。そして、差分演算部111は、ステップS41において特定された出力項目の中から未処理の出力項目を1つ選択する(ステップS43)。
First, the
差分演算部111は、ステップS43において選択された出力項目について、変更前の和集合と変更後の和集合の否定との論理積を計算する(ステップS45)。ステップS45の処理について、図26を用いて説明する。図26においては、変更前における各出力項目の値域の和集合261と、変更後における各出力項目の値域の和集合262とが示されている。選択された出力項目が「メンバテーブル.rank」である場合、変更前の和集合263として「rank=1 or rank=2」が抽出され(図を見やすくするため、「メンバテーブル.」の部分を省略している)、変更後の和集合の否定264として「not(rank=1 or rank=2 or rank=0)」が抽出される。そして、両者の論理積である、「(rank=1 or rank=2) and not(rank=1 or rank=2 or rank=0)」が計算される。
The
差分演算部111は、ステップS43において選択された出力項目について、変更前の和集合の否定と変更後の和集合との論理積を計算する(ステップS47)。ステップS47の処理についても、図26を用いて説明する。ステップS47においては、変更前の和集合の否定265として「not(rank=1 or rank=2)」が抽出され、変更後の和集合266として「rank=1 or rank=2 or rank=0」が抽出される。そして、両者の論理積である、「not(rank=1 or rank=2) and (rank=1 or rank=2 or rank=0)」が計算される。
The
差分演算部111は、計算された2つの論理積の論理和を簡約化することで、出力項目の値域の変化部分を表す式を計算し、差分データ格納部112に格納する(ステップS49)。図26においては、計算された2つの論理積の論理和267が示されている。そして、論理和267を簡約化することで、出力項目の値域の変化部分を表す式268(メンバテーブル.rank=0)が求められる。さらに図27を用いて、ステップS45乃至S49の処理を説明する。図27においては、斜線が付された楕円が、値域を表している。ステップS45乃至S49の処理によれば、図27に示すように、変更前にのみ存在する値域及び変更後にのみ存在する値域(2つの楕円が重なっていない部分)が特定される。
The
差分演算部111は、未処理の出力項目が有るか判断する(ステップS51)。未処理の出力項目が有る場合(ステップS51:Yesルート)、未処理の出力項目について処理するため、ステップS43の処理に戻る。一方、未処理の出力項目が無い場合(ステップS51:Noルート)、処理を終了する。
The
このように、プログラムの変更による出力項目の値域の変化部分を表す式を算出しておくことで、影響テストケース特定部113の処理に利用できるようになる。
In this way, by calculating the expression representing the change part of the value range of the output item due to the program change, it can be used for the processing of the influence test
そして、影響テストケース特定部113は、以下のような処理を実行する。図28及び図29を用いて、影響テストケース特定部113が実行する処理について説明する。
Then, the impact test
まず、影響テストケース特定部113は、差分データ格納部112に格納されている、出力項目の値域の変化部分を表す式のうち、未処理の式を1つ特定する(図28:ステップS61)。そして、影響テストケース特定部113は、特定された式に含まれる出力項目を、シンボル項目に置き換える(ステップS63)。出力項目の値域の変化部分を表す式が、例えば「メンバテーブル.rank」である場合には、出力項目をシンボル項目に置き換えることで、「Sym_member.rank=0」という式を生成する。
First, the influence test
影響テストケース特定部113は、テストケース格納部107に格納されている、他のプログラム(ここでは、プログラム「calculateDiscount」及びプログラム「sendMail」)についてのテストケースの中から、未処理のテストケースを1つ特定する(ステップS65)。
The influence test
影響テストケース特定部113は、特定されたテストケースのパス条件の中に、ステップS63において置き換えを行ったシンボル項目(上の例では、Sym_member.rank)が有るか判定する(ステップS67)。シンボル項目が無い場合(ステップS69:Noルート)、プログラム「createMember」に施した変更の影響を受けないので、ステップS81の処理に移行する。
The influence test
シンボル項目が有る場合(ステップS69:Yesルート)、影響テストケース特定部113は、ステップS61において特定された式と、ステップS65において特定されたテストケースのパス条件との論理積を求め、解が存在するか判定する(ステップS71)。解が存在しない場合(ステップS73:Noルート)、プログラム「createMember」に施した変更の影響を受けないので、ステップS81の処理に移行する。
When there is a symbol item (step S69: Yes route), the influence test
解が存在する場合(ステップS73:Yesルート)、影響テストケース特定部113は、ステップS65において特定されたテストケースの出力項目が空である(すなわち、出力項目が無い)か判定する(ステップS75)。空である場合(ステップ77:Yesルート)、ステップS81の処理に移行する。
When a solution exists (step S73: Yes route), the influence test
空ではない場合(ステップS77:Noルート)、影響テストケース特定部113は、ステップS65において特定されたテストケースを影響テストケース格納部114に格納する(ステップS79)。
If not empty (step S77: No route), the impact test
影響テストケース特定部113は、未処理のテストケースが有るか判断する(ステップS81)。未処理のテストケースが有る場合(ステップS81:Yesルート)、未処理のテストケースについて処理するため、ステップS65の処理に戻る。
The influence test
一方、未処理のテストケースが無い場合(ステップS81:Noルート)、影響テストケース特定部113は、未処理の式が有るか判断する(ステップS83)。未処理の式が有る場合(ステップS83:Yesルート)、未処理の式について処理するため、ステップS61の処理に戻り、未処理の式が無い場合(ステップS83:Noルート)、処理を終了する。
On the other hand, when there is no unprocessed test case (step S81: No route), the influence test
例えば、図11に示したプログラム「calculateDiscount」についてのテストケース及び図12に示したプログラム「sendMail」についてのテストケースの中から、プログラム「createMember」の変更に影響を受けるテストケースを特定することを考える。 For example, the test case affected by the change of the program “createMember” is specified from the test case for the program “calculateDiscount” shown in FIG. 11 and the test case for the program “sendMail” shown in FIG. Think.
番号が10であるテストケースのパス条件には「Sym_member.rank」が有り、また「Sym_member.rank=0」と番号が10であるテストケースのパス条件との論理積の解が存在し、且つ出力項目が空ではない。よって、番号が10であるテストケースは、影響を受けるテストケースであると判定される。
The path condition of the test case with the
番号が11であるテストケースのパス条件には「Sym_member.rank」が無いので、番号が11であるテストケースは、影響を受けるテストケースではないと判定される。
Since there is no “Sym_member.rank” in the path condition of the test case with the
番号が12であるテストケースのパス条件には「Sym_member.rank」が有り、また「Sym_member.rank=0」と番号が12であるテストケースのパス条件との論理積の解が存在し、且つ出力項目が空ではない。よって、番号が12であるテストケースは、影響を受けるテストケースであると判定される。
The path condition of the test case with the
番号が20であるテストケースのパス条件には「Sym_member.rank」が有るが、「Sym_member.rank=0」と番号が20であるテストケースのパス条件との論理積の解が存在しない。よって、番号が20であるテストケースは、影響を受けるテストケースではないと判定される。
There is “Sym_member.rank” in the path condition of the test case whose number is 20, but there is no logical product solution between “Sym_member.rank = 0” and the path condition of the test case whose number is 20. Therefore, it is determined that the test case having the
番号が21であるテストケースのパス条件には「Sym_member.rank」が無いので、番号が21であるテストケースは、影響を受けるテストケースではないと判定される。
Since there is no “Sym_member.rank” in the pass condition of the test case with the
番号が22であるテストケースのパス条件には「Sym_member.rank」が有り、また「Sym_member.rank=0」と番号が22であるテストケースのパス条件との論理積の解が存在するが、出力項目が空である。よって、番号が22であるテストケースは、影響を受けるテストケースではないと判定される。
The path condition of the test case with the
すると、最終的には、図29に示すようなデータが影響テストケース格納部114に格納される。本実施の形態で示した例の場合には、影響を受けるテストケースは2つである。
Then, finally, data as shown in FIG. 29 is stored in the influence test
以上のように、本実施の形態においては、出力項目の値域の変化を抽出しているので、他のプログラムのテストケースのうち、変更の影響が及ぶテストケースを特定できるようになる。これにより、再度テストを実行すべきテストケースを少なくすることができるので、プログラム変更時における工数を削減できるようになる。 As described above, in the present embodiment, since the change in the value range of the output item is extracted, it is possible to specify the test case affected by the change among the test cases of other programs. As a result, it is possible to reduce the number of test cases to be re-executed, thereby reducing the number of man-hours when changing the program.
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
Although one embodiment of the present invention has been described above, the present invention is not limited to this. For example, the functional block configuration of the
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。 Further, the configuration of each table described above is an example, and the configuration as described above is not necessarily required. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.
なお、上で述べた情報処理装置1は、コンピュータ装置であって、図30に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
The
以上述べた本発明の実施の形態をまとめると、以下のようになる。 The embodiment of the present invention described above is summarized as follows.
本実施の形態に係るテストデータ抽出方法は、(A)第1のプログラム及び第2のプログラムの各々について、シンボリック実行を行い、プログラム内のパスを特定するための条件であるパス条件及びシンボリック実行によって出力される項目の値域を含むテストデータを生成し、(B)変更後の第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、(C)変更前の第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、(D)第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、第2のプログラムについてのテストデータに含まれるパス条件と値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する処理を含む。 In the test data extraction method according to the present embodiment, (A) symbolic execution is performed for each of the first program and the second program, and path conditions and symbolic execution are conditions for specifying a path in the program. (B) Perform symbolic execution on the first program after change, specify the range of items output by the symbolic execution, and (C) before change A first value range that is an item value range that is output by symbolic execution of the first program and a second value range that is an item value range that is output by symbolic execution of the changed first program. Use to calculate the formula that represents the part where the range has changed, and (D) is included in the test data for the second program There is a solution in the logical product of the first condition that the pass condition includes an item whose range has changed and the path condition included in the test data for the second program and the expression that represents the part in which the range has changed. Including a process for determining whether the second condition is satisfied.
プログラム内には複数のパスが存在する場合があり、変更の影響が全てのパスのテストデータに及ぶとは限らない。そこで、上で述べたようにすれば、プログラムのテストデータのうち、他のプログラムに施した変更に影響を受けるテストデータを特定できるようになる。これにより、再度テストを実行すべきテストデータを少なくすることができるので、プログラム変更時における工数を削減できるようになる。 There may be a plurality of paths in the program, and the effect of the change does not necessarily affect the test data of all paths. Therefore, as described above, it becomes possible to specify test data affected by changes made to other programs among the test data of the program. As a result, it is possible to reduce the number of test data to be tested again, thereby reducing the man-hour when changing the program.
また、上で述べた判定する処理において、(d1)第2のプログラムについてのテストデータにおける、シンボリック実行によって出力される項目が、空ではないという第3の条件がさらに満たされるか判定してもよい。そもそも出力される項目が無ければ、出力される項目の値を利用する処理等が無いので、再度のテストを実行しなくてもよい。 Further, in the determination processing described above, (d1) Even if it is determined whether the third condition that the item output by symbolic execution in the test data for the second program is not empty is further satisfied. Good. If there is no item to be output in the first place, there is no processing using the value of the item to be output, so it is not necessary to execute the test again.
また、上で述べた値域が変化した部分を表す式を計算する処理において、(c1)第1の値域と第2の値域の否定との論理積と、第1の値域の否定と第2の値域との論理積との論理和を計算してもよい。このようにすれば、変更前のみに存在する値域及び変更後のみに存在する値域を表す式を計算できるようになる。 Further, in the processing for calculating the expression representing the portion in which the range is changed as described above, (c1) logical product of the first range and the negation of the second range, the negation of the first range and the second range A logical sum with a logical product with a range may be calculated. In this way, it is possible to calculate an expression representing a range that exists only before the change and a range that exists only after the change.
また、シンボリック実行によって出力される項目の値域は、シンボリック実行において当該項目について得られる1又は複数の値域の和集合であってもよい。このようにすれば、出力される項目の値域を適切に特定できるようになる。 Further, the value range of an item output by symbolic execution may be a union of one or a plurality of value ranges obtained for the item in symbolic execution. In this way, the range of items to be output can be appropriately specified.
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。 A program for causing a computer to perform the processing according to the above method can be created. The program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. It is stored in a storage device. The intermediate processing result is temporarily stored in a storage device such as a main memory.
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)
第1のプログラム及び第2のプログラムの各々について、シンボリック実行を行い、プログラム内のパスを特定するための条件であるパス条件及び前記シンボリック実行によって出力される項目の値域を含むテストデータを生成し、
変更後の前記第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する
処理をコンピュータに実行させるためのテストデータ抽出プログラム。
(Appendix 1)
For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. ,
Perform symbolic execution on the first program after the change, identify the range of items output by the symbolic execution,
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. Using the range of, calculate the formula that represents the part where the range has changed,
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A test data extraction program for causing a computer to execute a process of determining whether a second condition that a solution exists in a logical product with an expression that represents a part obtained is satisfied.
(付記2)
前記判定する処理が、
前記第2のプログラムについてのテストデータにおける、前記シンボリック実行によって出力される項目が、空ではないという第3の条件がさらに満たされるか判定する
処理を含む付記1記載のテストデータ抽出プログラム。
(Appendix 2)
The process of determining
The test data extraction program according to
(付記3)
前記値域が変化した部分を表す式を計算する処理が、
前記第1の値域と前記第2の値域の否定との論理積と、前記第1の値域の否定と前記第2の値域との論理積との論理和を計算する処理
を含む付記1又は2記載のテストデータ抽出プログラム。
(Appendix 3)
A process of calculating an expression representing a portion where the range has changed,
(1) or (2) including a process of calculating a logical sum of a logical product of the negative of the first range and the negative of the second range and a logical product of the negative of the first range and the second range The test data extraction program described.
(付記4)
前記シンボリック実行によって出力される項目の値域は、前記シンボリック実行において当該項目について得られる1又は複数の値域の和集合である
ことを特徴とする付記1乃至3のいずれか1つ記載のテストデータ抽出プログラム。
(Appendix 4)
The test data extraction according to any one of
(付記5)
第1のプログラム及び第2のプログラムの各々について、シンボリック実行を行い、プログラム内のパスを特定するための条件であるパス条件及び前記シンボリック実行によって出力される項目の値域を含むテストデータを生成し、
変更後の前記第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する
処理をコンピュータが実行するテストデータ抽出方法。
(Appendix 5)
For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. ,
Perform symbolic execution on the first program after the change, identify the range of items output by the symbolic execution,
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. Using the range of, calculate the formula that represents the part where the range has changed,
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A test data extraction method in which a computer executes a process of determining whether or not a second condition that a solution exists in the logical product with an expression representing a selected part is satisfied.
(付記6)
第1のプログラム及び第2のプログラムの各々について、シンボリック実行を行い、プログラム内のパスを特定するための条件であるパス条件及び前記シンボリック実行によって出力される項目の値域を含むテストデータを生成すると共に、変更後の前記第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定するシンボリック実行部と、
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算する計算部と、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する判定部と、
を有するテストデータ抽出装置。
(Appendix 6)
For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. A symbolic execution unit that performs symbolic execution on the first program after the change and specifies a range of items output by the symbolic execution;
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. A calculation unit that calculates an expression representing a portion where the range has changed using the range of
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A determination unit that determines whether a second condition that a solution exists in a logical product with an expression that represents
A test data extraction device.
1 情報処理装置 101 プログラム格納部
102 変更後プログラム格納部 103 シンボリック実行部
104 入力項目格納部 105 採番テーブル格納部
106 メンバテーブル格納部 107 テストケース格納部
108 値域特定部 109 演算データ格納部
110 値域データ格納部 111 差分演算部
112 差分データ格納部 113 影響テストケース特定部
114 影響テストケース格納部
DESCRIPTION OF
Claims (6)
変更後の前記第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する
処理をコンピュータに実行させるためのテストデータ抽出プログラム。 For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. ,
Perform symbolic execution on the first program after the change, identify the range of items output by the symbolic execution,
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. Using the range of, calculate the formula that represents the part where the range has changed,
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A test data extraction program for causing a computer to execute a process of determining whether a second condition that a solution exists in a logical product with an expression that represents a part obtained is satisfied.
前記第2のプログラムについてのテストデータにおける、前記シンボリック実行によって出力される項目が、空ではないという第3の条件がさらに満たされるか判定する
処理を含む請求項1記載のテストデータ抽出プログラム。 The process of determining
The test data extraction program according to claim 1, further comprising: determining whether or not a third condition that the item output by the symbolic execution in the test data for the second program is not empty is further satisfied.
前記第1の値域と前記第2の値域の否定との論理積と、前記第1の値域の否定と前記第2の値域との論理積との論理和を計算する処理
を含む請求項1又は2記載のテストデータ抽出プログラム。 A process of calculating an expression representing a portion where the range has changed,
The process of calculating the logical sum of the logical product of the negation of the first range and the second range and the logical product of the negation of the first range and the second range. 2. The test data extraction program according to 2.
ことを特徴とする請求項1乃至3のいずれか1つ記載のテストデータ抽出プログラム。 4. The test data according to claim 1, wherein the value range of the item output by the symbolic execution is a union of one or a plurality of value ranges obtained for the item in the symbolic execution. 5. Extraction program.
変更後の前記第1のプログラムについてシンボリック実行を行い、当該シンボリック実行によって出力される項目の値域を特定し、
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算し、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する
処理をコンピュータが実行するテストデータ抽出方法。 For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. ,
Perform symbolic execution on the first program after the change, identify the range of items output by the symbolic execution,
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. Using the range of, calculate the formula that represents the part where the range has changed,
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A test data extraction method in which a computer executes a process of determining whether or not a second condition that a solution exists in the logical product with an expression representing a selected part is satisfied.
変更前の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第1の値域と、変更後の前記第1のプログラムについてのシンボリック実行により出力される項目の値域である第2の値域とを用いて、値域が変化した部分を表す式を計算する計算部と、
前記第2のプログラムについてのテストデータに含まれるパス条件が、値域が変化した項目を含むという第1の条件、及び、前記第2のプログラムについてのテストデータに含まれるパス条件と前記値域が変化した部分を表す式との論理積に解が存在するという第2の条件が満たされるか判定する判定部と、
を有するテストデータ抽出装置。 For each of the first program and the second program, symbolic execution is performed, and test data including a path condition that is a condition for specifying a path in the program and a range of items output by the symbolic execution is generated. A symbolic execution unit that performs symbolic execution on the first program after the change and specifies a range of items output by the symbolic execution;
A first value range that is an item value range that is output by symbolic execution for the first program before the change, and a second value range that is an item value range that is output by symbolic execution for the first program after the change. A calculation unit that calculates an expression representing a portion where the range has changed using the range of
The first condition that the path condition included in the test data for the second program includes an item whose range has changed, and the path condition and the range included in the test data for the second program have changed. A determination unit that determines whether a second condition that a solution exists in a logical product with an expression that represents
A test data extraction device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013230612A JP6135466B2 (en) | 2013-11-06 | 2013-11-06 | Test case extraction program, method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013230612A JP6135466B2 (en) | 2013-11-06 | 2013-11-06 | Test case extraction program, method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015090616A JP2015090616A (en) | 2015-05-11 |
| JP6135466B2 true JP6135466B2 (en) | 2017-05-31 |
Family
ID=53194101
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013230612A Expired - Fee Related JP6135466B2 (en) | 2013-11-06 | 2013-11-06 | Test case extraction program, method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6135466B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017199517A1 (en) * | 2016-05-19 | 2017-11-23 | 株式会社Nttドコモ | Test selection device |
| WO2018150507A1 (en) | 2017-02-16 | 2018-08-23 | 三菱電機株式会社 | Test case selection device and test case selection program |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5825163B2 (en) * | 2012-03-19 | 2015-12-02 | 富士通株式会社 | Information processing apparatus, information processing method, and information processing program |
| JPWO2013161195A1 (en) * | 2012-04-26 | 2015-12-21 | 日本電気株式会社 | Program unit test support device |
-
2013
- 2013-11-06 JP JP2013230612A patent/JP6135466B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015090616A (en) | 2015-05-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110580189A (en) | method and device for generating front-end page, computer equipment and storage medium | |
| CN101751333A (en) | Method, computer program and computer system for assisting in analyzing program | |
| CN103034583A (en) | Method and system for processing automatic test scrip of software | |
| US11500953B2 (en) | Indexing native application data | |
| CN108170602B (en) | A test case generation method, device, terminal and computer readable medium | |
| JP2014153908A (en) | Test data generation program, method and device | |
| US20180316587A1 (en) | Automated analysis and recommendations for highly performant single page web applications | |
| JP6230725B2 (en) | Causal relationship analysis apparatus and causal relationship analysis method | |
| CN113672504A (en) | A kind of intelligent equipment testing method, device, equipment and storage medium | |
| US20180329873A1 (en) | Automated data extraction system based on historical or related data | |
| WO2025194931A1 (en) | Data processing method and apparatus, device, and storage medium | |
| JP6135466B2 (en) | Test case extraction program, method and apparatus | |
| CN117150010B (en) | Document classification method, device, electronic equipment and storage medium | |
| JP5505227B2 (en) | Repetitive symbolic execution method, program, and apparatus | |
| JP2011191985A (en) | Symbolic execution support program, method and device | |
| JPWO2016147219A1 (en) | Text visualization system, text visualization method, and program | |
| CN113221035A (en) | Method, apparatus, device, medium, and program product for determining an abnormal web page | |
| CN112364185A (en) | Method and device for determining characteristics of multimedia resource, electronic equipment and storage medium | |
| JP6142724B2 (en) | Test data generation program, method and apparatus | |
| JPWO2012035754A1 (en) | Data integration processing apparatus, system, method and program | |
| US10891412B1 (en) | Offline analysis of hierarchical electronic design automation derived data | |
| US9268560B2 (en) | Displaying dependent files for computer code in a tabbed-application user interface | |
| CN113495841A (en) | Compatibility detection method, device, equipment, storage medium and program product | |
| JP2018028776A (en) | Software asset management device, software asset management method, and software asset management program | |
| CN113553251A (en) | Mock testing method applied to software testing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170314 |
|
| 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: 20170328 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170410 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6135466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |