(57)【特許請求の範囲】
【請求項１】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置であって、
前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力する入力部と、
前記入力部が入力する前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力する整合性検出部と、
前記整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部と、
前記整合性検出部から出力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するテストパス生成部と、
前記テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部と、
を備えたことを特徴とするビジネスプロセステスト設計支援装置。
【請求項２】
前記整合性検出部は、
前記ウェブサービス仕様情報に含まれる入出力情報の条件情報と、前記ビジネスプロセス記述情報に含まれる前記ウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備え、
前記整合性結果出力部は、
前記入出力情報検出部が検出した入出力の情報が整合しているか否かを示す情報を出力する
ことを特徴とする請求項１に記載のビジネスプロセステスト設計支援装置。
【請求項３】
前記整合性検出部は、
前記ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備え、
前記整合性結果出力部は、
前記発生例外検出部が検出した当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを示す情報を出力する
ことを特徴とする請求項１または２のいずれか１つに記載のビジネスプロセステスト設計支援装置。
【請求項４】
前記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、
前記整合性検出部は、
前記ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とに基づいて、前記ビジネスプロセス処理の前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードへ遷移する処理が、前記第１のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第２のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを検出する事前条件事後条件検出部を備え、
前記整合性結果出力部は、
前記事前条件事後条件検出部が検出した前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードへ遷移する処理が、前記第１のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第２のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを示す情報を出力する
ことを特徴とする請求項１から３のいずれか１つに記載のビジネスプロセステスト設計支援装置。
【請求項５】
前記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、
前記テストパス生成部は、
入力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とを前記ビジネス記述情報及び前記ウェブサービス仕様情報から読み出し、読み出した前記遷移条件情報と前記事後条件情報と前記事後条件情報とに基づいて当該パス情報が実行できるか否かを検出する
ことを特徴とする請求項１から４のいずれかに記載のビジネスプロセステスト設計支援装置。
【請求項６】
前記テストパス生成部は、
生成した前記パス情報毎に、当該パス情報に含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成し、当該リストを制約条件とした変数の解が存在するか否かを判定し、判定結果に基づいて当該パス情報が実行できるか否かを検出する
ことを特徴とする請求項５に記載のビジネスプロセステスト設計支援装置。
【請求項７】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験のためのビジネスプロセス試験方法であって、
前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、
入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、
検出した整合するか否かを示す情報を出力するステップと、
出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、
実行できると判定したパス情報をテスト対象のパスとして出力するステップと、
を備えたことを特徴とするビジネスプロセス試験方法。
【請求項８】
ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置に具備されるコンピュータに、
前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、
入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、
検出した整合するか否かを示す情報を出力するステップと、
出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、
実行できると判定したパス情報をテスト対象のパスとして出力するステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂ（ウェブ）サービスを利用するビジネスプロセス実行システムの整合性の検出を行うビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータシステムの機能に標準のインタフェースを備えて、他のコンピュータシステムから当該コンピュータシステムを利用可能とするＷｅｂサービスが知られている。また、当該Ｗｅｂサービスを複数利用して、一定の処理を定義するビジネスプロセス（Business Process）（以下、ＢＰと記載）及び当該ＢＰに基づいてＷｅｂサービスと連携して処理を実行するＢＰ実行システムが知られている。
【０００３】
ここで、ＢＰとは、図１６に示されるように、制御フローで結合されるＷｅｂサービス呼出ノードと判断ノードの集合であり、以下の特徴を有する。
【０００４】
（ａ）ＢＰの開始には入力を、終了には出力を定義することができる。
（ｂ）Ｗｅｂサービス呼出ノードには、呼出対象のＷｅｂサービスへの入力およびＷｅｂサービスからの出力を定義することができる。
（ｃ）ＢＰの開始に入力する入力情報およびＷｅｂサービスからの出力情報は、ＢＰ上で定義された変数に記憶させることができる。当該変数は、判断ノードにて遷移条件の判定処理に利用することができる。
（ｄ）Ｗｅｂサービスで発生した例外処理を、遷移条件の判定処理に利用することができる。
（ｅ）利用するＷｅｂサービスは互いに独立して動作しており、連携はＢＰによってのみ行われる。つまり、複数のＷｅｂサービスが状態を共有せず、ＢＰによる連携を介さずにある１つのＷｅｂサービスが他のＷｅｂサービスの動作に影響を及ぼす事がない。
【０００５】
ＢＰは、ＢＰ記述言語、あるいはＢＰ実行言語と呼ばれる仕様に従って記述される。ＢＰ記述言語は各種団体により標準化が進められており、図１７に示すように様々な記述形式が策定されている。また、既に商用化されている製品の中には、独自のＢＰ記述言語を採用している製品も存在する。
【０００６】
次に、ＢＰを実行するＢＰ実行エンジンと呼ばれるＢＰ実行システムについて説明する。ＢＰ実行システムは、Ｗｅｂサービスを実行する複数のＷｅｂサービス実行システムとの連携情報が記述されたＢＰを解釈して実行することにより、Ｗｅｂサービスを連携させたサービス連携システムを実現することができる。サービス連携システムでは、ＢＰの記述を変更するだけで、Ｗｅｂサービスの連携を変更することができるため、ビジネスの変化に柔軟に対応することを可能としている。
【０００７】
例えば、図１６に示したＢＰのＮ１、Ｎ２、Ｎ３、ＮｅのＷｅｂサービス呼出ノードには、それぞれ図１９に示すようにそれぞれのＷｅｂサービス呼出ノードから呼び出されるＷｅｂサービスが関連付けられており、かつＷｅｂサービスＷＳ１の返却値がｘ＝５、ｙ＝−２であるとする。この場合、ＢＰ上のＷｅｂサービス呼出ノードは、Ｎ１、Ｎ２の順に実行され、ＷｅｂサービスはＷＳ１、ＷＳ２の順、すなわち図１８の（１）、（２）の順に実行されることになる。
【０００８】
サービス連携システムの設計者は、Ｗｅｂサービスの入出力等の情報を示したＷｅｂサービス仕様情報に基づいてＢＰ記述言語によりＢＰを記述し、ＢＰ記述情報を作成する。そして、作成されたＢＰ記述情報は、ＢＰ実行システムによって実行される前に、記述された通りにＷｅｂサービスを連携実行できるか否かが試験される。
【０００９】
この試験は、ＢＰ記述情報及びＷｅｂサービス仕様情報を試験担当者が理解し、Ｗｅｂサービスの実行順序をテストするためのテストパスを生成して、ＢＰ記述情報とＷｅｂサービス仕様情報の整合性をレビューすることにより行われている。
【００１０】
また、動作の試験を行うためには、ＢＰ上のパス、すなわちＷｅｂサービスの実行順序を全て試験することが求められている。全て試験する理由は、例えば、課金システムに関するサービス連携システムを構築した場合、誤った実行順序に基づくＷｅｂサービスの実行が莫大な経済的損失につながるからでる。
【００１１】
なお、サービス連携実行の試験やテストパスの生成に関して特許文献１から５に記載されている従来技術等が知られている。
【特許文献１】特開２００２−３１２１８３号公報
【特許文献２】特開２００３−２０８５０１号公報
【特許文献３】特開平１１−１５６９５号公報
【特許文献４】特開２００３−２２８６４７号公報
【特許文献５】米国特許第５７８４５５３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、ＢＰから利用するＷｅｂサービス数の増加に従い、レビューによる検証では、人為的な検証漏れが発生する可能性が高まる恐れがあるが、一般的に行われている試験は全ての試験工程において人手を介しなければならず、また特許文献２に示される技術では、一部の工程が自動的に行われているが最終的な判断は人が介在して行われているという問題がある。
【００１３】
また、特許文献３及び５では、プログラミング言語で記述されたソースコードからテストパスを自動生成する手段が示されているが、ＢＰ記述情報及び連携対象のＷｅｂサービスの仕様を示したＷｅｂサービス仕様情報からテストパスを自動生成する手段については示されていないという問題がある。
【００１４】
また、上記の試験は、実際のＢＰ実行システムを実行させることなく行うことが望ましいが、特許文献１及び４では、ＢＰ実行システムを構築するか、あるいは仮想的に実行しなければならないという問題がある。
【００１５】
また、ＢＰ上のパスは、ＢＰ上のＷｅｂサービス呼出ノードや判断ノードの数、判断ノードのネスト数に従って膨大な数になるため、すべてのパスをテストするテスト工数、すなわちテストの実施に必要となる時間や費用が増加してしまうという問題がある。
【００１６】
本発明は、上記問題を解決すべくなされたもので、その目的は、人手を介さずにＢＰとＢＰから呼び出されるＷｅｂサービスの整合性の検出及び実行可能なテストパスの生成を可能とするビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置であって、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力する入力部と、前記入力部が入力する前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力する整合性検出部と、前記整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部と、前記整合性検出部から出力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するテストパス生成部と、前記テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部と、を備えたことを特徴とするビジネスプロセステスト設計支援装置である。
【００１９】
本発明は、上記に記載の発明において、前記整合性検出部は、前記ウェブサービス仕様情報に含まれる入出力情報の条件情報と、前記ビジネスプロセス記述情報に含まれる前記ウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備え、前記整合性結果出力部は、前記入出力情報検出部が検出した入出力の情報が整合しているか否かを示す情報を出力することを特徴とする。
【００２０】
本発明は、上記に記載の発明において、前記整合性検出部は、前記ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備え、前記整合性結果出力部は、前記発生例外検出部が検出した当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを示す情報を出力することを特徴とする。
【００２１】
本発明は、上記に記載の発明において、前記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、前記整合性検出部は、前記ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とに基づいて、前記ビジネスプロセス処理の前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードへ遷移する処理が、前記第１のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第２のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを検出する事前条件事後条件検出部を備え、前記整合性結果出力部は、前記事前条件事後条件検出部が検出した前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードへ遷移する処理が、前記第１のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第２のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを示す情報を出力することを特徴とする。
【００２２】
本発明は、上記に記載の発明において、前記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、前記テストパス生成部は、入力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての前記第１のウェブサービス呼出ノードから前記第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とを前記ビジネス記述情報及び前記ウェブサービス仕様情報から読み出し、読み出した前記遷移条件情報と前記事後条件情報と前記事後条件情報とに基づいて当該パス情報が実行できるか否かを検出することを特徴とする。
【００２３】
本発明は、上記に記載の発明において、前記テストパス生成部は、生成した前記パス情報毎に、当該パス情報に含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成し、当該リストを制約条件とした変数の解が存在するか否かを判定し、判定結果に基づいて当該パス情報が実行できるか否かを検出することを特徴とする。
【００２４】
本発明は、上記に記載の発明において、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験のためのビジネスプロセス試験方法であって、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、検出した整合するか否かを示す情報を出力するステップと、出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、実行できると判定したパス情報をテスト対象のパスとして出力するステップと、を備えたことを特徴とするビジネスプロセス試験方法である。
【００２６】
本発明は、上記に記載の発明において、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置に具備されるコンピュータに、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、検出した整合するか否かを示す情報を出力するステップと、出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、実行できると判定したパス情報をテスト対象のパスとして出力するステップと、を実行させるためのコンピュータプログラムである。
【発明の効果】
【００２８】
この発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報と、ウェブサービス処理の処理条件の情報が含まれるウェブサービス仕様情報とを入力する入力部と、入力部が入力するウェブサービス仕様情報とビジネスプロセス記述情報とに基づいて、ビジネスプロセス実行システムにより行われる処理とウェブサービス実行システムにより行われる処理とが整合するか否かを検出する整合性検出部と、整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部とを備えた構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、それぞれの処理に関わる情報が規定されたビジネスプロセス記述情報とウェブサービス仕様情報とに基づいて処理が整合しているか否かを検出することが可能となる。
【００２９】
また、本発明によれば、ビジネスプロセステスト設計支援装置は、入力されるウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて、ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元のウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて判定するテストパス生成部と、テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部を備える構成とした。これにより、人手を介さずに整合性がとれたウェブサービス仕様情報及びビジネスプロセス記述情報からビジネスプロセスを試験するためのパス情報を生成することができ、さらに、生成したパス情報の中から実行できるパス情報のみを抽出することが可能となり、試験工程の削減を図ることが可能となる。
【００３０】
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ウェブサービス仕様情報に含まれる入出力情報の条件情報と、ビジネスプロセス記述情報に含まれるウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、それぞれのシステムの入出力情報の条件が整合しているか否かを検出することが可能となる。
【００３１】
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理がビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、ウェブサービス実行システムが行う処理において発生する例外処理がビジネスプロセス実行システムによって連携して処理されるか否かを検出することが可能となる。
【００３２】
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる第１のウェブサービス呼出ノードから第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事前条件情報とに基づいて、ビジネスプロセス処理の第１のウェブサービス呼出ノードから第２のウェブサービス呼出ノードへ遷移する処理が、第１のウェブサービス呼出ノードに対するウェブサービス処理及び第２のウェブサービス呼出ノードに対応するウェブサービス処理と整合するか否かを検出する条件検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、ビジネスプロセス実行システムとウェブサービス実行システムとが連携して処理を行えるか否かを検出することが可能となる。
【００３３】
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報と、ウェブサービス処理の処理条件の情報が含まれるウェブサービス仕様情報とを入力する入力部と、入力部が入力するウェブサービス仕様情報と、ビジネスプロセス記述情報とに基づいて、ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元のウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて判定するテストパス生成部と、テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部とを備える構成とした。これにより、人手を介さずにウェブサービス仕様情報及びビジネスプロセス記述情報からビジネスプロセスを試験するためのパス情報を生成することができ、さらに、生成したパス情報の中から実行できるパス情報のみを抽出することが可能となり、試験工程の削減を図ることが可能となる。
【００３４】
また、本発明によれば、ビジネスプロセステスト設計支援装置のテストパス生成部は、入力されるウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第１のウェブサービス呼出ノードと第２のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての第１のウェブサービス呼出ノードから第２のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、第１のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事後条件情報と、第２のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事前条件情報とをビジネス記述情報及びウェブサービス仕様情報から読み出し、読み出した遷移条件情報と事後条件情報と事後条件情報とに基づいて当該パス情報が実行できるか否かを検出する構成とした。これにより、ビジネスプロセスを試験するために生成されたパス情報の中から実行できるパス情報か否かを、ビジネスプロセス記述情報及びウェブサービス仕様情報に基づいて検出することが可能となる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の一実施形態を図面を参照して説明する。
図１は、本実施形態のビジネスプロセステスト設計支援装置１を示す概略ブロック図である。ビジネスプロセステスト設計支援装置１において、ＢＰ記述情報ＤＢ１１は、設計者により作成されたＢＰ記述言語によるＢＰ記述情報を記憶する。Ｗｅｂサービス仕様情報ＤＢ１２は、ＢＰ記述情報に含まれるＷｅｂサービス呼出ノードから呼び出されるＷｅｂサービスに関するＷｅｂサービス仕様情報を記憶する。
ここで、ＢＰ記述情報は、上述したＢＰ実行システムの処理に適用されるものであり、Ｗｅｂサービス仕様情報は、上述したＷｅｂサービス実行システムの処理に適用されるものである。
【００３６】
入力部１０は、試験者からの操作を受けて、指定されたＢＰ記述情報及びＷｅｂサービス仕様情報をそれぞれ、ＢＰ記述情報ＤＢ１１とＷｅｂサービス仕様情報ＤＢ１２から読み出して入力する。
【００３７】
入出力インタフェース検出部１４は、ＢＰ記述情報とＷｅｂサービス仕様情報の入出力インタフェース、すなわち入出力の情報の数や、情報の型が一致しているか否かを検出し、検出した結果を整合性検出部１３に出力する。ここで、情報の型とは、整数型や実数型などいわゆるコンピュータで処理される情報の型式のことである。
【００３８】
発生例外検出部１５は、ＢＰ記述情報とＷｅｂサービス仕様情報とに基づいて、Ｗｅｂサービス仕様情報に含まれる例外処理がＢＰ記述情報に含まれているか否かを検出し、検出した結果を整合性検出部１３に出力する。
【００３９】
事前条件・事後条件検出部１６は、ＢＰ記述情報とＷｅｂサービス仕様情報とに基づいて、ＢＰ記述情報の処理の流れにおいて隣接するＷｅｂサービス呼出ノードについてＷｅｂサービス仕様情報から処理が行われる前の事前条件と処理が行われた後の事後条件とを抽出し、抽出した事前条件と事後条件とＷｅｂサービス呼出ノードの入出力情報とが整合するか否かを数理計画ソルバー１７を用いて検出し、検出した結果を整合性検出部１３に出力する。
【００４０】
数理計画ソルバー１７は、制約ソルバーとも呼ばれ、入力される変数と制約条件に基づいて、連立不等式の解決アルゴリズムにより制約条件を満たす変数の解を算出する。数理計画ソルバー１７としては、ｌｐ＿ｓｏｌｖｅ（solve-Mixed Integer Programming(MIP)solver, http://group.yahoo.com/group/lp_solve）のようなオープンソースのものや、ＩＬＯＧ  ＪＳｏｌｖｅｒ(ILOG JSolver http://www.ilog.co.jp/products/jsolver/index.cfm)のような商用のものなどが知られている。
【００４１】
整合性検出部１３は、上述した入出力インタフェース検出部１４、発生例外検出部１５、事前条件・事後条件検出部１６にＢＰ記述情報及びＷｅｂサービス仕様情報を入力する。また、整合性検出部１３は、入出力インタフェース検出部１４、発生例外検出部１５、事前条件・事後条件検出部１６から整合性の検出結果が入力され、入力された整合性の検出結果を整合性結果出力部１８に入力する。整合性結果出力部１８は、整合性検出部１３から入力される整合性検出結果を出力する。
【００４２】
テストパス生成部１９は、入力部１０から入力されるＢＰ記述情報とＷｅｂサービス仕様情報とに基づいてテストパスを生成し、生成したテストパスの中で実行可能性のあるテストパスを数理計画ソルバー１７を用いて抽出し、抽出したテストパスをテストパス出力部２０に入力する。テストパス出力部２０は、テストパス生成部１９から入力されるテストパスを出力する。
【００４３】
ここで、図２から図４を参照して、ＢＰとＢＰ記述情報とＷｅｂサービス仕様情報について説明する。図２は、ＢＰ記述情報に従ってＢＰの制御フローを図式化したものである。ＢＰは、開始ノードＳ、Ｗｅｂサービス呼出ノードＮ１、Ｎ２、Ｎ３、Ｎｅ、判断ノードＪ１、Ｊ２、終了ノードＥを組み合わせることにより構成される。Ｗｅｂサービス呼出ノードＮ１、Ｎ２、Ｎ３、Ｎｅのそれぞれには呼び出されるＷｅｂサービスが関連付けられている。
【００４４】
図３は、図２で示したＢＰをＢＰ記述言語で作成した場合に、ＢＰ記述情報ＤＢ１１に記憶されるＢＰ記述情報のデータ構成を示した図である。ＢＰ記述情報は、「ノード名」、「ノード種類」、「呼出Ｗｅｂサービス名」、「入力」、「出力」、「次ノード」、「分岐条件」、「分岐先（Ｔｒｕｅ）」、「分岐先（Ｆａｌｓｅ）」、「発生例外とそれによる遷移先」の項目を有する。「ノード名」には、ノードごとに付与されているノードの名称が記憶される。「ノード種類」には、ノードの種別である、開始ノード、Ｗｅｂサービス呼出ノード、判断ノード、終了ノードの４つのいずれかが記憶される。「呼出Ｗｅｂサービス名」には、ノードの種類がＷｅｂサービス呼出ノードである場合に、当該ノードから呼び出されるＷｅｂサービスに付与された名称が記憶される。「入力」には、分岐、終了以外のノードの入力の引数の数や型の情報が、変数型と変数名（例えば、(int x)）の組み合わせによって記憶される。「出力」も同様に、分岐、終了以外のノードの出力の引数の数や型の情報が、変数型と変数名の組み合わせによって記憶される。「次ノード」には、各ノードの次に処理が行われるノードのノード名が記憶される。「分岐条件」には、判断ノードＪ１、Ｊ２の場合に情報が記憶され、記憶される情報はＢＰ上で利用されている変数や論理演算子（and, or , not）や比較演算子（<,>,<=,>=,==,!=）により構成された条件式が記憶される。「分岐先（Ｔｒｕｅ）」には、判断ノードＪ１、Ｊ２の場合に情報が記憶され、判断ノードＪ１、Ｊ２によりＴｒｕｅ（真）と判定された場合、次に実行されるノードのノード名が記憶される。「分岐先（Ｆａｌｓｅ）」には、判断ノードＪ１、Ｊ２の場合に情報が記憶され、判断ノードＪ１、Ｊ２によりＦａｌｓｅ（偽）と判定された場合、次に実行されるノードのノード名が記憶される。「発生例外とそれによる遷移先」には、例外処理の発生が予定されているノードの場合に情報が記憶され、発生する例外処理に付与される名称（例えば、Ｅａ）と、その際に次に実行されるノードの名称（例えば、Ｎｅ）の情報が記憶される。
【００４５】
図４は、ＷｅｂサービスのＷｅｂサービス仕様情報のデータ構成の一例を示した図である。Ｗｅｂサービス仕様情報は、近年ＯＷＬ−Ｓ（OWL-based Web service ontology, http://www.daml.org/services/owl-s/1.0/）に代表されるようにＷｅｂサービスの事前条件、事後条件、発生例外といったＷｅｂサービスの詳細仕様を記述、公開する方法が提案され普及しつつある。図４の例はそのような仕様の一例である。図４に示すＷｅｂサービス仕様情報は、「入力」、「出力」、「事前条件」、「事後条件」、「発生例外」の項目によって仕様が定められている。「入力」は、Ｗｅｂサービスへの入力となる変数が、変数型と変数名の組み合わせにより示される。「出力」は、Ｗｅｂサービスから返却される返却値を格納する変数が、変数型と変数名の組み合わせにより示される。「事前条件」は、当該Ｗｅｂサービスを実行前に満たさなければならない条件が、変数や論理演算子（and, or , not）や比較演算子（<,>,<=,>=,==,!=）により構成された条件式により示される。「事後条件」は、当該Ｗｅｂサービスを実行後に満たさなければならない条件が、変数や論理演算子（and, or , not）や比較演算子（<,>,<=,>=,==,!=）により構成された条件式により示される。「発生例外」は、当該Ｗｅｂサービスの実行時に発生する例外処理に付与された名称により示される。
【００４６】
図５は、ビジネスプロセステスト設計支援装置１の全体的な処理概要を示した図である。図５に示すように、まず最初に、ＢＰ記述情報（ｉ：ｉｎｐｕｔ−１）と、Ｗｅｂサービス仕様情報（ｉ：ｉｎｐｕｔ−２）とを入力情報として整合性の検出が行われる（ステップＳ１）。そして、整合するとして検出されたＢＰ記述情報とＷｅｂサービス仕様情報からテストパスが生成され、当該テストパスの生成時に、実行可能性のあるパスが絞り込まれ、テストパス一覧（ｏ：ｏｕｔｐｕｔ−１）として出力される。
【００４７】
（整合性検出処理）
次に、図６から図８を参照しつつビジネスプロセステスト設計支援装置１の整合性検出の処理について説明する。
（入出力インタフェース整合性検出処理）
まず最初に、入出力インタフェース検出部１４の処理について説明する。入出力インタフェース検出部１４では、入力部１０から入力されるＢＰ記述情報とＷｅｂサービス仕様情報とに基づいて、ＢＰ記述情報の入出力情報と、Ｗｅｂサービス仕様情報の入出力情報とを対比し、変数の数および型が一致しているか否かにより整合しているか否かをを検出する。
【００４８】
例えば、図２のＢＰのＷｅｂサービス呼出ノードＮ１の入力情報は、図３に「(int x),(int y)」として示されるように整数型(int)の変数xとyの２つであり、出力情報は、「(int x)」で示されるように整数型のxの１つである。一方、Ｗｅｂサービス呼出ノードＮ１に関連付けられているＷｅｂサービスのＷｅｂサービス仕様情報が図４で示される場合、当該Ｗｅｂサービス仕様情報は、入力が整数型の変数xとyの２つであり、出力が整数型の変数xの１つであるため、入出力インタフェース検出部１４は、Ｗｅｂサービス呼出ノードＮ１についてはＢＰ記述情報とＷｅｂサービス仕様情報の入出力情報は一致しているため、整合しているとして検出し、その結果を整合性検出部１３に出力する。
【００４９】
入出力インタフェース検出部１４において不整合として検出される場合は、例えば、上記のＷｅｂサービス呼出ノードＮ１の入力情報が、整数型の変数xの１つしかない場合等である。
【００５０】
（発生例外整合性検出処理）
次に、発生例外検出部１５の処理について説明する。発生例外検出部１５では、ＢＰ記述情報に例外処理が含まれている場合、その遷移先が定義されているかという点と、Ｗｅｂサービスで発生する可能性がある例外処理に対応する処理がＢＰにおいて定義されているか、すなわちＢＰ記述情報に含まれているか否かを検出することにより整合しているか否かを検出する。
【００５１】
例えば、図２のＢＰのＷｅｂサービス呼出ノードＮ１について、例外処理Ｅａが発生した場合、図３に示されるように遷移先がＷｅｂサービス呼出ノードＮｅとしてＢＰ記述情報に含まれているため発生例外検出部１５は、遷移先が定義されている、すなわち整合しているとして検出する。
【００５２】
次に、図４のＷｅｂサービス仕様情報で定義されるＷｅｂサービスをＢＰのいずれかのＷｅｂサービス呼出ノードが呼び出している場合、当該Ｗｅｂサービス仕様情報には、例外処理としてＥａとＥｂの２つが含まれているため、この２つの例外処理がＢＰ記述情報に含まれているか否かを検出する必要がある。しかし、図３のＢＰ記述情報は、例外処理Ｅａのみを含んでいるため、発生例外検出部１５は、図３のＢＰ記述情報と、図４のＷｅｂサービス仕様情報については不整合であるとして検出し、その結果を整合性検出部１３に出力する。
【００５３】
（事前条件・事後条件整合性検出処理）
次に、事前条件・事後条件検出部１６の処理について説明する。図６は、事前条件・事後条件検出部１６による全体的な処理の流れを示したフローチャートである。事前条件・事後条件検出部１６では、ＢＰ記述情報に含まれるＷｅｂサービス呼出ノードであって、隣接関係にあるすべてのＷｅｂサービス呼出ノードに対して処理を行う。ここで、隣接関係にあるＷｅｂサービス呼出ノードとは、２つのＷｅｂサービス呼出ノード（Ａ，Ｂ）を想定した場合、ＡからＢに遷移可能であり、かつＡからＢへの遷移の際に判断ノード以外のノードを経由しないこと、すなわち他のＷｅｂサービス呼出ノードを経由しないことを意味する。
【００５４】
最初に、図６のフローチャートの各手順の概要について説明する。
（遷移の指定）
事前条件・事後条件検出部１６は、整合性検出部１３を介して入力部１０から入力されるＢＰ記述情報から整合性検出の対象となる隣接関係にあるＷｅｂサービス呼出ノードを選択する（ステップＳａ１）。このように、隣接関係にあるＷｅｂサービス呼出ノードを選択する理由は、ＢＰ記述情報においてＷｅｂサービス呼出ノードＡとＢ間の遷移（Ａ→Ｂ）を考えた場合、Ｗｅｂサービス呼出ノードＡに関連付けられるＷｅｂサービスの事後条件およびＷｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスの事前条件とＢＰ記述情報との整合性を検出するためである。
【００５５】
（遷移条件の組み合わせ抽出）
次に、事前条件・事後条件検出部１６は、Ａ→Ｂに判断ノードが存在するか否かを検出し、判断ノードが存在する場合、判断ノードから遷移条件の全ての組み合わせの集合（ＣＡ→Ｂ）を遷移条件情報として抽出する。判断ノードが存在しない場合、ＣＡ→Ｂは、空である１つの要素を有することになる（ステップＳａ２）。
【００５６】
（事後条件追加）
次に、事前条件・事後条件検出部１６は、ＣＡ→Ｂの各要素に、Ｗｅｂサービス呼出ノードＡに関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報から事後条件を読み出し、ＣＡ→Ｂの各要素の条件に読み出した事後条件を追加する（ステップＳａ３）。
【００５７】
（事後条件に関する整合性検出）
次に、事前条件・事後条件検出部１６は、事後条件を追加したＣＡ→Ｂの各要素を数理計画ソルバー１７に入力する。数理計画ソルバー１７は、ＣＡ→Ｂの各要素の条件を制約条件として制約条件を満たす変数の解を算出し、算出した結果を事前条件・事後条件検出部１６に出力する（ステップＳａ４）。事前条件・事後条件検出部１６は、解が存在したか否かに基づいてＢＰがＷｅｂサービス呼出ノードＡに関連付けられるＷｅｂサービスの事後条件に整合しているか否かを判定する（ステップＳａ５）。事前条件・事後条件検出部１６は、解が存在しない、すなわち整合していないと判定した場合、Ａ→Ｂのパスは実行されないパスとして検出する（ステップＳａ１１）。一方、事前条件・事後条件検出部１６は、解が存在すると判定した場合、ＢＰがＷｅｂサービス呼出ノードＡに関連付けられるＷｅｂサービスの事後条件に整合しているとして、解が存在するＣＡ→ＢをＣｐ（Ａ→Ｂ）とする。
【００５８】
（事前条件追加）
事前条件・事後条件検出部１６は、ステップＳａ５において解が存在すると判定した場合の各要素に、Ｗｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報から事前条件を読み出し、Ｃｐ（Ａ→Ｂ）の各要素の条件に読み出した事前条件を追加する（ステップＳａ６）。
【００５９】
（事前条件に関する整合性検出）
次に、事前条件・事後条件検出部１６は、事前条件を追加したＣｐ（Ａ→Ｂ）の各要素を数理計画ソルバー１７に入力する。数理計画ソルバー１７は、Ｃｐ（Ａ→Ｂ）の各要素の条件を制約条件として制約条件を満たす変数の解を算出し、算出した結果を事前条件・事後条件検出部１６に出力する（ステップＳａ７）。事前条件・事後条件検出部１６は、解が存在したか否かに基づいて、ＢＰがＷｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスの事前条件に整合しているか否かを判定する（ステップＳａ８）。事前条件・事後条件検出部１６は、解が存在しない、すなわち整合していないと判定した場合、Ｗｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスの事後条件の使用に違反する入力が発生する可能性があると考えることができ、ＢＰがＷｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスの事後条件に整合していないという検出結果を整合性検出部１３に出力する。整合性検出部１３は、整合性結果出力部１８に検出結果を出力する（ステップＳａ９）。一方、ＢＰがＷｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスの事後条件に整合していると判定した場合、事前条件・事後条件検出部１６は、整合しているという検出結果を整合性検出部１３に出力する。整合性検出部１３は、整合しているという検出結果の場合、整合性結果出力部１８に検出結果を出力しつつ、テストパス生成部１９にテストパス生成の開始指示を送信する（ステップＳａ１０）。
【００６０】
次に、図７に示す図２のＷｅｂサービス呼出ノードＮ１に関連付けられるＷｅｂサービスＷＮ１のＷｅｂサービス仕様情報と、図８に示すＷｅｂサービス呼出ノードＮ３に関連付けられるＷｅｂサービスＷＮ３のＷｅサービス仕様情報に基づいて、具体的な整合性検出の処理について説明する。なお、当該処理の前提として図７及び図８の変数xとyは整数型であり、また図８のＮ３に関連付けられるＷｅｂサービスでは、例外処理が発生しないものとする。
【００６１】
最初に、事前条件・事後条件検出部１６は、図２に示すＢＰの隣接関係にあるＷｅｂサービス呼出ノードＮ１とＮ３間の遷移Ｎ１→Ｎ３について検出を行うため、整合性検出部１３を介して入力部１０から入力されるＢＰ記述情報からノード名Ｎ１とＮ３までの遷移を選択する（ステップＳａ１）。
【００６２】
次に、事前条件・事後条件検出部１６は、Ｎ１→Ｎ３に存在する判断ノードＪ１からＣＮ１→Ｎ３を抽出する。ここで、ＣＮ１→Ｎ３の抽出とは、遷移元ノード名Ｎ１から遷移先ノード名Ｎ３までをＢＰ記述情報に従って辿っていく途中に存在する判断ノードＪ１（分岐１）について、Ｎ３に遷移する場合の分岐条件を抽出することである。遷移元ノードから遷移先ノードに至る中で判断ノードが存在しない場合、抽出されるＣは空条件となる。
【００６３】
例えば、図３に示すＢＰ記述情報の場合、分岐１においてＮ３に至る分岐条件は、「Ｆａｌｓｅ」の場合、すなわち「x>0 and y<0」である。したがって、抽出されるＣＮ１→Ｎ３は、「x>0 and y<0」の逆、すなわち、「ＣＮ１→Ｎ３={(x<=0 and y<0) or (x>0 and y>=0) or (x<=0 and y>=0)}」となる。
なお、判断ノードＪ１（分岐１）の他の分岐である、Ｎ１→Ｎ２の遷移の場合には、抽出されるＣＮ１→Ｎ２は、「ＣＮ１→Ｎ２={(x>0 and y<0)}」となる。
【００６４】
次に、Ｎ１に関連付けられるＷｅｂサービス、すなわち、ＢＰ記述情報における「呼出Ｗｅｂサービス名」から参照されるＷｅｂサービスＷＮ１のＷｅｂサービス仕様情報の事後条件をＣＮ１→Ｎ３に追加する。例えば、ＷｅｂサービスＷＮ１のＷｅｂサービス仕様情報が図７のＣａｓｅ１の場合、事後条件は「x+y=0 and y<0」であるため、事後条件を追加したＣＮ１→Ｎ３は、「ＣＮ１→Ｎ３={(x<=0 and y<0 and x+y=0 and y<0) or (x>0 and y>=0 and x+y=0 and y<0) or (x<=0 and y>=0 and x+y=0 and y<0)}」となる。
【００６５】
また、ＷｅｂサービスＷＮ１のＷｅｂサービス仕様情報が図７のＣａｓｅ２の場合、事後条件は「x+y>0」であるため、事後条件を追加したＣＮ１→Ｎ３は、「ＣＮ１→Ｎ３={(x<=0 and y<0 and x+y>0) or (x>0 and y>=0 and x+y>0) or (x<=0 and y>=0 and x+y>0)}」となる。（ステップＳａ３）。
【００６６】
事前条件・事後条件検出部１６は、事後条件を追加したＣＮ１→Ｎ３を数理計画ソルバー１７に入力する。数理計画ソルバー１７は、変数xとyの解を算出する。図７のＣａｓｅ１の場合、ＣＮ１→Ｎ３を満たすxとyが存在しない、すなわち解が存在しないため、数理計画ソルバー１７は解が存在しないことを示す情報を事前条件・事後条件検出部１６に出力する。図７のＣａｓｅ２の場合、ＣＮ１→Ｎ３を満たすxとyが存在する、すなわち解が存在するため、数理計画ソルバー１７は解が存在することを示す情報あるいは算出した解の情報を事前条件・事後条件検出部１６に出力する（ステップＳａ４）。事前条件・事後条件検出部１６は、数理計画ソルバー１７から出力される算出結果に基づいて、Ｗｅｂサービス呼出ノードＮ１に関連付けられるＷｅｂサービスＷＮ１の事後条件とＢＰ記述情報とは整合しているか否かを判定する（ステップＳａ５）。解が存在しない場合、事前条件・事後条件検出部１６は、事後条件とＢＰ記述情報とは整合していないと判定し、その結果を整合性検出部１３に出力する（ステップＳａ１１）。解が存在する場合、整合している、すなわちＮ１→Ｎ３に遷移するまでの条件の間には不整合はないと判定し、ＣＮ１→Ｎ３をＣｐ（Ｎ１→Ｎ３）とする。ここで、Ｃｐ（Ｎ１→Ｎ３）は、図７のＣａｓｅ２の事後条件が追加されたもの、すなわち、「Ｃｐ（Ｎ１→Ｎ３）={(x<=0 and y<0 and x+y>0) or (x>0 and y>=0 and x+y>0) or (x<=0 and y>=0 and x+y>0)}」となる。
【００６７】
次に、事前条件・事後条件検出部１６は、Ｗｅｂサービス呼出ノードＮ３に関連付けられるＷｅｂサービスＷＮ３の事前条件をＣｐ（Ｎ１→Ｎ３）に追加する。例えば、ＷｅｂサービスＷＮ３のＷｅｂサービス仕様情報が図８のＣａｓｅ１の場合、事前条件は、「x<0」であるため、事前条件を追加したＣｐ（Ｎ１→Ｎ３）は、「Ｃｐ（Ｎ１→Ｎ３）={(x<=0 and y<0 and x+y>0 and x>0) or (x>0 and y>=0 and x+y>0 and x>0) or (x<=0 and y>=0 and x+y>0 and x>0)}」となる。
【００６８】
また、ＷｅｂサービスＷＮ３のＷｅｂサービス仕様情報が図８のＣａｓｅ２の場合、事前条件を追加したＣｐ（Ｎ１→Ｎ３）は、「Ｃｐ（Ｎ１→Ｎ３）={(x<=0 and y<0 and x+y>0 and y>0) or (x>0 and y>=0 and x+y>0 and y>0) or (x<=0 and y>=0 and x+y>0 and y>0)}」となる（ステップＳａ６）。
【００６９】
事前条件・事後条件検出部１６は、事前条件を追加したＣｐ（Ｎ１→Ｎ３）を数理計画ソルバー１７に入力する。数理計画ソルバー１７は、x と y の解を算出する。図８のＣａｓｅ１の場合、解が存在しないため、数理計画ソルバー１７は解が存在しないことを示す情報を事前条件・事後条件検出部１６に出力する。図８のＣａｓｅ２の場合、解が存在するため、数理計画ソルバー１７は解が存在することを示す情報あるいは算出した解の情報を事前条件・事後条件検出部１６に出力する（ステップＳａ７）。事前条件・事後条件検出部１６は、数理計画ソルバー１７から出力される算出結果に基づいて、Ｗｅｂサービス呼出ノードＮ３に関連付けられるＷｅｂサービスＷＮ３の事前条件とＢＰ記述情報とは整合しているか否かを判定する（ステップＳａ８）。解が存在しない場合、事前条件・事後条件検出部１６は、事後条件とＢＰ記述情報とは整合していないと判定し、その検出結果を整合性検出部１３に出力する。整合性検出部１３は、検出結果を整合性結果出力部１８に出力する（ステップＳａ９）、解が存在する場合、事前条件・事後条件検出部１６は、整合していると判定し、その検出結果を整合性検出部１３に出力する。整合性検出部１３は、整合しているという検出結果の場合、整合性結果出力部１８に検出結果を出力しつつ、テストパス生成部１９にテストパス生成の開始指示を送信する（ステップＳａ１０）。
【００７０】
（テストパス生成処理）
次に、図９から図１５を参照しつつビジネスプロセステスト設計支援装置１のテストパス生成の処理について説明する。ＢＰ記述情報に含まれる開始ノードから終了ノードに至るまでのパスの中には、ＢＰの設計上、複数の同じ条件の判断ノードが含まれている場合などがある。このような判断ノードが含まれている場合、上位の処理で「Ｔｒｕｅ」と判定される場合、下位の判断ノードにおいても必ず「Ｔｒｕｅ」と判定されるため、下位の判断ノードにおいて「Ｆａｌｓｅ」の場合のパスに遷移することはありえない。このようなありえないパスはテストする必要がないためこのようなパスを除いてテストパスを生成することにより、テスト回数を削減することが可能となる。
【００７１】
最初に、整合性検出部１３は、整合しているという検出結果を整合性結果出力部１８に出力するとともに、整合しているＢＰ記述情報とＷｅｂサービス仕様情報とをテストパス生成部１９に入力する。テストパス生成部１９は、入力されるＢＰ記述情報とＷｅｂサービス仕様情報とに基づいて図９のフローチャートに示される手順によりテストすべきＢＰのパスを抽出する。以下、図９を参照しつつテストパス生成の処理について説明する。
【００７２】
（隣接するＷｅｂサービス呼出ノード間のパスの生成）
テストパス生成部１９は、整合性検出部１３から入力されるＢＰ記述情報から隣接関係にあるＷｅｂサービス呼出ノードＡとＢ間のパス（Ａ→Ｂ）を選択する。テストパス生成部１９は、Ａ→Ｂに判断ノードが存在するか否かを検出し、判断ノードが存在する場合、判断ノードから遷移条件の全ての組み合わせの集合（ＣＡ→Ｂ）を遷移条件情報として抽出する。判断ノードが存在しない場合、ＣＡ→Ｂは、空である１つの要素を有することになる。そして、ＣＡ→Ｂの各要素に、Ｗｅｂサービス呼出ノードＡに関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報から事後条件を読み出し、Ｗｅｂサービス呼出ノードＢに関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報から事前条件を読み出し、読み出した事後条件と事前条件とをＣＡ→Ｂに追加する（ステップＳｂ１）。
【００７３】
（パス式の生成）
テストパス生成部１９は、ステップＳｂ１の処理をＢＰ記述情報内の全ての隣接するＷｅｂサービス呼出ノード間において行い（ステップＳｂ２）、ＢＰの開始から終了に至るすべてのパスを表現するパス式を生成する（ステップＳｂ３）。
【００７４】
（テストパスの抽出）
テストパス生成部１９は、生成したパス式から１つのテストパスを抽出する（ステップＳｂ４）。
【００７５】
（代入・条件リストの生成）
次に、テストパス生成部１９は、抽出したテストパスに対して、当該テストパスの開始ノードからの入力、テストパスに含まれる各Ｗｅｂサービスの出力、テストパスに含まれる判断ノードにおける分岐条件から、テストパスに含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成する（ステップＳｂ５）。
【００７６】
（実行可能性判定）
そして、テストパス生成部１９は、代入及び条件判定の順序を示すリストを数理計画ソルバー１７に入力する。数理計画ソルバー１７は、入力されるリストを制約条件として制約条件を満たす変数の解を算出し、算出した結果をテストパス生成部１９に出力する（ステップＳｂ６）。テストパス生成部１９は、数理計画ソルバー１７が算出した結果に基づいて、解が存在するか否かを判定する（ステップＳｂ７）。テストパス生成部１９は、解が存在すると判定した場合、当該パスを実行可能なテストパスとして記録する（ステップＳｂ８）。一方、テストパス生成部１９は、解が存在しないと判定した場合、当該パスを実行可能なテスト対象から除外する。
【００７７】
テストパス生成部１９は、上記のステップＳｂ４からステップＳｂ８の処理をステップＳｂ３で生成した全てのパス式に対して行い、記録されたテストパスを読み出し、テストパス出力部２０に入力する。テストパス出力部２０は、入力されたテストパスの一覧を表示する。
【００７８】
次に、図２に示すＢＰにおいて、図３のＢＰ記述情報と、図７及び図８のＷｅｂサービス仕様情報とに基づいて、具体的なテストパス生成の処理について説明する。
テストパス生成部１９は、図２に示すＢＰにおいてＷｅｂサービス呼出ノードＮ１からＮ３への遷移を、図３のＢＰ記述情報から選択したとする。Ｎ１からＮ３への遷移であるため、抽出されるＣＮ１→Ｎ３に含まれる条件は、「x>0 and y<0」の逆、すなわち、「ＣＮ１→Ｎ３=(x<=0 and y<0) or (x>0 and y>=0) or (x<=0 and y>=0)」となる。
【００７９】
そして、テストパス生成部１９は、Ｗｅｂサービス呼出ノードＮ１に関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報が図７のＣａｓｅ２の場合、Ｗｅｂサービス呼出ノードＮ１の事後条件は、「x+y>0」となり、Ｗｅｂサービス呼出ノードＮ３に関連付けられるＷｅｂサービスのＷｅｂサービス仕様情報が図８のＣａｓｅ２の場合、Ｗｅｂサービス呼出ノードＮ３の事前条件は「y>0」となる。このとき、ＣＮ１→Ｎ３は、図１０に示す条件式となる（ステップＳｂ１）。テストパス生成部１９は、全ての隣接するＷｅｂサービス呼出ノード間に、ステップＳｂ１の処理を適用する（ステップＳｂ２）。
【００８０】
次に、テストパス生成部１９は、条件式の各要素に図８に示すように識別子（ａ，ｂ，ｃ，・・・）を付与する。この識別子により、ＢＰ記述情報により定められるテストパスは、図１１に示すようにグラフ表現することができる。このグラフ表現は、一般に知られているグラフのノード削減アルゴリズム（ソフトウェアテスト技法 ボーリス・バイザー著(日経BP社) p.346）を利用することで「a(f+g)k+a(c+d+e)h*i+abj」という式で表すことができ、これがテストパス生成部１９により生成されるパス式となる（ステップＳｂ３）。当該式において、「+」はｏｒを表しており、「*」は０回以上任意に繰り返すループを表しており、例えば「a(f+g)kは、「afk」または「agk」のパスを示している。また、「h*」はhを０回以上任意に繰り返すことを示している。ループ回数は予め試験者により指定され、ループ回数が制限されることにより、テストパス生成部１９は、パス式から有限のテストパスの集合を抽出することができる（ステップＳｂ４）。
【００８１】
次に、ステップＳｂ４のテストパスの抽出過程において、テストパス生成部１９により上記式に含まれる「adhi」のパスが抽出されたとする。テストパス生成部１９は、a,d,h,iの各要素の条件を、図７及び図８のＣａｓｅ２のＷｅｂサービス仕様情報と、図３に示されるＢＰ記述情報の判断ノードＪ１とに基づいて、図１２のように生成する。次に、テストパス生成部１９は、図３に示されるＢＰ記述情報から開始ノードの入力条件「(int x),(int y)」を読み出し、Ｗｅｂサービス呼出ノードＮ１及びＮ３に対応付けられるＷｅｂサービスＷＮ１及びＷＮ３の出力条件を図７及び図８のＣａｓｅ２のＷｅｂサービス仕様情報から読み出し、読み出した入力条件及び出力条件と図１２に示す条件式を実行順序に従って並び替え、図１３に示す代入・条件リストを生成する。
【００８２】
次に、テストパス生成部１９は、Ｗｅｂサービスからの出力により、変数に記憶される値が変わることを考慮しておくため、図１３の代入・条件リストの先頭から、ＢＰの入力及び、Ｗｅｂサービスの出力の変数がどの条件式で用いられるかに基づいて、変数名を別名に置き換え、図１４に示す代入・条件リストを生成する（ステップＳｂ５）。
【００８３】
そして、テストパス生成部１９は、生成した代入・条件リストを数理計画ソルバー１７に入力する。数理計画ソルバー１７は、図１４の代入・条件リストを制約条件として変数の解を算出し、その結果をテストパス生成部１９に出力する（ステップＳｂ６）。テストパス生成部１９は、数理計画ソルバー１７が算出した結果に基づいて、解が存在するか否かを判定する（ステップＳｂ７）。図１４では、x1,x2,x3,x4,y1の解が存在しないため、「adhi」のパスは実行可能でないパスとして対象から除外される。そして、最終的に実行可能なテストパスとして、テストパス出力部２０により図１５に示すようなテストパス一覧が表示される。図１５において、「テストパス」はテストにより実行されるパスがノード名により示されている。「分岐条件」には、テストパス中に存在する分岐の分岐状態が示されており、テストパスが実行されるために、その分岐がどのような状態でなければならないかが示されている。「回数」には、ループなどテストパス中に同じ分岐がある場合に、何回目の分岐の状態であるかを示す回数値が示される。
【００８４】
上記の構成により、ＢＰを実際に実行することなく、また、人手を介さずにＢＰとＢＰから呼び出されるＷｅｂサービスの整合性の検出を行うことが可能となる。また、人手を介さずにＢＰのテストパスを生成することができ、さらに、テストパスの生成時に実行可能なパスを絞り込んでテストパスの生成を行うことができるためテスト工数の削減を図ることが可能となる。
【００８５】
上述のビジネスプロセステスト設計支援装置１は内部に、コンピュータシステムを有している。そして、上述した整合性検出の処理過程及びテストパス生成の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００８６】
【図１】本実施形態によるビジネスプロセステスト設計支援装置の内部構成を示すブロック図である。
【図２】同実施形態によるビジネスプロセスのフローを示した図である。
【図３】同実施形態によるビジネスプロセス記述情報のデータ構成を示した図である。
【図４】同実施形態によるＷｅｂサービス仕様情報のデータ構成を示した図である。
【図５】同実施形態によるビジネスプロセステスト設計支援装置の動作の概略を示した図である。
【図６】同実施形態による整合性検出処理を示したフローチャートである。
【図７】同実施形態のビジネスプロセスから呼び出されるＷｅｂサービスのＷｅｂサービス仕様情報の一例（その１）である。
【図８】同実施形態のビジネスプロセスから呼び出されるＷｅｂサービスのＷｅｂサービス仕様情報の一例（その１）である。
【図９】同実施形態によるテストパス生成処理を示したフローチャートである。
【図１０】同実施形態のテストパス生成により抽出される隣接するＷｅｂサービス呼出ノード間のパスの条件式の一例を示した図である。
【図１１】同実施形態によるテストパス生成により抽出されるパスをグラフにより示した図である。
【図１２】同実施形態のテストパス生成により抽出されるパスの条件式の一例を示した図である。
【図１３】同実施形態による開始ノード及び判断ノードの条件が追加されたパスの条件式の一例を示した図である。
【図１４】同実施形態による変数が置き換えられた後のパスの条件式の一例を示した図である。
【図１５】同実施形態において最終的に出力されるテストパス一覧の一例を示した図である。
【図１６】従来の一般的なビジネスプロセスのフローを示した図である。
【図１７】ビジネスプロセス記述言語の標準化団体のリストを示した図である。
【図１８】ビジネスプロセス実行システムとＷｅｂサービスとの関係を説明するための図（その１）である。
【図１９】ビジネスプロセス実行システムとＷｅｂサービスとの関係を説明するための図（その２）である。
【符号の説明】
【００８７】
１    ビジネスプロセステスト設計支援装置
１０  入力部
１１  ＢＰ記述情報ＤＢ
１２  Ｗｅｂサービス仕様情報ＤＢ
１３  整合性検出部
１４  入出力インタフェース検出部
１５  発生例外検出部
１６  事前条件・事後条件検出部
１７  数理計画ソルバー
１８  整合性結果出力部
１９  テストパス生成部
２０  テストパス出力部
【図１】
0004804880.tif 000002
【図２】
0004804880.tif 000003
【図３】
0004804880.tif 000004
【図４】
0004804880.tif 000005
【図５】
0004804880.tif 000006
【図６】
0004804880.tif 000007
【図７】
0004804880.tif 000008
【図８】
0004804880.tif 000009
【図９】
0004804880.tif 000010
【図１０】
0004804880.tif 000011
【図１１】
0004804880.tif 000012
【図１２】
0004804880.tif 000013
【図１３】
0004804880.tif 000014
【図１４】
0004804880.tif 000015
【図１５】
0004804880.tif 000016
【図１６】
0004804880.tif 000017
【図１７】
0004804880.tif 000018
【図１８】
0004804880.tif 000019
【図１９】
0004804880.tif 000020