"ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいて、シナリオテスト用のテスト項目を抽出する単独の異常系シナリオを任意回数実行するテスト項目生成装置であって、入力された設計モデルから、ユースケース記述を取得する設計モデル入力手段と、前記ユースケース記述からループ経路を含まない全てのテスト経路を抽出し、テスト経路集合に加えるループ無しテスト経路抽出手段と、前記ユースケース記述からループ経路を含むテスト経路を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完手段と、前記新規追加分テスト経路集合から、特定の異常系シナリオのみを含むテスト経路を対象異常系テスト経路として抽出し、異常系テスト経路集合に加えるフィルタリング手段と、前記異常系テスト経路集合の各異常系テスト経路中のループ箇所を複製して実行経路記憶手段に格納するループ経路複製手段と、を有する実行経路抽出手段と、前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成手段と、を有することを特徴とする単独の異常系シナリオを任意回数実行するテスト項目生成装置。前記ループ有りテスト経路補完手段は、前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加える手段と、前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成し、ループ回路に印を付与する処理を、該ループ経路エッジキューが空になるまで繰り返す手段と、を含み、前記フィルタリング手段は、前記新規追加分テスト経路集合から、ループ回路に前記印が付与されている対象異常系エッジのみを含むテスト経路を対象異常系テスト経路として抽出する手段を含む請求項1記載の単独の異常系シナリオを任意回数実行するテスト項目生成装置。前記ループ経路複製手段は、ユーザから指定された回数分だけ、前記異常系テスト経路中のループ箇所を複製する手段を含む請求項1記載の単独の異常系シナリオを任意回数実行するテスト項目生成装置。ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいたシナリオテスト用のテスト項目を抽出するテスト項目抽出方法であって、設計モデル入力手段が、入力された設計モデルから、ユースケース記述を取得する設計モデル入力ステップと、ループ無しテスト経路抽出手段が前記ユースケース記述からループ経路を含まない全てのテスト経路を抽出し、テスト経路集合に加えるループ無しテスト経路抽出ステップと、ループ有りテスト経路補完手段が、前記ユースケース記述からループ経路を含むテスト経路を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完ステップと、フィルタリング手段が、前記新規追加分テスト経路集合から、特定の異常系シナリオのみを含むテスト経路を対象異常系テスト経路として抽出し、異常系テスト経路集合に加えるフィルタリングステップと、ループ経路複製手段が、前記異常系テスト経路集合の各異常系テスト経路中のループ箇所を複製して実行経路記憶手段に格納するループ経路複製ステップと、を含む実行経路抽出過程と、テスト項目生成手段が、前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成過程と、を行うことを特徴とする単独の異常系シナリオを任意回数実行するテスト項目生成方法。前記ループ有りテスト経路補完ステップにおいて、前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加え、前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成する処理を、該ループ経路エッジキューが空になるまで繰り返し、前記フィルタリングステップにおいて、前記新規追加分テスト経路集合から、ループ回路に前記印が付与されている対象異常系エッジのみを含むテスト経路を対象異常系テスト経路として抽出する請求項4記載の単独の異常系シナリオを任意回数実行するテスト項目生成方法。前記ループ経路複製ステップにおいて、ユーザから指定された回数分だけ、前記異常系テスト経路中のループ箇所を複製する請求項4記載の単独の異常系シナリオを任意回数実行するテスト項目生成方法。コンピュータを、請求項1乃至3のいずれか1項に記載のテスト項目生成装置の各手段として機能させるためのテスト項目生成プログラム。しかしながら、非特許文献1の技術は、特定の以上系シナリオを複数回2回以上実行するテスト経路を抽出することができない。また、特許文献1の技術は、当該技術により抽出したテスト経路に、特定の異常系シナリオのみを実行するテスト経路が含まれている保証、特定の異常系シナリオのみを複数回実行するテストケースが含まれている保証のどちらもない。このように、ユースケース記述に基づいたシナリオテスト用のテスト項目抽出において、通常のテストでは、ノード網羅、エッジ網羅などよく用いられる既存の網羅基準では、他の異常系のシナリオを実行してしまったり、特定の異常シナリオを1度しか実行しなかったり、等を検出できないという問題がある。本発明は、上記の点に鑑みなされたもので、特定の異常系シナリオのみを複数回実行したときに起こるエラーを検出可能なシナリオテスト用のテスト項目を生成するための単独の異常系シナリオを任意回数実行するテスト項目生成装置及び方法及びプログラムを提供することを目的とする。上記の課題を解決するため、本発明請求項1は、ユーザとシステムの間のインタラクションの流れを示すユースケース記述に基づいて、シナリオテスト用のテスト項目を抽出する単独の異常系シナリオを任意回数実行するテスト項目生成装置であって、入力された設計モデルから、ユースケース記述を取得する設計モデル入力手段と、前記ユースケース記述からループ経路を含まない全てのテスト経路を抽出し、テスト経路集合に加えるループ無しテスト経路抽出手段と、前記ユースケース記述からループ経路を含むテスト経路を抽出し、前記テスト経路集合の前記ループ無し経路と該ループ有り経路をつなぎ合わせた新たなテスト経路を生成し、新規追加分テスト経路集合に加えるループ有りテスト経路補完手段と、前記新規追加分テスト経路集合から、特定の異常系シナリオのみを含むテスト経路を対象異常系テスト経路として抽出し、異常系テスト経路集合に加えるフィルタリング手段と、前記異常系テスト経路集合の各異常系テスト経路中のループ箇所を複製して実行経路記憶手段に格納するループ経路複製手段と、を有する実行経路抽出手段と、前記実行経路記憶手段から前記テスト経路を読み出して、該テスト経路に対するテスト項目を生成するテスト項目生成手段と、を有する。また、本発明請求項2は、前記ループ有りテスト経路補完手段に、前記ユースケース記述の矢印部分に相当するエッジのうち、前記ループ無し経路に存在しないエッジをループ経路エッジキューに加える手段と、前記ループ経路エッジキューの先頭のエッジXを取り出して、該エッジXを前記ループ無しテスト経路につなげて前記新たなテスト経路を生成し、ループ回路に印を付与する処理を、該ループ経路エッジキューが空になるまで繰り返す手段と、を含み、前記フィルタリング手段に、前記新規追加分テスト経路集合から、ループ回路に前記印が付与されている対象異常系エッジのみを含むテスト経路を対象異常系テスト経路として抽出する手段を含む。また、本発明請求項3は、前記ループ経路複製手段に、ユーザから指定された回数分だけ、前記異常系テスト経路中のループ箇所を複製する手段を含む。本発明によれば、ユースケース記述からループ経路を含まない経路、ループ経路を抽出し、ループ経路を含まない経路にループ経路をつなぎ新たな経路を生成することにより、ユースケース記述中のループ経路n種類をそれぞれつなぐパターン、つながないパターンの組合せの個数分、新しいテスト経路を作成できる。つまり、ループを含まない経路1つに対し、2のn乗通りの新しいテスト経路を生成することができる。また、フィルタリングを行うことにより、任意の異常系シナリオのみを含む経路を得ることができ、特定の異常系シナリオのみを複数回実行したときに起こるエラーある異常系シナリオを実行するときに使用する変数Xが不正な値になっている場合にシステムが想定と違う動作を起こすエラーを検出可能なテスト経路を抽出することが可能となる。さらに、ループ経路を含むテスト経路において、異常系シナリオを含むループ経路をユーザが指定した回数分だけ複製してテスト経路へ挿入することにより、特定の異常系シナリオのみを複数回実行したときにこるエラーを検出可能なテスト経路を抽出することが可能となる。以下図面と共に、本発明の実施の形態を説明する。まず、最初に本明細書中で使用する用語について説明する。シナリオテスト:要求定義に基づき、ユーザが行う業務を想定してシナリオを作成して、システムが想定シナリオ通りに振舞うかを確認するテスト。テスト項目:シナリオテストにおけるテスト項目は、テストシナリオと確認観点を含む。テストシナリオは、画面と操作で構成されたシーケンスであり、確認観点は画面遷移の正しさ、画面表示内容の正しさ、データベース破壊の有無、等がある。画面遷移図:設計ドキュメントの一種である。特定の機能内における各画面間の遷移を示す。ユースケース記述:設計ドキュメントの一種である。要求を明確化するための記法でもある。ユーザとシステム間のインタラクションの流れを示す。流れは、基本フローに沿って進むが、代替フロー、例外フローに分岐することもある。正常系シナリオ:ユースケース記述における基本フローを指す。1つ以上のエッジから構成される。異常系シナリオ:ユースケース記述における代替フロー、例外フローの総称であり、1つ以上のエッジから構成され、正常系シナリオから分岐して正常系シナリオに戻る。特定の異常系シナリオのみを複数回実行したときに起こるエラー:ある異常系シナリオを実行するときに使用する変数Xが不正な値になっている場合にシステムが想定と違う動作を起こすエラーがある。変数Xの値を改変する他の異常系シナリオを一緒に実行すると、変数Xが不正な値とはならず、エラーを検出できない可能性があるため、他の異常系シナリオを実行しないようにする必要がある。例1異常系シナリオ買い物の途中でキャンセルでは、買物カゴ変数を参照するが、買物カゴ変数が正しく初期化されておらず、NULL参照エラーでプログラムが停止する場合。但し、買物カゴ変数の正しい初期かを行う別の異常系シナリオがあった場合、そこを実行しないようにする必要がある。例2異常系シナリオログイン失敗でエラーログを留め、ログイン失敗を何度も繰り返すとエラーログを記録できる限界値を超えてプログラムが停止する場合。但し、エラーログを全て削除する別の異常系シナリオがあった場合、そこを実行しないようにする必要がある。ループ経路:1つ以上のエッジから構成される。以下の2つの場合がある。12つ以上のエッジE0E1...Enただし、E0≠Eii1...nで構成され、Enの次のエッジのいずれかにE0が含まれる部分経路;21つのエッジE0から構成され、E0の次のエッジにE0が含まれる部分経路;エッジ:ユースケース記述の矢印部分。両側始点と終点にノードが接続されている但し、開始エッジのみ、始点にノードが接続されていない。ノード:ユースケース記述内の節部分。エッジ始点との接続群を保持している。開始エッジ:ユースケース記述に1つ存在し、経路の開始を表すエッジ。終了エッジ:ユースケース記述に1つ以上存在し、経路の終了を表すエッジ。エッジ用スタック:ユースケース記述内で辿ったエッジを順番通りに保存するためのスタック。次展開エッジ群:次に辿るエッジ自ノードと始点で接続しているエッジの候補群。次展開エッジ群用スタック:これまで辿った経路中で、まだ辿っていない次展開エッジ群を保存しておくスタックである。前エッジ群:自ノードと終点で接続しているエッジ群。現在次展開エッジ群:次展開エッジ群用スタックの最上位のもの。現在ループ経路:これまでの経路エッジ用スタックに積まれているエッジにおいて、スタック最上位のエッジから最上位に最も近い現在エッジまでの経路である。ループ出現回数:ループが経路中に何回出現したかの回数。図1は、本発明の一実施の形態におけるテスト項目生成装置の構成を示す。同図に示すテスト項目生成装置は、設計情報読込部1、設計モデル分析部2、実行経路抽出部3、時刻経路記憶部5、テスト項目生成部6から構成され、ユーザ端末20に接続されている。設計情報読込部1は、ユーザ端末20から入力された設計モデルを読み込み設計モデル分析部2に渡す。設計モデル分析部2は、入力された設計モデルからユースケース記述UMLActivity画面遷移図を抽出し設計モデルを生成し、実行経路抽出部3に渡す。実行経路抽出部3は、図2に示すように、設計モデル入力部31、ループ無し経路抽出部32、ループ有りテスト経路補完部33、フィルタリング部34、ループ経路複製部35、から構成される。設計モデル入力部31からユースケース記述が入力されると、ループ無し経路抽出部32において、ユースケース記述からループ経路を含まない全テスト経路を抽出し、ループ有りテスト経路補完部33においてループ経路をつなぎ、フィルタリング部34において任意の異常系シナリオのみを含むテスト経路を抽出し、ループ経路複製部35において異常系シナリオを含むループ経路をユーザが指定した回数分だけ複製して実行経路記憶部5に格納する。実行経路記憶部5は、実行経路抽出部3で抽出されたテスト経路を格納する。テスト項目生成部6は、実行経路記憶部5からテスト経路を読み出してテスト項目表を生成してユーザ端末20に出力する。図3は、本発明の一実施の形態における概要動作のフローチャートである。ステップ110設計情報読込部1は、ユーザ端末20から設計ドキュメント群を読み込む。ステップ120設計モデル分析部2は、読み込んだ設計ドキュメント群から設計モデルを生成する。ここで、設計モデルを生成する手法として、XStreamhttpxstreamcodehausorgtutorialhtmlを用いるものとする。生成された設計モデルを実行経路抽出部3に出力する。ステップ130実行経路抽出部3は、設計モデルからループ無しテスト経路、ループ経路を抽出し、異常系シナリオ代替フロー例外フローを含むループ回路を指定された数分複製してテスト経路テスト項目を抽出し、実行経路記憶部5に格納する。詳細な処理については図4で詳述する。ステップ140テスト項目生成部6は、実行経路記憶部5からテスト経路を読み込んで、テスト項目表を生成してユーザ端末20に出力する。次に、上記の実行経路抽出部3におけるステップ130の処理について詳述する。図4は、本発明の一実施の形態におけるステップ130の詳細フローチャートである。ステップ210実行経路抽出部3の設計モデル入力部31は、設計モデル分析部2で生成された設計モデルを読み込み、当該設計モデル内のユースケース記述を抽出し、ユースケース記述リストを生成し、メモリ図示せずに格納する。図5に示すように、ユースケース記述には、ノードID,ノード内テキスト、前エッジ群、次展開エッジ群、エッジID、始点接続ノードID、終点接続ノードID、遷移条件、種類が含まれている。図5のユースケース記述の構造イメージを図6に示す。ステップ220実行経路抽出部3のループ無し経路抽出部32は、ユースケース記述リスト読み込む。ステップ230実行経路抽出部3のループ無し経路抽出部32、ループ有りテスト経路補完部33は、ユースケース記述リストから異常系テスト経路を抽出する。詳細な処理については図7で詳述する。ステップ240実行経路抽出部3のフィルタリング部34は、フィルタリングを行い、フィルタリング後のテスト項目の異常系経路をテスト項目としてまとめる処理を全異常系テスト経路に対して行う。ステップ250フィルタリング部34は、テスト項目群を要素としてもつテスト項目表を作成して実行経路記憶部5に格納する。次に、上記のステップ230のユースケース記述リストから異常系テスト経路を抽出する処理について説明する。図7は、本発明の一実施の形態におけるステップ230の詳細フローチャートである。ステップ310実行経路抽出部3のループ無し経路抽出部32は、ユースケース記述を読み込む。ステップ320ループ無し経路抽出部32は、ユースケース記述からループ無し経路を抽出し、メモリ図示せず上のテスト経路集合に加える。詳細な処理は図8で詳述する。ステップ330ループ有りテスト経路補完部33は、ユースケース記述からループ有りテスト経路を抽出し、メモリ図示せず上のテスト経路集合に加える。詳細な処理は図10で詳述する。ステップ340フィルタリング部34は、メモリ図示せずからテスト経路集合を読み出し、その中から特定の異常系のシナリオのみを含むテスト経路を抽出する。詳細については図13で詳述する。ステップ350ループ経路複製部35は、ステップ340で抽出された異常系テスト経路集合と、ユーザ端末20から外部パラメータとしてループ回数を取得して、異常系テスト経路集合の各異常系テスト経路中のループ箇所をユーザ指定回数分だけ複製し、これを異常系テスト経路集合として実行経路記憶部5に格納する。詳細な処理は図14で詳述する。上記のステップ320における、ループ無し経路抽出部32によるループ無し経路抽出処理について説明する。図8は、本発明の一実施の形態におけるステップ320の詳細フローチャートである。ステップ410ループ無し経路抽出部32は、ユースケース記述から初期次展開エッジ群をメモリ図示せずの次展開エッジ群スタックに積む。ステップ415次展開エッジ群スタックが空である場合は、処理を終了し、空でない場合は、ステップ416に移行する。ステップ416次展開エッジ群用スタックの最上位にある次展開エッジ群に要素がある場合はステップ420に移行し、ない場合はステップ480に移行する。ステップ420メモリの次展開エッジ群スタックの最上位にある要素現在次展開エッジ群から1つエッジを得て現在エッジとする。ステップ430現在エッジ群から現在エッジ群を取り除く。ステップ440経路内のループ出現回数を計算する。詳細については図9で詳述する。ステップ445ステップ440で求められたループ出現回数が0より大きい場合はステップ415に戻り、0以下の場合はステップ450に移行する。ステップ450現在エッジをエッジ用スタックに積む。ステップ460現在のエッジの持つ終点接続ノードIDに基づいて、ユースケース記述からノードを取得し、そのノードのエッジ始点との接続群を取得し、その取得したエッジ始点との接続群を、次展開エッジとして、次展開エッジ群スタックに積む。ステップ470経路エッジ用スタックに積まれているエッジの列をテスト経路としてテスト経路集合に加え、ステップ415に戻る。ステップ480ステップ416で次展開エッジ群用スタックの最上位にある次展開エッジ群に要素がない場合は、次展開エッジ群用スタックをホップする。ステップ490エッジ用スタックが空でなければエッジ用スタックをホップし、処理を終了する。次に、ループ無し経路抽出部32における、上記のステップ440の経路内の現在ループ経路の出現回数を計算する処理について説明する。図9は、本発明の一実施の形態におけるステップ440の詳細フローチャートである。ステップ510ループ無し経路抽出部32は、ステップ420で選択された現在エッジを読み込む。ステップ520経路エッジ用スタックに積まれているエッジの列を読み込む。ステップ530経路を複製し、複製した経路を探索途中経路とする。ステップ540探索途中経路の先頭から一番近い現在エッジまでを現在ループ経路をとして抽出する。ステップ550探索途中経路内で現在ループ経路が何回出現するかループ出現回数を、文献1RSBoyerJSMooreAfaststringsearchingalgorithmCommACM20762772等の手法を用いて計算する。図7のステップ330のループ有りテスト経路補完部33の処理について説明する。図10は、本発明の一実施の形態におけるステップ330の詳細フローチャートである。ステップ610ループ有りテスト経路補完部33は、ユースケース記述を読み込む。ステップ620メモリ図示せずからステップ320で生成されたテスト経路集合を読み込む。ステップ630エッジを格納するループ経路エッジキューをメモリ図示せず上に用意する。ステップ640ユースケース記述を構成するエッジのうち、テスト経路集合の中のテスト経路に存在しないエッジ、言い換えると、ループ経路中に存在するエッジを全てループ経路エッジキューに追加する。ステップ650ループ経路エッジキューから1つエッジループ経路エッジを取り出す。ステップ660ループ経路エッジキューにループ経路エッジが含まれる場合は、ループ経路エッジを含むループ経路をテスト経路集合に含まれるテスト経路につなぎ、新しいテスト経路を複数作成し、これを新規追加分テスト経路集合とする。詳細な処理は図11で詳述する。ステップ670ループ経路エッジキューから、新規追加分テスト経路集合のテスト経路に含まれるエッジを全て除く。ステップ680新規追加分テスト経路集合をテスト経路集合に加える。ステップ690ステップ650において、ループ経路エッジキューにループ経路エッジが含まれていない場合は、ループ経路エッジをループ経路エッジキューに入れなおす。次に、ループ有りテスト経路補完部33における、上記のステップ660のループ経路エッジを含むループ経路をテスト経路につなぎ、新しいテスト経路を作成する処理について説明する。図11は、本発明の一実施の形態におけるステップ660の詳細フローチャートである。ステップ710ループ有りテスト経路補完部33は、ユースケース記述を読み込む。ステップ720テスト経路集合を読み込む。ステップ730ループ経路エッジキューからループ経路エッジを読み込む。ステップ740テスト経路集合から、テスト経路あるエッジEが経路中に存在し、エッジEの終点接続ノードIDに対応するノードの次展開エッジ群にループ経路エッジが含まれるを、前半経路用テスト経路集合として全て選び出す。ステップ750テスト経路集合からループ経路エッジに関する後半経路集合を抽出する。後半経路集合とは、ユースケース記述からループ経路エッジを始点としたテスト経路後半経路の集合である。ステップ760メモリ上に新規追加分テスト経路集合最初は空を用意する。ステップ770終了エッジに最も近いループ経路エッジから終了エッジまでの部分経路を前半経路として取り出す。ステップ780前半経路と後半経路をループ経路エッジXで接続して新しい経路新規追加分テスト経路を作成する。ステップ785上記で作成された新規追加分テスト経路に印を付ける。具体的には、新規追加分テスト経路とループ経路エッジを取得し、新規追加分テスト経路のループ経路エッジから、ループ経路エッジを次展開エッジ群にもつエッジまでの部分経路を構成するエッジすべてにループ経路であることの印を付ける。ステップ790新追加分テスト経路を新規追加分テスト経路集合へ加える。その結果の例を図12に示す。上記のようにループ有りテスト経路補完部33は、抽出したループ経路を含まないテスト経路に対し、ループ経路をつないでいくことにより新しいテスト経路新規追加分テスト経路を生成する。次に、フィルタリング部34の図7のステップ340におけるフィルタリング処理について説明する。図13は、本発明の一実施の形態におけるステップ340の詳細フローチャートである。ステップ810フィルタリング部34は、メモリ図示せずからユースケース記述を読み込む。ステップ820メモリ図示せずからステップ330で出力された新規追加分テスト経路集合を読み出す。ステップ830メモリ図示せず上に異常系テスト経路集合を用意する。なお、初回は空集合とする。ステップ840ユースケース記述から全異常系エッジの集合を取得する。取得できない場合はステップ350に移行する。ステップ850異常系エッジ集合が空でない場合は、異常系エッジ集合から異常系エッジを対象異常系エッジとして1つ取り出す。ステップ860ステップ820で読み出した新規追加分テスト経路集合から対象異常系エッジのみを含むテスト経路を、対象異常系テスト経路として1つ選ぶ。ここで、条件対象異常系エッジのみを含むテスト経路を満たすテスト経路がない場合は、対象異常系エッジを含み、かつ、含まれる異常系エッジの数が最小であるテスト経路を選ぶ。ステップ870対象異常系テスト経路に含まれる異常系エッジを異常系エッジ集合から除く。ステップ880対象異常系テスト経路を異常系テスト経路集合に加える。但し、対象異常系エッジにループ経路の印が付いていない場合は加えない。次に、ステップ350のループ経路複製部35によるループ経路を複製する処理について説明する。図14は、本発明の一実施の形態におけるステップ350の詳細フローチャートである。ステップ910ループ経路複製部35は、ステップ340ステップ880で生成された異常系テスト経路集合をメモリから読み込む。ステップ920ユーザ指定のループ回数をユーザ端末20から取得する。ステップ930異常系テスト経路のループ経路の印の追加箇所をユーザ指定ループ回数分複製し、実行経路記憶部5に格納する。上記のステップ230の異常系テスト経路の抽出処理について具体的に説明する。図15は、本発明の一実施の形態におけるユースケース記述から異常系テスト経路を抽出する例を示す。同図において、太線の矢印は正常系エッジを示し、破線の矢印は異常系エッジを示す。ユースケース記述から、正常系シナリオABCDがあり、異常系シナリオとして、1X2YZ3Wがある。ループ無し経路抽出部32において、ループ無し経路として、ABCDABCWをテスト経路集合として抽出する。これにより、ループ経路を含まない全テスト経路はループ経路に含まれない異常系シナリオの全ての組合せを網羅するテスト経路の最小セットになっており、複数種類の異常系シナリオの全ての組合せを網羅するテスト経路の最小セットを抽出できる。次に、ループ有りテスト経路補完部33において、以下のループ有り経路を補完するステップ330。ABCDループ無しABCWループ無しABAXBCDループありABYZBCDループありABXBYZBCDループありABXBCWループありABAYZBCWループありABXBYZBCWループあり上記の経路のうち、ABCDは正常系シナリオであるので、フィルタリング34により、取り除かれる。その結果、異常系テスト経路集合として、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パターンとなる。123122313123上記の7つのパターンが異常系テスト集合となり、実行経路記憶部5に格納される。次に、ループ有りテスト経路補完部33における図8のステップ330のループ有りテスト経路を補完する例を示す。図16は、本発明の一実施の形態におけるループ有りテスト経路を補完する例を示す。ユースケース記述では、以下の2つの経路がループ無しテスト経路として抽出されているものとする。A⇒B⇒C⇒DA⇒B⇒C⇒Wループ有りテスト経路補完部33は、メモリ上にループ経路エッジキューを用意し、ループ無しテスト経路に存在しないエッジを全て加える。図16の例では、ループ経路エッジキューには、[X,Y,Z,W]が追加されるステップ630,640。次に、ループ絵経路エッジキューの先頭のXを取り出す。ループ経路エッジXを経路ABCD,ABCWにつなげ、新しい経路を生成する。図14の例において、前半経路A⇒B、後半経路B⇒C⇒D、後半経路B⇒C⇒Wの間にループ経路エッジXをつなげることにより、新規追加分テスト経路A⇒B⇒X⇒B⇒C⇒DA⇒B⇒X⇒B⇒C⇒Wの2つが生成され、これらをテスト経路集合に加えると、A⇒B⇒C⇒DA⇒B⇒C⇒WA⇒B⇒X⇒B⇒C⇒DA⇒B⇒X⇒B⇒C⇒Wとなる。上記の処理をループ経路エッジキュー[Y,Z,W]のそれぞれに対して行う。上記のループ無しテスト経路抽出部32で抽出した各テスト経路はループ経路に含まれない異常系シナリオの組合せを網羅するテスト経路の最小セットであり、それに対して、ループ有りテスト経路補完部33において、ループ経路に含まれる異常系シナリオを全組合せ分つなぐため、結果としてできるテスト経路は全ての異常系シナリオの組合せを網羅するテスト経路の最小セットとなっている。つまり、ループ無しテスト経路抽出部32により得られた組合せ数Aとループ有りテスト経路補完部33により得られた組合せ数Bにより、A×B=全組合せ数となる。これは、異常系シナリオの全組合せのテスト経路のみを抽出しているため、全順列で抽出する従来技術より、圧倒的に少ないメモリ使用量でテスト項目を得ることが可能となる。なお、図1に示すテスト項目生成装置10の各構成要素の動作をプログラムとして構築し、テスト項目生成装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更応用が可能である。"