Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5384587B2 - Test item generation apparatus, method and program for combination of abnormal scenarios - Google Patents
[go: Go Back, main page]

JP5384587B2 - Test item generation apparatus, method and program for combination of abnormal scenarios - Google Patents

Test item generation apparatus, method and program for combination of abnormal scenarios Download PDF

Info

Publication number
JP5384587B2
JP5384587B2 JP2011195929A JP2011195929A JP5384587B2 JP 5384587 B2 JP5384587 B2 JP 5384587B2 JP 2011195929 A JP2011195929 A JP 2011195929A JP 2011195929 A JP2011195929 A JP 2011195929A JP 5384587 B2 JP5384587 B2 JP 5384587B2
Authority
JP
Japan
Prior art keywords
path
test
loop
edge
test path
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
Application number
JP2011195929A
Other languages
Japanese (ja)
Other versions
JP2013058073A (en
Inventor
治門 丹野
暁晶 張
隆 星野
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011195929A priority Critical patent/JP5384587B2/en
Publication of JP2013058073A publication Critical patent/JP2013058073A/en
Application granted granted Critical
Publication of JP5384587B2 publication Critical patent/JP5384587B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、異常系シナリオの組合せのテスト項目生成装置及び方法及びプログラムに係り、特に、ユースケース記述に基づいて異常系シナリオの組み合わせのテストを行うためのテスト項目を抽出するためのシ異常系シナリオの組合せのテスト項目生成装置及び方法及びプログラムに関する。   The present invention relates to a test item generation apparatus, method, and program for a combination of abnormal scenarios, and more particularly to a test abnormality system for extracting test items for testing a combination of abnormal scenarios based on a use case description. The present invention relates to a test item generation apparatus, method, and program for combination of scenarios.

従来のユースケース記述に基づいてシナリオテスト用のテスト項目を抽出する方法として、UMLのアクティビティ図(ユースケース記述と同じフロー構造)を入力として、ループを0回、1回通るような経路の順列を生成する方法がある(例えば、非特許文献1参照)。   As a method for extracting test items for scenario tests based on conventional use case descriptions, UML activity diagrams (the same flow structure as use case descriptions) are used as input, and the permutation of routes that pass once through the loop There is a method of generating (see, for example, Non-Patent Document 1).

また、画面遷移図(ユースケース記述と同じフロー構造)の各エッジを少なくとも1回は必ず通るテスト経路(テスト項目)を抽出することが可能な技術がある(例えば、特許文献1参照)。   In addition, there is a technique capable of extracting a test path (test item) that always passes through each edge of a screen transition diagram (the same flow structure as the use case description) at least once (see, for example, Patent Document 1).

特開平9−223040号公報JP-A-9-223040

張暁晶、星野隆. "設計モデルを用いたテスト項目抽出とテストデータ生成手法", 電子情報通信学会技術研究報告. KBSE, 知能ソフトウェア工学, Technical report of IEICE. KBSE 109(41) pp. 37-42, 20090514.Akira Zhang, Takashi Hoshino. “Test Item Extraction and Test Data Generation Method Using Design Model”, IEICE Technical Report. KBSE, Intelligent Software Engineering, Technical report of IEICE. KBSE 109 (41) pp. 37-42 , 20090514.

上記従来の非特許文献1の技術は、ユースケース記述からループ経路を0回、1回通るような経路の順列を網羅的に抽出し、そこから複数種類の異常系シナリオの全組合せのテスト経路を選ぶというような方法も考えられる。しかしながら、異常系シナリオの数が増えると順列の数が増えすぎて現実的なメモリ量では計算できなくなる。例えば、異常系シナリオが10個の場合、順列の数で抽出されるテスト経路は9,864,101本にもなる。   The conventional Non-Patent Document 1 technique comprehensively extracts permutations of routes that pass through the loop route 0 times and 1 time from the use case description, and from there, test routes for all combinations of multiple types of abnormal scenarios It is also possible to select a method. However, if the number of abnormal scenarios increases, the number of permutations increases too much, and calculation with a realistic memory amount becomes impossible. For example, if there are 10 abnormal scenarios, there are 9,864,101 test paths extracted by the number of permutations.

また、特許文献1の技術で抽出したテスト項目(テスト経路)は、全組合せを網羅していない。当該技術の改良を行い、ユースケース記述から特定の異常系シナリオをユースケース記述から除き、残りの異常系シナリオを抽出するなどの方法も考えられるが、具体性はなく、どのようなユースケース記述に対応できるわけでもない。   Further, the test items (test paths) extracted by the technique of Patent Document 1 do not cover all combinations. There may be a method of improving the technology and removing a specific abnormal scenario from the use case description and extracting the remaining abnormal scenarios from the use case description. It is not necessarily compatible with.

本発明は、上記の点に鑑みなされたもので、複数種類の異常系シナリオの実行順序に依存しない組合せにより発生するエラーを検出するための最小限のテスト経路を現実的なメモリ量で得ることが可能な異常系シナリオの組合せのテスト項目生成装置及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and obtains a minimum test path for detecting an error caused by a combination that does not depend on the execution order of a plurality of types of abnormal scenarios with a realistic amount of memory. An object of the present invention is to provide a test item generation apparatus, method, and program for a combination of abnormal scenarios that can be used.

上記の課題を解決するため、本発明(請求項1)は、ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいて、異常系のシナリオの組み合わせのテスト項目を抽出する異常系シナリオの組合せのテスト項目抽出装置であって、
入力された設計モデルから、ユースケース記述を取得する設計モデル入力手段と、
前記ユースケース記述からループ経路を含まない全てのテスト経路(以下、「ループ無し経路」と記す)を抽出し、テスト経路集合に加えるループ無しテスト経路抽出手段と、
前記ユースケース記述からループ経路を含むテスト経路(以下「ループ有り経路」と記す)を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完手段と、
前記新規追加分テスト経路集合から前記ユースケース記述の基本フローである正常系シナリオを除外した集合を前記テスト経路集合に加え、該テスト経路集合を実行経路記憶手段に格納するフィルタリング手段と、
を有する実行経路抽出手段と、
前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成手段と、を有する。
In order to solve the above problems, the present invention (Claim 1) provides an abnormal scenario for extracting test items of a combination of abnormal scenarios based on a use case description indicating a flow of interaction between a user and a system. A test item extraction device of a combination of
A design model input means for obtaining a use case description from the input design model;
Extracting all test paths that do not include loop paths from the use case description (hereinafter referred to as “loop without loops”), and adding the test path extraction means without loops to the test path set;
A test path including a loop path (hereinafter referred to as “path with loop”) is extracted from the use case description, and a new test path is generated by connecting the path without loop and the path with loop of the test path set. , A test path complementing means with a loop to be added to the newly added test path set,
Filtering means for adding a set excluding a normal scenario that is a basic flow of the use case description from the newly added test path set to the test path set, and storing the test path set in an execution path storage unit;
Execution path extraction means having
Test item generation means for reading the test path from the execution path storage means and generating test items for the test path.

また、本発明(請求項2)は、前記ループ有りテスト経路補完手段に、
前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加える手段と、
前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成する処理を、該ループ経路エッジキューが空になるまで繰り返す手段と、を含む。
Further, the present invention (Claim 2) provides the test path complementing means with a loop,
Means for adding, to the loop path edge queue, an edge that does not exist in the loop-less path among edges corresponding to the arrow portion of the use case description;
Means for taking out the leading edge X of the loop path edge queue and connecting the edge X to the loopless test path to generate the new test path until the loop path edge queue becomes empty; ,including.

また、本発明(請求項3)は、前記ループ有りテスト経路補完手段において、
前記新たなテスト経路を生成する処理として、
前記ユースケース記述のテスト経路から、あるエッジEが経路中に存在し、該エッジEの終点接続ノードの次展開エッジ群にループ経路エッジが含まれるテスト経路を抽出し、前半テスト経路集合とし、
前記ユースケース記述からループ経路エッジを始点としたテスト経路を抽出し、後半テスト経路集合とし、
前記前半テスト経路集合のうち、終了エッジに最も近いループ経路エッジから終了エッジまでの部分経路を前半経路とし、前記後半テスト経路集合中の各後半テスト経路とつなぐ手段を含む。
Further, the present invention (Claim 3) is the test path complementing means with loop,
As a process for generating the new test path,
A test path in which a certain edge E exists in the path from the test path described in the use case description and a loop path edge is included in the next development edge group of the end point connection node of the edge E is extracted as a first-half test path set;
A test path starting from the loop path edge is extracted from the use case description as a second half test path set,
The first half test path set includes means for connecting a partial path from the loop path edge closest to the end edge to the end edge as the first half path and connecting to each second half test path in the second half test path set.

本発明によれば、ユースケース記述からループ経路を含まない全テスト経路及びループ経路を抽出し、ループ経路を含まないテスト経路に対し、ループ経路をつないでいくことにより新たなテスト経路を抽出することで、複数種類の異常系シナリオの実行順序に依存した組合せにより発生するエラーを検出するための最小限のテスト経路(テスト項目)を網羅的に得ることができる。   According to the present invention, all test paths and loop paths that do not include loop paths are extracted from the use case description, and new test paths are extracted by connecting loop paths to test paths that do not include loop paths. Thus, it is possible to comprehensively obtain a minimum test path (test item) for detecting an error generated by a combination depending on the execution order of a plurality of types of abnormal scenarios.

また、ユースケース記述のループ無し経路に、ループ経路n種類をそれぞれつなぐパターン、つながないパターンの組合せの個数分、新たなテスト経路を作成することで、ループを含まないテスト経路1つに対し、2のn乗通りの新しいテスト経路を生成できる。典型的なユースケース記述では、異常系シナリオは10個程度含まれる。従来技術で抽出した全順列の数と較べて、全組合せでテスト経路(テスト項目)を抽出すると、約10,000分の1というメモリ使用量で済む。   In addition, by creating new test paths for the number of combinations of patterns that connect n types of loop paths and combinations of patterns that are not connected to the path without loop in the use case description, one test path that does not include loops is created. It is possible to generate 2 n new test paths. In a typical use case description, about 10 abnormal scenarios are included. Compared with the number of all permutations extracted by the prior art, if the test paths (test items) are extracted in all combinations, the memory usage is about 1 / 10,000.

本発明の一実施の形態におけるシナリオテストのテスト項目生成装置の構成図である。It is a block diagram of the test item generation apparatus of the scenario test in one embodiment of this invention. 本発明の一実施の形態における実行経路抽出部の構成図である。It is a block diagram of the execution path | route extraction part in one embodiment of this invention. 本発明の一実施の形態における概要動作のフローチャートである。It is a flowchart of the outline | summary operation | movement in one embodiment of this invention. 本発明の一実施の形態におけるステップ130の詳細フローチャートである。It is a detailed flowchart of step 130 in one embodiment of the present invention. 本発明の一実施の形態における入力(ユースケース記述)のデータ構造の例である。It is an example of the data structure of the input (use case description) in one embodiment of this invention. 本発明の一実施の形態におけるユースケース記述のイメージである。It is an image of the use case description in one embodiment of this invention. 本発明の一実施の形態におけるステップ230の詳細フローチャートである。It is a detailed flowchart of step 230 in one embodiment of the present invention. 本発明の一実施の形態におけるステップ320の詳細フローチャートである。It is a detailed flowchart of step 320 in one embodiment of the present invention. 本発明の一実施の形態における出力(テスト経路集合)のデータ構造の例である。It is an example of the data structure of the output (test path | route set) in one embodiment of this invention. 本発明の一実施の形態におけるステップ440の詳細フローチャートである。It is a detailed flowchart of step 440 in one embodiment of this invention. 本発明の一実施の形態におけるステップ330の詳細フローチャートである。It is a detailed flowchart of step 330 in one embodiment of this invention. 本発明の一実施の形態におけるステップ660の詳細フローチャートである。It is a detailed flowchart of step 660 in one embodiment of this invention. 本発明の一実施の形態におけるユースケース記述から異常系テスト経路を抽出する例である。It is an example which extracts an abnormal test path | route from the use case description in one embodiment of this invention. 本発明の一実施の形態におけるループ有りテスト経路を補完する例である。It is an example which complements the test path with a loop in one embodiment of the present invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

まず、最初に本明細書中で使用する用語について説明する。   First, terms used in this specification will be described first.

・シナリオテスト:要求定義に基づき、ユーザが行う業務を想定してシナリオを作成して、システムが想定シナリオ通りに振舞うかを確認するテスト。   ・ Scenario test: A test that confirms whether the system behaves according to the assumed scenario by creating a scenario based on the requirements defined by the user.

・テスト項目:シナリオテストにおけるテスト項目は、テストシナリオと確認観点を含む。「テストシナリオ」は、画面と操作で構成されたシーケンスであり、「確認観点」は画面遷移の正しさ、画面表示内容の正しさ、データベース破壊の有無、等がある。   Test items: Test items in the scenario test include a test scenario and a confirmation viewpoint. “Test scenario” is a sequence composed of screens and operations, and “confirmation viewpoint” includes correctness of screen transitions, correctness of screen display contents, presence / absence of database destruction, and the like.

・画面遷移図:設計ドキュメントの一種である。特定の機能内における各画面間の遷移を示す。   Screen transition diagram: A type of design document. Shows transitions between screens within a specific function.

・ユースケース記述:設計ドキュメントの一種である。要求を明確化するための記法でもある。ユーザとシステム間のインタラクションの流れを示す。流れは、「基本フロー」に沿って進むが、「代替フロー」、「例外フロー」に分岐することもある。   Use case description: A type of design document. It is also a notation to clarify requirements. The flow of interaction between the user and the system is shown. The flow proceeds along the “basic flow”, but may branch into an “alternate flow” and an “exception flow”.

・正常系シナリオ:ユースケース記述における基本フローを指す。1つ以上のエッジから構成される。   ・ Normal scenario: Refers to the basic flow in use case description. Consists of one or more edges.

・異常系シナリオ:ユースケース記述における代替フロー、例外フローの総称であり、1つ以上のエッジから構成され、正常系シナリオから分岐して正常系シナリオに戻る。   ・ Abnormal scenario: A generic term for alternative flows and exception flows in use case descriptions. It consists of one or more edges, branches from the normal scenario, and returns to the normal scenario.

・複数種類の異常系のシナリオの実行順序に依存せず組合せに依存して発生するエラー:異常系シナリオを通るたびに、特定の変数へ値を追記し、その追記の結果、システムが想定と違う動作を行うエラーである。例えば、ログイン失敗回数を誤って複数の異常系シナリオでインクリメントした結果、想定より少ない回数のログイン失敗でログイン禁止になるようなエラーを指す。   -Errors that occur depending on the combination without depending on the execution order of multiple types of abnormal scenarios: Each time an abnormal scenario is passed, a value is added to a specific variable, and as a result of the addition, the system assumes It is an error that performs a different action. For example, it indicates an error in which login is prohibited when the number of login failures is smaller than expected as a result of erroneously incrementing the number of login failures in a plurality of abnormal scenarios.

・ループ経路:1つ以上のエッジから構成される。以下の2つの場合がある。   Loop path: Consists of one or more edges. There are two cases:

1)2つ以上のエッジE0, E1,…,En
(ただし、E0≠Ei(i=1,…,n)で構成され、Enの次のエッジのいずれかにE0が含まれる部分経路;
2)1つのエッジE0から構成され、E0の次のエッジにE0が含まれる部分経路;
・エッジ:ユースケース記述の矢印部分。両側(始点と終点)にノードが接続されている(但し、開始エッジのみ、始点にノードが接続されていない)。
1) Two or more edges E0, E1, ..., En
(Provided that E0 ≠ Ei (i = 1,..., N), and a partial path in which E0 is included in any of the next edges of En;
2) a partial path composed of one edge E0 and including E0 at the next edge of E0;
Edge: Arrow part of use case description. Nodes are connected to both sides (start point and end point) (however, only the start edge, no node is connected to the start point).

・ノード:ユースケース記述内の節部分。エッジ(始点との接続)群を保持している。   Node: A section in a use case description. Holds the edge (connection to the start point) group.

・開始エッジ:ユースケース記述に1つ存在し、経路の開始を表すエッジ。   Start edge: An edge that exists in the use case description and represents the start of a route.

・終了エッジ:ユースケース記述に1つ以上存在し、経路の終了を表すエッジ。   End edge: One or more edges in the use case description that represent the end of the route.

・エッジ用スタック:ユースケース記述内で辿ったエッジを順番通りに保存するためのスタック。   Edge stack: A stack for storing the edges traced in the use case description in order.

・次展開エッジ群:次に辿るエッジ(自ノードと始点で接続しているエッジ)の候補群。   Next development edge group: A candidate group of edges to be traced next (edges connected to the own node at the start point).

・次展開エッジ群用スタック:これまで辿った経路中で、まだ辿っていない次展開エッジ群を保存しておくスタックである。   Stack for next expanded edge group: A stack for storing the next expanded edge group that has not been traced in the path traced so far.

・前エッジ群:自ノードと終点で接続しているエッジ群。   Front edge group: An edge group connected to its own node at its end point.

・現在次展開エッジ群:次展開エッジ群用スタックの最上位のもの。   Current next developed edge group: the top of the next developed edge group stack.

・現在ループ経路:これまでの経路(エッジ用スタックに積まれているエッジ)において、スタック最上位のエッジから最上位に最も近い現在エッジまでの経路である。   Current loop route: This is a route from the top edge of the stack to the current edge closest to the top of the previous routes (edges stacked on the edge stack).

・ループ出現回数:ループが経路中に何回出現したかの回数。   Loop appearance count: The number of times the loop has appeared in the route.

図1は、本発明の一実施の形態におけるシナリオテストのテスト項目生成装置の構成を示す。   FIG. 1 shows a configuration of a test item generating apparatus for scenario tests in an embodiment of the present invention.

同図に示すテスト項目生成装置10は、設計情報読込部1、設計モデル分析部2、実行経路抽出部3、実行経路記憶部5、テスト項目生成部6から構成され、ユーザ端末20に接続されている。   A test item generation apparatus 10 shown in FIG. 1 includes a design information reading unit 1, a design model analysis unit 2, an execution path extraction unit 3, an execution path storage unit 5, and a test item generation unit 6, and is connected to a user terminal 20. ing.

設計情報読込部1は、ユーザ端末20から入力された設計モデル(XMIファイル)を読み込み設計モデル分析部2に渡す。   The design information reading unit 1 reads the design model (XMI file) input from the user terminal 20 and passes it to the design model analysis unit 2.

設計モデル分析部2は、入力された設計モデルからユースケース記述(UML Activity)画面遷移図を抽出し設計モデル(XML形式)を生成し、実行経路抽出部3に渡す。   The design model analysis unit 2 extracts a use case description (UML Activity) screen transition diagram from the input design model, generates a design model (XML format), and passes it to the execution path extraction unit 3.

実行経路抽出部3は、設計モデルのユースケース記述(UML Activity)からテスト経路集合を生成し、その中から異常系テスト経路集合を抽出して実行経路記憶部5に格納する。   The execution path extraction unit 3 generates a test path set from the use case description (UML Activity) of the design model, extracts an abnormal test path set from the test path set, and stores it in the execution path storage unit 5.

実行経路抽出部3は、図2に示すように、設計モデル入力部31、ループ無し経路抽出部32、ループ有りテスト経路補完部33、フィルタリング部34から構成される。   As illustrated in FIG. 2, the execution path extraction unit 3 includes a design model input unit 31, a loopless path extraction unit 32, a looped test path complementation unit 33, and a filtering unit 34.

実行経路記憶部5は、実行経路抽出部3で抽出されたテスト経路を格納する。   The execution path storage unit 5 stores the test path extracted by the execution path extraction unit 3.

テスト項目生成部6は、実行経路記憶部5から実行経路を取得してテスト項目表(Excel形式)を生成してユーザ端末20に出力する。   The test item generation unit 6 acquires an execution path from the execution path storage unit 5, generates a test item table (Excel format), and outputs it to the user terminal 20.

図3は、本発明の一実施の形態における概要動作のフローチャートである。   FIG. 3 is a flowchart of an outline operation in one embodiment of the present invention.

ステップ110) 設計情報読込部1は、ユーザ端末20から設計ドキュメント群を読み込む。   Step 110) The design information reading unit 1 reads a design document group from the user terminal 20.

ステップ120) 設計モデル分析部2は、読み込んだ設計ドキュメント群から設計モデル(XML形式)を生成する。ここで、設計モデル(XML形式)を生成する手法として、「XStream http://xstream.codehaus.org/tutorial.html」を用いるものとする。生成された設計モデルを実行経路抽出部3に出力する。   Step 120) The design model analysis unit 2 generates a design model (XML format) from the read design document group. Here, “XStream http://xstream.codehaus.org/tutorial.html” is used as a method for generating a design model (XML format). The generated design model is output to the execution path extraction unit 3.

ステップ130) 実行経路抽出部3は、テスト項目を抽出し、実行経路記憶部5に格納する。詳細な処理については図4で詳述する。   Step 130) The execution path extraction unit 3 extracts test items and stores them in the execution path storage unit 5. Detailed processing will be described in detail with reference to FIG.

ステップ140) テスト項目生成部6は、実行経路記憶部5から実行経路を読み込んで、テスト項目表を生成してユーザ端末20に出力する。   Step 140) The test item generation unit 6 reads the execution path from the execution path storage unit 5, generates a test item table, and outputs it to the user terminal 20.

次に、上記の実行経路抽出部3のステップ130の処理について詳述する。   Next, the processing in step 130 of the execution path extraction unit 3 will be described in detail.

図4は、本発明の一実施の形態におけるステップ130の詳細フローチャートである。   FIG. 4 is a detailed flowchart of step 130 in one embodiment of the present invention.

ステップ210) 実行経路抽出部3の設計モデル入力部31は、設計モデル分析部2で生成された設計モデル(XMLファイル)を読み込み、当該設計モデル内のユースケース記述を抽出し、ユースケース記述リストを生成し、メモリ(図示せず)に格納する。図5に示すように、ユースケース記述には、ノードID、ノード内テキスト、前エッジ群、次展開エッジ群、エッジID、始点接続ノードID、終点接続ノードID、遷移条件、種類が含まれている。図5のユースケース記述の構造イメージを図6に示す。   Step 210) The design model input unit 31 of the execution path extraction unit 3 reads the design model (XML file) generated by the design model analysis unit 2, extracts use case descriptions in the design model, and uses case description list Is generated and stored in a memory (not shown). As shown in FIG. 5, the use case description includes a node ID, intra-node text, previous edge group, next expanded edge group, edge ID, start point connection node ID, end point connection node ID, transition condition, and type. Yes. A structural image of the use case description of FIG. 5 is shown in FIG.

ステップ220) 実行経路抽出部3のループ無し経路抽出部32は、ユースケース記述リスト読み込む。   Step 220) The loopless route extraction unit 32 of the execution route extraction unit 3 reads the use case description list.

ステップ230) 実行経路抽出部3のループ無し経路抽出部32、ループ有りテスト経路補完部33は、ユースケース記述リストから異常系テスト経路を抽出する。詳細な処理については図7で詳述する。   Step 230) The loopless path extraction unit 32 and the looped test path complementation unit 33 of the execution path extraction unit 3 extract an abnormal test path from the use case description list. Detailed processing will be described in detail with reference to FIG.

ステップ240) 実行経路抽出部3のフィルタリング部34は、フィルタリングを行い、フィルタリング後のテスト項目の異常系経路をテスト項目としてまとめる処理を全異常系テスト経路に対して行う。   Step 240) The filtering unit 34 of the execution path extracting unit 3 performs filtering, and performs a process for collecting the abnormal system paths of the test items after filtering as test items on all the abnormal test paths.

ステップ250) フィルタリング部34は、テスト項目群を要素としてもつテスト項目表を作成して実行経路記憶部5に格納する。   Step 250) The filtering unit 34 creates a test item table having the test item group as an element and stores it in the execution path storage unit 5.

次に、上記のステップ230の実行経路抽出部3によるユースケース記述リストから異常系テスト経路を抽出する処理について説明する。   Next, processing for extracting an abnormal test path from the use case description list by the execution path extracting unit 3 in step 230 will be described.

図7は、本発明の一実施の形態におけるステップ230の詳細フローチャートである。   FIG. 7 is a detailed flowchart of step 230 in one embodiment of the present invention.

ステップ310) 実行経路抽出部3のループ無し経路抽出部32は、ユースケース記述を読み込む。   Step 310) The loopless route extraction unit 32 of the execution route extraction unit 3 reads the use case description.

ステップ320) ループ無し経路抽出部32は、ユースケース記述からループ無し経路を抽出し、メモリ(図示せず)上のテスト経路集合に加える。詳細な処理は図8で詳述する。当該ステップで得られるループ無し経路は、「ループ経路に含まれない異常系シナリオ」の全ての組合せを網羅するテスト経路の最小セットである。   Step 320) The loopless path extraction unit 32 extracts a loopless path from the use case description and adds it to a test path set on a memory (not shown). Detailed processing will be described in detail with reference to FIG. The loopless path obtained in this step is a minimum set of test paths that cover all combinations of “abnormal system scenarios not included in the loop path”.

ステップ330) ループ有りテスト経路補完部33は、ユースケース記述からループ有りテスト経路を抽出し、メモリ(図示せず)上のテスト経路集合に加える。詳細な処理は図11で詳述する。   Step 330) The test path complementing unit with loop 33 extracts the test path with loop from the use case description and adds it to the test path set on the memory (not shown). Detailed processing will be described in detail with reference to FIG.

ステップ340) フィルタリング部34は、メモリ(図示せず)からテスト経路集合を読み出し、その中から異常系テスト経路(代替フロー・例外フロー)のみを抽出する。   Step 340) The filtering unit 34 reads a test path set from a memory (not shown), and extracts only an abnormal test path (alternate flow / exception flow) from the test path set.

上記のステップ320のループ無し経路を抽出する処理を説明する。   The process of extracting the loop-free route in step 320 will be described.

図8は、本発明の一実施の形態におけるステップ320の詳細フローチャートである。   FIG. 8 is a detailed flowchart of step 320 in one embodiment of the present invention.

ステップ410) ループ無し経路抽出部32は、ユースケース記述から初期次展開エッジ群(初期エッジのみ追加したもの)をメモリ(図示せず)の次展開エッジ群スタックに積む。   Step 410) The loopless path extracting unit 32 loads the initial next expanded edge group (added only the initial edge) from the use case description into the next expanded edge group stack of the memory (not shown).

ステップ415) 次展開エッジ群スタックが空である場合は、処理を終了し、空でない場合は、ステップ416に移行する。   Step 415) If the next developed edge group stack is empty, the process is terminated. If not, the process proceeds to Step 416.

ステップ416) 次展開エッジ群用スタックの最上位にある次展開エッジ群に要素がある場合はステップ420に移行し、ない場合はステップ480に移行する。   Step 416) If there is an element in the next development edge group at the top of the stack for the next development edge group, the process proceeds to step 420. If there is no element, the process proceeds to step 480.

ステップ420) メモリ(図示せず)の次展開エッジ群スタックの最上位にある要素(現在(次展開エッジ群)から1つエッジを得て現在エッジとする。   Step 420) One edge is obtained from the element (current (next development edge group)) at the top of the next development edge group stack of the memory (not shown) and is set as the current edge.

ステップ430) 現在エッジ群から現在エッジ群を取り除く。   Step 430) Remove the current edge group from the current edge group.

ステップ440) 経路(エッジ用スタックに積まれているエッジの列)内のループ出現回数を計算する。詳細については図10で詳述する。   Step 440) Calculate the number of occurrences of the loop in the path (a sequence of edges stacked on the edge stack). Details will be described in detail with reference to FIG.

ステップ445) ステップ440で求められたループ出現回数が0より大きい場合はステップ415に戻り、0以下の場合はステップ450に移行する。   Step 445) If the number of occurrences of the loop obtained in Step 440 is greater than 0, the process returns to Step 415, and if it is 0 or less, the process proceeds to Step 450.

ステップ450) 現在エッジをエッジ用スタックに積む。   Step 450) Stack the current edge onto the edge stack.

ステップ460) 現在のエッジの持つ終点接続ノードIDに基づいて、ユースケース記述からノードを取得し、そのノードのエッジ(始点との接続)群を取得し、その取得したエッジ(始点との接続)群を、次展開エッジとして、次展開エッジ群スタックに積む。   Step 460) Based on the end point connection node ID of the current edge, the node is acquired from the use case description, the edge (connection with the start point) group of the node is acquired, and the acquired edge (connection with the start point) The group is loaded on the next expansion edge group stack as the next expansion edge.

ステップ470) 経路(エッジ用スタックに積まれているエッジの列)をテスト経路としてテスト経路集合に加え、ステップ415に戻る。テスト経路集合の例を図9に示す。   Step 470) The path (sequence of edges stacked on the edge stack) is added as a test path to the test path set, and the process returns to Step 415. An example of the test path set is shown in FIG.

ステップ480) ステップ416で次展開エッジ群用スタックの最上位にある次展開エッジ群に要素がない場合は、次展開エッジ群用スタックをホップする。   Step 480) If there is no element in the next development edge group at the top of the next development edge group stack in Step 416, the next development edge group stack is hopped.

ステップ490) エッジ用スタックが空でなければエッジ用スタックをホップし、処理を終了する。   Step 490) If the edge stack is not empty, the edge stack is hopped and the process is terminated.

次に、ループ無し経路抽出部32における、上記のステップ440の経路(エッジ用スタックに積まれているエッジの列)内の現在ループ経路の出現回数を計算する処理について説明する。   Next, a process of calculating the number of appearances of the current loop path in the path of the above-described step 440 (sequence of edges stacked on the edge stack) in the loopless path extraction unit 32 will be described.

図10は、本発明の一実施の形態におけるステップ440の詳細フローチャートである。   FIG. 10 is a detailed flowchart of step 440 in one embodiment of the present invention.

ステップ510) ループ無し経路抽出部32は、ステップ420で選択された現在エッジを読み込む。   Step 510) The loopless path extraction unit 32 reads the current edge selected in Step 420.

ステップ520) 経路(エッジ用スタックに積まれているエッジの列)を読み込む。   Step 520) Read a path (a sequence of edges stacked on the edge stack).

ステップ530) 経路を複製し、複製した経路を探索途中経路とする。   Step 530) The route is duplicated, and the duplicated route is set as a search-in-progress route.

ステップ540) 探索途中経路の先頭から一番近い現在エッジまでを現在ループ経路をとして抽出する。   Step 540) The current loop route is extracted from the beginning of the route being searched to the nearest current edge.

ステップ550) 探索途中経路内で現在ループ経路が何回出現するか(ループ出現回数)を、文献1「R. S. Boyer; J. S. Moore (1977)."A fast string searching algorithm". Comm. ACM 20: 762-772」等の手法を用いて計算する。   Step 550) How many times the current loop path appears in the search path (the number of loop occurrences) is described in Reference 1 “RS Boyer; JS Moore (1977).“ A fast string searching algorithm ”. Comm. ACM 20: 762 -772 "etc.

次に、ループ有りテスト経路補完部33における、図5のステップ330のループ有りテスト経路を補完する処理について説明する。ステップ320で抽出されたループ内テスト経路の「ループ経路に含まれない異常系シナリオ」の全組合せを網羅するテスト経路の最小セットであるのに対して、当該処理は、「ループ経路に含まれる異常系シナリオ」を全組合せ分つなぐため、結果として「全ての異常系シナリオ」の組合せを生成する。   Next, the process of complementing the looped test path in step 330 of FIG. 5 in the looped test path complementing unit 33 will be described. In contrast to the minimum set of test paths that cover all combinations of “abnormal system scenarios not included in the loop path” of the in-loop test paths extracted in step 320, the processing is “included in the loop path”. Since all the “abnormal system scenarios” are connected to each other, a combination of “all abnormal system scenarios” is generated as a result.

図11は、本発明の一実施の形態におけるステップ330の詳細フローチャートである。   FIG. 11 is a detailed flowchart of step 330 in one embodiment of the present invention.

ステップ610) ループ有りテスト経路補完部33は、ユースケース記述を読み込む。   Step 610) The test path complement unit 33 with loop reads the use case description.

ステップ620) ステップ320で生成されたメモリ(図示せず)からテスト経路集合を読み込む。   Step 620) The test path set is read from the memory (not shown) generated in Step 320.

ステップ630) エッジを格納するループ経路エッジキューをメモリ(図示せず)上に用意する。   Step 630) A loop path edge queue for storing edges is prepared on a memory (not shown).

ステップ640) ユースケース記述を構成するエッジのうち、ステップ320で読み込んだテスト経路集合の中のテスト経路に存在しないエッジ、言い換えると、ループ経路中に存在するエッジを全てループ経路エッジキューに追加する。   Step 640) Among the edges constituting the use case description, the edges that do not exist in the test path in the test path set read in Step 320, in other words, all the edges that exist in the loop path are added to the loop path edge queue. .

ステップ650) ループ経路エッジキューから1つエッジ(ループ経路エッジ)を取り出す。   Step 650) Extract one edge (loop path edge) from the loop path edge queue.

ステップ660) ループ経路エッジキューにループ経路エッジが含まれる場合は、ループ経路エッジを含むループ経路をテスト経路集合に含まれるテスト経路につなぎ、新しいテスト経路を複数作成し、これを新規追加分テスト経路集合とする。詳細な処理は図12で詳述する。   Step 660) When the loop path edge is included in the loop path edge queue, the loop path including the loop path edge is connected to the test path included in the test path set, and a plurality of new test paths are created, and this is newly added test. Let it be a route set. Detailed processing will be described in detail with reference to FIG.

ステップ670) ループ経路エッジキューから、新規追加分テスト経路集合のテスト経路に含まれるエッジを全て除く。   Step 670) Remove all edges included in the test path of the newly added test path set from the loop path edge queue.

ステップ680) 新規追加分テスト経路集合をテスト経路集合に加える。   Step 680) Add the newly added test path set to the test path set.

ステップ690) ステップ650において、ループ経路エッジキューにループ経路エッジが含まれていない場合は、ループ経路エッジをループ経路エッジキューに入れなおす。   Step 690) In step 650, if the loop path edge queue does not include the loop path edge, the loop path edge is re-entered in the loop path edge queue.

上記の図11に示す処理は、例えば、ループ経路エッジキューに[A,B,C]があり、ある異常系シナリオがA⇒B⇒Cという3つのエッジで構成されている場合、最初に取り出したループ経路エッジが「A」だとすると、ステップ660において、異常系シナリオを含むようなテスト経路「…⇒A⇒B⇒C⇒…」が抽出される。この段階で、既に異常系シナリオA⇒B⇒Cは抽出されているので、ループ経路エッジキューに残った[B,C]については、ステップ660の処理を行う必要がないため、ステップ670でこのようなエッジ(B,C)を除く。   The processing shown in FIG. 11 above, for example, when [A, B, C] is in the loop path edge queue and a certain abnormal scenario is composed of three edges A⇒B⇒C, is extracted first. If the loop path edge is “A”, a test path “... ⇒ A ⇒ B ⇒ C ⇒...” Including an abnormal scenario is extracted in step 660. At this stage, since the abnormal system scenario A⇒B⇒C has already been extracted, it is not necessary to perform the processing of step 660 for [B, C] remaining in the loop path edge queue. Such edges (B, C) are excluded.

次に、ループ有りテスト経路補完部33における、上記のステップ660のループ経路エッジを含むループ経路をテスト経路につなぎ、新しいテスト経路を作成する処理について説明する。   Next, a process of creating a new test path by connecting the loop path including the loop path edge in step 660 to the test path in the test path complementing unit 33 with loop will be described.

図12は、本発明の一実施の形態におけるステップ660の詳細フローチャートである。   FIG. 12 is a detailed flowchart of step 660 in one embodiment of the present invention.

ステップ710) ループ有りテスト経路補完部33は、ステップ660で与えられたユースケース記述を読み込む。   Step 710) The test path complementing unit with loop 33 reads the use case description given in Step 660.

ステップ720) 同様に、ステップ660で与えられたテスト経路集合を読み込む。   Step 720) Similarly, the test path set given in Step 660 is read.

ステップ730) ループ経路エッジキューからループ経路エッジを読み込む。   Step 730) Read the loop path edge from the loop path edge queue.

ステップ740) テスト経路集合から、あるエッジEが経路中に存在し、エッジEの終点接続ノードIDに対応するノードの次展開エッジ群にループ経路エッジが含まれるテスト経路を、前半経路用テスト経路集合として全て選び出す。   Step 740) From the test path set, an edge E exists in the path, and a test path in which the loop path edge is included in the next developed edge group of the node corresponding to the end point connection node ID of the edge E is determined as the test path for the first half path. Select all as a set.

ステップ750) テスト経路集合からループ経路エッジに関する後半経路集合を抽出する。後半経路集合とは、ユースケース記述からループ経路エッジを始点としたテスト経路(後半経路)の集合である。   Step 750) Extract the second half path set related to the loop path edge from the test path set. The latter half route set is a set of test routes (second half route) starting from the loop route edge based on the use case description.

ステップ760) メモリ上に新規追加分テスト経路集合(最初は空)を用意する。   Step 760) A newly added test path set (initially empty) is prepared on the memory.

ステップ770) 終了エッジに最も近いループ経路エッジから終了エッジまでの部分経路を前半経路として取り出す。   Step 770) The partial path from the loop path edge closest to the end edge to the end edge is taken out as the first half path.

ステップ780) 前半経路と後半経路をループ経路エッジで接続して新しい経路(新規追加分テスト経路)を作成する。   Step 780) The first half path and the second half path are connected by a loop path edge to create a new path (newly added test path).

ステップ790) 新追加分テスト経路を新規追加分テスト経路集合へ加える。   Step 790) Add the newly added test path to the newly added test path set.

上記のループ有りテスト経路補完部33において、抽出したループ経路を含まないテスト経路に対し、ループ経路をつないでいくことにより新しいテスト経路(新規追加分テスト経路)を生成できるため、ユースケース記述中のループ経路n種類(L1,L2,…,Ln)をそれぞれつなぐパターン、つながないパターンの組合せの個数分の新規追加分テスト経路を作成することが可能となる。つまり、ループを含まないテスト経路1つに対し、2のn乗通りの新しいテスト経路を生成できる。   The above test route complementing unit with loop 33 can generate a new test route (new added test route) by connecting the loop route to the test route not including the extracted loop route. It is possible to create new additional test paths corresponding to the number of combinations of patterns that connect n types of loop paths (L1, L2,..., Ln) and combinations of unconnected patterns. That is, 2 n new test paths can be generated for one test path that does not include a loop.

上記のステップ230の異常系テスト経路の抽出処理について具体的に説明する。   The abnormal system test path extraction process in step 230 will be specifically described.

図13は、本発明の一実施の形態におけるユースケース記述から異常系テスト経路を抽出する例を示す。同図において、太線の矢印は正常系エッジを示し、破線の矢印は異常系エッジを示す。   FIG. 13 shows an example in which an abnormal test path is extracted from the use case description according to the embodiment of the present invention. In the figure, a thick arrow indicates a normal edge, and a broken arrow indicates an abnormal edge.

ユースケース記述から、正常系シナリオ
ABCD
があり、異常系シナリオとして、
(1)X
(2)YZ
(3)W
がある。ループ無し経路抽出部32において、ループ無し経路として、
・ABCD
・ABCW
をテスト経路集合として抽出する(ステップ320)。
From the use case description, normal scenario ABCD
As an abnormal scenario,
(1) X
(2) YZ
(3) W
There is. In the loopless route extraction unit 32, as a loopless route,
・ ABCD
・ ABCW
Are extracted as a test path set (step 320).

これにより、ループ経路を含まない全テスト経路は「ループ経路に含まれない異常系シナリオ」の全ての組合せを網羅するテスト経路の最小セットになっており、複数種類の異常系シナリオの全ての組合せを網羅するテスト経路の最小セットを抽出できる。   As a result, all test paths that do not include a loop path are a minimum set of test paths that cover all combinations of “abnormal system scenarios that are not included in the loop path”, and all combinations of multiple types of abnormal system scenarios. The minimum set of test paths that cover

次に、ループ有りテスト経路補完部33において、以下のループ有り経路を補完する(ステップ330)。   Next, the looped test route complementing unit 33 supplements the following looped route (step 330).

・ABCD(ループ無し)
・ABCW(ループ無し)
・ABAXBCD(ループあり)
・ABYZBCD(ループあり)
・ABXBYZBCD(ループあり)
・ABXBCW(ループあり)
・ABAYZBCW(ループあり)
・ABXBYZBCW(ループあり)
上記の経路のうち、ABCDは正常系シナリオであるので、フィルタリング34により、取り除かれる(ステップ340)。その結果、異常系テスト経路集合として、
・A⇒B⇒C⇒W(ループ無し)
・A⇒B⇒A⇒X⇒B⇒C⇒D(ループあり)
・A⇒B⇒Y⇒Z⇒B⇒C⇒D(ループあり)
・A⇒B⇒X⇒B⇒Y⇒Z⇒B⇒C⇒D(ループあり)
・A⇒B⇒X⇒B⇒C⇒W(ループあり)
・A⇒B⇒A⇒Y⇒Z⇒B⇒C⇒W(ループあり)
・A⇒B⇒X⇒B⇒Y⇒Z⇒B⇒C⇒W(ループあり)
が残る。これらは、上記の(1)〜(3)の異常系シナリオ3つの全組合せであるので、以下の7パターンとなる。
-ABCD (no loop)
・ ABCW (no loop)
・ ABAXBCD (with loop)
・ ABYZBCD (with loop)
・ ABXBYZBCD (with loop)
・ ABXBCW (with loop)
・ ABAYZBCW (with loop)
・ ABXBYZBCW (with loop)
Of the above paths, ABCD is a normal scenario and is removed by filtering 34 (step 340). As a result, as an abnormal test path set,
・ A⇒B⇒C⇒W (no loop)
・ A⇒B⇒A⇒X⇒B⇒C⇒D (with loop)
・ A⇒B⇒Y⇒Z⇒B⇒C⇒D (with loop)
・ A⇒B⇒X⇒B⇒Y⇒Z⇒B⇒C⇒D (with loop)
・ A⇒B⇒X⇒B⇒C⇒W (with loop)
・ A⇒B⇒A⇒Y⇒Z⇒B⇒C⇒W (with loop)
・ A⇒B⇒X⇒B⇒Y⇒Z⇒B⇒C⇒W (with loop)
Remains. Since these are all combinations of the above three abnormal system scenarios (1) to (3), the following seven patterns are obtained.

・(1)
・(2)
・(3)
・(1)(2)
・(2)(3)
・(1)(3)
・(1)(2)(3)
上記の7つのパターンが異常系テスト集合となり、実行経路記憶部5に格納される。
・ (1)
(2)
・ (3)
・ (1) (2)
・ (2) (3)
・ (1) (3)
・ (1) (2) (3)
The above seven patterns form an abnormal test set and are stored in the execution path storage unit 5.

次に、ループ有りテスト経路補完部33における図8のステップ330のループ有りテスト経路を補完する例を示す。   Next, an example of complementing the looped test path in step 330 of FIG.

図14は、本発明の一実施の形態におけるループ有りテスト経路を補完する例を示す。   FIG. 14 shows an example of complementing a test path with a loop according to an embodiment of the present invention.

ユースケース記述では、以下の2つの経路がループ無しテスト経路として抽出されているものとする。   In the use case description, it is assumed that the following two routes are extracted as loopless test routes.

・A⇒B⇒C⇒D
・A⇒B⇒C⇒W
ループ有りテスト経路補完部33は、メモリ上にループ経路エッジキューを用意し、ループ無しテスト経路に存在しないエッジを全て加える。図14の例では、ループ経路エッジキューには、
[X,Y,Z,W]
が追加される(ステップ630,640)。
・ A⇒B⇒C⇒D
・ A⇒B⇒C⇒W
The test path complementing unit with loop 33 prepares a loop path edge queue on the memory and adds all the edges that do not exist in the test path without a loop. In the example of FIG. 14, the loop path edge queue includes
[X, Y, Z, W]
Is added (steps 630 and 640).

次に、ループ絵経路エッジキューの先頭のXを取り出す(ステップ650)。ループ経路エッジXを経路ABCD,ABCWの間につなげ、新しい経路を生成する(ステップ660)。図14の例において、前半経路A⇒B、後半経路B⇒C⇒D、後半経路B⇒C⇒Wの間にループ経路エッジXをつなげることにより、新規追加分テスト経路
A⇒B⇒X⇒B⇒C⇒D
A⇒B⇒X⇒B⇒C⇒W
の2つが生成され、これらをテスト経路集合に加えると、
・A⇒B⇒C⇒D
・A⇒B⇒C⇒W
・A⇒B⇒X⇒B⇒C⇒D
・A⇒B⇒X⇒B⇒C⇒W
となる。上記の処理をループ経路エッジキュー[Y,Z,W]のそれぞれに対して行う(ステップ680)。
Next, the head X of the loop picture path edge queue is extracted (step 650). The loop path edge X is connected between the paths ABCD and ABCW to generate a new path (step 660). In the example of FIG. 14, by connecting the loop path edge X between the first half path A⇒B, the second half path B⇒C⇒D, and the second half path B⇒C⇒W, the newly added test path A⇒B⇒X⇒ B⇒C⇒D
A⇒B⇒X⇒B⇒C⇒W
Are generated and added to the test path set,
・ A⇒B⇒C⇒D
・ A⇒B⇒C⇒W
・ A⇒B⇒X⇒B⇒C⇒D
・ A⇒B⇒X⇒B⇒C⇒W
It becomes. The above processing is performed for each of the loop path edge queues [Y, Z, W] (step 680).

上記のループ無しテスト経路抽出部32で抽出した各テスト経路は「ループ経路に含まれない異常系シナリオ」の組合せを網羅するテスト経路の最小セットであり、それに対して、ループ有りテスト経路補完部33において、ループ経路に含まれる異常系シナリオを全組合せ分つなぐため、結果としてできるテスト経路は「全ての異常系シナリオ」の組合せを網羅するテスト経路の最小セットとなっている。つまり、ループ無しテスト経路抽出部32により得られた組合せ数Aとループ有りテスト経路補完部33により得られた組合せ数Bにより、
A×B=全組合せ数
となる。これは、異常系シナリオの全組合せのテスト経路のみを抽出しているため、全順列で抽出する従来技術より、圧倒的に少ないメモリ使用量でテスト項目を得ることが可能となる。
Each test path extracted by the above-described loop-less test path extraction unit 32 is a minimum set of test paths covering a combination of “abnormal system scenarios not included in the loop path”. In 33, since all abnormal scenarios included in the loop route are connected to each other, the resulting test route is the minimum set of test routes that cover the combinations of “all abnormal scenarios”. That is, the number of combinations A obtained by the test path extraction unit 32 without loop and the number B of combinations obtained by the test path complementing unit 33 with loop
A × B = total number of combinations. This is because only test paths of all combinations of abnormal scenarios are extracted, so that it is possible to obtain test items with a memory usage that is overwhelmingly smaller than in the conventional technique that extracts all permutations.

なお、図1に示すテスト項目生成装置10の各構成要素の動作をプログラムとして構築し、テスト項目生成装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of each component of the test item generation device 10 shown in FIG. 1 can be constructed as a program, installed on a computer used as the test item generation device, executed, or distributed via a network. It is.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

1 設計情報読込部
2 設計モデル分析部
3 実行経路抽出部
5 実行経路記憶部
6 テスト項目生成部
10 テスト項目生成装置
20 ユーザ端末
DESCRIPTION OF SYMBOLS 1 Design information reading part 2 Design model analysis part 3 Execution path extraction part 5 Execution path storage part 6 Test item generation part 10 Test item generation apparatus 20 User terminal

Claims (7)

ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいて、異常系のシナリオの組み合わせのテスト項目を抽出する異常系シナリオの組合せのテスト項目抽出装置であって、
入力された設計モデルから、ユースケース記述を取得する設計モデル入力手段と、
前記ユースケース記述からループ経路を含まない全てのテスト経路(以下、「ループ無し経路」と記す)を抽出し、テスト経路集合に加えるループ無しテスト経路抽出手段と、
前記ユースケース記述からループ経路を含むテスト経路(以下「ループ有り経路」と記す)を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完手段と、
前記新規追加分テスト経路集合から前記ユースケース記述の基本フローである正常系シナリオを除外した集合を前記テスト経路集合に加え、該テスト経路集合を実行経路記憶手段に格納するフィルタリング手段と、
を有する実行経路抽出手段と、
前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成手段と、
を有することを特徴とする異常系シナリオの組合せのテスト項目生成装置。
A test item extraction device for an abnormal scenario combination that extracts test items for an abnormal scenario combination based on a use case description indicating a flow of interaction between a user and a system,
A design model input means for obtaining a use case description from the input design model;
Extracting all test paths that do not include loop paths from the use case description (hereinafter referred to as “loop without loops”), and adding the test path extraction means without loops to the test path set;
A test path including a loop path (hereinafter referred to as “path with loop”) is extracted from the use case description, and a new test path is generated by connecting the path without loop and the path with loop of the test path set. , A test path complementing means with a loop to be added to the newly added test path set,
Filtering means for adding a set excluding a normal scenario that is a basic flow of the use case description from the newly added test path set to the test path set, and storing the test path set in an execution path storage unit;
Execution path extraction means having
A test item generation unit that reads the test path from the execution path storage unit and generates a test item for the test path;
A test item generation device for a combination of abnormal scenarios characterized by comprising:
前記ループ有りテスト経路補完手段は、
前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加える手段と、
前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成する処理を、該ループ経路エッジキューが空になるまで繰り返す手段と、
を含む請求項1記載の異常系シナリオの組合せのテスト項目生成装置。
The looped test path complement means is:
Means for adding, to the loop path edge queue, an edge that does not exist in the loop-less path among edges corresponding to the arrow portion of the use case description;
Means for taking out the leading edge X of the loop path edge queue and connecting the edge X to the loopless test path to generate the new test path until the loop path edge queue becomes empty; ,
The test item generation device for a combination of abnormal scenarios according to claim 1.
前記ループ有りテスト経路補完手段は、
前記新たなテスト経路を生成する処理として、
前記ユースケース記述のテスト経路から、あるエッジEが経路中に存在し、該エッジEの終点接続ノードの次展開エッジ群にループ経路エッジが含まれるテスト経路を抽出し、前半テスト経路集合とし、
前記ユースケース記述からループ経路エッジを始点としたテスト経路を抽出し、後半テスト経路集合とし、
前記前半テスト経路集合のうち、終了エッジに最も近いループ経路エッジから終了エッジまでの部分経路を前半経路とし、前記後半テスト経路集合中の各後半テスト経路とつなぐ手段を含む
請求項2記載の異常系シナリオの組合せのテスト項目生成装置。
The looped test path complement means is:
As a process for generating the new test path,
A test path in which a certain edge E exists in the path from the test path described in the use case description and a loop path edge is included in the next development edge group of the end point connection node of the edge E is extracted as a first-half test path set;
A test path starting from the loop path edge is extracted from the use case description as a second half test path set,
3. The abnormality according to claim 2, further comprising means for setting a partial path from a loop path edge closest to an end edge to an end edge in the first half test path set as a first half path and connecting the second half test path in the second half test path set. A test item generation device for a combination of system scenarios.
ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいて、異常系のシナリオの組み合わせのテスト項目を抽出する異常系シナリオの組合せのテスト項目生成方法であって、
設計モデル入力手段が、入力された設計モデルから、ユースケース記述を取得する設計モデル入力ステップと、
ループ無しテスト経路抽出手段が前記ユースケース記述からループ経路を含まない全てのテスト経路(以下、「ループ無し経路」と記す)を抽出し、テスト経路集合に加えるループ無しテスト経路抽出ステップと、
ループ有りテスト経路補完手段が、前記ユースケース記述からループ経路を含むテスト経路(以下「ループ有り経路」と記す)を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完ステップと、
フィルタリング手段が、前記新規追加分テスト経路集合から前記ユースケース記述の基本フローである正常系シナリオを除外した集合を前記テスト経路集合に加え、該テスト経路集合を実行経路記憶手段に格納するフィルタリングステップと、
を含む実行経路抽出過程と、
テスト項目生成手段が、前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成過程と、
を行うことを特徴とする異常系シナリオの組合せのテスト項目生成方法。
A test item generation method for an abnormal scenario combination that extracts test items for an abnormal scenario combination based on a use case description indicating a flow of interaction between a user and a system,
A design model input step in which the design model input means obtains a use case description from the input design model;
A test path extraction means without a loop extracts all test paths that do not include a loop path from the use case description (hereinafter referred to as `` path without loop ''), and adds a test path without loop to add to the test path set;
A test route complementing means with a loop extracts a test route including a loop route from the use case description (hereinafter referred to as a “route with a loop”), and connects the route without the loop and the route with the loop of the test route set. A test path complementing step with a loop that generates a new test path and adds it to the newly added test path set,
A filtering step in which filtering means adds a set obtained by excluding a normal scenario that is a basic flow of the use case description from the newly added test path set to the test path set, and stores the test path set in the execution path storage means When,
An execution path extraction process including
A test item generating step for reading the test path from the execution path storage unit and generating a test item for the test path;
A test item generation method for a combination of abnormal scenarios characterized by:
前記ループ有りテスト経路補完ステップにおいて、
前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加え、
前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成する処理を、該ループ経路エッジキューが空になるまで繰り返す、
請求項4記載の異常系シナリオの組合せのテスト項目生成方法。
In the looped test path completion step,
Of the edges corresponding to the arrow part of the use case description, an edge that does not exist in the loop-less path is added to the loop path edge queue,
Taking the leading edge X of the loop path edge queue and connecting the edge X to the loopless test path to generate the new test path is repeated until the loop path edge queue is empty,
5. A test item generation method for a combination of abnormal scenarios according to claim 4.
前記ループ有りテスト経路補完ステップにおいて、
前記新たなテスト経路を生成する処理として、
前記ユースケース記述のテスト経路から、あるエッジEが経路中に存在し、該エッジEの終点接続ノードの次展開エッジ群にループ経路エッジが含まれるテスト経路を抽出し、前半テスト経路集合とし、
前記ユースケース記述からループ経路エッジを始点としたテスト経路を抽出し、後半テスト経路集合とし、
前記前半テスト経路集合のうち、終了エッジに最も近いループ経路エッジから終了エッジまでの部分経路を前半経路とし、前記後半テスト経路集合中の各後半テスト経路とつなぐ
請求項5記載の異常系シナリオの組合せのテスト項目生成方法。
In the looped test path completion step,
As a process for generating the new test path,
A test path in which a certain edge E exists in the path from the test path described in the use case description and a loop path edge is included in the next development edge group of the end point connection node of the edge E is extracted as a first-half test path set;
A test path starting from the loop path edge is extracted from the use case description as a second half test path set,
6. The abnormal scenario according to claim 5, wherein a partial path from a loop path edge closest to an end edge to an end edge in the first half test path set is defined as a first half path and connected to each second half test path in the second half test path set. Test item generation method for combination.
コンピュータを、
請求項1乃至3のいずれか1項に記載のテスト項目生成装置の各手段として機能させるためのテスト項目生成プログラム。
Computer
A test item generation program for causing each of the means of the test item generation apparatus according to any one of claims 1 to 3 to function.
JP2011195929A 2011-09-08 2011-09-08 Test item generation apparatus, method and program for combination of abnormal scenarios Active JP5384587B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011195929A JP5384587B2 (en) 2011-09-08 2011-09-08 Test item generation apparatus, method and program for combination of abnormal scenarios

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011195929A JP5384587B2 (en) 2011-09-08 2011-09-08 Test item generation apparatus, method and program for combination of abnormal scenarios

Publications (2)

Publication Number Publication Date
JP2013058073A JP2013058073A (en) 2013-03-28
JP5384587B2 true JP5384587B2 (en) 2014-01-08

Family

ID=48133919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011195929A Active JP5384587B2 (en) 2011-09-08 2011-09-08 Test item generation apparatus, method and program for combination of abnormal scenarios

Country Status (1)

Country Link
JP (1) JP5384587B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03216739A (en) * 1990-01-20 1991-09-24 Fujitsu Ltd Random execution system for test item
JPH10320190A (en) * 1997-05-20 1998-12-04 Fujitsu Ltd Source program path search device and medium recording search program
JPH11259336A (en) * 1998-03-09 1999-09-24 Mitsubishi Electric Corp Test procedure extraction system
JPH11306039A (en) * 1998-04-23 1999-11-05 Fujitsu Ltd Test program execution control device, test program execution control method, and computer-readable recording medium storing program for causing a computer to execute the method
JP4591030B2 (en) * 2004-10-13 2010-12-01 横河電機株式会社 Test scenario creation method, test scenario creation device, and test scenario creation program
US20090089618A1 (en) * 2007-10-01 2009-04-02 Fujitsu Limited System and Method for Providing Automatic Test Generation for Web Applications

Also Published As

Publication number Publication date
JP2013058073A (en) 2013-03-28

Similar Documents

Publication Publication Date Title
US8161459B2 (en) Method and system for generating functional test cases
US20110016452A1 (en) Method and system for identifying regression test cases for a software
JP2009176246A (en) System and method for verifying operation of system
JP2015005010A (en) Apparatus and method for generating operation procedure manual
JP5164918B2 (en) Test data generation method, apparatus and program
JP2011028313A (en) Automatic verification item generation device
Hierons et al. Incomplete distinguishing sequences for finite state machines
JP5384587B2 (en) Test item generation apparatus, method and program for combination of abnormal scenarios
KR101182262B1 (en) Signal processing apparatus, signal processing method, and recording medium
Gafni et al. The weakest failure detector for solving k-set agreement
JP5404720B2 (en) Test item generation apparatus, method, and program for executing single abnormal scenario any number of times
JP5164919B2 (en) Test data generation method, apparatus and program
KR101681154B1 (en) Method of constructing data collector, server performing the same and storage medium for the same
KR101089816B1 (en) Method and apparatus for creating test suite for testing status of software components
JP4966386B2 (en) Test item generation method, apparatus and program
US8965826B2 (en) Dynamic backjumping in constraint satisfaction problem solving
JPWO2016151710A1 (en) Specification configuration apparatus and method
JP6790921B2 (en) Program analyzer, program analysis method and program analysis program
JP7201080B2 (en) Screen transition aggregation device, screen transition aggregation method and program
JP2015022356A (en) Test scenario variation generating apparatus, method and program
Amyot et al. UCM-based generation of test goals
JP5516277B2 (en) Test case relation extraction method, test case relation extraction device, and test case relation extraction program
US20250209235A1 (en) System configuration derivation device, system configuration derivation method, and storage medium
Korel et al. Understanding modifications in state-based models
Helouet et al. An event structure based semantics for high-level message sequence charts

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131002

R150 Certificate of patent or registration of utility model

Ref document number: 5384587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350