(57)【要約】【課題】  生成されるテスト項目の爆発的増加を防ぐ。【解決手段】  本発明は、設計モデル内のフロー図を読み込み、ユーザ端末から指定されたループ回数の上限値であるユーザ指定ループ最大通過数を取得し、設計モデルのフロー図内の全ノードと全エッジを読み込み、ユーザ指定ループ最大通過数で指定された回数のループを通る開始エッジから終了エッジまでの経路を探索することにより抽出された経路をテスト経路とし、該テスト経路の途中に出現するループの回数であるループ出現回数をカウントし、カウントされたループ出現回数Ｍと、ユーザ指定ループ最大通過数Ｎと比較し、Ｍ＞Ｎの経路探索は打ち切り、Ｍ≦Ｎの経路だけを出力することによりテスト項目の爆発的増加を防ぐ。【選択図】  図９
2011237992.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発のためのテスト項目を生成するテスト項目抽出装置であって、
設計モデル内のフロー図を読み込み、ユーザ端末から指定されたループ回数の上限値であるユーザ指定ループ最大通過数を取得し、記憶手段に格納する入力手段と、
前記記憶手段から前記設計モデルのフロー図内の全ノードと全エッジを読み込み、前記ユーザ指定ループ最大通過数で指定された回数のループを通る開始エッジから終了エッジまでの経路を探索することにより抽出された経路をテスト経路とし、該テスト経路の途中に出現するループの回数であるループ出現回数をカウントする経路探索手段と、
前記経路探索数手段でカウントされた前記ループ出現回数Ｍと、前記ユーザ指定ループ最大通過数Ｎと比較し、Ｍ≦Ｎのテスト経路をテスト項目として出力するテスト項目生成手段と、
を有することを特徴とするテスト項目抽出装置。
【請求項２】
前記経路探索手段は、
探索途中でカウントする前記テスト経路の途中のループ出現回数が、前記ユーザ指定ループ最大通過数を超えた場合には、探索を打ち切る手段を含む
請求項１記載のテスト項目抽出装置。
【請求項３】
ソフトウェア開発のためのテスト項目を生成するテスト項目抽出方法であって、
記憶手段、入力手段、経路探索手段、テスト項目生成手段と、を有する装置において、
前記入力手段が、設計モデル内のフロー図を読み込み、ユーザ端末から指定されたループ回数の上限値であるユーザ指定ループ最大通過数を取得し、前記記憶手段に格納する入力ステップと、
経路探索手段が、前記記憶手段から前記設計モデルのフロー図内の全ノードと全エッジを読み込み、前記ユーザ指定ループ最大通過数で指定された回数のループを通る開始エッジから終了エッジまでの経路を探索することにより抽出された経路をテスト経路とし、該テスト経路の途中に出現するループの回数であるループ出現回数をカウントする経路探索ステップと、
前記テスト項目生成手段が、前記経路探索数ステップでカウントされた前記ループ出現回数Ｍと、前記ユーザ指定ループ最大通過数Ｎと比較し、Ｍ≦Ｎのテスト経路をテスト項目として出力するテスト項目生成ステップと、
からなることを特徴とするテスト項目抽出方法。
【請求項４】
前記経路探索ステップにおいて、
探索途中でカウントする前記テスト経路の途中のループ出現回数が、前記ユーザ指定ループ最大通過数を超えた場合には、探索を打ち切る
請求項４記載のテスト項目抽出方法。
【請求項５】
請求項１または２に記載のテスト項目抽出装置を構成する各手段としてコンピュータを機能させるためのテスト項目抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト項目生成装置及び方法及びプログラムに係り、特に、ソフトウェア開発における結合テスト用のテスト項目を生成するためのテスト項目生成装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発のためのテスト項目を生成する技術として、ＵＭＬ（設計書相当）のアクティビティ図、クラス図を入力とし、テスト経路やテストデータをテスト項目として出力する技術（第１の従来技術）がある（例えば、非特許文献１参照）。
【０００３】
また、入力したソースプログラムの実行経路（２回以上のループを除く）を出力する技術（第２の従来技術）がある（例えば、特許文献１参照）。
【０００４】
また、入力したソースコードの実行経路（複数回のループを含む）を出力する技術（第３の従来技術）がある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３２０１９０号公報
【特許文献２】特開平０３−２９６１４８号公報
【非特許文献】
【０００６】
【非特許文献１】張暁晶、星野隆、"設計モデルを用いたテスト項目抽出とテストデータ生成手法"、電子情報通信学会技術研究報告、KDSE、知能ソフトウェア工学、Technical report of IEICE. KBSE 109(41) pp. 37-42, 20090514.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記第１の従来技術は、経路抽出に関して、ループを０回、１回通るような経路しか抽出できないため、ループの上限値が１より大きい場合の限界値テスト項目の抽出を行うことができない。例えば、パスワード誤入力の回数がｎ（ｎ＝２）と指定されている場合、ｎ回誤入力した際の動作を確認するテスト項目の抽出を行うことができないという問題がある。
【０００８】
また、上記第２の従来技術は、ソースコードを入力としており、フロー図（設計書）を扱うことができない。また、経路抽出に関して、ループを０回、１回通るような経路しか抽出できないという問題がある。
【０００９】
また、上記第３の従来技術は、ソースコードを対象としており、フロー図（設計書）を扱うことができない。
【００１０】
本発明は、上記の点に鑑みなされたもので、ソフトウェア設計情報から繰り返し処理に関する必要十分なテスト項目を抽出することが可能なテスト項目生成装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明（請求項１）は、ソフトウェア開発のためのテスト項目を生成するテスト項目抽出装置であって、
設計モデル内のフロー図を読み込み、ユーザ端末から指定されたループ回数の上限値であるユーザ指定ループ最大通過数を取得し、記憶手段に格納する入力手段と、
記憶手段から設計モデルのフロー図内の全ノードと全エッジを読み込み、ユーザ指定ループ最大通過数で指定された回数のループを通る開始エッジから終了エッジまでの経路を探索することにより抽出された経路をテスト経路とし、該テスト経路の途中に出現するループの回数であるループ出現回数をカウントする経路探索手段と、
経路探索数手段でカウントされたループ出現回数Ｍと、ユーザ指定ループ最大通過数Ｎと比較し、Ｍ≦Ｎのテスト経路をテスト項目として出力するテスト項目生成手段と、を有する。
【００１２】
上記のように、テスト対象であるプログラムの振る舞いのうち、テスト項目に含める範囲を簡便に指定することができ、その範囲の振る舞いを網羅的に抽出することができる。
【００１３】
また、フロー図を入力することにより、開発段階の早期にテスト項目が抽出できると共に、フロー図は設計情報であるため、設計書通りに実装されているかを確認するテスト項目を生成することが可能となる。
【００１４】
また、本発明（請求項２）は、上記の経路探索手段において、探索途中でカウントするテスト経路の途中のループ出現回数が、ユーザ指定ループ最大通過数を超えた場合には、探索を打ち切る手段を含む。
【００１５】
これにより、テスト項目数の爆発的増加を防ぐことができる。
【００１６】
本発明（請求項３）は、ソフトウェア開発のためのテスト項目を生成するテスト項目抽出方法であって、
記憶手段、入力手段、経路探索手段、テスト項目生成手段と、を有する装置において、
入力手段が、設計モデル内のフロー図を読み込み、ユーザ端末から指定されたループ回数の上限値であるユーザ指定ループ最大通過数を取得し、記憶手段に格納する入力ステップと、
経路探索手段が、記憶手段から設計モデルのフロー図内の全ノードと全エッジを読み込み、ユーザ指定ループ最大通過数で指定された回数のループを通る開始エッジから終了エッジまでの経路を探索することにより抽出された経路をテスト経路とし、該テスト経路の途中に出現するループの回数であるループ出現回数をカウントする経路探索ステップと、
テスト項目生成手段が、経路探索数ステップでカウントされたループ出現回数Ｍと、ユーザ指定ループ最大通過数Ｎと比較し、Ｍ≦Ｎのテスト経路をテスト項目として出力するテスト項目生成ステップと、からなる。
【００１７】
また、本発明（請求項４）は、上記の経路探索ステップにおいて、
探索途中でカウントするテスト経路の途中のループ出現回数が、ユーザ指定ループ最大通過数を超えた場合には、探索を打ち切る。
【００１８】
本発明（請求項５）は、請求項１または２に記載のテスト項目抽出装置を構成する各手段としてコンピュータを機能させるためのテスト項目抽出プログラムである。
【発明の効果】
【００１９】
上記のように本発明によれば、ソフトウェア開発における結合テスト用のテスト項目生成において、探索途中経路に存在するループ経路の数が、一定数（ユーザが指定した値）を超えた場合には、そこで経路探索を打ち切りにすることにより、テスト項目数の爆発的増加を防ぐことが可能となる。
【００２０】
また、探索途中経路に含まれる全ループ経路の中で、ループ出現回数が閾値（ユーザ指定の最大通過数）を超えるものがなければ探索は続けられるため、最終的には、各ループ経路の出現回数（ユーザ指定ループ最大通過数以下）と各ループを通る順番の組み合わせのパターンを網羅したテスト経路を出力できる。また、閾値として与える入力はユーザ指定ループ最大通過数だけでよいため、ユーザはほかの条件（個々のループ出現回数の上限値）について考慮する必要がない。
【００２１】
また、テスト経路の定義は開始エッジから終了エッジまでの経路であるため、終了エッジを見つけた時点で探索途中経路をテスト経路として出力するため、漏らさず網羅的なテスト経路を出力することが可能である。
【００２２】
さらに、フロー図（ソフトウェア設計情報）を入力として扱えるため、開発段階の早期にテスト項目の抽出が可能となる。また、設計書通りに実装されているかどうかを確認するテスト項目生成が可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明で用いる次展開エッジ群用スタックの例である。
【図２】本発明の一実施の形態におけるテスト項目抽出装置の構成図である。
【図３】本発明の一実施の形態における概要動作のフローチャートである。
【図４】本発明の一実施の形態における実行経路抽出処理（Ｓ２３０）のフローチャートである。
【図５】本発明の一実施の形態における図４のＳ３２０の詳細フローチャートである。
【図６】本発明の一実施の形態におけるメモリに読み込まれたフロー図のデータ構造の例である。
【図７】本発明の一実施の形態における図４のＳ３３０の詳細フローチャートである。
【図８】本発明の一実施の形態における図７のＳ５４０の詳細フローチャートである。
【図９】本発明の一実施の形態における経路抽出部によるテスト経路抽出処理の例である。
【図１０】本発明の一実施の形態における探索途中経路の打ち切りの例である。
【図１１】本発明の一実施の形態におけるテスト経路抽出（フロー図に複数のループが存在する場合）の例である。
【図１２】本発明の一実施の形態におけるテスト項目抽出装置の適用例である。
【発明を実施するための形態】
【００２４】
以下図面と共に、本発明の実施の形態を説明する。
【００２５】
本発明の説明をする前に、本明細書で用いる用語について定義する。
【００２６】
・フロー図：ソフトウェア設計情報の一種であり、振る舞い（ソフトウェアの処理の流れ）を表す。フローチャート、ＵＭＬアクティビティ図などの種類がある。
【００２７】
・エッジ：フロー図の矢印部分。両側（始点と終点）にノードが接続されている（但し、開始エッジのみ、始点にノードが接続されていない。
【００２８】
・ノード：フロー図内の節の部分であり、各ノードはエッジ（始点との接続）群を保持している。
【００２９】
・開始エッジ：フロー図に１つ存在し、フローの開始を表すエッジである。
【００３０】
・終了エッジ：フロー図に１つ以上存在し、フローの終了を表すエッジである。
【００３１】
・エッジ用スタック：フロー図内でたどったエッジを順番どおりに保存するためのスタックである。
【００３２】
・最上位：スタックで積まれた要素のうち最も最近に積まれたものを指す。
【００３３】
・次展開エッジ群：次に辿るエッジ（自ノードと始点で接続しているエッジ）の候補群である。
【００３４】
・次展開用エッジ群用スタック：図１に示すように、これまで辿った経路中で、まだ辿っていない次展開エッジ群を保存しておくスタックを指す。
【００３５】
・現在エッジ：現在辿ろうとしているエッジ（新しくエッジ用スタックに追加するため、次展開エッジ群から取り出したエッジ）を指す。
【００３６】
・現在次展開エッジ群：次展開エッジ群用スタックの最上位を指す。
【００３７】
・ループ経路：X，E0，E1，…，En（但し、X≠EiかつEnの次展開エッジ群にXが含まれる）となるフロー図内の部分経路である。
【００３８】
・現在ループ経路：これまでの経路（エッジ用スタックに積まれているエッジ）において、スタック最上位のエッジから、最上位に最も近い現在エッジまでの経路を指す。
【００３９】
・ユーザ指定ループ最大通過数：ユーザが指定したループ最大通過数の上限値であり、これを探索打ち切りの閾値として用いる。
【００４０】
・ループ出現回数：ループが経路中に何回出現したかの回数である。
【００４１】
本発明のテスト項目抽出装置の構成を説明する。
【００４２】
図２は、本発明の一実施の形態におけるテスト項目抽出装置の構成図である。
【００４３】
同図に示すテスト項目抽出装置１００は、ユーザ端末１０からユーザ指定の最大通過回数を取得すると共に、設計モデル２０を読み込む入力部１１０、メモリ１２０に格納された情報から経路を抽出する経路抽出部１３０、抽出された経路からテスト項目表を生成するテスト項目表生成部１４０、テスト項目表を出力する出力部１５０から構成される。
【００４４】
設計モデル２０は、設計モデル生成装置にて設計ドキュメント群を読み込むことにより生成されたものであり、XMIファイルとしてディスク装置等に格納されているものとする。
【００４５】
図３は、本発明の一実施の形態における概要動作のフローチャートである。
【００４６】
ステップ２１０）  入力部１１０は、設計モデル（XMI(XML Metadata Interchange)ファイル）２０を読み込み、メモリ１２０に格納する。
【００４７】
ステップ２３０）  経路抽出部１３０は、メモリ１２０から設計モデル内のフロー図リストを読み込み、当該フロー図からテストすべき実行経路を抽出する。当該フロー図は、ソフトウェア設計情報を指す。
【００４８】
ステップ２８０）  テスト項目表生成部１４０は、経路抽出部１３０で抽出された情報を項目としてまとめるため、画面名、処理の振る舞い（テスト経路）、テスト項目作成時に必要となる情報を取得し、処理の振る舞い（テスト経路）、テスト項目作成時に必要となる情報をひとつのテスト項目としてグループ化する。
【００４９】
ステップ２９０）  テスト項目表生成部１４０は、上記のテスト項目群とメモリ１２０から読み出したフロー図を用いて、テスト項目群を要素として持つ表（テスト項目表）を作成し、出力部１５０からテスト項目表を出力する。
【００５０】
次に、上記の図３のステップ２３０の実行経路抽出処理について詳述する。
【００５１】
図４は、本発明の一実施の形態における実行経路抽出処理（Ｓ２３０）のフローチャートである。
【００５２】
ステップ３１０）  経路抽出部１３０は、ユーザ端末１０からユーザによって指定されたループ最大通過回数（以下、「ユーザ指定ループ最大通過数」と記す）を取得してメモリ１２０に格納する。
【００５３】
ステップ３２０）  経路抽出部１３０は、メモリ１２０からフロー図を読み込む。当該処理の詳細は図５で説明する。
【００５４】
ステップ３３０）  経路抽出部１３０は、読み込んだフロー図からループ最大通過回数で指定された回数のループを通るような経路のリストを生成する。当該処理の詳細は図７で説明する。
【００５５】
ステップ３４０）  経路抽出部１３０は、生成された経路リストをテスト項目表生成部１４０に出力する。
【００５６】
上記の図４のステップ３２０の詳細を以下に示す。
【００５７】
図５は、本発明の一実施の形態における図４のＳ３２０の詳細フローチャートである。
【００５８】
ステップ４１０）  経路抽出部１３０は、メモリ１２０から図６に示すフロー図内の全ノードを読み込む。当該ノード情報は、ノードＩＤ，ノード内テキスト、次展開エッジ群からなる。
【００５９】
ステップ４２０）  経路抽出部１３０は、メモリ１２０から図６に示すフロー図内の全エッジを読み込む。当該エッジ情報は、エッジＩＤ，始点接続ノードＩＤ，終点接続ノードＩＤ，遷移条件からなる。
【００６０】
上記の図４のステップ３３０の詳細を以下に示す。
【００６１】
図７は、本発明の一実施の形態における図４のＳ３３０の詳細フローチャートである。
【００６２】
ステップ５１０）  経路抽出部１３０は、ステップ４２０で読み込まれた開始エッジを次展開エッジ群用スタックに積む。なお、当該経路抽出部１３０は内部にバッファを有し、当該バッファにスタックの領域を設けるものとする。
【００６３】
ステップ５１５）  次展開エッジ群用スタックは空であるかを判定し、空である場合は当該処理を終了する。
【００６４】
ステップ５１６）  次展開エッジ群用スタックの最上位にある次展開エッジ群に要素があるかを判定し、ない場合はステップ５８０に移行する。
【００６５】
ステップ５２０）  次展開エッジ群スタックの最上位にある要素（現在次展開エッジ群）から、ひとつエッジを得て現在エッジとする。
【００６６】
ステップ５３０）  現在次展開エッジ群から現在エッジを取り除く。
【００６７】
ステップ５４０）  経路（エッジ用スタックに積まれているエッジの列）内のループ出現回数を計算する。当該処理は、探索途中経路に存在する現在ループ経路の数（ループ出現回数）を計算するものである。当該処理の詳細については後述する。
【００６８】
ステップ５４５）  ループの出現回数（ループ最大出現回数）がユーザ端末１０より入力されたユーザ指定ループ最大通過数より大きければ、ステップ５１５に移行する。当該処理は、探索途中の経路のループ最大出現回数がユーザ指定ループ最大通過数を超えたらその経路の探索を打ち切ることである。なお、「ループ最大出現回数」とは、探索途中経路に含まれる複数のループ経路のうちループ出現回数が最大であるループ経路のループ出現回数である。
【００６９】
ステップ５５０）  現在エッジをエッジ用スタックに積む。
【００７０】
ステップ５６０）  現在のエッジのもつ終点ノードＩＤに基づいて、フロー図からノードを取得し、そのノードのエッジ（始点との接続）群を取得し、その取得したエッジ（始点との接続）群を、次展開エッジとして、次展開エッジ群スタックに積む。
【００７１】
ステップ５６５）  現在のエッジが終了ノードに接続していない場合はステップ５１５に移行する。
【００７２】
ステップ５７０）  エッジ用スタックの中身を経路として出力し、ステップ５１５に出力する。
【００７３】
ステップ５８０）  次展開エッジ群用スタックをポップする。
【００７４】
ステップ５８５）  ポップしたエッジ用スタックが空である場合は、当該処理を終了する。空でない場合はステップ５９０に移行する。
【００７５】
ステップ５９０）  エッジ用スタックをポップして、処理を終了する。
【００７６】
次に、上記の図７のステップ５４０の経路（エッジ用スタックに積まれているエッジの列）内の現在ループ経路の出現回数を計算する処理について詳述する。
【００７７】
図８は、本発明の一実施の形態における図７のＳ５４０の詳細フローチャートである。
【００７８】
ステップ６１０）  経路抽出部１３０は、バッファから現在エッジを読み込む。
【００７９】
ステップ６２０）  経路（エッジ用スタックに積まれているエッジの列）を読み込む。
【００８０】
ステップ６３０）  探索途中経路を生成する。具体的には、経路を複製し、複製した経路を探索途中経路とする。
【００８１】
ステップ６４０）  探索途中経路の先頭から、先頭に一番近い現在エッジまでを現在ループ経路が何回出現するか計算する。
【００８２】
ステップ６５０）  探索途中経路内で現在ループ経路が何回出現するか（ループ出現回数）を求める。当該ループ出現回数を求める手法として、文献１「R.S. boyer: J. S. Moore (1997). "A fast string searching algorithm". Comm. ACM 20: 762-772」等の技術を用いることができる。当該文献１の手法は、文字列照合のアルゴリズムであるが、ひとつのエッジをひとつの文字とみなし、経路（エッジの列）を文字列とみなせば適用可能である。
【００８３】
次に、上記の図７のステップ５７０のエッジ用スタックの中身を経路として出力する処理について詳述する。
【００８４】
上記の処理を具体的に説明する。
【００８５】
図９は、本発明の一実施の形態における経路抽出部によるテスト経路抽出処理の例を示す。入力されたフロー図を同図（Ａ）に示す。ユーザ端末１０から入力されたユーザ指定最大通過数をＮ、ループ最大出現回数をＭとし、この例ではＮ＝３とする。テスト経路の候補は、開始エッジから終了エッジまでの経路とする。
【００８６】
なお、以下のテスト経路において、（Ｘ，Ｙ）*2は、Ｘ，Ｙ，Ｘ，Ｙの略であり、（Ｘ，Ｙ）*３は、Ｘ，Ｙ，Ｘ，Ｙ，Ｘ，Ｙの略である。
【００８７】
（１）フロー図のテスト経路Ｅ０→Ｅ１→Ｅ２→Ｅ５の場合は、ループ回路なし（Ｍ＝０）であり、M≦Nであるので、テスト経路として抽出する。
【００８８】
（２）フロー図のテスト経路Ｅ０→Ｅ１→Ｅ２→Ｅ３→Ｅ４→Ｅ１→Ｅ２→Ｅ５の場合は、ループ経路は｛Ｅ１，Ｅ２，Ｅ３，Ｅ４｝であり、ループ回数Ｍ＝１となり、M≦Nであるので、テスト経路として抽出する。
【００８９】
（３）フロー図のテスト経路Ｅ０→（Ｅ１→Ｅ２→Ｅ３→Ｅ４）*2→Ｅ１→Ｅ２→Ｅ５の場合は、ループ経路は｛Ｅ１，Ｅ２，Ｅ３，Ｅ４｝であり、ループ回数は"*2"により、Ｍ＝２となり、M≦Nであるので、テスト経路として抽出する。
【００９０】
（４）フロー図のテスト経路Ｅ０→（Ｅ１→Ｅ２→Ｅ３→Ｅ４）*3→Ｅ１→Ｅ２→Ｅ５の場合は、ループ経路は｛Ｅ１，Ｅ２，Ｅ３，Ｅ４｝であり、ループ回数は"*3"によりＭ＝３となり、M≦Nであるので、テスト経路として抽出する。
【００９１】
（５）フロー図のテスト経路Ｅ０→（Ｅ１，Ｅ２，Ｅ３，Ｅ４）*4→Ｅ１，Ｅ２，Ｅ５の場合は、ループ経路は｛Ｅ１，Ｅ２，Ｅ３，Ｅ４｝であり、ループ回数は"*4"によりＭ＝４となり、Ｍ＞Ｎであるため途中で探索を打ち切る。図１０に示すように、例えば、現在エッジが「E1」である場合には、すでにM＞Nとなっているため途中で探索を打ち切る。
【００９２】
また、図９のフロー図はループ経路が１つのみの場合を示したが、図１１に示すようにフロー図に複数のループ経路が存在する場合がある。図１１の例では、ユーザ指定ループ最大通過数（N）＝２とした場合で、フロー図において、Ａ→Ｂ→Ｃ→Ｄ→Ｇ→Ｃ→Ｄ→Ｅ→Ｆをループ［小］とし、Ａ→Ｃ→Ｄ→Ｅ→Ｈ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆをループ［大］とする。同図のように２つのループ経路が存在する場合は、これらのループ［小］とループ［大］の組み合わせより抽出される経路が決定される。図１１の例では（１）〜（１９）の経路がＭ≦Ｎを満たす経路として抽出される。
【００９３】
図１２は、本発明の一実施の形態におけるテスト項目抽出装置の適用例を示す。
【００９４】
設計モデル２０から同図（Ａ）のようなフロー図が入力され、ユーザ端末１０からユーザ指定ループ最大通過数（上限値）＝３が入力され、上記のような経路抽出部１３０の処理により、以下のようなテスト経路がテスト項目としてテスト項目生成部１４０に入力される。フロー図は、ユーザ名とパスワードが入力され、パスワードの入力を３回間違えるとロックされるロジックを示している。
【００９５】
（１）テスト経路Ｅ０→Ｅ１→Ｅ２→Ｅ５は、パスワードを１回で正しく入力した際の動作を確認するテスト項目である。
【００９６】
（２）テスト経路Ｅ０→Ｅ１→Ｅ２→Ｅ３→Ｅ４→Ｅ１→Ｅ２→Ｅ５は、パスワードを１回間違った際の動作を確認するテスト項目である。
【００９７】
（３）テスト経路Ｅ０→（Ｅ１，Ｅ２，Ｅ３，Ｅ４）*２→Ｅ１→Ｅ２→Ｅ５は、パスワードを２回間違った際の動作を確認するテスト項目である。
【００９８】
（４）テスト経路Ｅ０→（Ｅ１，Ｅ２，Ｅ３，Ｅ４）*３→Ｅ１→Ｅ２→Ｅ５は、パスワードを３回間違った際の動作を確認するテスト項目である。
【００９９】
上記の（１）、（２）については従来の技術でも抽出可能であるが、本発明では、（３）、（４）についても抽出が可能となる。
【０１００】
これにより、テスト項目生成部１４０は、図１２（Ｂ）に示すようなテスト項目表を生成し、出力部１５０に出力する。
【０１０１】
なお、上記のテスト項目抽出装置の各構成要素の動作をプログラムとして構築し、テスト項目抽出装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１０２】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【０１０３】
本発明は、上記の実施の形態の例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１０４】
１０  ユーザ端末
２０  設計モデル
１００  テスト項目抽出装置
１１０  入力部
１２０  メモリ
１３０  経路抽出部
１４０  テスト項目表生成部
１５０  出力部
【図１】
2011237992.tif 000003
【図２】
2011237992.tif 000004
【図３】
2011237992.tif 000005
【図４】
2011237992.tif 000006
【図５】
2011237992.tif 000007
【図６】
2011237992.tif 000008
【図７】
2011237992.tif 000009
【図８】
2011237992.tif 000010
【図９】
2011237992.tif 000011
【図１０】
2011237992.tif 000012
【図１１】
2011237992.tif 000013
【図１２】
2011237992.tif 000014