JP4804880B2 - ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム - Google Patents

ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP4804880B2
JP4804880B2 JP2005318123A JP2005318123A JP4804880B2 JP 4804880 B2 JP4804880 B2 JP 4804880B2 JP 2005318123 A JP2005318123 A JP 2005318123A JP 2005318123 A JP2005318123 A JP 2005318123A JP 4804880 B2 JP4804880 B2 JP 4804880B2
Authority
JP
Japan
Prior art keywords
web service
information
business process
processing
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005318123A
Other languages
English (en)
Other versions
JP2007128138A (ja
Inventor
恭弘 山本
英嗣 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2005318123A priority Critical patent/JP4804880B2/ja
Publication of JP2007128138A publication Critical patent/JP2007128138A/ja
Application granted granted Critical
Publication of JP4804880B2 publication Critical patent/JP4804880B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Web(ウェブ)サービスを利用するビジネスプロセス実行システムの整合性の検出を行うビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラムに関する。
従来、コンピュータシステムの機能に標準のインタフェースを備えて、他のコンピュータシステムから当該コンピュータシステムを利用可能とするWebサービスが知られている。また、当該Webサービスを複数利用して、一定の処理を定義するビジネスプロセス(Business Process)(以下、BPと記載)及び当該BPに基づいてWebサービスと連携して処理を実行するBP実行システムが知られている。
ここで、BPとは、図16に示されるように、制御フローで結合されるWebサービス呼出ノードと判断ノードの集合であり、以下の特徴を有する。
(a)BPの開始には入力を、終了には出力を定義することができる。
(b)Webサービス呼出ノードには、呼出対象のWebサービスへの入力およびWebサービスからの出力を定義することができる。
(c)BPの開始に入力する入力情報およびWebサービスからの出力情報は、BP上で定義された変数に記憶させることができる。当該変数は、判断ノードにて遷移条件の判定処理に利用することができる。
(d)Webサービスで発生した例外処理を、遷移条件の判定処理に利用することができる。
(e)利用するWebサービスは互いに独立して動作しており、連携はBPによってのみ行われる。つまり、複数のWebサービスが状態を共有せず、BPによる連携を介さずにある1つのWebサービスが他のWebサービスの動作に影響を及ぼす事がない。
BPは、BP記述言語、あるいはBP実行言語と呼ばれる仕様に従って記述される。BP記述言語は各種団体により標準化が進められており、図17に示すように様々な記述形式が策定されている。また、既に商用化されている製品の中には、独自のBP記述言語を採用している製品も存在する。
次に、BPを実行するBP実行エンジンと呼ばれるBP実行システムについて説明する。BP実行システムは、Webサービスを実行する複数のWebサービス実行システムとの連携情報が記述されたBPを解釈して実行することにより、Webサービスを連携させたサービス連携システムを実現することができる。サービス連携システムでは、BPの記述を変更するだけで、Webサービスの連携を変更することができるため、ビジネスの変化に柔軟に対応することを可能としている。
例えば、図16に示したBPのN1、N2、N3、NeのWebサービス呼出ノードには、それぞれ図19に示すようにそれぞれのWebサービス呼出ノードから呼び出されるWebサービスが関連付けられており、かつWebサービスWS1の返却値がx=5、y=−2であるとする。この場合、BP上のWebサービス呼出ノードは、N1、N2の順に実行され、WebサービスはWS1、WS2の順、すなわち図18の(1)、(2)の順に実行されることになる。
サービス連携システムの設計者は、Webサービスの入出力等の情報を示したWebサービス仕様情報に基づいてBP記述言語によりBPを記述し、BP記述情報を作成する。そして、作成されたBP記述情報は、BP実行システムによって実行される前に、記述された通りにWebサービスを連携実行できるか否かが試験される。
この試験は、BP記述情報及びWebサービス仕様情報を試験担当者が理解し、Webサービスの実行順序をテストするためのテストパスを生成して、BP記述情報とWebサービス仕様情報の整合性をレビューすることにより行われている。
また、動作の試験を行うためには、BP上のパス、すなわちWebサービスの実行順序を全て試験することが求められている。全て試験する理由は、例えば、課金システムに関するサービス連携システムを構築した場合、誤った実行順序に基づくWebサービスの実行が莫大な経済的損失につながるからでる。
なお、サービス連携実行の試験やテストパスの生成に関して特許文献1から5に記載されている従来技術等が知られている。
特開2002−312183号公報 特開2003−208501号公報 特開平11−15695号公報 特開2003−228647号公報 米国特許第5784553号明細書
しかしながら、BPから利用するWebサービス数の増加に従い、レビューによる検証では、人為的な検証漏れが発生する可能性が高まる恐れがあるが、一般的に行われている試験は全ての試験工程において人手を介しなければならず、また特許文献2に示される技術では、一部の工程が自動的に行われているが最終的な判断は人が介在して行われているという問題がある。
また、特許文献3及び5では、プログラミング言語で記述されたソースコードからテストパスを自動生成する手段が示されているが、BP記述情報及び連携対象のWebサービスの仕様を示したWebサービス仕様情報からテストパスを自動生成する手段については示されていないという問題がある。
また、上記の試験は、実際のBP実行システムを実行させることなく行うことが望ましいが、特許文献1及び4では、BP実行システムを構築するか、あるいは仮想的に実行しなければならないという問題がある。
また、BP上のパスは、BP上のWebサービス呼出ノードや判断ノードの数、判断ノードのネスト数に従って膨大な数になるため、すべてのパスをテストするテスト工数、すなわちテストの実施に必要となる時間や費用が増加してしまうという問題がある。
本発明は、上記問題を解決すべくなされたもので、その目的は、人手を介さずにBPとBPから呼び出されるWebサービスの整合性の検出及び実行可能なテストパスの生成を可能とするビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラムを提供することにある。
上記課題を解決するために、本発明は、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置であって、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力する入力部と、前記入力部が入力する前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力する整合性検出部と、前記整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部と、前記整合性検出部から出力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するテストパス生成部と、前記テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部と、を備えたことを特徴とするビジネスプロセステスト設計支援装置である。
本発明は、上記に記載の発明において、記整合性検出部は、前記ウェブサービス仕様情報に含まれる入出力情報の条件情報と、前記ビジネスプロセス記述情報に含まれる前記ウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備え、前記整合性結果出力部は、前記入出力情報検出部が検出した入出力の情報が整合しているか否かを示す情報を出力することを特徴とする。
本発明は、上記に記載の発明において、記整合性検出部は、前記ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備え、前記整合性結果出力部は、前記発生例外検出部が検出した当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを示す情報を出力することを特徴とする。
本発明は、上記に記載の発明において、記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、前記整合性検出部は、前記ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とに基づいて、前記ビジネスプロセス処理の前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードへ遷移する処理が、前記第1のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第2のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを検出する事前条件事後条件検出部を備え、前記整合性結果出力部は、前記事前条件事後条件検出部が検出した前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードへ遷移する処理が、前記第1のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第2のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを示す情報を出力することを特徴とする。
本発明は、上記に記載の発明において、記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、前記テストパス生成部は、入力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とを前記ビジネス記述情報及び前記ウェブサービス仕様情報から読み出し、読み出した前記遷移条件情報と前記事後条件情報と前記事後条件情報とに基づいて当該パス情報が実行できるか否かを検出することを特徴とする。
本発明は、上記に記載の発明において、前記テストパス生成部は、生成した前記パス情報毎に、当該パス情報に含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成し、当該リストを制約条件とした変数の解が存在するか否かを判定し、判定結果に基づいて当該パス情報が実行できるか否かを検出することを特徴とする。
本発明は、上記に記載の発明において、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験のためのビジネスプロセス試験方法であって、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、検出した整合するか否かを示す情報を出力するステップと、出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、実行できると判定したパス情報をテスト対象のパスとして出力するステップと、を備えたことを特徴とするビジネスプロセス試験方法である。
本発明は、上記に記載の発明において、ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置に具備されるコンピュータに、前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、検出した整合するか否かを示す情報を出力するステップと、出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、実行できると判定したパス情報をテスト対象のパスとして出力するステップと、を実行させるためのコンピュータプログラムである。
この発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報と、ウェブサービス処理の処理条件の情報が含まれるウェブサービス仕様情報とを入力する入力部と、入力部が入力するウェブサービス仕様情報とビジネスプロセス記述情報とに基づいて、ビジネスプロセス実行システムにより行われる処理とウェブサービス実行システムにより行われる処理とが整合するか否かを検出する整合性検出部と、整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部とを備えた構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、それぞれの処理に関わる情報が規定されたビジネスプロセス記述情報とウェブサービス仕様情報とに基づいて処理が整合しているか否かを検出することが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置は、入力されるウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて、ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元のウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて判定するテストパス生成部と、テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部を備える構成とした。これにより、人手を介さずに整合性がとれたウェブサービス仕様情報及びビジネスプロセス記述情報からビジネスプロセスを試験するためのパス情報を生成することができ、さらに、生成したパス情報の中から実行できるパス情報のみを抽出することが可能となり、試験工程の削減を図ることが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ウェブサービス仕様情報に含まれる入出力情報の条件情報と、ビジネスプロセス記述情報に含まれるウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、それぞれのシステムの入出力情報の条件が整合しているか否かを検出することが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理がビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、ウェブサービス実行システムが行う処理において発生する例外処理がビジネスプロセス実行システムによって連携して処理されるか否かを検出することが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる第1のウェブサービス呼出ノードから第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事前条件情報とに基づいて、ビジネスプロセス処理の第1のウェブサービス呼出ノードから第2のウェブサービス呼出ノードへ遷移する処理が、第1のウェブサービス呼出ノードに対するウェブサービス処理及び第2のウェブサービス呼出ノードに対応するウェブサービス処理と整合するか否かを検出する条件検出部を備える構成とした。これにより、ビジネスプロセス実行システム及びウェブサービス実行システムを実際に実行させることなく、ビジネスプロセス実行システムとウェブサービス実行システムとが連携して処理を行えるか否かを検出することが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置は、ビジネスプロセス記述情報と、ウェブサービス処理の処理条件の情報が含まれるウェブサービス仕様情報とを入力する入力部と、入力部が入力するウェブサービス仕様情報と、ビジネスプロセス記述情報とに基づいて、ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元のウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて判定するテストパス生成部と、テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部とを備える構成とした。これにより、人手を介さずにウェブサービス仕様情報及びビジネスプロセス記述情報からビジネスプロセスを試験するためのパス情報を生成することができ、さらに、生成したパス情報の中から実行できるパス情報のみを抽出することが可能となり、試験工程の削減を図ることが可能となる。
また、本発明によれば、ビジネスプロセステスト設計支援装置のテストパス生成部は、入力されるウェブサービス仕様情報及びビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての第1のウェブサービス呼出ノードから第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる事前条件情報とをビジネス記述情報及びウェブサービス仕様情報から読み出し、読み出した遷移条件情報と事後条件情報と事後条件情報とに基づいて当該パス情報が実行できるか否かを検出する構成とした。これにより、ビジネスプロセスを試験するために生成されたパス情報の中から実行できるパス情報か否かを、ビジネスプロセス記述情報及びウェブサービス仕様情報に基づいて検出することが可能となる。
以下、本発明の一実施形態を図面を参照して説明する。
図1は、本実施形態のビジネスプロセステスト設計支援装置1を示す概略ブロック図である。ビジネスプロセステスト設計支援装置1において、BP記述情報DB11は、設計者により作成されたBP記述言語によるBP記述情報を記憶する。Webサービス仕様情報DB12は、BP記述情報に含まれるWebサービス呼出ノードから呼び出されるWebサービスに関するWebサービス仕様情報を記憶する。
ここで、BP記述情報は、上述したBP実行システムの処理に適用されるものであり、Webサービス仕様情報は、上述したWebサービス実行システムの処理に適用されるものである。
入力部10は、試験者からの操作を受けて、指定されたBP記述情報及びWebサービス仕様情報をそれぞれ、BP記述情報DB11とWebサービス仕様情報DB12から読み出して入力する。
入出力インタフェース検出部14は、BP記述情報とWebサービス仕様情報の入出力インタフェース、すなわち入出力の情報の数や、情報の型が一致しているか否かを検出し、検出した結果を整合性検出部13に出力する。ここで、情報の型とは、整数型や実数型などいわゆるコンピュータで処理される情報の型式のことである。
発生例外検出部15は、BP記述情報とWebサービス仕様情報とに基づいて、Webサービス仕様情報に含まれる例外処理がBP記述情報に含まれているか否かを検出し、検出した結果を整合性検出部13に出力する。
事前条件・事後条件検出部16は、BP記述情報とWebサービス仕様情報とに基づいて、BP記述情報の処理の流れにおいて隣接するWebサービス呼出ノードについてWebサービス仕様情報から処理が行われる前の事前条件と処理が行われた後の事後条件とを抽出し、抽出した事前条件と事後条件とWebサービス呼出ノードの入出力情報とが整合するか否かを数理計画ソルバー17を用いて検出し、検出した結果を整合性検出部13に出力する。
数理計画ソルバー17は、制約ソルバーとも呼ばれ、入力される変数と制約条件に基づいて、連立不等式の解決アルゴリズムにより制約条件を満たす変数の解を算出する。数理計画ソルバー17としては、lp_solve(solve-Mixed Integer Programming(MIP)solver, http://group.yahoo.com/group/lp_solve)のようなオープンソースのものや、ILOG JSolver(ILOG JSolver http://www.ilog.co.jp/products/jsolver/index.cfm)のような商用のものなどが知られている。
整合性検出部13は、上述した入出力インタフェース検出部14、発生例外検出部15、事前条件・事後条件検出部16にBP記述情報及びWebサービス仕様情報を入力する。また、整合性検出部13は、入出力インタフェース検出部14、発生例外検出部15、事前条件・事後条件検出部16から整合性の検出結果が入力され、入力された整合性の検出結果を整合性結果出力部18に入力する。整合性結果出力部18は、整合性検出部13から入力される整合性検出結果を出力する。
テストパス生成部19は、入力部10から入力されるBP記述情報とWebサービス仕様情報とに基づいてテストパスを生成し、生成したテストパスの中で実行可能性のあるテストパスを数理計画ソルバー17を用いて抽出し、抽出したテストパスをテストパス出力部20に入力する。テストパス出力部20は、テストパス生成部19から入力されるテストパスを出力する。
ここで、図2から図4を参照して、BPとBP記述情報とWebサービス仕様情報について説明する。図2は、BP記述情報に従ってBPの制御フローを図式化したものである。BPは、開始ノードS、Webサービス呼出ノードN1、N2、N3、Ne、判断ノードJ1、J2、終了ノードEを組み合わせることにより構成される。Webサービス呼出ノードN1、N2、N3、Neのそれぞれには呼び出されるWebサービスが関連付けられている。
図3は、図2で示したBPをBP記述言語で作成した場合に、BP記述情報DB11に記憶されるBP記述情報のデータ構成を示した図である。BP記述情報は、「ノード名」、「ノード種類」、「呼出Webサービス名」、「入力」、「出力」、「次ノード」、「分岐条件」、「分岐先(True)」、「分岐先(False)」、「発生例外とそれによる遷移先」の項目を有する。「ノード名」には、ノードごとに付与されているノードの名称が記憶される。「ノード種類」には、ノードの種別である、開始ノード、Webサービス呼出ノード、判断ノード、終了ノードの4つのいずれかが記憶される。「呼出Webサービス名」には、ノードの種類がWebサービス呼出ノードである場合に、当該ノードから呼び出されるWebサービスに付与された名称が記憶される。「入力」には、分岐、終了以外のノードの入力の引数の数や型の情報が、変数型と変数名(例えば、(int x))の組み合わせによって記憶される。「出力」も同様に、分岐、終了以外のノードの出力の引数の数や型の情報が、変数型と変数名の組み合わせによって記憶される。「次ノード」には、各ノードの次に処理が行われるノードのノード名が記憶される。「分岐条件」には、判断ノードJ1、J2の場合に情報が記憶され、記憶される情報はBP上で利用されている変数や論理演算子(and, or , not)や比較演算子(<,>,<=,>=,==,!=)により構成された条件式が記憶される。「分岐先(True)」には、判断ノードJ1、J2の場合に情報が記憶され、判断ノードJ1、J2によりTrue(真)と判定された場合、次に実行されるノードのノード名が記憶される。「分岐先(False)」には、判断ノードJ1、J2の場合に情報が記憶され、判断ノードJ1、J2によりFalse(偽)と判定された場合、次に実行されるノードのノード名が記憶される。「発生例外とそれによる遷移先」には、例外処理の発生が予定されているノードの場合に情報が記憶され、発生する例外処理に付与される名称(例えば、Ea)と、その際に次に実行されるノードの名称(例えば、Ne)の情報が記憶される。
図4は、WebサービスのWebサービス仕様情報のデータ構成の一例を示した図である。Webサービス仕様情報は、近年OWL−S(OWL-based Web service ontology, http://www.daml.org/services/owl-s/1.0/)に代表されるようにWebサービスの事前条件、事後条件、発生例外といったWebサービスの詳細仕様を記述、公開する方法が提案され普及しつつある。図4の例はそのような仕様の一例である。図4に示すWebサービス仕様情報は、「入力」、「出力」、「事前条件」、「事後条件」、「発生例外」の項目によって仕様が定められている。「入力」は、Webサービスへの入力となる変数が、変数型と変数名の組み合わせにより示される。「出力」は、Webサービスから返却される返却値を格納する変数が、変数型と変数名の組み合わせにより示される。「事前条件」は、当該Webサービスを実行前に満たさなければならない条件が、変数や論理演算子(and, or , not)や比較演算子(<,>,<=,>=,==,!=)により構成された条件式により示される。「事後条件」は、当該Webサービスを実行後に満たさなければならない条件が、変数や論理演算子(and, or , not)や比較演算子(<,>,<=,>=,==,!=)により構成された条件式により示される。「発生例外」は、当該Webサービスの実行時に発生する例外処理に付与された名称により示される。
図5は、ビジネスプロセステスト設計支援装置1の全体的な処理概要を示した図である。図5に示すように、まず最初に、BP記述情報(i:input−1)と、Webサービス仕様情報(i:input−2)とを入力情報として整合性の検出が行われる(ステップS1)。そして、整合するとして検出されたBP記述情報とWebサービス仕様情報からテストパスが生成され、当該テストパスの生成時に、実行可能性のあるパスが絞り込まれ、テストパス一覧(o:output−1)として出力される。
(整合性検出処理)
次に、図6から図8を参照しつつビジネスプロセステスト設計支援装置1の整合性検出の処理について説明する。
(入出力インタフェース整合性検出処理)
まず最初に、入出力インタフェース検出部14の処理について説明する。入出力インタフェース検出部14では、入力部10から入力されるBP記述情報とWebサービス仕様情報とに基づいて、BP記述情報の入出力情報と、Webサービス仕様情報の入出力情報とを対比し、変数の数および型が一致しているか否かにより整合しているか否かをを検出する。
例えば、図2のBPのWebサービス呼出ノードN1の入力情報は、図3に「(int x),(int y)」として示されるように整数型(int)の変数xとyの2つであり、出力情報は、「(int x)」で示されるように整数型のxの1つである。一方、Webサービス呼出ノードN1に関連付けられているWebサービスのWebサービス仕様情報が図4で示される場合、当該Webサービス仕様情報は、入力が整数型の変数xとyの2つであり、出力が整数型の変数xの1つであるため、入出力インタフェース検出部14は、Webサービス呼出ノードN1についてはBP記述情報とWebサービス仕様情報の入出力情報は一致しているため、整合しているとして検出し、その結果を整合性検出部13に出力する。
入出力インタフェース検出部14において不整合として検出される場合は、例えば、上記のWebサービス呼出ノードN1の入力情報が、整数型の変数xの1つしかない場合等である。
(発生例外整合性検出処理)
次に、発生例外検出部15の処理について説明する。発生例外検出部15では、BP記述情報に例外処理が含まれている場合、その遷移先が定義されているかという点と、Webサービスで発生する可能性がある例外処理に対応する処理がBPにおいて定義されているか、すなわちBP記述情報に含まれているか否かを検出することにより整合しているか否かを検出する。
例えば、図2のBPのWebサービス呼出ノードN1について、例外処理Eaが発生した場合、図3に示されるように遷移先がWebサービス呼出ノードNeとしてBP記述情報に含まれているため発生例外検出部15は、遷移先が定義されている、すなわち整合しているとして検出する。
次に、図4のWebサービス仕様情報で定義されるWebサービスをBPのいずれかのWebサービス呼出ノードが呼び出している場合、当該Webサービス仕様情報には、例外処理としてEaとEbの2つが含まれているため、この2つの例外処理がBP記述情報に含まれているか否かを検出する必要がある。しかし、図3のBP記述情報は、例外処理Eaのみを含んでいるため、発生例外検出部15は、図3のBP記述情報と、図4のWebサービス仕様情報については不整合であるとして検出し、その結果を整合性検出部13に出力する。
(事前条件・事後条件整合性検出処理)
次に、事前条件・事後条件検出部16の処理について説明する。図6は、事前条件・事後条件検出部16による全体的な処理の流れを示したフローチャートである。事前条件・事後条件検出部16では、BP記述情報に含まれるWebサービス呼出ノードであって、隣接関係にあるすべてのWebサービス呼出ノードに対して処理を行う。ここで、隣接関係にあるWebサービス呼出ノードとは、2つのWebサービス呼出ノード(A,B)を想定した場合、AからBに遷移可能であり、かつAからBへの遷移の際に判断ノード以外のノードを経由しないこと、すなわち他のWebサービス呼出ノードを経由しないことを意味する。
最初に、図6のフローチャートの各手順の概要について説明する。
(遷移の指定)
事前条件・事後条件検出部16は、整合性検出部13を介して入力部10から入力されるBP記述情報から整合性検出の対象となる隣接関係にあるWebサービス呼出ノードを選択する(ステップSa1)。このように、隣接関係にあるWebサービス呼出ノードを選択する理由は、BP記述情報においてWebサービス呼出ノードAとB間の遷移(A→B)を考えた場合、Webサービス呼出ノードAに関連付けられるWebサービスの事後条件およびWebサービス呼出ノードBに関連付けられるWebサービスの事前条件とBP記述情報との整合性を検出するためである。
(遷移条件の組み合わせ抽出)
次に、事前条件・事後条件検出部16は、A→Bに判断ノードが存在するか否かを検出し、判断ノードが存在する場合、判断ノードから遷移条件の全ての組み合わせの集合(CA→B)を遷移条件情報として抽出する。判断ノードが存在しない場合、CA→Bは、空である1つの要素を有することになる(ステップSa2)。
(事後条件追加)
次に、事前条件・事後条件検出部16は、CA→Bの各要素に、Webサービス呼出ノードAに関連付けられるWebサービスのWebサービス仕様情報から事後条件を読み出し、CA→Bの各要素の条件に読み出した事後条件を追加する(ステップSa3)。
(事後条件に関する整合性検出)
次に、事前条件・事後条件検出部16は、事後条件を追加したCA→Bの各要素を数理計画ソルバー17に入力する。数理計画ソルバー17は、CA→Bの各要素の条件を制約条件として制約条件を満たす変数の解を算出し、算出した結果を事前条件・事後条件検出部16に出力する(ステップSa4)。事前条件・事後条件検出部16は、解が存在したか否かに基づいてBPがWebサービス呼出ノードAに関連付けられるWebサービスの事後条件に整合しているか否かを判定する(ステップSa5)。事前条件・事後条件検出部16は、解が存在しない、すなわち整合していないと判定した場合、A→Bのパスは実行されないパスとして検出する(ステップSa11)。一方、事前条件・事後条件検出部16は、解が存在すると判定した場合、BPがWebサービス呼出ノードAに関連付けられるWebサービスの事後条件に整合しているとして、解が存在するCA→BをCp(A→B)とする。
(事前条件追加)
事前条件・事後条件検出部16は、ステップSa5において解が存在すると判定した場合の各要素に、Webサービス呼出ノードBに関連付けられるWebサービスのWebサービス仕様情報から事前条件を読み出し、Cp(A→B)の各要素の条件に読み出した事前条件を追加する(ステップSa6)。
(事前条件に関する整合性検出)
次に、事前条件・事後条件検出部16は、事前条件を追加したCp(A→B)の各要素を数理計画ソルバー17に入力する。数理計画ソルバー17は、Cp(A→B)の各要素の条件を制約条件として制約条件を満たす変数の解を算出し、算出した結果を事前条件・事後条件検出部16に出力する(ステップSa7)。事前条件・事後条件検出部16は、解が存在したか否かに基づいて、BPがWebサービス呼出ノードBに関連付けられるWebサービスの事前条件に整合しているか否かを判定する(ステップSa8)。事前条件・事後条件検出部16は、解が存在しない、すなわち整合していないと判定した場合、Webサービス呼出ノードBに関連付けられるWebサービスの事後条件の使用に違反する入力が発生する可能性があると考えることができ、BPがWebサービス呼出ノードBに関連付けられるWebサービスの事後条件に整合していないという検出結果を整合性検出部13に出力する。整合性検出部13は、整合性結果出力部18に検出結果を出力する(ステップSa9)。一方、BPがWebサービス呼出ノードBに関連付けられるWebサービスの事後条件に整合していると判定した場合、事前条件・事後条件検出部16は、整合しているという検出結果を整合性検出部13に出力する。整合性検出部13は、整合しているという検出結果の場合、整合性結果出力部18に検出結果を出力しつつ、テストパス生成部19にテストパス生成の開始指示を送信する(ステップSa10)。
次に、図7に示す図2のWebサービス呼出ノードN1に関連付けられるWebサービスWN1のWebサービス仕様情報と、図8に示すWebサービス呼出ノードN3に関連付けられるWebサービスWN3のWeサービス仕様情報に基づいて、具体的な整合性検出の処理について説明する。なお、当該処理の前提として図7及び図8の変数xとyは整数型であり、また図8のN3に関連付けられるWebサービスでは、例外処理が発生しないものとする。
最初に、事前条件・事後条件検出部16は、図2に示すBPの隣接関係にあるWebサービス呼出ノードN1とN3間の遷移N1→N3について検出を行うため、整合性検出部13を介して入力部10から入力されるBP記述情報からノード名N1とN3までの遷移を選択する(ステップSa1)。
次に、事前条件・事後条件検出部16は、N1→N3に存在する判断ノードJ1からCN1→N3を抽出する。ここで、CN1→N3の抽出とは、遷移元ノード名N1から遷移先ノード名N3までをBP記述情報に従って辿っていく途中に存在する判断ノードJ1(分岐1)について、N3に遷移する場合の分岐条件を抽出することである。遷移元ノードから遷移先ノードに至る中で判断ノードが存在しない場合、抽出されるCは空条件となる。
例えば、図3に示すBP記述情報の場合、分岐1においてN3に至る分岐条件は、「False」の場合、すなわち「x>0 and y<0」である。したがって、抽出されるCN1→N3は、「x>0 and y<0」の逆、すなわち、「CN1→N3={(x<=0 and y<0) or (x>0 and y>=0) or (x<=0 and y>=0)}」となる。
なお、判断ノードJ1(分岐1)の他の分岐である、N1→N2の遷移の場合には、抽出されるCN1→N2は、「CN1→N2={(x>0 and y<0)}」となる。
次に、N1に関連付けられるWebサービス、すなわち、BP記述情報における「呼出Webサービス名」から参照されるWebサービスWN1のWebサービス仕様情報の事後条件をCN1→N3に追加する。例えば、WebサービスWN1のWebサービス仕様情報が図7のCase1の場合、事後条件は「x+y=0 and y<0」であるため、事後条件を追加したCN1→N3は、「CN1→N3={(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)}」となる。
また、WebサービスWN1のWebサービス仕様情報が図7のCase2の場合、事後条件は「x+y>0」であるため、事後条件を追加したCN1→N3は、「CN1→N3={(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)}」となる。(ステップSa3)。
事前条件・事後条件検出部16は、事後条件を追加したCN1→N3を数理計画ソルバー17に入力する。数理計画ソルバー17は、変数xとyの解を算出する。図7のCase1の場合、CN1→N3を満たすxとyが存在しない、すなわち解が存在しないため、数理計画ソルバー17は解が存在しないことを示す情報を事前条件・事後条件検出部16に出力する。図7のCase2の場合、CN1→N3を満たすxとyが存在する、すなわち解が存在するため、数理計画ソルバー17は解が存在することを示す情報あるいは算出した解の情報を事前条件・事後条件検出部16に出力する(ステップSa4)。事前条件・事後条件検出部16は、数理計画ソルバー17から出力される算出結果に基づいて、Webサービス呼出ノードN1に関連付けられるWebサービスWN1の事後条件とBP記述情報とは整合しているか否かを判定する(ステップSa5)。解が存在しない場合、事前条件・事後条件検出部16は、事後条件とBP記述情報とは整合していないと判定し、その結果を整合性検出部13に出力する(ステップSa11)。解が存在する場合、整合している、すなわちN1→N3に遷移するまでの条件の間には不整合はないと判定し、CN1→N3をCp(N1→N3)とする。ここで、Cp(N1→N3)は、図7のCase2の事後条件が追加されたもの、すなわち、「Cp(N1→N3)={(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)}」となる。
次に、事前条件・事後条件検出部16は、Webサービス呼出ノードN3に関連付けられるWebサービスWN3の事前条件をCp(N1→N3)に追加する。例えば、WebサービスWN3のWebサービス仕様情報が図8のCase1の場合、事前条件は、「x<0」であるため、事前条件を追加したCp(N1→N3)は、「Cp(N1→N3)={(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)}」となる。
また、WebサービスWN3のWebサービス仕様情報が図8のCase2の場合、事前条件を追加したCp(N1→N3)は、「Cp(N1→N3)={(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)}」となる(ステップSa6)。
事前条件・事後条件検出部16は、事前条件を追加したCp(N1→N3)を数理計画ソルバー17に入力する。数理計画ソルバー17は、x と y の解を算出する。図8のCase1の場合、解が存在しないため、数理計画ソルバー17は解が存在しないことを示す情報を事前条件・事後条件検出部16に出力する。図8のCase2の場合、解が存在するため、数理計画ソルバー17は解が存在することを示す情報あるいは算出した解の情報を事前条件・事後条件検出部16に出力する(ステップSa7)。事前条件・事後条件検出部16は、数理計画ソルバー17から出力される算出結果に基づいて、Webサービス呼出ノードN3に関連付けられるWebサービスWN3の事前条件とBP記述情報とは整合しているか否かを判定する(ステップSa8)。解が存在しない場合、事前条件・事後条件検出部16は、事後条件とBP記述情報とは整合していないと判定し、その検出結果を整合性検出部13に出力する。整合性検出部13は、検出結果を整合性結果出力部18に出力する(ステップSa9)、解が存在する場合、事前条件・事後条件検出部16は、整合していると判定し、その検出結果を整合性検出部13に出力する。整合性検出部13は、整合しているという検出結果の場合、整合性結果出力部18に検出結果を出力しつつ、テストパス生成部19にテストパス生成の開始指示を送信する(ステップSa10)。
(テストパス生成処理)
次に、図9から図15を参照しつつビジネスプロセステスト設計支援装置1のテストパス生成の処理について説明する。BP記述情報に含まれる開始ノードから終了ノードに至るまでのパスの中には、BPの設計上、複数の同じ条件の判断ノードが含まれている場合などがある。このような判断ノードが含まれている場合、上位の処理で「True」と判定される場合、下位の判断ノードにおいても必ず「True」と判定されるため、下位の判断ノードにおいて「False」の場合のパスに遷移することはありえない。このようなありえないパスはテストする必要がないためこのようなパスを除いてテストパスを生成することにより、テスト回数を削減することが可能となる。
最初に、整合性検出部13は、整合しているという検出結果を整合性結果出力部18に出力するとともに、整合しているBP記述情報とWebサービス仕様情報とをテストパス生成部19に入力する。テストパス生成部19は、入力されるBP記述情報とWebサービス仕様情報とに基づいて図9のフローチャートに示される手順によりテストすべきBPのパスを抽出する。以下、図9を参照しつつテストパス生成の処理について説明する。
(隣接するWebサービス呼出ノード間のパスの生成)
テストパス生成部19は、整合性検出部13から入力されるBP記述情報から隣接関係にあるWebサービス呼出ノードAとB間のパス(A→B)を選択する。テストパス生成部19は、A→Bに判断ノードが存在するか否かを検出し、判断ノードが存在する場合、判断ノードから遷移条件の全ての組み合わせの集合(CA→B)を遷移条件情報として抽出する。判断ノードが存在しない場合、CA→Bは、空である1つの要素を有することになる。そして、CA→Bの各要素に、Webサービス呼出ノードAに関連付けられるWebサービスのWebサービス仕様情報から事後条件を読み出し、Webサービス呼出ノードBに関連付けられるWebサービスのWebサービス仕様情報から事前条件を読み出し、読み出した事後条件と事前条件とをCA→Bに追加する(ステップSb1)。
(パス式の生成)
テストパス生成部19は、ステップSb1の処理をBP記述情報内の全ての隣接するWebサービス呼出ノード間において行い(ステップSb2)、BPの開始から終了に至るすべてのパスを表現するパス式を生成する(ステップSb3)。
(テストパスの抽出)
テストパス生成部19は、生成したパス式から1つのテストパスを抽出する(ステップSb4)。
(代入・条件リストの生成)
次に、テストパス生成部19は、抽出したテストパスに対して、当該テストパスの開始ノードからの入力、テストパスに含まれる各Webサービスの出力、テストパスに含まれる判断ノードにおける分岐条件から、テストパスに含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成する(ステップSb5)。
(実行可能性判定)
そして、テストパス生成部19は、代入及び条件判定の順序を示すリストを数理計画ソルバー17に入力する。数理計画ソルバー17は、入力されるリストを制約条件として制約条件を満たす変数の解を算出し、算出した結果をテストパス生成部19に出力する(ステップSb6)。テストパス生成部19は、数理計画ソルバー17が算出した結果に基づいて、解が存在するか否かを判定する(ステップSb7)。テストパス生成部19は、解が存在すると判定した場合、当該パスを実行可能なテストパスとして記録する(ステップSb8)。一方、テストパス生成部19は、解が存在しないと判定した場合、当該パスを実行可能なテスト対象から除外する。
テストパス生成部19は、上記のステップSb4からステップSb8の処理をステップSb3で生成した全てのパス式に対して行い、記録されたテストパスを読み出し、テストパス出力部20に入力する。テストパス出力部20は、入力されたテストパスの一覧を表示する。
次に、図2に示すBPにおいて、図3のBP記述情報と、図7及び図8のWebサービス仕様情報とに基づいて、具体的なテストパス生成の処理について説明する。
テストパス生成部19は、図2に示すBPにおいてWebサービス呼出ノードN1からN3への遷移を、図3のBP記述情報から選択したとする。N1からN3への遷移であるため、抽出されるCN1→N3に含まれる条件は、「x>0 and y<0」の逆、すなわち、「CN1→N3=(x<=0 and y<0) or (x>0 and y>=0) or (x<=0 and y>=0)」となる。
そして、テストパス生成部19は、Webサービス呼出ノードN1に関連付けられるWebサービスのWebサービス仕様情報が図7のCase2の場合、Webサービス呼出ノードN1の事後条件は、「x+y>0」となり、Webサービス呼出ノードN3に関連付けられるWebサービスのWebサービス仕様情報が図8のCase2の場合、Webサービス呼出ノードN3の事前条件は「y>0」となる。このとき、CN1→N3は、図10に示す条件式となる(ステップSb1)。テストパス生成部19は、全ての隣接するWebサービス呼出ノード間に、ステップSb1の処理を適用する(ステップSb2)。
次に、テストパス生成部19は、条件式の各要素に図8に示すように識別子(a,b,c,・・・)を付与する。この識別子により、BP記述情報により定められるテストパスは、図11に示すようにグラフ表現することができる。このグラフ表現は、一般に知られているグラフのノード削減アルゴリズム(ソフトウェアテスト技法 ボーリス・バイザー著(日経BP社) p.346)を利用することで「a(f+g)k+a(c+d+e)h*i+abj」という式で表すことができ、これがテストパス生成部19により生成されるパス式となる(ステップSb3)。当該式において、「+」はorを表しており、「*」は0回以上任意に繰り返すループを表しており、例えば「a(f+g)kは、「afk」または「agk」のパスを示している。また、「h*」はhを0回以上任意に繰り返すことを示している。ループ回数は予め試験者により指定され、ループ回数が制限されることにより、テストパス生成部19は、パス式から有限のテストパスの集合を抽出することができる(ステップSb4)。
次に、ステップSb4のテストパスの抽出過程において、テストパス生成部19により上記式に含まれる「adhi」のパスが抽出されたとする。テストパス生成部19は、a,d,h,iの各要素の条件を、図7及び図8のCase2のWebサービス仕様情報と、図3に示されるBP記述情報の判断ノードJ1とに基づいて、図12のように生成する。次に、テストパス生成部19は、図3に示されるBP記述情報から開始ノードの入力条件「(int x),(int y)」を読み出し、Webサービス呼出ノードN1及びN3に対応付けられるWebサービスWN1及びWN3の出力条件を図7及び図8のCase2のWebサービス仕様情報から読み出し、読み出した入力条件及び出力条件と図12に示す条件式を実行順序に従って並び替え、図13に示す代入・条件リストを生成する。
次に、テストパス生成部19は、Webサービスからの出力により、変数に記憶される値が変わることを考慮しておくため、図13の代入・条件リストの先頭から、BPの入力及び、Webサービスの出力の変数がどの条件式で用いられるかに基づいて、変数名を別名に置き換え、図14に示す代入・条件リストを生成する(ステップSb5)。
そして、テストパス生成部19は、生成した代入・条件リストを数理計画ソルバー17に入力する。数理計画ソルバー17は、図14の代入・条件リストを制約条件として変数の解を算出し、その結果をテストパス生成部19に出力する(ステップSb6)。テストパス生成部19は、数理計画ソルバー17が算出した結果に基づいて、解が存在するか否かを判定する(ステップSb7)。図14では、x1,x2,x3,x4,y1の解が存在しないため、「adhi」のパスは実行可能でないパスとして対象から除外される。そして、最終的に実行可能なテストパスとして、テストパス出力部20により図15に示すようなテストパス一覧が表示される。図15において、「テストパス」はテストにより実行されるパスがノード名により示されている。「分岐条件」には、テストパス中に存在する分岐の分岐状態が示されており、テストパスが実行されるために、その分岐がどのような状態でなければならないかが示されている。「回数」には、ループなどテストパス中に同じ分岐がある場合に、何回目の分岐の状態であるかを示す回数値が示される。
上記の構成により、BPを実際に実行することなく、また、人手を介さずにBPとBPから呼び出されるWebサービスの整合性の検出を行うことが可能となる。また、人手を介さずにBPのテストパスを生成することができ、さらに、テストパスの生成時に実行可能なパスを絞り込んでテストパスの生成を行うことができるためテスト工数の削減を図ることが可能となる。
上述のビジネスプロセステスト設計支援装置1は内部に、コンピュータシステムを有している。そして、上述した整合性検出の処理過程及びテストパス生成の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
本実施形態によるビジネスプロセステスト設計支援装置の内部構成を示すブロック図である。 同実施形態によるビジネスプロセスのフローを示した図である。 同実施形態によるビジネスプロセス記述情報のデータ構成を示した図である。 同実施形態によるWebサービス仕様情報のデータ構成を示した図である。 同実施形態によるビジネスプロセステスト設計支援装置の動作の概略を示した図である。 同実施形態による整合性検出処理を示したフローチャートである。 同実施形態のビジネスプロセスから呼び出されるWebサービスのWebサービス仕様情報の一例(その1)である。 同実施形態のビジネスプロセスから呼び出されるWebサービスのWebサービス仕様情報の一例(その1)である。 同実施形態によるテストパス生成処理を示したフローチャートである。 同実施形態のテストパス生成により抽出される隣接するWebサービス呼出ノード間のパスの条件式の一例を示した図である。 同実施形態によるテストパス生成により抽出されるパスをグラフにより示した図である。 同実施形態のテストパス生成により抽出されるパスの条件式の一例を示した図である。 同実施形態による開始ノード及び判断ノードの条件が追加されたパスの条件式の一例を示した図である。 同実施形態による変数が置き換えられた後のパスの条件式の一例を示した図である。 同実施形態において最終的に出力されるテストパス一覧の一例を示した図である。 従来の一般的なビジネスプロセスのフローを示した図である。 ビジネスプロセス記述言語の標準化団体のリストを示した図である。 ビジネスプロセス実行システムとWebサービスとの関係を説明するための図(その1)である。 ビジネスプロセス実行システムとWebサービスとの関係を説明するための図(その2)である。
符号の説明
1 ビジネスプロセステスト設計支援装置
10 入力部
11 BP記述情報DB
12 Webサービス仕様情報DB
13 整合性検出部
14 入出力インタフェース検出部
15 発生例外検出部
16 事前条件・事後条件検出部
17 数理計画ソルバー
18 整合性結果出力部
19 テストパス生成部
20 テストパス出力部

Claims (8)

  1. ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置であって、
    前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力する入力部と、
    前記入力部が入力する前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力する整合性検出部と、
    前記整合性検出部が検出した整合するか否かを示す情報を出力する整合性結果出力部と、
    前記整合性検出部から出力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するテストパス生成部と、
    前記テストパス生成部が実行できると判定したパス情報をテスト対象のパスとして出力するテストパス出力部と、
    を備えたことを特徴とするビジネスプロセステスト設計支援装置。
  2. 記整合性検出部は、
    前記ウェブサービス仕様情報に含まれる入出力情報の条件情報と、前記ビジネスプロセス記述情報に含まれる前記ウェブサービス実行システムへ入力する入力情報及び当該ウェブサービス実行システムから受信する出力情報とに基づいて、入出力の条件が整合しているか否かを検出する入出力情報検出部を備え、
    前記整合性結果出力部は、
    前記入出力情報検出部が検出した入出力の情報が整合しているか否かを示す情報を出力する
    ことを特徴とする請求項1記載のビジネスプロセステスト設計支援装置。
  3. 記整合性検出部は、
    前記ウェブサービス仕様情報に含まれている例外処理の情報に基づいて、当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを検出する発生例外検出部を備え、
    前記整合性結果出力部は、
    前記発生例外検出部が検出した当該例外処理が前記ビジネスプロセス記述情報に含まれているか否かを示す情報を出力する
    ことを特徴とする請求項1または2のいずれか1つに記載のビジネスプロセステスト設計支援装置。
  4. 記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、
    前記整合性検出部は、
    前記ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、当該ビジネスプロセス記述情報に含まれる前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とに基づいて、前記ビジネスプロセス処理の前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードへ遷移する処理が、前記第1のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第2のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを検出する事前条件事後条件検出部を備え、
    前記整合性結果出力部は、
    前記事前条件事後条件検出部が検出した前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードへ遷移する処理が、前記第1のウェブサービス呼出ノードに対する前記ウェブサービス処理及び前記第2のウェブサービス呼出ノードに対応する前記ウェブサービス処理と整合するか否かを示す情報を出力する
    ことを特徴とする請求項1からのいずれか1つに記載のビジネスプロセステスト設計支援装置。
  5. 記ビジネスプロセス記述情報には、前記ウェブサービス実行システムとの間で情報の入出力の処理を示したウェブサービス呼出ノードが含まれており、
    前記テストパス生成部は、
    入力される前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、当該ビジネスプロセス記述情報により示されるビジネスプロセス処理の順序において隣接する第1のウェブサービス呼出ノードと第2のウェブサービス呼出ノードの組み合わせを全て抽出し、抽出した組み合わせから当該ビジネスプロセス記述情報による処理手順を示すパス情報を生成し、生成したパス情報ごとに、当該パス情報に含まれる全ての前記第1のウェブサービス呼出ノードから前記第2のウェブサービス呼出ノードに遷移する場合の遷移条件情報と、前記第1のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事後条件情報と、第2のウェブサービス呼出ノードに対応するウェブサービス仕様情報に含まれる前記事前条件情報とを前記ビジネス記述情報及び前記ウェブサービス仕様情報から読み出し、読み出した前記遷移条件情報と前記事後条件情報と前記事後条件情報とに基づいて当該パス情報が実行できるか否かを検出する
    ことを特徴とする請求項1から4のいずれかに記載のビジネスプロセステスト設計支援装置。
  6. 前記テストパス生成部は、
    生成した前記パス情報毎に、当該パス情報に含まれる変数へのデータの代入及び条件判定の順序を示すリストを生成し、当該リストを制約条件とした変数の解が存在するか否かを判定し、判定結果に基づいて当該パス情報が実行できるか否かを検出する
    ことを特徴とする請求項5に記載のビジネスプロセステスト設計支援装置。
  7. ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験のためのビジネスプロセス試験方法であって、
    前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、
    入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、
    検出した整合するか否かを示す情報を出力するステップと、
    出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、
    実行できると判定したパス情報をテスト対象のパスとして出力するステップと、
    を備えたことを特徴とするビジネスプロセス試験方法。
  8. ビジネスプロセス処理の手順が示されるビジネスプロセス記述情報に従って処理を行うビジネスプロセス実行システムと、前記ビジネスプロセス実行システムから入力される情報を予め定められるウェブサービス処理に基づいて処理し、当該処理により得られる情報を前記ビジネスプロセス実行システムに出力するウェブサービス実行システムとを具備するコンピュータシステムに利用される前記ビジネスプロセス記述情報の試験工程の設計を支援するビジネスプロセステスト設計支援装置に具備されるコンピュータに、
    前記ビジネスプロセス記述情報と、前記ウェブサービス処理への入力情報と当該ウェブサービス処理からの出力情報と当該ウェブサービス処理を実行する前に満たされていなければならない事前条件情報と当該ウェブサービス処理の実行後に満たされていなければならない事後条件情報と当該ウェブサービス処理の実行時に起きうる発生例外とが含まれるウェブサービス仕様情報と、を入力するステップと、
    入力した前記ウェブサービス仕様情報と前記ビジネスプロセス記述情報とに基づいて、前記ビジネスプロセス実行システムにより行われる処理と前記ウェブサービス実行システムにより行われる処理とが整合するか否かを検出し、整合するとして検出した場合のそれぞれの処理に対応する前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報を出力するステップと、
    検出した整合するか否かを示す情報を出力するステップと、
    出力した前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて、前記ビジネスプロセス実行システムが実行する処理過程を示したパス情報を生成するとともに、生成したパス情報が実行できるパスであるか否かを、生成元の前記ウェブサービス仕様情報及び前記ビジネスプロセス記述情報に基づいて判定するステップと、
    実行できると判定したパス情報をテスト対象のパスとして出力するステップと、
    を実行させるためのコンピュータプログラム。
JP2005318123A 2005-11-01 2005-11-01 ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム Active JP4804880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005318123A JP4804880B2 (ja) 2005-11-01 2005-11-01 ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005318123A JP4804880B2 (ja) 2005-11-01 2005-11-01 ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2007128138A JP2007128138A (ja) 2007-05-24
JP4804880B2 true JP4804880B2 (ja) 2011-11-02

Family

ID=38150767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005318123A Active JP4804880B2 (ja) 2005-11-01 2005-11-01 ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4804880B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506494B (zh) * 2020-02-25 2023-07-07 中信银行股份有限公司 一种业务流程实例化的方法
CN113641578A (zh) * 2021-08-10 2021-11-12 广域铭岛数字科技有限公司 基于业务层面精准测试方法、系统、设备及介质
CN115438991B (zh) * 2022-09-19 2023-11-24 贵州航天云网科技有限公司 一种基于流程引擎复杂业务数据智能处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113216A (ja) * 1997-06-11 1999-01-06 Fujitsu Ltd シナリオに基づくオブジェクト指向分析設計支援方法および支援装置

Also Published As

Publication number Publication date
JP2007128138A (ja) 2007-05-24

Similar Documents

Publication Publication Date Title
US8589884B2 (en) Method and system for identifying regression test cases for a software
US8887124B2 (en) Validation of process models
JP6268029B2 (ja) テストケース生成装置及びテストケース生成方法
US9703683B2 (en) Software testing coverage
Ogata et al. A method of automatic integration test case generation from UML-based scenario
JP4804880B2 (ja) ビジネスプロセステスト設計支援装置、ビジネスプロセス試験方法、及びコンピュータプログラム
JP6568017B2 (ja) テスト支援装置、および、テスト支援方法
US10496402B1 (en) System, method, and computer program for defining and utilizing minimal testable values for software project development and operations
US8352909B2 (en) Business process diagram (BPD) component analysis
US20080195906A1 (en) Test pattern generation apparatus and test pattern generation method
JP2009134360A (ja) モデル検査システム、モデル検査方法およびモデル検査用プログラム
GB2397905A (en) Method for automatically generating and ordering test scripts
Havelund et al. Monitorability for Runtime Verification
JP2018142032A (ja) サービス設計支援装置、方法、およびプログラム
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP5595304B2 (ja) プログラム試験装置、プログラム試験装置のプログラム試験方法およびプログラム試験プログラム
JP2009237913A (ja) プロパティ抽出装置及び方法
El-Fakih et al. Test translation for embedded finite state machine components
JP7391740B2 (ja) 影響特定支援装置及び影響特定支援方法
JP2019028958A (ja) 設計書学習装置および設計書学習方法
JP2012088933A (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム
JP4779908B2 (ja) 回路設計支援システム、回路設計支援方法及びプログラム
Vasilache DePAT: a framework for specification-based automatic test generation
Singh et al. Software Reliability with Jumping Finite Automata
Rachdi et al. Analysis of BPMN process models using time Petri nets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110810

R150 Certificate of patent or registration of utility model

Ref document number: 4804880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250