(57)【要約】【課題】複数のモジュールの結合テストにおいて、適切に、準正常系試験項目に優先度を付与する。【解決手段】優先度付与装置１は、各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出するパターン抽出手段２１と、パターンの優先度を付与する優先度付与手段２２を備える。優先度付与手段２２は、パターン抽出手段２１によって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出し、当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる。【選択図】図１
2016151925.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する優先度付与装置であって、
各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出するパターン抽出手段と、
前記パターンの優先度を付与する優先度付与手段を備え、
前記優先度付与手段は、
前記パターン抽出手段によって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出し、
当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる
ことを特徴とする優先度付与装置。
【請求項２】
前記優先度付与手段は、さらに、
優先度が上げられたパターンが属する状態の組み合わせの優先度を上げる
ことを特徴とする請求項１に記載の優先度付与装置。
【請求項３】
前記優先度付与手段は、さらに、
イベントの種類数の多い状態の組み合わせの優先度を上げる
ことを特徴とする請求項１または２に記載の優先度付与装置。
【請求項４】
複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する優先度付与方法であって、
各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出するパターン抽出ステップと、
前記パターンの優先度を付与する優先度付与ステップを備え、
前記優先度付与ステップは、
前記パターン抽出ステップによって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出し、
当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる
ことを特徴とする優先度付与方法。
【請求項５】
前記優先度付与ステップは、さらに、
優先度が上げられたパターンが属する状態の組み合わせの優先度を上げる
ことを特徴とする請求項４に記載の優先度付与方法。
【請求項６】
前記優先度付与ステップは、さらに、
イベントの種類数の多い状態の組み合わせの優先度を上げる
ことを特徴とする請求項４または５に記載の優先度付与方法。
【請求項７】
コンピュータを、請求項１ないし請求項３のいずれか１項に記載の手段として機能させるための優先度付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する優先度付与装置、優先度付与方法および優先度付与プログラムに関する。
【背景技術】
【０００２】
一般的に、ソフトウエアの品質保証のために、プログラムの状態とイベントの組み合わせから、試験で用いる試験項目を作成する方法が知られている。あらゆるパラメータ、イベント等の組み合わせを洗い出すことで、試験項目を網羅的に抽出できる。しかしながら、網羅的に抽出された試験項目数は膨大な数となり、これらの試験項目の全てを試験する場合、開発者への負担が大きい。
【０００３】
そこで、試験項目の優先度を設定する方法が提案されている（例えば、特許文献１参照）。特許文献１に記載の方法は、入出力イベントの組み合わせがタスク間シーケンス情報として定義されているイベントを優先度が高くするなど、イベントの優先度に基づいて、試験項目に優先度を設定する。
【０００４】
また、試験項目を減らす方法として、直交表を利用して、削減可能な組み合わせを抽出し、削除する方法がある（例えば、非特許文献１および２参照）。直交表を利用する方法は、少ない試験回数で、多くの機能間の組み合わせを試験可能になるように、試験項目を選択することを可能とする。直交表を利用する方法は、一般的に、入力条件の組み合わせに、論理関係がなく独立するケースで有効である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１５７１４４号公報
【非特許文献】
【０００６】
【非特許文献１】池上  俊也、"勝ちにいく！ソフトウエアテスト 第3回：テスト項目の絞り込み：重み付けは必ず数値で表そう"、［online］、2007年10月11日、ＩＴＰｒｏ、［平成２７年２月１０日検索］、インターネット〈URL：http://itpro.nikkeibp.co.jp/article/COLUMN/20070920/282546/〉
【非特許文献２】山本訓稔、外１名、「直交表を利用したソフトウェアテスト−ＨＡＹＳＴ法−」、ソフトウェアシンポジウム２００４、２００４年１月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、いずれの文献も、複数のモジュールの結合テストにおいて、試験項目を効率的に選択する方法に適さない。
【０００８】
複数のモジュールの結合テストにおいては、イベントによってモジュールの状態が変化する正常系試験項目についてもれなく試験され、さらに、準正常系試験項目を、効率的に選択してバグを解消することが求められている。準正常系試験項目を適切に選択することで、開発の短期終了と品質向上を実現することが期待される。
【０００９】
しかしながら、特許文献１に記載の方法は、イベントの重要度を考慮しているため、正常系試験項目に優先度を付与する場合には適切であるが、準正常系試験項目を選択する工夫は開示されていない。
【００１０】
上記非特許文献１および非特許文献２に記載されるように直交表を利用する方法を利用して、複数のモジュールの各状態および各イベントによる試験項目を絞り込む方法も考えられる。しかしながら、複数のモジュールの結合テストは、状態遷移とイベントとが密接に因果関係があるので、直交表を用いることは適切ではない。
【００１１】
従って本発明の目的は、複数のモジュールの結合テストにおいて、適切に、準正常系試験項目に優先度を付与する優先度付与装置、優先度付与方法および優先度付与プログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の特徴は、複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する優先度付与装置に関する。本発明の第１の特徴に係る優先度付与装置は、各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出するパターン抽出手段と、パターンの優先度を付与する優先度付与手段を備える。優先度付与手段は、パターン抽出手段によって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出し、当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる。
【００１３】
優先度付与手段は、さらに、優先度が上げられたパターンが属する状態の組み合わせの優先度を上げても良い。
【００１４】
優先度付与手段は、さらに、イベントの種類数の多い状態の組み合わせの優先度を上げても良い。
【００１５】
本発明の第２の特徴は、複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する優先度付与方法に関する。本発明の第２の特徴に係る優先度付与方法は、各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出するパターン抽出ステップと、パターンの優先度を付与する優先度付与ステップを備える。優先度付与ステップは、パターン抽出ステップによって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出し、当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる。
【００１６】
優先度付与ステップは、さらに、優先度が上げられたパターンが属する状態の組み合わせの優先度を上げても良い。
【００１７】
優先度付与ステップは、さらに、イベントの種類数の多い状態の組み合わせの優先度を上げても良い。
【００１８】
コンピュータを、請求項１ないし請求項３のいずれか１項に記載の手段として機能させるための優先度付与プログラム。
【００１９】
本発明の第３の特徴は、コンピュータを本発明の第１の特徴に記載の手段として機能させるための優先度付与プログラムに関する。
【発明の効果】
【００２０】
本発明によれば、複数のモジュールの結合テストにおいて、適切に、準正常系試験項目に優先度を付与する優先度付与装置、優先度付与方法および優先度付与プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態に係る優先度付与装置のハードウエア構成と機能ブロックを説明する図である。
【図２】本発明の実施の形態に係る試験対象を説明する図である。
【図３】本発明の実施の形態に係る試験対象の各モジュールの状態遷移を説明する図である。
【図４】本発明の実施の形態に係るパターンデータの一例を説明する図である。
【図５】本発明の実施の形態に係るパターンデータであって、各パターンの処理および状態遷移を設定した図である。
【図６】本発明の実施の形態に係るパターンデータにおいて、状態遷移前後を説明する図である。
【図７】本発明の実施の形態に係るパターンデータにおいて、イベント種類数を説明する図である。
【図８】本発明の実施の形態に係る優先度出力手段による出力結果の一例を説明する図である。
【図９】本発明の実施の形態に係るパターン抽出手段によるパターン抽出処理を説明するフローチャートである。
【図１０】本発明の実施の形態に係る優先度付与手段による優先度付与処理を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２３】
（概要）
本発明の実施の形態に係る優先度付与装置１は、複数のモジュールの結合テストにおいて、準正常系試験項目に優先度を付与する。準正常系試験項目は、正常系試験項目以外の試験項目であって、イベントの発生に対して何も変化が起こらない、すなわちイベントを無視するパターンのことを指す。
【００２４】
優先度付与装置１は、複数のモジュールの各状態およびイベントの組み合わせで特定される各パターンのうち、準正常系試験項目に対して適切に優先度を付与するものである。優先度付与装置１は、準正常系試験項目に対して適切に優先度を付与し、効率的に試験項目を特定することにより、ソフトウエアの品質を向上に寄与する。
【００２５】
本発明の実施の形態において優先度付与装置１は、試験対象の各モジュールの各状態の組み合わせや、パターンに対して、試験項目としての優先度を付与する。本発明の実施の形態において「パターン」は、各状態の組み合わせとイベントで特定される試験項目である。ここで、本発明の実施の形態に係るパターンは、正常系試験項目に対応するパターンが除外され、正常系試験項目に対してはもれなく試験されるように制御されてもよい。
【００２６】
図２を参照して、優先度付与装置１の試験対象Ｔの一例として、各モジュールの各状態およびイベントを説明する。試験対象Ｔは、外部装置５５からの要求に従ってトランザクションを開始し、応答する。
【００２７】
図２に示すように、ステップＳ１０１において外部装置が、トランザクション開始の要求Ｅ１を第１モジュール５１に送信すると、ステップＳ１０２において第１モジュール５１は、トランザクション開始の指示を、第２モジュール５２に送信する。第２モジュール５２は、トランザクションを開始する。
【００２８】
ステップＳ１０４において第２モジュール５２は、トランザクションの応答Ｅ２を第１モジュール５１に送信し、ステップＳ１０５において第１モジュール５１は、受信した応答を外部装置５５に送信する。応答を受信すると、ステップＳ１０６において外部装置５５は、ＡｃｋＥ３を第１モジュール５１に送信する。ステップＳ１０７において第１モジュール５１は、第２モジュール５２にトランザクションの終了を通知する。第２モジュール５２は、ステップＳ１０８においてリソース解放の要求Ｅ５を受信すると、リソースを解放して、処理を終了する。
【００２９】
図２および図３（ａ）に示すように、第１モジュール５１は、状態Ｋ１、Ｋ２、Ｋ３およびＫ４を有する。Ｋ１は、外部装置５５からトランザクション開始の要求Ｅ１を待機する状態である、Ｋ２は、外部装置５５からトランザクション開始の要求Ｅ１を受信し、第２モジュール５２にトランザクションの開始の指示を送信した後、第２モジュール５２からの応答Ｅ２を待機する状態である。Ｋ３は、第２モジュール５２から受信した応答を外部装置５５に送信し、外部装置５５からのＡｃｋＥ３を待機する状態である。第１モジュール５１は、外部装置５５からＡｃｋＥ３を受信し、第２モジュール５２にトランザクションの終了を通知すると、Ｋ１に戻る。
【００３０】
図２および図３（ｂ）に示すように、第２モジュール５２は、状態Ｒ１、Ｒ２およびＲ３を有する。Ｒ１は、第１モジュール５１からトランザクション開始の指示を待機する状態である。Ｒ２は、第１モジュール５１からトランザクション開始の指示を受信した後、そのトランザクションを処理し、応答Ｅ２を第１モジュール５１に送信する状態である。Ｒ３は、第１モジュール５１からトランザクションの終了が通知され、リソース解放の要求Ｅ５を待機する状態である。第２モジュール５２は、リソース解放の要求Ｅ５を受信すると、Ｒ１に戻る。
【００３１】
ここで図２のステップＳ１０３、Ｓ１０３ａおよびＳ１０３ｂに示すように、外部装置５５は、トランザクション開始の要求Ｅ１を送信した後、応答を受信するまでの間に、トランザクション開始の再要求Ｅ４を送信する場合がある。第１モジュール５１が状態Ｋ３かつ第２モジュール５２が状態Ｒ２のときに、再要求Ｅ４が発生すると、応答を再送する。しかしながら、再要求Ｅ４が、ネットワーク遅延等により、第１モジュール５１の状態がＫ２やＫ１の状態の間に受信された場合、再要求Ｅ４に対しては、何ら処理されず、再要求Ｅ４は無視される。
【００３２】
（優先度付与装置）
図１に示すように本発明の実施の形態に係る優先度付与装置１は、記憶装置１０、処理装置２０、入力装置（図示せず）、出力装置（図示せず）等を備える一般的なコンピュータである。優先度付与装置１は、一般的なコンピュータが、所定の機能を実現するための優先度付与プログラムを実行することにより、図１に示す各機能が実現される。
【００３３】
記憶装置１０は、優先度付与プログラムを記憶するとともに、試験対象プログラムデータ１１およびパターンデータ１２を記憶する。
【００３４】
試験対象プログラムデータ１１は、本発明の実施の形態において試験対象となるプログラムのデータである。試験対象プログラムデータ１１は、試験項目を作成可能な情報であれば、その形態を問わず、例えば、プログラムのソースコード、モデル図データ、仕様データなどであっても良い。本発明の実施の形態において試験対象プログラムデータ１１は、図２に示すように、第１モジュール５１および第２モジュール５２である。
【００３５】
パターンデータ１２は、本発明の実施の形態に係る試験対象Ｔにおけるパターンを含むデータである。パターンデータ１２は、例えば図４（ａ）に示すデータであって、第１モジュール５１の状態Ｋ１、Ｋ２およびＫ３、第２モジュール５２の状態Ｒ１、Ｒ２およびＲ３、およびイベントＥ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５の全ての組み合わせを網羅する。パターンデータ１２は、処理装置２０の処理により、逐次更新される。
【００３６】
処理装置２０は、パターン抽出手段２１、優先度付与手段２２および優先度出力手段２３を備える。
【００３７】
パターン抽出手段２１は、各モジュールの状態およびイベントに基づいて、各モジュールの状態の組み合わせおよびイベントを対応づけたパターンを抽出し、図４（ａ）に示すパターンデータ１２を生成する。パターン抽出手段２１は、モデル検査器や状態遷移シミュレーターなどであって、試験対象プログラムデータ１１から、各モジュールの状態およびイベントを洗い出して、パターンデータ１２を生成する。ここでパターン抽出手段２１は、試験対象プログラムデータ１１において、存在する状態の組み合わせを特定する。さらにパターン抽出手段２１は、各モジュールの状態の組み合わせと、存在する状態の組み合わせとの差分から、存在しえない状態の組み合わせを特定する。
【００３８】
具体的には、図２および図３に示す例において、試験対象プログラムデータ１１は、（Ｋ１，Ｒ２）、（Ｋ２，Ｒ３）および（Ｋ３，Ｒ３）の組み合わせが存在しえないとする。本発明の実施の形態において、（Ｋｘ，Ｒｙ）は、第１モジュール５１のＫｘ（ｘ＝１，２，３）の状態と、第２モジュール５２のＲｙ（ｙ＝１，２，３）の状態との組み合わせを示す。
【００３９】
この場合パターン抽出手段２１は、図４（ａ）に示すパターンデータ１２から、（Ｋ１，Ｒ２）、（Ｋ２，Ｒ３）および（Ｋ３，Ｒ３）を削除して、図４（ｂ）に示すパターンデータ１２を生成する。図４（ｂ）においてハッチが付された部分は、存在しえない状態の組み合わせを示す。本発明においては、存在しえない状態の組み合わせ、換言すると試験対象項目外の状態の組み合わせをハッチで示して、試験対象項目の候補と区別するが、パターンデータ１２から削除されても良い。
【００４０】
優先度付与手段２２は、パターンデータ１２を読み出して、パターンの優先度を付与する。優先度付与手段２２は、パターン抽出手段２１によって抽出されたパターンのうち、イベントによる状態遷移後のパターンを抽出する。さらに優先度付与手段２２は、当該抽出されたパターンの状態の組み合わせに属するパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンであって、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンの優先度を上げる。ここで、「イベントに対する挙動が設定される」とは、イベントが生じたときに、試験対象Ｔが、そのイベントを無視することなく、何らかの変化が生じることを意味する。また「イベントに対する挙動が設定されない」とは、イベントが生じたときに、試験対象Ｔが、そのイベントを無視し、何ら変化が生じないことを意味する。
【００４１】
まず、図５に示すパターンデータ１２は、図４（ｂ）に示すパターンデータ１２において、各パターンにおいて発生する処理と、イベントによる遷移先の状態を示す。（Ｋ１，Ｒ１）で、イベントＥ１が発生した場合に、トランザクションの開始処理が生じて、（Ｋ２，Ｒ２）に遷移することを示す。（Ｋ２，Ｒ２）で、イベントＥ２が発生した場合、応答返却処理が生じて、（Ｋ３，Ｒ２）に遷移することを示す。（Ｋ３，Ｒ２）で、イベントＥ３が発生した場合、トランザクションの終了処理が生じて、（Ｋ１，Ｒ３）に遷移することを示す。（Ｋ１，Ｒ３）で、イベントＥ５が発生した場合、リソースの解放処理が生じて、（Ｋ１，Ｒ１）に遷移することを示す。これらのパターンは、正常系試験項目として、試験される。
【００４２】
一方図５に示すパターンデータ１２において、「無視」と記載されているパターンが、非正常系試験項目であって、本発明の実施の形態に係る優先度付与装置１による優先度付与対象のパターンである。「無視」と記載されているパターンは、当該パターンが生じたとしても、試験対象Ｔは何ら処理をしないことを示す。
【００４３】
ここで優先度付与手段２２は、正常系試験項目に対応するパターン以外のパターンから、「イベントによる状態遷移後のパターン」として、（Ｋ２，Ｒ２）、（Ｋ３，Ｒ２）、（Ｋ１，Ｒ３）、および（Ｋ１，Ｒ１）の各状態の組み合わせに属するパターンを抽出する。さらに優先度付与手段２２は、抽出したパターンのうち、状態遷移を生じさせたイベントに関連するパターン以外のパターンとして、（Ｋ２，Ｒ２）におけるイベントＥ３，Ｅ４およびＥ５、（Ｋ３，Ｒ２）におけるイベントＥ１，およびＥ５、（Ｋ１，Ｒ３）におけるイベントＥ２，およびＥ４、（Ｋ１，Ｒ１）におけるイベントＥ２，Ｅ３およびＥ４の各パターンを特定する。
【００４４】
さらに優先度付与手段２２は、特定したパターンのうち、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンを特定し、特定したパターンの優先度を上げる。
【００４５】
（Ｋ２，Ｒ２）におけるイベントＥ３，Ｅ４およびＥ５の各パターンのうち、状態遷移前（Ｋ１，Ｒ１）にイベントに対する挙動が設定され、状態遷移後（Ｋ２，Ｒ２）にイベントに対する挙動が設定されていないパターンは存在しない。
【００４６】
（Ｋ３，Ｒ２）におけるイベントＥ１，およびＥ５の各パターンのうち、状態遷移前（Ｋ２，Ｒ２）にイベントに対する挙動が設定され、状態遷移後（Ｋ３，Ｒ２）にイベントに対する挙動が設定されていないパターンは存在しない。
【００４７】
（Ｋ１，Ｒ３）におけるイベントＥ２，およびＥ４の各パターンのうち、状態遷移前（Ｋ３，Ｒ２）にイベントに対する挙動が設定され、状態遷移後（Ｋ１，Ｒ３）にイベントに対する挙動が設定されていないパターンは、Ｅ４のパターンである。すなわち、状態遷移前（Ｋ３，Ｒ２）において、イベントＥ４が設定されている一方、状態遷移後（Ｋ１，Ｒ３）においてイベントＥ４は無視される。
【００４８】
（Ｋ１，Ｒ１）におけるイベントＥ２，Ｅ３およびＥ４の各パターンのうち、状態遷移前（Ｋ１，Ｒ３）にイベントに対する挙動が設定され、状態遷移後（Ｋ１，Ｒ１）にイベントに対する挙動が設定されていないパターンは存在しない。
【００４９】
以上の様に、優先度付与手段２２は、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンを探索した結果、（Ｋ１，Ｒ３）におけるイベントＥ４のパターンの優先度を上げる。
【００５０】
ここで、（Ｋ１，Ｒ３）におけるイベントＥ４のパターンは、エラーの生じやすい状況であると考えられる。すなわち、図２に示すように、イベントＥ４は、トランザクション開始の再要求イベントであり、応答を受信する前に、外部装置５５が送信するものである。しかしながら、外部装置５５が、応答を受信する前に再要求Ｅ４を送信したとしても、ステップＳ１０３ａおよびＳ１０３ｂに示すように、ネットワーク遅延等により、試験対象Ｔが、応答を送信した後にイベントＥ４を受信したり、Ａｃｋを受信した後にイベントＥ４を受信したりする場合が生じる。結合テストにおいては、このようなネットワーク遅延においても、正常に処理されることを確認するべきであると考えられる。従って、（Ｋ１，Ｒ３）におけるイベントＥ４のパターンは、優先度の高い試験項目となる。なお、（Ｋ３，Ｒ２）におけるイベントＥ４のパターンは、正常系試験項目として処理される。
【００５１】
ここで優先度付与手段２２はさらに、優先度が上げられたパターンが属する状態の組み合わせの優先度を上げても良い。具体的には、上述の処理において（Ｋ１，Ｒ３）におけるイベントＥ４のパターンの優先度が上げられたので、優先度付与手段２２は、（Ｋ１，Ｒ３）の状態の組み合わせの優先度を上げても良い。また、優先度付与手段２２は、（Ｋ１，Ｒ３）の状態の組み合わせに属するパターンのうち、正常系試験項目のパターンを除外したパターン、具体的には、（Ｋ１，Ｒ３）におけるイベントＥ２およびＥ３の各パターンの優先度を上げても良い。
【００５２】
また優先度付与手段２２はさらに、イベントの種類数の多い状態の組み合わせの優先度を上げても良い。換言すると、優先度付与手段２２は、正常系試験項目のパターンの多い状態の組み合わせにおいて、非正常系試験項目のパターンの優先度を上げる。
【００５３】
図７に示すパターンデータ１２は、各状態の組み合わせにおけるイベントの種類数を設定する。（Ｋ１，Ｒ１）はイベントＥ１に対して動作するので「１」、（Ｋ３，Ｒ１）はイベントＥ４に対して動作するので「１」、（Ｋ２，Ｒ２）はイベントＥ２に対して動作するので「１」、（Ｋ３，Ｒ２）はイベントＥ３およびＥ４に対して動作するので「２」、（Ｋ１，Ｒ３）はイベントＥ１およびＥ５に対して動作するので「２」となる。従って、優先度付与手段２２は、イベントの種類数「２」が設定された状態（Ｋ３，Ｒ２）および（Ｋ１，Ｒ３）の優先度を上げる。
【００５４】
優先度出力手段２３は、優先度付与手段２２によって付与された優先度を出力する。優先度出力手段２３は、例えば図８に示すように、優先度付与手段２２によって優先度が上げられた状態の組み合わせ、およびパターンを出力しても良いし、各状態の組み合わせおよびパターンについて、数値化された優先度を出力しても良い。また優先度出力手段２３は、画面表示するのみならず、ＣＳＶやテキスト等のコンピュータが読み取り可能なファイルデータ形式で出力しても良い。試験対象Ｔの開発者らは、優先度出力手段２３による出力結果と、試験対象Ｔの仕様要求等に基づいて、非正常系試験項目のうち、テストするべき試験項目を適切に選択することができる。
【００５５】
（優先度付与方法）
図９を参照して、パターン抽出手段２１によるパターン抽出処理を説明する。
【００５６】
まずステップＳ１においてパターン抽出手段２１は、状態の組み合わせおよびイベントのパターンを抽出して、対応づけし、試験対象Ｔにおけるあらゆるパターンを特定する。ステップＳ２においてパターン抽出手段２１は、ステップＳ２において、発生しえない状態の組み合わせに関するパターンを削除して、パターンデータ１２を生成する。
【００５７】
図１０を参照して、優先度付与手段２２による優先度付与処理を説明する。
【００５８】
まずステップＳ１１において優先度付与手段２２は、何らかのイベントによって状態が遷移したパターンを抽出し、抽出した各パターンが属する状態の組み合わせのそれぞれについて、ステップＳ１２ないしステップＳ１６の処理を繰り返す。さらに優先度付与手段２２は、ある特定の状態の組み合わせの各パターンについて、ステップＳ１２ないしステップＳ１４の処理を繰り返す。
【００５９】
ステップＳ１２において優先度付与手段２２は、このイベントが、状態遷移を生じさせたイベントであるか否かを判定する。状態遷移を生じさせたイベントの場合、次のイベントについてステップＳ１２の処理を行う。
【００６０】
一方、状態遷移を生じさせたイベントでない場合、ステップＳ１３において優先度付与手段２２は、処理対象のパターンが、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンであるか否かを判定する。状態遷移前および状態遷移後において処理がイベントされていないパターンである場合、次のパターンについてステップＳ１２の処理を行う。状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていないパターンである場合、ステップＳ１４において優先度付与手段２２は、このパターンの優先度を上げる。
【００６１】
ある状態の組み合わせの各パターンについて、ステップＳ１２ないしステップＳ１４の処理が終了すると、ステップＳ１５に進む。ステップＳ１５において優先度付与手段２２は、この状態の組み合わせの各パターンのうち、ステップＳ１４において優先度を上げたパターンがあるか否かを判定する。優先度を上げたパターンがない場合、次の状態の組み合わせについて、ステップＳ１２の処理を行う。
【００６２】
ステップＳ１４において優先度を上げたパターンがある場合、ステップＳ１６において優先度付与手段２２は、この状態の組み合わせの優先度を上げる。
【００６３】
このように全ての状態の組み合わせについて、ステップＳ１２ないしステップＳ１６の処理が終了すると、ステップＳ１７に進む。
【００６４】
ステップＳ１７において優先度付与手段２２は、各状態の組み合わせで設定されたイベントの種類数において、状態の組み合わせの優先度を上げる。
【００６５】
このように本発明の実施の形態に係る優先度付与装置１によれば、複数のモジュールの結合テストにおいて、各モジュールの状態およびイベントの相関関係を考慮して、非正常系試験項目に優先度を付与することができる。
【００６６】
特に優先度付与装置１は、状態遷移前にイベントに対する挙動が設定され、状態遷移後にイベントに対する挙動が設定されていない状態処理後のパターンにおいて、優先度を高くする。これにより優先度付与装置１は、状態遷移前に発生したイベントが、遅延して到達することにより、他のイベントにより状態遷移した後に到達する可能性に着目して、優先度を付与することができる。具体的には、図２に示す例において、イベントＥ３によって、（Ｋ３，Ｒ２）から（Ｋ１，Ｒ３）に遷移する場合に、試験対象Ｔが（Ｋ１，Ｒ３）の状態で外部装置５５からイベントＥ３を受信するパターンに対して、優先度付与装置１は優先度を上げる。このようなパターンにおいてバグがある場合、顕在化しやすく問題が大きくなる場合があるので、このパターンの優先度を上げて試験することにより、試験項目の適切な選択および品質の向上を実現することができる。
【００６７】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００６８】
例えば、本発明の実施の形態に記載した優先度付与装置は、図１に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、既存の情報処理システム上に実現されても良い。
【００６９】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００７０】
１  優先度付与装置
１０  記憶装置
１１  試験対象プログラムデータ
１２  パターンデータ
２０  処理装置
２１  パターン抽出手段
２２  優先度付与手段
２３  優先度出力手段
５１  第１モジュール
５２  第２モジュール
５５  外部装置
【図１】
2016151925.tif 000003
【図２】
2016151925.tif 000004
【図３】
2016151925.tif 000005
【図４】
2016151925.tif 000006
【図５】
2016151925.tif 000007
【図６】
2016151925.tif 000008
【図７】
2016151925.tif 000009
【図８】
2016151925.tif 000010
【図９】
2016151925.tif 000011
【図１０】
2016151925.tif 000012