(57)【要約】【課題】状態遷移表の作成負担を軽減し、試験漏れの防止のため全ての試験ケースを生成可能にする。【解決手段】イベント同値分割機能は、テスト対象のシステムのイベントごとに複数のパラメータ値の直積を計算し、パラメータ値の組合せである組合せインスタンスを複数生成し、組合せインスタンスの共通性からイベントインスタンスをイベント同値クラスに集約する。遷移パス作成機能は、イベント同値クラスを用いて状態遷移表を作成し、状態遷移表から遷移パスを抽出する。イベント具体値化機能は、遷移パスに含まれるイベント同値クラスから、イベント同値クラスに含まれるイベントインスタンスを抽出し、抽出したイベントインスタンスからパラメータ値が示される試験ケースを作成する。【選択図】図１
2011022807.tif 000002
【特許請求の範囲】
【請求項１】
パラメータ項目が設定されているイベントに対しては、設定されているパラメータ項目と各パラメータ項目で取られるパラメータ値が示されるイベント定義情報を記憶するイベント定義情報記憶部と、
前記イベント定義情報に基づき、パラメータ項目が設定されているイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを生成し、生成したパラメータ値の組合せを組合せインスタンスとする組合せインスタンス生成部と、
前記組合せインスタンス生成部により生成された組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、組合せインスタンスをいずれかのパラメータ同値クラスに分類するクラス分類部と、
前記クラス分類部により生成されたパラメータ同値クラスと、パラメータ同値クラスが対象とする対象イベントとの対応付けを用いて、状態遷移情報を生成する状態遷移情報生成部とを有することを特徴とする情報処理装置。
【請求項２】
前記組合せインスタンス生成部は、
複数のパラメータ項目が設定され、少なくとも１つのパラメータ項目には複数のパラメータ値が含まれるイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを複数生成して、複数の組合せインスタンスを生成し、
前記クラス分類部は、
前記組合せインスタンス生成部により生成された前記複数の組合せインスタンスの数よりも少ない数のパラメータ同値クラスに前記複数の組合せインスタンスを分類することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記組合せインスタンス生成部は、
同一のイベントに対して、前記クラス分類部により生成されたパラメータ同値クラスと、いずれかのパラメータ項目に含まれるパラメータ値との直積を計算して、パラメータ同値クラスとパラメータ値の組合せを生成し、生成した組合せを新たな組合せインスタンスとし、
前記クラス分類部は、
前記組合せインスタンス生成部により生成された新たな組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、新たな組合せインスタンスをいずれかのパラメータ同値クラスに分類することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記クラス分類部は、
同一のイベントに対して、複数のパラメータ同値クラスを複数のカテゴリーに区分して生成し、
前記組合せインスタンス生成部は、
同一のイベントに対して前記クラス分類部により生成されたパラメータ同値クラスの直積をカテゴリー間で計算してパラメータ同値クラスの組合せを生成し、生成したパラメータ同値クラスの組合せを新たな組合せインスタンスとし、
前記クラス分類部は、
前記組合せインスタンス生成部により生成された新たな組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、新たな組合せインスタンスをいずれかのパラメータ同値クラスに分類することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記情報処理装置は、更に、
前記クラス分類部により生成されたパラメータ同値クラスと対象イベントとの対応付けを表象するイベント同値クラスを生成するイベント同値クラス抽出部を有し、
前記状態遷移情報生成部は、
前記イベント同値クラス抽出部により生成されたイベント同値クラスを用いて、状態遷移情報を生成することを特徴とする請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記情報処理装置は、更に、
前記状態遷移情報生成部により生成された状態遷移情報に基づき、開始状態から終了状態に至るまでのイベント遷移を表す状態遷移パスをイベント同値クラスを含ませて生成する状態遷移パス生成部と、
前記状態遷移パス生成部により生成された状態遷移パスに含まれるイベント同値クラスに基づき、該当するイベントのパラメータ同値クラスを抽出するとともに、抽出したパラメータ同値クラスに分類されている組合せインスタンスのうちのいずれかの組合せインスタンスを抽出する組合せインスタンス抽出部を有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記組合せインスタンス抽出部は、
抽出した組合せインスタンスに含まれるパラメータ値を用いて、状態遷移パスに対する試験に用いるパラメータ値を示す試験ケース情報を生成することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記クラス分類部は、
前記組合せインスタンスにより生成された組合せインスタンスの各々に対して、組合せインスタンスに含まれるパラメータ値に基づいて定義付けを行い、同じ定義付けがなされた組合せインスタンス同士を同じパラメータ同値クラスに分類することを特徴とする請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
前記クラス分類部は、
前記組合せインスタンスにより生成された組合せインスタンスの各々に対して、組合せインスタンスに含まれるパラメータ値に基づいて、各組合せインスタンスが有効な組合せとして取り扱われるか否かに関する有効性の定義付けを行うとともに、各組合せインスタンスがどのような組合せの類型に属するのかに関する類型の定義付けを行い、同じ有効性及び類型が定義付けられている組合せインスタンス同士を同じパラメータ同値クラスに分類することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
パラメータ項目が設定されているイベントに対しては、設定されているパラメータ項目と各パラメータ項目で取られるパラメータ値が示されるイベント定義情報を記憶するイベント定義情報記憶領域から、コンピュータが前記イベント定義情報を読み出すイベント定義情報読み出しステップと、
前記コンピュータが、前記イベント定義情報読み出しステップにより読み出されたイベント定義情報に基づき、パラメータ項目が設定されているイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを生成し、生成したパラメータ値の組合せを組合せインスタンスとする組合せインスタンス生成ステップと、
前記コンピュータが、前記組合せインスタンス生成ステップにより生成された組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、組合せインスタンスをいずれかのパラメータ同値クラスに分類するクラス分類ステップと、
前記コンピュータが、前記クラス分類ステップにより生成されたパラメータ同値クラスと、パラメータ同値クラスが対象とする対象イベントとの対応付けを用いて、状態遷移情報を生成する状態遷移情報生成ステップとを有することを特徴とする情報処理方法。
【請求項１１】
パラメータ項目が設定されているイベントに対しては、設定されているパラメータ項目と各パラメータ項目で取られるパラメータ値が示されるイベント定義情報を記憶するイベント定義情報記憶領域から、前記イベント定義情報を読み出すイベント定義情報読み出し処理と、
前記イベント定義情報読み出し処理により読み出されたイベント定義情報に基づき、パラメータ項目が設定されているイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを生成し、生成したパラメータ値の組合せを組合せインスタンスとする組合せインスタンス生成処理と、
前記組合せインスタンス生成処理により生成された組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、組合せインスタンスをいずれかのパラメータ同値クラスに分類するクラス分類処理と、
前記クラス分類処理により生成されたパラメータ同値クラスと、パラメータ同値クラスが対象とする対象イベントとの対応付けを用いて、状態遷移情報を生成する状態遷移情報生成処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムのテストに用いる試験ケース情報を作成する技術に関する。
試験ケース情報（以下、試験ケースともいう）とは、システムのテストに用いるイベントごとにパラメータ値が記述された情報である。
【背景技術】
【０００２】
本発明に関連する技術として、特許文献１に記載の技術では、状態遷移表と、遷移ラベルとイベントとの対応表を用いることで、パラメータ値を持つイベントによって検査項目（試験ケースに相当）を生成している。
【０００３】
また、非特許文献１に記載の同値分割や境界値分析では、要件定義書や各種設計書と、テスト担当者の直感に基づいて、ソフトウェアの動作が同種のものをカテゴライズし、カテゴリーの中から代表的な値を選出して試験ケースを作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−６３５３２号公報
【非特許文献】
【０００５】
【非特許文献１】「体系的ソフトウェアテスト入門  〜アジャイル開発時代のテスト計画、準備、実行、プロセス改善まで〜」Ｒｉｃｋ  Ｄ．  Ｃｒａｉｇ，  Ｓｔｅｆａｎ  Ｐ．  Ｊａｓｋｉｅｌ  著、宗雅彦  監訳、成田光彰  訳、日経ＢＰ社
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、状態遷移表の入力を必要とし、状態遷移表が入力された後の処理を対象としている。
しかし、イベントがパラメータを持ち、パラメータ数や取り得るパラメータ値が多い場合、作成すべき状態遷移表が巨大になり、現実的に困難な作業工数を必要とする。
つまり、状態遷移表の作成には多大な労力、時間が必要となるが、特許文献１の技術では状態遷移表の作成時の負担を軽減することができず、この結果、依然として全体としては多大な作業工数が必要であるという課題がある。
【０００７】
また、非特許文献１に記載の同値分割や境界値分析は、要件定義書や各種設計書、テスト担当者の考慮から漏れている境界条件がないことを確認できないため、試験漏れが発生し、運用開始後にシステム障害が発生する恐れがある。
【０００８】
この発明は、上記のような課題を解決することを主な目的の一つとしており、状態遷移表等の状態遷移情報の作成負担を軽減して全体の作業工数を低減するとともに、試験漏れを防止できるようすべての試験ケースを生成可能にすることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、
パラメータ項目が設定されているイベントに対しては、設定されているパラメータ項目と各パラメータ項目で取られるパラメータ値が示されるイベント定義情報を記憶するイベント定義情報記憶部と、
前記イベント定義情報に基づき、パラメータ項目が設定されているイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを生成し、生成したパラメータ値の組合せを組合せインスタンスとする組合せインスタンス生成部と、
前記組合せインスタンス生成部により生成された組合せインスタンスを集約するパラメータ同値クラスを１つ以上生成し、組合せインスタンスをいずれかのパラメータ同値クラスに分類するクラス分類部と、
前記クラス分類部により生成されたパラメータ同値クラスと、パラメータ同値クラスが対象とする対象イベントとの対応付けを用いて、状態遷移情報を生成する状態遷移情報生成部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、イベントに設定されているパラメータ項目のパラメータ値の直積を計算して、パラメータ値の組合せである組合せインスタンスを生成するとともに、生成した組合せインスタンスをパラメータ同値クラスに分類して組合せインスタンスを集約するので、個々のパラメータ値ではなく、パラメータ値の組合せを集約するパラメータ同値クラスを用いた状態遷移情報の作成が可能となり、状態遷移情報の作成において処理しなければならないデータ量を少なくすることができ、状態遷移情報の作成負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る情報処理装置の構成例を示す図。
【図２】実施の形態１に係るイベント定義ＤＢが記憶しているデータの例を示す図。
【図３】実施の形態１に係るパラメータ値結合ルールＤＢが記憶しているデータの例を示す図。
【図４】実施の形態１に係る型情報定義ＤＢが記憶しているデータの例を示す図。
【図５】実施の形態１に係る組合せインスタンスの生成例（ｒ２適用後）を示す図。
【図６】実施の形態１に係るパラメータと組合せインスタンスとパラメータ同値クラスの関係例（ｒ２適用後）を示す図。
【図７】実施の形態１に係る組合せインスタンスの生成例（ｒ３適用後）を示す図。
【図８】実施の形態１に係るパラメータと組合せインスタンスとパラメータ同値クラスの関係例（ｒ３適用後）を示す図。
【図９】実施の形態１に係る組合せインスタンスの生成例（ｒ４適用後）を示す図。
【図１０】実施の形態１に係るパラメータ同値クラスと組合せインスタンスとパラメータ同値クラスの関係例（ｒ４適用後）を示す図。
【図１１】実施の形態１に係るパラメータ同値クラス等とイベント同値クラスとの関係例（ｒ４適用後）を示す図。
【図１２】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１３】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１４】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１５】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１６】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１７】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１８】実施の形態１に係る状態遷移表の生成手順を説明する図。
【図１９】実施の形態１に係る遷移パスの例を示す図。
【図２０】実施の形態１に係る遷移パスの例を示す図。
【図２１】実施の形態１に係る遷移パスの例を示す図。
【図２２】実施の形態１に係る遷移パスをデータ構造として表わした例を示す図。
【図２３】実施の形態１に係る試験ケースの例を示す図。
【図２４】実施の形態１に係る情報処理装置の動作例を示すフローチャート図。
【図２５】実施の形態１に係る情報処理装置の動作例を示すフローチャート図。
【図２６】実施の形態１に係る情報処理装置の動作例を示すフローチャート図。
【図２７】実施の形態１に係る情報処理装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、本実施の形態に係る情報処理装置１００の構成例を示す。
本実施の形態に係る情報処理装置１００は、イベント同値分割機能、遷移パス作成機能、イベント具体値化機能に大別される。
【００１３】
イベント同値分割機能は、テスト対象のシステムに含まれるイベントごとにパラメータ値の組合せの集約を行う機能である。
より具体的には、イベント同値分割機能は、テスト対象のシステムに含まれるイベントごとにイベントに設定されているパラメータ項目間におけるパラメータ値の直積を計算して、パラメータ値の組合せである組合せインスタンスを生成するとともに、組合せインスタンスを集約するパラメータ同値クラスを生成し、組合せインスタンスをいずれかのパラメータ同値クラスに分類し、また、パラメータ同値クラスと、対象となる対象イベントとを対応付ける。
パラメータ同値クラスは、共通の性質を有する組合せインスタンスをグルーピングするためのクラスである。
また、パラメータ同値クラスと対象イベントとの対応付けを表象するクラスをイベント同値クラスという。
【００１４】
遷移パス作成機能は、イベント同値分割機能による集約結果を用いて状態遷移情報である状態遷移表を作成し、作成した状態遷移表から状態遷移パス（以下、遷移パスともいう）を抽出する。
より具体的には、遷移パス作成機能は、個々のパラメータ値ではなく、イベント同値分割機能の集約結果であるイベント同値クラスを用いて状態遷移表を生成する。
個々のパラメータ値ではなく、各々のパラメータ値の組合せを代表（表象）するイベント同値クラスを用いることにより、扱うデータ数を減らすことができ、状態遷移表の作成負担が軽減される。
なお、遷移パス作成機能により抽出された遷移パスには、イベント同値クラスが含まれる。
【００１５】
イベント具体値化機能は、遷移パス作成機能により抽出された遷移パスに含まれるイベント同値クラスから、イベント同値クラスに含まれるイベントインスタンスを抽出し、抽出したイベントインスタンスに含まれるパラメータ値を抽出し、抽出したパラメータ値が示される試験ケースを作成する。
【００１６】
次に、各機能の構成要素を説明する。
【００１７】
イベント同値分割機能において、イベント定義ＤＢ１０１は、システムが扱うイベントの種類、パラメータ項目、および取り得るパラメータ値の集合を規定する。
ここでいうイベントとは、入力イベントや出力イベントの他、システム内部の実行イベントも含んでいる。
また、試験対象であるシステムはハードウェアだけの場合や、ソフトウェアだけの場合でもよく、とくにプログラムの関数であってもよい。
なお、イベント定義ＤＢ１０１はイベント定義情報記憶部の例である。
【００１８】
パラメータ値結合ルールＤＢ１０２は、イベントを同値分割するのに先立ち、関連するパラメータ値の組合せで同値分割をできるよう、どのパラメータ同士が関連するかを規定する。
【００１９】
型情報定義ＤＢ１０３は、イベント定義ＤＢ１０１において、取り得るパラメータ値の集合を効率的に規定できるよう、あらかじめパラメータ値の集合を型として格納しておく。
【００２０】
パラメータ値結合部１０４は、パラメータ値結合ルールにしたがい、イベント定義ＤＢ１０１、型情報定義ＤＢ１０３、後述のパラメータ値同値関係ＤＢ１０５から、パラメータ値またはパラメータ同値クラスの集合を取り出し、関連するパラメータ同士の直積を計算し、パラメータ値同値関係ＤＢ１０５に記録する。
つまり、パラメータ値結合部１０４は、パラメータ項目が設定されているイベントに対して、パラメータ項目間におけるパラメータ値の直積を計算してパラメータ値の組合せを生成し、生成したパラメータ値の組合せを組合せインスタンスとする。
また、パラメータ値結合部１０４は、同一のイベントに対して、後述の同値関係指定部１０６により生成されたパラメータ同値クラスと、いずれかのパラメータ項目に含まれるパラメータ値との直積を計算して、パラメータ同値クラスとパラメータ値の組合せを生成し、生成した組合せを新たな組合せインスタンスとする場合もある。
更に、パラメータ値結合部１０４は、同値関係指定部１０６が同一のイベントに対して複数のパラメータ同値クラスを複数のカテゴリーに区分して生成している場合に、同一のイベントに対して同値関係指定部１０６により生成されたパラメータ同値クラスの直積をカテゴリー間で計算してパラメータ同値クラスの組合せを生成し、生成したパラメータ同値クラスの組合せを新たな組合せインスタンスとする場合もある。
パラメータ値結合部１０４は、組合せインスタンス生成部の例である。
【００２１】
パラメータ値同値関係ＤＢ１０５は、パラメータ値の組合せである組合せインスタンスと、それがどのパラメータ同値クラスに属するかの関係を記録する。
さらに、パラメータ同値クラスからパラメータ値への展開時に代表値として使用するかどうかも記録する。
【００２２】
同値関係指定部１０６は、ユーザからの入力に従って、組合せインスタンスがどのパラメータ同値クラスに属するのかを指定する機能である。
パラメータ同値クラスは、前述したように、共通性を有する組合せインスタンスを集約するための単位である。同様の動作や出力をする組合せインスタンス、同じ機能や特徴を持つ組合せインスタンスは、同じパラメータ同値クラスに分類される。
図１では、図示を省略しているが、ユーザが使用するキーボードやマウス等の入力装置が情報処理装置１００に接続されており、同値関係指定部１０６は、入力装置からユーザの指示を取得し、ユーザの指示に基づいて、組合せインスタンスを、いずれかのパラメータ同値クラスに分類する。
また、同値関係指定部１０６は、あるパラメータ値結合ルールに従ってパラメータ値結合部１０４が生成したイベントクラスをあるカテゴリーのパラメータ同値クラスに分類し、更に、別のパラメータ値結合ルールに従ってパラメータ値結合部１０４が生成したイベントクラスを別のカテゴリーのパラメータ同値クラスとして分類する場合がある。
なお、同値関係指定部１０６は、クラス分類部の例である。
【００２３】
代表値指定部１０７は、ユーザからの入力に従って、パラメータ同値クラスからパラメータ値への展開時に代表として使用する組合せを指定し、パラメータ値同値関係ＤＢ１０５に記録する機能である。
代表値指定部１０７も、入力装置からユーザの指示を取得し、ユーザの指示に基づいて、代表値として使用するパラメータ値の組合せを指定する。
【００２４】
イベント同値クラス抽出部１０８は、パラメータ値同値関係ＤＢ１０５から、イベントの種類およびパラメータ同値クラスを、イベント同値クラスとして抽出し、イベント同値クラスＤＢ１０９に記録する。
換言すると、イベント同値クラス抽出部１０８は、パラメータ同値クラスと対象イベントとの対応付けを表象するイベント同値クラスを生成し、生成したイベント同値クラスをイベント同値クラスＤＢ１０９に記録する。
このとき、パラメータ同値クラスは、そのイベントが持つすべてのパラメータに対して同値関係を規定していなければならない。
【００２５】
次に、遷移パス作成機能において、イベント同値クラスＤＢ１０９は、すべてのイベントについて、イベントの種類とパラメータ同値クラスとの対応付けであるイベント同値クラスを保持する。
【００２６】
状態遷移表作成部１１０は、イベント同値クラスを識別すべきイベントと見なして、状態遷移表を作成する機能である。
つまり、状態遷移表作成部１１０は、個々のパラメータ値ではなく、イベント同値クラスを用いて状態遷移表を作成する。
状態遷移表作成部１１０が作成する状態遷移表では、個々のパラメータ値ではなくイベント同値クラスにて状態遷移が表される。
また、状態遷移表作成部１１０は、遷移先状態指定部１１１を介してユーザから遷移先の状態を入力し、状態遷移ＤＢ１１２に記録する。
なお、状態遷移表作成部１１０は状態遷移情報生成部の例である。
【００２７】
遷移先状態指定部１１１は、ユーザからの入力に従い、遷移先の状態を指定する機能である。
【００２８】
状態遷移ＤＢ１１２は、状態の一覧と、遷移の一覧を保持する。
遷移は、遷移前の状態、遷移後の状態、遷移を引き起こすイベント同値クラスの３要素で構成される。
【００２９】
遷移パス抽出部１１３は、状態遷移ＤＢ１１２において、状態をノード、遷移を有向辺と見なした有向グラフにおいて、抽出条件指定部１１４からの抽出条件に基づいて、遷移パスを抽出し、遷移パスＤＢ１１５に記録する。
遷移パス抽出部１１３が抽出する遷移パスには、イベント同値クラスが示される。
遷移パス抽出部１１３は状態遷移パス生成部の例である。
【００３０】
抽出条件指定部１１４は、ユーザからの入力に従い、遷移パスを抽出するための条件を指定する機能である。
遷移パスを抽出するための条件とは、所定の状態や遷移を通過するパスや、パスの長さ、最大ループ回数等を指定する条件である。
【００３１】
遷移パスＤＢ１１５は、遷移パスの一覧を保持する。
遷移パスの構成要素である遷移は、遷移前の状態、遷移後の状態、遷移を引き起こすイベント同値クラスの３つを保持している。
【００３２】
イベント具体値化機能において、引数決定部１１６は、遷移パスを構成する遷移を引き起こすイベント同値クラスを、具体的なパラメータ値に展開する際に、どのパラメータ値に展開するかを決定する機能である。
パラメータ値への展開方法としては、例えば、パラメータ値同値関係ＤＢ１０５で代表値指定されたものや、オールペア法やｋ−ｗａｙ法や直交表を利用したものや、すべてのパラメータ値を使用するものや、パラメータそのものを欠落させるもの等がある。
【００３３】
イベント同値クラス展開部１１７は、引数決定部１１６が決定したパラメータ値を元に、遷移パス中のイベント同値クラスを、具体的なパラメータ値を割り当てられたイベントで構成される試験ケースに展開し、試験ケースＤＢ１１８に記録する機能である。
【００３４】
つまり、引数決定部１１６とイベント同値クラス展開部１１７は、協働により、状態遷移パスに含まれるイベント同値クラスに基づき、該当するイベントのパラメータ同値クラスを抽出するとともに、抽出したパラメータ同値クラスに分類されている組合せインスタンスのうちのいずれかの組合せインスタンスを抽出し、更に、抽出した組合せインスタンスに含まれるパラメータ値を用いて試験ケース情報を生成する。
試験ケース情報は、遷移パス抽出部１１３により抽出された遷移パスの試験に用いられるパラメータ値を示す情報である。また、試験ケース情報は、遷移パスの構成要素である遷移が、遷移前の状態、遷移後の状態、遷移を引き起こすパラメータ値を割り当てられたイベントの３要素を保持する。
引数決定部１１６及びイベント同値クラス展開部１１７は、組合せインスタンス抽出部の例である。
【００３５】
試験ケースＤＢ１１８は、イベント同値クラス展開部１１７により生成された試験ケースの一覧を保持する。
【００３６】
試験ケース出力部１１９は、試験ケースＤＢ１１８が保持している試験ケースを出力する。
【００３７】
以降、各ＤＢで保持するデータの例を図２〜図２３を用いて説明しながら、図２４〜図２６のフローチャートを用いて本実施の形態に係る情報処理装置１００の動作例を説明する。
なお、各ＤＢの記録方式（データの形式）は図２〜図２３に示すものに限らず、他の方式であってもよい。
なお、以降は図書貸し出しシステムを例にとって説明していく。
【００３８】
図２４は、イベント同値分割機能における動作例を示すフローチャートである。
【００３９】
先ず、パラメータ値結合部１０４が、イベント定義ＤＢ１０１からイベント定義情報を読み出す（Ｓ１３０１）（イベント定義情報読み出しステップ）。
【００４０】
イベント定義ＤＢ１０１には、図２に示すイベント定義情報が記憶されている。
図２は、図書貸し出しシステムに含まれるイベントの一覧を示している。
図２の例では、図書貸し出しシステムのイベントとして、「図書選択入力」、「借用者情報入力」、「借用期間入力」、「借用確定入力」のイベントが示されている。
また、「図書選択入力」、「借用者情報入力」、「借用期間入力」の各イベントには、パラメータ項目（パラメータ名）が設定されている。一方、「借用確定入力」イベントには、パラメータ項目が設定されていない。このように、イベントはパラメータ項目を持たないこともあり、パラメータ項目を１つだけ持つこともあり、更には、パラメータ項目を複数持つこともある。
また、「借用期間入力」イベントでは、「借用日」、「返却日」、「自動継続」という３つのパラメータ項目（パラメータ名）が含まれるとともに、「借用日」では、「今日」及び「明日」という２つのパラメータ値を取り得ること、「返却日」では、「今日」、「明日」及び「明後日」という３つのパラメータ値を取り得ることが示されている。
また、「図書選択入力」イベントの「図書ＩＤ」のパラメータ値のデータ型がＩｎｔｅｇｅｒ型であることが示され、「借用者情報入力」の「氏名」、「住所」及び「電話番号」の各々のパラメータ値のデータ型がＣｈａｒ型であることが示されている。
このように、イベント定義ＤＢ１０１では、複数の既定のパラメータ値を取り得るパラメータ項目については、取り得る複数のパラメータ値を｛  ｝内に列挙しており、そうでないものは型名を示している。なお、型名が指すパラメータ値の集合は図４の情報に示される。
図４のテーブルは、型情報定義ＤＢ１０３に格納されている。なお、図４は紙面の都合上、略記している。
【００４１】
なお、本実施の形態で説明する図書貸し出しシステムでは、借用期間入力イベントの仕様は以下のようにする。
１）借用期間（返却日−借用日）が２日以上となるような入力ができないようにする（借用日：今日、返却日：明後日という入力はできない）。
２）自動継続は、借用期間を１日延長する機能である。但し、自動継続は、借用期間が１日の場合のみ有効であり、借用期間が１日であり返却日に図書が返却されなかった場合にさらに借用期間を１日延長する。つまり、借用期間＝日帰り（借用日と返却日が同日）で自動継続するとエラーを出力する。
【００４２】
次に、パラメータ値結合部１０４が、パラメータ値結合ルールＤＢ１０２から、結合ルール情報を読み出す（Ｓ１３０２）。
【００４３】
結合ルール情報は、結合対象のパラメータ項目の集合で構成される。
図３は、結合ルール情報の例を示す。
図３に示すように、イベントが持つパラメータに対して組合せルールが対応付けられる。
図３（ｂ）の借用期間入力イベントでは、組合せルールは以下のような意味を持つ。
組合せルールｒ２により借用日と返却日のそれぞれのパラメータ値の直積を計算して組合せインスタンスを生成し、生成した組合せインスタンスについて同値分割を行って組合せインスタンスをパラメータ同値クラスに分類し、
組合せルールｒ３により自動継続のパラメータ値の直積を計算して組合せインスタンスを生成し、生成した組合せインスタンスについて同値分割を行って組合せインスタンスをパラメータ同値クラスに分類し、
組合せルールｒ４により、借用日と返却日のパラメータ同値クラス（借用日／返却日のカテゴリーのパラメータ同値クラス）と、自動継続のパラメータ同値クラス（自動継続のカテゴリーのパラメータ同値クラス）の直積を計算して組合せインスタンスを生成し、生成した組合せインスタンスについて同値分割を行って組合せインスタンスを更にパラメータ同値クラスに分類することを情報処理装置１００に指示している。
また、イベントに対して関連づけられている組合せルールｒ４があるが、ｒ４を適用して同値分割を実施した後、イベント同値クラスを抽出することも指示している（ｒ４以下のルールで借用期間入力イベントのすべてのパラメータをカバーしているのでイベント同値クラスを抽出可能）。
なお、図３（ａ）に示す図書選択入力イベントでは、図書ＩＤのパラメータ値の直積を計算して組合せインスタンスを生成し、生成した組合せインスタンスについて同値分割を行って組合せインスタンスをパラメータ同値クラスに分類し、更に、イベント同値クラスが生成される。
イベントがパラメータを持たない場合には、イベント同値クラスを１つだけ抽出する。
【００４４】
次に、パラメータ値結合部１０４は、Ｓ１３０１で読み出したイベント定義情報から結合ルールの構成要素であるパラメータ名を取得し、各々のパラメータ項目が取り得るパラメータ値の集合同士で直積を計算し、直積計算の結果をパラメータ値同値関係ＤＢ１０５に記録する（Ｓ１３０３）（組合せインスタンス生成ステップ）。
【００４５】
図３の組合せルールｒ２に従って、パラメータ項目「借用日」とパラメータ項目「返却日」においてパラメータ値の直積を計算すると、図５に示す結果が得られる。
図５において、「ｐ１」はパラメータ項目「借用日」のパラメータ値「今日」を示し、「ｐ２」はパラメータ項目「借用日」のパラメータ値「明日」を示す。
また、「ｐ３」はパラメータ項目「返却日」のパラメータ値「今日」を示し、「ｐ４」はパラメータ項目「返却日」のパラメータ値「明日」を示し、「ｐ５」はパラメータ項目「返却日」のパラメータ値「明後日」を示す。
そして、「ｐ１」と「ｐ３」の組合せが、組合せインスタンス「ｃ１」となり、「ｐ１」と「ｐ４」の組合せが、組合せインスタンス「ｃ５」となり、「ｐ１」と「ｐ５」の組合せが、組合せインスタンス「ｃ３」となり、「ｐ２」と「ｐ３」の組合せが、組合せインスタンス「ｃ４」となり、「ｐ２」と「ｐ４」の組合せが、組合せインスタンス「ｃ２」となり、「ｐ２」と「ｐ５」の組合せが、組合せインスタンス「ｃ６」となる。
なお、この時点では、代表値は指定されていない。
【００４６】
次に、同値関係指定部１０６が、ユーザから入力装置を介して各組合せインスタンスの「大分類」及び「小分類」の指定を入力する（Ｓ１３０４）。
また、同値関係指定部１０６が、ユーザの「大分類」と「小分類」の指示に従って組合せインスタンスをパラメータ同値クラスに分類する（Ｓ１３０５）（クラス分類ステップ）。
ここで、「大分類」とは、各組合せインスタンスが有効な組合せとして取り扱われるか否かに関する定義付け（有効性の定義付け）であり、「小分類」とは、各組合せインスタンスがどのような組合せの類型に属するのかに関する定義付け（類型の定義付け）である。つまり、ユーザは、組合せインスタンスの各々に対して、組合せインスタンスに含まれるパラメータ値に基づいて有効性の定義付けである「大分類」を判断するとともに、類型の定義付けである「小分類」を判断し、同値関係指定部１０６は、ユーザの指示に従って、組合せインスタンスごとに、「大分類」の値及び「小分類」の値を指定し、「大分類」及び「小分類」の値が同じ組合せインスタンス（同じ有効性及び類型が定義付けられている組合せインスタンス）同士を同じパラメータ同値クラスに分類する。
また、このとき、代表値指定部１０７が、入力装置を介してユーザから代表値の指定を入力し、パラメータ同値クラスごとに代表値を指定していてもよい。
代表値とは、イベント具体値化機能において、イベント同値クラスからイベントインスタンス、更には具体的なパラメータ値を抽出する際に、抽出の対象となるイベントインスタンスである。
【００４７】
図６は、同値関係指定部１０６によりＳ１３０５の処理が行われた後のパラメータ値同値関係ＤＢ１０５のデータ例を示す。
図６において、「ｐｅｃ１」〜「ｐｅｃ４」はパラメータ同値クラスを示す。
同値関係指定部１０６は、ユーザの指示に従って、パラメータ同値クラスとして、「大分類」及び「小分類」の各値を追加している。
なお、「大分類」の値は、有効／無効／仕様外／判定不可のいずれかを記入し、さらに細かい分類は「小分類」に記載する（一般的にパラメータ同値クラスはさらに細分化することができるため、この例のように大分類と小分類の２段階に限らず、３段階以上にしてもよい）。
「小分類」の値は、各組合せインスタンスの性質を示す。借用日が「今日」で返却日が「今日」の場合や、借用日が「明日」で返却日が「明日」の場合、「日帰り」という類型が指定される。
「大分類」において「有効」はそのパラメータ値を持つイベントが起こってもよく、なおかつシステムとして期待するパラメータ値であることを示す。
「無効」はそのパラメータ値を持つイベントが起こってもよいが、システムとしては期待していないパラメータ値であることを示す。例えば、借用日が「明日」で、返却日が「今日」の場合、借用日の方が返却日よりも後になってしまい、システムとしては入力エラーをシステム利用者に通知しなければならない。
「仕様外」はそのパラメータ値を持つイベントが起こることが期待外であること、すなわち仕様外の動作であることを示している。前述したように、本実施の形態に係る図書貸し出しシステムでは、借用期間が２日以上となるような入力は認められないため、借用期間入力画面で借用日を「今日」と選択すると、返却日の候補が自動的に絞り込まれて「明後日」を選択できないようにする、という仕様となり、借用日＝今日、返却日＝明後日というイベントが起こってしまうと、仕様外ということになる。
「判定不可」は、そのパラメータ値だけでは、イベントが「有効」「無効」「仕様外」のいずれとも断定することができない場合に記載する。
【００４８】
パラメータ同値クラス「ｐｅｃ１」では、大分類「判定不可」及び小分類「日帰り」が指定されている。
パラメータ同値クラス「ｐｅｃ２」では、大分類「判定不可」及び小分類「１日借用」が指定されている。
パラメータ同値クラス「ｐｅｃ３」では、大分類「仕様外」及び小分類「２日以上借用」が指定されている。
パラメータ同値クラス「ｐｅｃ４」では、大分類「無効」及び小分類「借用期間逆転」が指定されている。
パラメータ同値クラス「ｐｅｃ１」及び「ｐｅｃ２」では、図２に示したパラメータ項目「自動継続」のパラメータ値が決定しないと「有効」「無効」又は「仕様外」の判断ができないので、この時点では、大分類は「判定不可」となっている。
また、パラメータ同値クラス「ｐｅｃ３」については、前述したように借用期間が２日以上となるような入力は認められないため、大分類は「仕様外」となっている。
また、パラメータ同値クラス「ｐｅｃ４」については、借用期間が逆転しているので、無効な組合せであり、大分類は「無効」となっている。
【００４９】
パラメータ「ｐ１」と「ｐ３」との組合せインスタンス「ｃ１」は、パラメータ値「今日」と「今日」の組合せであり、パラメータ「ｐ２」と「ｐ４」との組合せインスタンス「ｃ２」は、パラメータ値「明日」と「明日」の組合せであり、ともに、ユーザによって「判定不可」及び「日帰り」と定義づけられ、このため、同値関係指定部１０６によりパラメータ同値クラス「ｐｅｃ１」に分類され、２つの組合せインスタンスが１つのパラメータ同値クラスに集約される。
同様に、パラメータ「ｐ１」と「ｐ４」との組合せインスタンス「ｃ５」と、パラメータ「ｐ２」と「ｐ５」との組合せインスタンス「ｃ６」は、ともに、ユーザによって「判定不可」及び「１日借用」と定義づけられ、このため、同値関係指定部１０６によりパラメータ同値クラス「ｐｅｃ２」に分類され、２つの組合せインスタンスが１つのパラメータ同値クラスに集約される。
また、パラメータ「ｐ１」と「ｐ５」との組合せインスタンス「ｃ３」は、ユーザによって「仕様外」及び「２日以上借用」と定義づけられ、このため、同値関係指定部１０６によりパラメータ同値クラス「ｐｅｃ３」に分類される。
また、「ｐ２」と「ｐ３」の組合せインスタンス「ｃ４」は、ユーザによって「無効」及び「借用期間逆転」と定義づけられ、このため、同値関係指定部１０６によりパラメータ同値クラス「ｐｅｃ４」に分類される。
このように、６つの組合せインスタンスが４つのパラメータ同値クラスに分類されている。
なお、組合せインスタンス「ｃ１」〜「ｃ６」は、それぞれ代表値に指定されている（代表値＝ｔｒｕｅ）。
【００５０】
なお、本例では、同値関係指定部１０６が、ユーザの指定に従って、各組合せインスタンスに対して「大分類」及び「小分類」の値を指定することとしているが、情報処理装置１００自身が所定のルールに基づいて、「借用日」のパラメータ値と「返却日」のパラメータ値の関係を解析して、各組合せインスタンスに対して「大分類」及び「小分類」の値を指定するようにしてもよい。
また、代表値指定部１０７自身が所定のルールに基づいて代表値を指定してもよい。
【００５１】
なお、本実施の形態で説明する図書貸し出しシステムでは、図３に示すように、組合せルールｒ３に基づく組合せインスタンスの生成及び組合せルールｒ４に基づく組合せインスタンスの生成が必要であるため、組合せルールｒ３及び組合せルールｒ４に対して、図２４のＳ１３０３〜Ｓ１３０５が行われる。
具体的な処理例を以下に示す。
【００５２】
図７は、パラメータ値結合部１０４がＳ１３０３の処理を図３の組合せルールｒ３に基づいて行った場合に生成された組合せインスタンスの例を示している。
パラメータ項目「自動継続」は、パラメータ値が「する」、「しない」であり、また、組合せルールｒ３は他のパラメータ項目のパラメータ値との組合せを指示していないので、組合せインスタンスは、図７に示す通り２つである。
【００５３】
図８は、同値関係指定部１０６が図７の組合せインスタンスに対してＳ１３０４及びＳ１３０５の処理を行って組合せインスタンスをパラメータ同値クラスに分類した例を示している。
なお、図８に示すパラメータ同値クラスと、図６に示すパラメータ同値クラスは別カテゴリー（組合せルールｒ３に対応するカテゴリーと、組合せルールｒ２に対応するカテゴリー）として管理される。
【００５４】
図９は、パラメータ値結合部１０４がＳ１３０３の処理を図３の組合せルールｒ４に基づいて行った場合に生成された組合せインスタンスの例を示している。
つまり、パラメータ値結合部１０４は、パラメータ同値クラスの直積をカテゴリー間で計算してパラメータ同値クラスの組合せを生成し、生成したパラメータ同値クラスの組合せを新たな組合せインスタンス「ｃ９」〜「ｃ１６」としている。
より具体的には、パラメータ同値クラス「ｐｅｃ１」〜「ｐｅｃ４」は組合せルールｒ２に対応するカテゴリーに属するパラメータ同値クラスであり、パラメータ同値クラス「ｐｅｃ５」及び「ｐｅｃ６」は組合せルールｒ３に対応するカテゴリーに属するパラメータ同値クラスであり、カテゴリー間でパラメータ同値クラスの直積を計算している（ｐｅｃ１とｐｅｃ５、ｐｅｃ１とｐｅｃ６、ｐｅｃ２とｐｅｃ５、ｐｅｃ２とｐｅｃ６、ｐｅｃ３とｐｅｃ５、ｐｅｃ３とｐｅｃ６、ｐｅｃ４とｐｅｃ５、ｐｅｃ４とｐｅｃ６）。
【００５５】
図１０は、同値関係指定部１０６が図９の組合せインスタンスに対してＳ１３０４及びＳ１３０５の処理を行って組合せインスタンスをパラメータ同値クラスに分類した例を示している。
図１０のパラメータ同値クラスでは、「小分類」は、借用期間（「日帰り」、「１日借用」、「２日以上借用」、「借用期間逆転」）と自動継続「あり」、「なし」の組合せとなっている。
なお、パラメータ同値クラス「ｐｅｃ９」では、小分類「日帰り・自動継続あり」となっており、自動継続は借用期間が１日の場合のみ有効であることから、大分類は「無効」となっている。
一方、パラメータ同値クラス「ｐｅｃ８」では、小分類「日帰り・自動継続なし」となっており、「日帰り」に対して自動継続が適用されてないので、大分類は「有効」となっている。
また、パラメータ同値クラス「ｐｅｃ１１」では、小分類「１日借用・自動継続あり」となっており、「１日借用」に対しては自動継続を適用することができるので、大分類は「有効」となっている。
更に、パラメータ同値クラス「ｐｅｃ１０」では、小分類「１日借用・自動継続なし」となっており、「１日借用」に対しては自動継続を適用しなくてもよいので、大分類は「有効」となっている。
また、パラメータ同値クラス「ｐｅｃ１２」及び「ｐｅｃ１３」では、パラメータ同値クラス「ｐｅｃ３」及び「ｐｅｃ４」において小分類が「仕様外」又は「無効」なので、自動継続の有無にかかわりなく、小分類は「仕様外」又は「無効」となる。
なお、図５〜図１０に示す処理結果は、各段階で、パラメータ値同値関係ＤＢ１０５で記憶される。
【００５６】
次に、イベント同値クラス抽出部１０８が、各パラメータ同値クラスが対象とするイベント（対象イベント）を、各パラメータ同値クラスに関連付けてイベント同値クラスを生成し、イベント同値クラスをイベント同値クラスＤＢ１０９に書き込む（Ｓ１３０６）。
イベント同値クラスとは、パラメータ同値クラスと対象イベントとの対応付けを表象する情報である。
【００５７】
図１１は、図１０に示したパラメータ同値クラスに対してイベント同値クラスが設定された状態を示す。
図１１では、作図上の理由から、パラメータ同値クラスｐｅｃ１〜ｐｅｃ６（図１０の最左列）の図示は省略しているが、組合せインスタンスｃ９〜ｃ１６は、図１０に示すように、パラメータ同値クラスｐｅｃ１〜ｐｅｃ６と関連付けられている。
図１０に示したパラメータ同値クラスｐｅｃ８〜ｐｅｃ１３に対して設定されるイベント同値クラスはｅｅｃ２〜ｅｅｃ７である。
イベント同値クラスｅｅｃ０は、デフォルトで存在するイベント同値クラスである。
パラメータ同値クラスｐｅｃ７は図書選択入力イベントについて同様に実施した場合に抽出されるパラメータ同値クラスであり、イベント同値クラスｅｅｃ１は図書選択入力イベントについて同様に実施した場合に抽出されるイベント同値クラスである。
なお、本実施時の形態では、イベント同値クラス抽出部１０８は、図１１に示す情報のうち、イベント同値クラス（ｅｅｃ０〜ｅｅｃ７）のみをイベント同値クラスＤＢ１０９に書き込む。
イベント同値クラス（ｅｅｃ０〜ｅｅｃ７）以外の情報（ｃ９〜ｃ１６、ｐｅｃ７〜ｐｅｃ１３及び図１０の最左列のパラメータ同値クラスｐｅｃ１〜ｐｅｃ６）は、対応するイベント同値クラスと関連付けられてパラメータ値同値関係ＤＢ１０５に格納されている。
【００５８】
図２５は、遷移パス作成機能における動作例を示すフローチャートである。
【００５９】
状態遷移表作成部１１０は、ユーザからの入力とイベント同値クラスＤＢ１０９のイベント同値クラス（ｅｅｃ０〜ｅｅｃ７）とを用いて状態遷移表を生成する（Ｓ１４０１）（状態遷移情報生成ステップ）。
本実施の形態では、個々のパラメータ値の代わりに、パラメータ値の組合せの集約結果であるイベント同値クラス（ｅｅｃ０〜ｅｅｃ７）を用いて状態遷移表を生成する。イベント同値クラス（ｅｅｃ０〜ｅｅｃ７）を用いる点を除けば、状態遷移表の生成手順自体は既存のものと同じでよい。
状態遷移表が完成すると、状態遷移表作成部１１０は、状態遷移ＤＢ１１２に状態遷移表を格納する。
次に、遷移パス抽出部１１３が、状態遷移ＤＢ１１２に保管されている状態遷移表から遷移パスを抽出する（Ｓ１４０２）。
遷移パスとは、開始状態から終了状態に至るまでのイベント遷移の連鎖を表す情報である。
本実施の形態では、イベント同値クラス（ｅｅｃ０〜ｅｅｃ７）が含まれている状態遷移表から遷移パスを抽出するので、遷移パスにもイベント同値クラス（ｅｅｃ０〜ｅｅｃ７）が含まれることになる。なお、遷移パスの抽出手順自体は既存のものと同じでよい。
最後に、遷移パスが抽出条件に適合すれば、遷移パス抽出部１１３が遷移パスを遷移パスＤＢ１１５に書き込む（Ｓ１４０３）。
より具体的には、状態遷移ＤＢ１１２の状態遷移表において、状態をノード、遷移を有向辺と見なした有向グラフにおいて、遷移パスを抽出し、ユーザが抽出条件指定部１１４を介して入力した抽出条件に、遷移パスが適合するかを検査し、遷移パスが抽出条件に適合すれば、遷移パスを遷移パスＤＢ１１５に書き込む。抽出条件とは、所定の状態や遷移を通過するパスや、パスの長さ、最大ループ回数等を指定する条件である。
【００６０】
次に、図１２〜図１８を参照して状態遷移表の生成手順を説明し、更に、図１９〜図２２を参照して遷移パスの抽出手順を説明する。
【００６１】
先ず、状態遷移表の生成手順を説明する。
図１２は、状態遷移表の生成開始時の状態を示している。
図１２に示すように、この段階では、初期状態のみが記述されている。
図１３は、初期状態に対して、各イベント同値クラスによる遷移を追加した後の図である。遷移先はユーザが入力するので、未定のままである。なお、イベント同値クラスの個数はｅｅｃ０〜ｅｅｃＮのＮ＋１個として記述している。
また、遷移先はユーザが入力装置を用いて入力し、遷移先状態指定部１１１が入力装置よりユーザが指定した遷移先を受付け、状態遷移表作成部１１０に通知し、状態遷移表作成部１１０がユーザの指定に従って状態遷移表を作成する。
【００６２】
図１４は、遷移先をユーザが入力した後の状態を示す。
終了状態として、「仕様通り」「仕様外」の２つが存在する。
図１５は、新しく追加された状態ｓ０に対して、イベント同値クラスごとに遷移を追加した後の状態を示す。遷移先は、図１３の状態遷移（２）と同じくユーザが入力するので未定のままである。
図１６は、状態ｓ０に対してユーザが遷移先を入力した状態を示す。
【００６３】
図１７は、さらに新しく追加された状態ｓ１とｓ２に対して、イベント同値クラスごとに遷移を追加した後の状態を示す。やはり遷移先は未定である。
図１８は、ｓ１からｅｅｃ０の遷移先のみ入力した後の状態を示す。
ｓ１からｅｅｃ１〜ｅｅｃＮの遷移先と、ｓ２からｅｅｃ０〜ｅｅｃＮの遷移先は省略している。
以降、新しい状態が追加されなくなるまで同様の手順を繰り返して状態遷移表が作成される。
そして、作成された状態遷移表は、状態遷移表作成部１１０により状態遷移ＤＢ１１２に格納される。
【００６４】
次に、遷移パスの抽出手順を説明する。
遷移パス抽出部１１３は、状態遷移表作成部１１０により作成された状態遷移表から、初期状態から終了状態に至るイベント遷移である遷移パスを抽出する。
図１９〜図２１は、図１８の状態遷移（７）から抽出した遷移パスの一例を示している。
遷移パス抽出部１１３が抽出する遷移パスにはイベント同値クラスが含まれる。
なお、図１８からは、図１９〜図２１に示す以外の遷移パスも抽出されるが、図示を省略している。
抽出された遷移パスは、遷移パス抽出部１１３により遷移パスＤＢ１１５に格納される。
また、図２２は、図１９〜図２１の遷移パスをデータ構造として表わした図である。
図２２において、遷移パスｔｐ１は図１９の遷移パスを表し、遷移パスｔｐ２は図２０の遷移パスを表し、遷移パスｔｐ３は図２１の遷移パスを表す。
【００６５】
次に、イベント具体値化機能が、遷移パスから試験ケースを生成する。
図２６は、イベント具体値化機能における動作例を示すフローチャートである。
【００６６】
先ず、引数決定部１１６が、遷移パスＤＢ１１５から遷移パスを読み出す（Ｓ１５０１）。
【００６７】
次に、引数決定部１１６は、遷移パスに含まれるイベント同値クラスからイベントインスタンスを取得する（Ｓ１５０２）。
具体的には、引数決定部１１６は、遷移パスのイベント同値クラスから対応するパラメータ同値クラスを抽出し、更にパラメータ同値クラスに属する組合せインスタンスを取得する。つまり、引数決定部１１６は、イベント同値クラスを、具体的なパラメータ値を持つイベントインスタンスに展開する機能である。
引数決定部１１６によるイベントインスタンスの取得手法には例えば以下のものがある。
１）特許文献２の引数決定部と同じ方法
２）パラメータ値同値関係ＤＢで「代表値」として指定されているパラメータ値を取得する
３）オールペア法、ｋ−ｗａｙ法、直交表等を活用して選択したパラメータ値を取得する
４）パラメータ値同値関係ＤＢで記録しているすべてのパラメータ値を取得する
５）イベントからパラメータそのものを欠落させる
【００６８】
次に、イベント同値クラス展開部１１７が、引数決定部１１６によりイベント同値クラスからイベントインスタンスに変換されたのを元に、イベント同値クラスで表現された状態遷移パスを、イベントインスタンスで表現された試験ケースに変換し（Ｓ１５０３）、試験ケースＤＢに記録する（Ｓ１５０４）。
なお、イベント同値クラス展開部１１７は、例えば、特許文献２のイベント操作変換部と同様である。
なお、試験ケース出力部１１９は、ユーザから指示があった場合等に、試験ケースを試験ケースＤＢ１１８から読み出し、所定の形式で出力（表示）する。
【００６９】
図２３は、図２２の遷移パスｔｐ３のイベント同値クラスを、イベントインスタンスに変換した後の試験ケースの一例を表した図である。｛ｅｅｃ１−１，ｅｅｃ１−２｝×｛ｅｅｃ２−１，ｅｅｃ２−２｝×｛ｅｅｃ０−１｝という直積を計算するのは、引数決定部１１６である。
図２２の遷移パスでは例えばイベント同値クラスｅｅｃ２と表現されているが、図２３の試験ケースでは、具体的なパラメータ値が含まれるイベントインスタンスｅｅｃ２−１、ｅｅｃ２−２が示される。
【００７０】
このように、本実施の形態によれば、イベントがパラメータを持つ場合に、作業工数を軽減しつつ、パラメータ値まで考慮した試験ケースすべてを生成可能にすることで、システムの品質を向上させることができる。
【００７１】
つまり、本実施の形態では、イベントごとに、イベントに設定されているパラメータ項目のパラメータ値の直積を計算して、パラメータ値の組合せである組合せインスタンスを生成するとともに、生成した組合せインスタンスを集約してパラメータ同値クラス、更にはイベント同値クラスに分類し、イベントごとにパラメータ値の集約を行っている。
このため、個々のパラメータ値ではなく、個々のパラメータ値の組合せを代表するイベント同値クラスを用いて状態遷移表を作成することができるので、状態遷移表の作成において処理しなければならないデータ量を少なくすることができ、状態遷移表の作成負担を軽減することができる。
また、状態遷移表から抽出された遷移パスにはイベント同値クラスが含まれ、遷移パスのイベント同値クラスから、イベント同値クラスに属する組合せインスタンスを取得でき、更に取得した組合せインスタンスから個々のパラメータ値を取得することができるので、具体的なパラメータ値が示される試験ケースを作成することができる。
【００７２】
以上のように、本実施の形態では、
パラメータ値結合部および同値関係指定部によりパラメータ値の割り当てられたイベントを同値クラスに分類するイベント同値分割機能、
状態遷移表作成部および遷移パス抽出部によりイベント同値クラスによる遷移パスを抽出する遷移パス作成機能、
引数決定部およびイベント同値クラス展開部によりイベント同値クラスからパラメータ値を割り当てられたイベントに展開するイベント具体値化機能
を持つ情報処理装置を説明した。
【００７３】
最後に、本実施の形態に係る情報処理装置１００のハードウェア構成例について説明する。
図２７は、本実施の形態に係る情報処理装置１００のハードウェア資源の一例を示す図である。
なお、図２７の構成は、あくまでも情報処理装置１００のハードウェア構成の一例を示すものであり、情報処理装置１００のハードウェア構成は図２７に記載の構成に限らず、他の構成であってもよい。
【００７４】
図２７において、情報処理装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した「〜ＤＢ」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００７５】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００７６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００７７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００７８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
情報処理装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００７９】
上記プログラム群９２３には、本実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００８０】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の分類」、「〜の生成」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００８１】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００８２】
このように、本実施の形態に示す情報処理装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００８３】
１００  情報処理装置、１０１  イベント定義ＤＢ、１０２  パラメータ値結合ルールＤＢ、１０３  型情報定義ＤＢ、１０４  パラメータ値結合部、１０５  パラメータ値同値関係ＤＢ、１０６  同値関係指定部、１０７  代表値指定部、１０８  イベント同値クラス抽出部、１０９  イベント同値クラスＤＢ、１１０  状態遷移表作成部、１１１  遷移先状態指定部、１１２  状態遷移ＤＢ、１１３  遷移パス抽出部、１１４  抽出条件指定部、１１５  遷移パスＤＢ、１１６  引数決定部、１１７  イベント同値クラス展開部、１１８  試験ケースＤＢ、１１９  試験ケース出力部。
【図１】
2011022807.tif 000003
【図２】
2011022807.tif 000004
【図３】
2011022807.tif 000005
【図４】
2011022807.tif 000006
【図５】
2011022807.tif 000007
【図６】
2011022807.tif 000008
【図７】
2011022807.tif 000009
【図８】
2011022807.tif 000010
【図９】
2011022807.tif 000011
【図１０】
2011022807.tif 000012
【図１１】
2011022807.tif 000013
【図１２】
2011022807.tif 000014
【図１３】
2011022807.tif 000015
【図１４】
2011022807.tif 000016
【図１５】
2011022807.tif 000017
【図１６】
2011022807.tif 000018
【図１７】
2011022807.tif 000019
【図１８】
2011022807.tif 000020
【図１９】
2011022807.tif 000021
【図２０】
2011022807.tif 000022
【図２１】
2011022807.tif 000023
【図２２】
2011022807.tif 000024
【図２３】
2011022807.tif 000025
【図２４】
2011022807.tif 000026
【図２５】
2011022807.tif 000027
【図２６】
2011022807.tif 000028
【図２７】
2011022807.tif 000029