(57)【特許請求の範囲】
【請求項１】
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
前記入力データ供給手段が、前記複数の処理装置で動作する前記プログラムに前記入力データを供給し、
前記複数の処理装置の前記プログラムが、前記入力データに従って前記所定の処理を行い、
前記比較要否判断手段が、前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断し、
前記期待データ算出手段が、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
前記比較手段が、エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定する
分散処理システムのテスト方法。
【請求項２】
前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
請求項１に記載の分散処理システムのテスト方法。
【請求項３】
前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
請求項１または２に記載の分散処理システムのテスト方法。
【請求項４】
前記実施済データは、前記特徴パターンである
請求項１乃至３の何れかに記載の分散処理システムのテスト方法。
【請求項５】
前記実施済データは、前記特徴パターンを生成した元となるデータである
請求項１乃至３の何れかに記載の分散処理システムのテスト方法。
【請求項６】
前記実施済データは、前記プログラムを特定する識別子を含み、
前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
請求項１乃至５の何れかに記載の分散処理システムのテスト方法。
【請求項７】
前記期待データ算出手段は、前記プログラムが新旧２つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
請求項１乃至６の何れかに記載の分散処理システムのテスト方法。
【請求項８】
前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出する
請求項１乃至７の何れかに記載の分散処理システムのテスト方法。
【請求項９】
前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
請求項１乃至８の何れかに記載の分散処理システムのテスト方法。
【請求項１０】
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
前記複数の処理装置の前記プログラムに前記入力データを供給する入力データ供給手段と、
テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段と、
前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定するテスト結果判定手段と
を有する分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理装置から構成される分散処理システムに関し、特に個々の処理装置上で実行されるプログラムが正常に動作するか否かをテストする技術に関する。
【背景技術】
【０００２】
分散処理システム上で実行されるプログラムが正常に動作するか否かをテストする手法として、各処理装置上で実行されるプログラムにデータを入力し、その結果得られるデータを、別途生成した正しいデータであると期待する期待データと比較する手法がある。
【０００３】
例えば特許文献１に記載される分散処理システムでは、同一内容の処理を行う新旧２つのプログラムを分散処理システムで実行し、新プログラムによる処理結果のデータを旧プログラムによる処理結果のデータと比較することにより、新プログラムが正常に動作するか否かをテストしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−６２６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、分散処理システム上で実行されるプログラムが正常に動作するか否かをテストするには、プログラムに入力する入力データの個数分の期待データを別途に生成する必要があった。従って、リソース不足等の理由によって、入力データに対応する期待データを速やかに生成できない環境では、期待データを待ち合わせる場面が頻発し、テスト時間が長大化する課題があった。
【０００６】
本発明の目的は、上述した課題、すなわち、リソース不足等の理由によって、入力データに対応する期待データを速やかに生成できない環境では、テスト時間が長大化する、という課題を解決する分散処理システムのテスト方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一形態にかかる分散処理システムのテスト方法は、
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
上記入力データ供給手段が、上記複数の処理装置で動作する上記プログラムに上記入力データを供給し、
上記複数の処理装置の上記プログラムが、上記入力データに従って上記所定の処理を行い、
上記比較要否判断手段が、上記入力データの特徴パターンを生成し、該生成した上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されているか否かを判断し、
上記期待データ算出手段が、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていない場合に、上記入力データに従って上記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
上記比較手段が、エラーが発生して正常に上記プログラムの処理が完了しなかった場合には上記入力データによるテストは失敗と判断し、エラーが発生することなく正常に上記プログラムの処理が完了した場合は、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記施済データが上記実施済データ記憶手段に記憶されていたときは上記入力データによるテストは成功と判断し、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていなかったときは上記算出された上記期待データと上記プログラムの結果データとを比較した結果に基づいて上記入力データによるテストの結果を判定する、
といった構成を採る。
【０００８】
本発明の他の形態にかかる分散処理システムは、
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
上記複数の処理装置の上記プログラムに上記入力データを供給する入力データ供給手段と、
テスト実施済の上記入力データに関する実施済データを記憶する実施済データ記憶手段と、
上記入力データの特徴パターンを生成し、該生成した上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていない場合に、上記入力データに従って上記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
エラーが発生して正常に上記プログラムの処理が完了しなかった場合には上記入力データによるテストは失敗と判断し、エラーが発生することなく正常に上記プログラムの処理が完了した場合は、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていたときは上記入力データによるテストは成功と判断し、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていなかったときは上記算出された上記期待データと上記プログラムの結果データとを比較した結果に基づいて上記入力データによるテストの結果を判定するテスト結果判定手段と
を有する、といった構成を採る。
【発明の効果】
【０００９】
本発明は上述した構成を有するため、リソース不足等の理由によって入力データに対応する期待データを速やかに生成できない環境におけるテスト時間の長大化を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態にかかる分散処理システムのブロック図である。
【図２】本発明の第１の実施形態にかかる分散処理システムにおけるテスト手順を示すフローチャートである。
【図３】本発明に関連する分散処理システムのブロック図である。
【図４】本発明の第２の実施形態にかかる分散処理システムのブロック図である。
【図５】本発明の第２の実施形態にかかる分散処理システムにおけるテスト要否判断手段が受け取るデータの例を示す図である。
【図６】本発明の第２の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作説明図である。
【図７】本発明の第２の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作を示すフローチャートである。
【図８】本発明の第３の実施形態にかかる分散処理システムのブロック図である。
【図９】本発明の第３の実施形態にかかる分散処理システムにおけるテスト要否判断手段が受け取るデータ（上段）の例と、テストデータデータ種別および要否判断基準（下段）の例を示す図である。
【図１０】本発明の第３の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作を示すフローチャートである。
【図１１】本発明の第４の実施形態にかかる分散処理システムのブロック図である。
【図１２】本発明の第４の実施形態にかかる分散処理システムで算出される比較省略率の例を示す図である。
【図１３】本発明の第５の実施形態にかかる分散処理システムのブロック図である。
【図１４】本発明の第６の実施形態にかかる分散処理システムのブロック図である。
【発明を実施するための形態】
【００１１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかる分散処理システム１は、複数の処理装置１０１と、入力データ供給装置１０２と、期待データ算出装置１０３と、比較装置１０４と、実施済データ記憶装置１０５と、比較要否判断装置１０６とを有する。
【００１２】
各々の処理装置１０１は、マイクロプロセッサ等のプロセッサおよび半導体メモリやハードディスクなどの記憶部を有するサーバ装置などの情報処理装置である。各々の処理装置１０１は、処理の対象となるデータ１１１を記憶するデータベース１１２と、入力データ１２１に従ってデータベース１１２上のデータ１１１を更新するプログラム１１３とを有する。
【００１３】
入力データ供給装置１０２は、図示しないネットワークを通じて各々の処理装置１０１に接続されている。入力データ供給装置１０２は、各々の処理装置１０１のプログラム１１３をテストするためのデータを入力データ１２１として複数の処理装置１０１のプログラム１１３に分配する機能を有する。
【００１４】
期待データ算出装置１０３は、入力データ１２１に従ってデータベース１１２上のデータ１１１をプログラム１１３が更新したときの更新後データとして期待されるデータ（期待データ）１２２を算出する機能を有する。例えば、プログラム１１３が、データ１１１と入力データ１２１とを算術加算した値でデータ１１１を更新するプログラムであれば、データ１１１と入力データ１２１とを算術加算した値が期待データ１２２となる。期待データ算出装置１０３は、比較要求判断装置１０６から入力データ１２１と更新前データ１２２とを受け取り、これら入力データ１２１と更新前データ１２２とから期待データ１２４を算出し、比較要求判断装置１０６へ返却する。
【００１５】
例えば、プログラム１１３が従来のプログラム（旧プログラム）を改良した新プログラムである場合、期待データ算出装置１０３は、旧プログラムに入力データ１２１を入力して実行した結果の更新後データを、期待データ１２４として算出する構成として良い。
【００１６】
比較装置１０４は、入力データ１２１を用いたプログラム１１３のテストの成功および失敗を判断する機能を有する。比較装置１０４は、上記判断に際し、まず、エラーが発生することなく正常にプログラム１１３の処理が完了したか否かを判断する。若し、エラーが発生しプログラム１１３の処理が正常に完了していなければ、入力データ１２１によるプログラム１１３のテスト結果は失敗、すなわちプログラム１１３は正常でない、と判断する。他方、エラーが発生することなく正常にプログラム１１３の処理が完了していれば、プログラム１１３が入力データ１２１に従って更新したデータベース１１２上の更新後データ１２３が正しいか否かを判断する。この判断を行うために、比較装置１０４は、入力データ１２１と、プログラム１１３が入力データ１２１に従って更新するデータベース１１２上の更新前データ１１１と、プログラム１１３が入力データ１２１に従って更新したデータベース１１２上の更新後データ１２３とを比較要否判断装置１０６へ通知する。そして、比較装置１０４は、比較要否判断装置１０６から上記の通知に対する応答として期待データ１２４を受け取った場合には、この受け取った期待データ１２４と更新後データ１２３との比較を行い、比較結果に基づいて入力データ１２１によるテストの成功および失敗を判断する。すなわち、双方のデータが一致していればテスト成功、一致していなければテスト失敗と判断する。他方、比較装置１０４は、比較要否判断装置１０６から上記の通知に対する応答として、比較不要の通知を受け取った場合には、比較を行うことなくテスト成功と判断する。
【００１７】
実施済データ記憶装置１０５は、テスト実施済の入力データ１２１に関する実施済データ１１４を記憶する機能を有する。実施済データ１１４は、本実施形態の場合、後述するようにして入力データ１２１等から算出された特徴パターンである。勿論、特徴パターンの生成元となった入力データ１２１等を実施済データ１１４としても良い。
【００１８】
比較要否判断装置１０６は、比較装置１０４から入力データ１２１と更新前データ１２２と更新後データ１２３とを受け取り、当該入力データ１２１によるテストにおいて更新後データ１２３と期待データとの比較が必要か否かを判断する機能を有する。上記判断では、比較要否判断装置１０６は、入力データ１２１と更新前データ１２２と更新後データ１２３とから予め定められた規則に従って特徴パターンというデータを生成し、この生成した特徴パターンと同一の特徴パターンを有する実施済データ１１４が実施済データ記憶装置１０５に記憶されているか否かを調査する。そして、生成した特徴パターンと同一の特徴パターンを有する実施済データ１１４が存在すれば、比較不要と判断し、その旨を比較装置１０４へ通知する。他方、生成した特徴パターンと同一の特徴パターンを有する実施済データ１１４が存在しなければ、今回の入力データ１２１に関する実施済データを実施済データ記憶装置１０５に追加すると共に、入力データ１２１と更新前データ１２２とを期待データ算出装置１０３に渡して期待データ１２４を算出させ、この算出された期待データ１２４を比較装置１０４に通知する。
【００１９】
比較要否判断装置１０６が入力データ１２１と更新前データ１２２と更新後データ１２３とから予め定められた規則に従って、特徴パターンを生成する方法について、詳細に説明する。以下、入力データ１２１をｘ、更新前データ１２２をｙ、更新後データ１２３をｚ、これらから生成した特徴パターンをｗとする。
【００２０】
比較要否判断装置１０６は、入力データｘ、更新前データｙ、更新後データｚの組み合わせと同一となるデータ「ｘ、ｙ、ｚ」以外のデータを、入力データｘ、更新前データｙ、更新後データｚの組み合わせを特徴付ける特徴パターンｗとして生成する。より具体的には、比較要否判断装置１０６は、入力データｘ、更新前データｙ、更新後データｚの属するカテゴリを判別し、判別したカテゴリを特徴データｗとする。例えば、入力データｘの集合が、ｎ通りのカテゴリｇ１〜ｇｎに分類できる場合、或る入力データｘが特定のカテゴリｇｉに分類されるならば、カテゴリｇｉを入力データｘから生成される特徴パターンｗとして良い。例えば、入力データｘの集合が、正の整数と負の整数との２つのカテゴリに分類できる場合、或る入力データｘが正の整数であれば、その入力データｘの特徴パターンｗとして「正の整数」を使用することができる。また、入力データｘの集合が、性別によって分類できる場合、或る入力データｘが男性であれば、その入力データｘの特徴パターンとして「男性」を使用することができる。また、入力データｘの集合が、都道府県によって分類できる場合、或る入力データｘが東京都であれば、その入力データｘの特徴パターンとして「東京都」を使用することができる。更新前データｙ、更新後データｚについても同様である。
【００２１】
なお、本実施形態では、入力データｘ、更新前データｙ、更新後データｚの３つ全てに基づいて特徴パターンｗを生成したが、入力データｘ、更新前データｙ、更新後データｚの内の何れか２つに基づいて特徴パターンｗを生成しても良いし、入力データｘ、更新前データｙ、更新後データｚの内の何れか１つに基づいて特徴パターンｗを生成しても良い。入力データｘ、更新前データｙ、更新後データｚの内の１つを使用して特徴パターンｗを生成する場合、異なる入力データｘに対して異なる特徴パターンｗが生成されるようにするために、入力データｘを選択することが望ましい。また、入力データｘ、更新前データｙ、更新後データｚの内の２つを使用して特徴パターンｗを生成する場合、異なる入力データｘと更新前データｙとの組み合わせに対して異なる特徴パターンｗが生成されるようにするために、入力データｘと更新前データｙとを選択することが望ましい。
【００２２】
上述した入力データ供給装置１０２、期待データ算出装置１０３、比較装置１０４、実施済データ記憶装置１０５、および比較要否判断装置１０６は、それぞれ物理的に異なる情報処理装置によって実現されていて良い。または、入力データ供給装置１０２、期待データ算出装置１０３、比較装置１０４、実施済データ記憶装置１０５、および比較要否判断装置１０６の内の２つ、或いは３つ、或いは４つ、或いは全てが、物理的に同じ情報処理装置によって実現されていても良い。また、入力データ供給装置１０２、期待データ算出装置１０３、比較装置１０４、実施済データ記憶装置１０５、および比較要否判断装置１０６の内の１つ、或いは２つ、或いは３つ、或いは４つ、或いは全てが、何れかの処理装置１０１と同じ情報処理装置によって実現されていても良い。
【００２３】
また、上述した期待データ算出装置１０３、比較装置１０４、実施済データ記憶装置１０５、および比較要否判断装置１０６は、全ての処理装置１０１に共通に備えられていても良い。または、期待データ算出装置１０３、比較装置１０４、実施済データ記憶装置１０５、および比較要否判断装置１０６の内の１つ、或いは２つ、或いは３つ、或いは全てが、個々の処理装置１０１あるいは一部の複数の処理装置１０１毎に共通に備えられていても良い。
【００２４】
次に、本実施形態にかかる分散処理システムが実行するテスト方法の手順を、図１および図２のフローチャートを参照して説明する。なお、一連の入力データ１２１を使用するテストの開始時、実施済データ記憶装置１０５の記憶内容は、実施済データ１１４が一つも記憶されない状態にクリアされる。
【００２５】
まず、入力データ供給装置１０２は、テストのための入力データ１２１を各処理装置１０１に供給する（ステップＳ１）。例えば、入力データ供給装置１０２は、テストのための入力データ１２１の集合を有しており、その集合の中から１つの入力データ１２１を取り出して一つの処理装置１０１に供給し、他の処理装置１０１には集合の中から取り出した別の１つの入力データを供給する。こうして、入力データ供給装置１０２は、全ての処理装置１０１のテストを並行して実行する。以下では、一つの処理装置１０１に着目して、その処理装置１０１に入力されたデータによるテストの手順を説明する。
【００２６】
処理装置１０１は、入力されたデータ１２１を入力データとしてプログラム１１３を実行する。プログラム１１３は、予めプログラムされた手順に従って計算や論理演算などを実行し、入力データ１２１に従ってデータベース１１２上のデータ１１１を更新する（ステップＳ２）。比較装置１０４は、エラーが発生することなく正常にプログラム１１３の処理が完了したか否かを判断する（ステップＳ３）。若し、エラーが発生していれば、比較装置１０４は、今回の入力データ１２１によるプログラム１１３のテストの結果は失敗と判定する（ステップＳ１２）。他方、エラーが出ずに正常に完了したとしてもプログラム１１３の計算結果が正しいとは限らないので、比較装置１０４は、今回の入力データ１２１によるテスト手順をなおも続行する。
【００２７】
まず、比較装置１０４は、入力データ１２１、更新前データ１２２、および更新後データ１２３を比較要否判断装置１０６に通知し、比較要否判断装置１０６は、通知されたこれらのデータから特徴パターンを生成する（ステップＳ４）。次に比較要否判断装置１０６は、生成した特徴パターンと同一の特徴パターンを有する実施済データが実施済データ記憶装置１０５に記憶されているか否かを検索して調査する（ステップＳ５）。そして、比較要否判定装置１０６は、同一の特徴パターンの実施済データが実施済データ記憶装置１０５に記憶されていれば、比較不要の旨を比較装置１０４に通知し、比較装置１０４は、今回の入力データ１２１によるプログラム１１３のテストの結果は、成功と判定する（ステップＳ６、Ｓ１１）。
【００２８】
他方、比較要否判定装置１０６は、同一の特徴パターンの実施済データが実施済データ記憶装置１０５に記憶されていなければ、上記生成した特徴パターンを新たな実施済データとして実施済データ記憶装置１０５に追加する（ステップＳ７）。そして比較要否判定装置１０６は、入力データ１２１と更新前データ１２２とを期待データ算出装置１０３に通知し、期待データ算出装置１０３は、これらのデータに従って期待データ１２４を算出し、比較要否判定装置１０６を通じて比較装置１０４へ通知する（ステップＳ８）。比較装置１０４は、更新後データ１２３と期待データ１２４とを比較する（ステップＳ９）。そして、比較装置１０４は、双方のデータが一致すれば、今回の入力データ１２１によるプログラム１１３のテストの結果は、成功と判定する（ステップＳ１０、Ｓ１１）。しかし、双方のデータが一致しなければ、比較装置１０４は、今回の入力データ１２１によるプログラム１１３のテストの結果は、失敗と判定する（ステップＳ１０、Ｓ１２）。
【００２９】
以上で、一つの入力データ１２１を使用した処理装置１０１のプログラム１１３のテストが終了する。テストの結果が成功であれば、別の入力データ１２１を用いて同様のテストが繰り返し実行される。若し、テストの結果が失敗であれば、例えば、テストを中止し、失敗となった原因の究明、障害箇所の特定、その改善が実施される。
【００３０】
次に本実施形態の効果を説明する。
【００３１】
本実施形態によれば、リソース不足等の理由によって入力データに対応する期待データを速やかに生成できない場合であっても、テスト時間が長大化するのを防止することができる。その理由は、入力データ１２１、更新前データ１２２、および更新後データ１２３から生成される特徴パターンと同一の特徴パターンを有する実施済データが実施済データ記憶装置１０５に記憶されている場合には、新たな期待データは生成しないように構成されているため、期待データを生成する頻度が低下し、その結果、期待データを待ち合わせる頻度が低下するためである。
【００３２】
また本実施形態によれば、比較するデータ数を単純に削減する場合に比べて、十分なテストを実施することが可能である。その理由の一つは、全ての入力データについてプログラム１１３の実行を行い、エラーが発生することなく正常に処理が完了しているか否かを確認しているためである。これによって、或る特定の入力データのパターン時にエラーが発生するといった障害を発見することが可能である。他の理由は、エラーが発生せずに正常にプログラム処理が完了した場合に、今回の入力データ１２１、更新前データ１２２、および更新後データ１２３から生成される特徴パターンが、今までテストした入力データ等から生成した特徴パターンと相違するとき、換言すれば今回の入力データ等が既にテストした入力データ等と異なるカテゴリやパターンであるときは、プログラムの処理の結果である更新後データ１２３と期待データ１２４とを比較して、プログラムの処理の結果が正しいかどうかを確認しているためである。他方、入力データ等から生成した特徴パターンが既にテストした入力データ等から生成した特徴パターンと同一であるとき、換言すれば入力データ等が既にテストした入力データ等と同じカテゴリやパターンであるときには、プログラムの処理結果が正しい確率が高いので、プログラムの処理の結果である更新後データ１２３と期待データ１２４との比較をあえて行わずに、プログラムのテストの結果が成功と判断している。
【００３３】
本実施形態では、テストの対象となるプログラム１１３がデータベース１１２を更新するプログラムであったが、データベースの更新を伴わないプログラムをテスト対象とすることも可能である。即ち、本発明は、入力データに従って所定の処理を行うプログラムであればテストを実施することができる。
【００３４】
また本実施形態では、テストの対象となるプログラム１１３は一種類であったが、複数種類のプログラムをテスト対象としても良い。この場合、比較要否判断装置１０６は、プログラムを特定する識別子に対応して、特徴パターンを生成する規則を保持し、保持した規則に従って特徴パターンを生成するようにして良い。また、実施済データ１１４は、プログラムを特定する識別子を含み、比較要否判断装置１０６は、テスト対象のプログラムを特定する識別子と同一の識別子を有し、且つ、生成した特徴パターンと同一の特徴パターンを有する実施済データ１１４が実施済データ記憶装置１０５に記憶されているか否かを調査するようにして良い。
【００３５】
[第２の実施形態]
次に、本発明の第２の実施形態について詳細に説明する。本実施形態では、ファイルに記載された入力データをバッチ処理によってデータベースに反映する旧システムを、データベースの各データ毎に分割・配置された個別の環境上で一斉に並列実行する新システムへ移行する場合の、新システムのプログラムが旧システムと同様の結果を得ていることを確認するためのテスト方法について説明する。
【００３６】
まず、本実施形態が解決しようとする課題について説明する。
【００３７】
近年、分散処理技術の発展に伴い、大量データを複数サーバで並列・分散処理することで、既存のサービスの処理時間を短縮することが可能になっている。このような中、既存システムをこのような分散処理技術を活かした新たなシステムに移行する動きが活発化している。ここで、既存システムの処理が新システムでも同様に実現できていることを確認・保証する必要があるが、既存システムの中には、そのシステムの仕様書が無い場合や、そのシステムを熟知している技術者がいない場合など、既存システムがどのような仕様で動作しているかを把握できないケースがある。そのような場合、既存システムの入力データと処理結果を用いて、同様のデータを新システムに入力した結果が、既存システムと同様の結果となることをテストすることで、既存システムと同等の機能が実現できていることを確認するができる。
【００３８】
しかし、新システムのプログラムによる計算結果の比較と、旧プログラムで計算された結果を比較するために、旧システムが利用する旧DB（データベース）にアクセスすると、稼働中の旧DBへ負荷をかけてしまい、旧システムが提供するサービスの性能劣化等の影響を与えてしまう。また、その旧システムへの影響を避けるため、旧システムと全く同一の環境をエミュレートする単一のエミュレーション環境を用意して、旧プログラムによるエミュレート結果を計算することで新プログラムの計算結果の妥当性をチェックする場合、新システムが大量のデータを分散・並列処理するため、単一のエミュレーション環境に対して一度に大量の負荷がかかり、旧プログラムによるエミュレート結果の計算が間に合わなくなり、このエミュレーション環境がボトルネックとなってしまう。
【００３９】
図３に本発明に関連する分散処理システムを示す。図３に示す分散処理システムは、入力データI１〜Inを旧バッチプログラムに入力することによって、旧DB上のデータD1〜DnをD1'〜Dn'に更新する旧システムを、D1〜Dnの個別データ毎に、個別に新プログラムによって分散・並列処理を実施する個別環境群で構成する新システムに移行する場合の、新システムを検証するシステムである。図３に示す本発明に関連する分散処理システムは、概略次のように動作する。
【００４０】
あらかじめ入力データを変換し、テスト用入力データを用意しておき、そのテスト用入力データを個別環境上でテスト用バッチ処理で一斉に分散・並列処理するよう指示を行う。入力データI１を受け取った個別環境は、新プログラムによって事前データD1をD1'に更新する。次に、比較手段によって、I1とD1をテスト用エミュレーション環境に送信し、I1とD1を受信したテスト用エミュレーション環境は、旧プログラムを使って事前データD1をDe1'に更新し、比較手段に返却する。De1'を受け取った比較手段は、D1'とDe1'を比較し、一致した場合にテストが成功したこととし、一致しない場合はテストが失敗したことととする。全てのデータに対する比較結果の成否によって、新システムが旧システムと同等の結果が得られていることを検証する。
【００４１】
上記のとおり、個別環境での新プログラムの実行は分散・並列実行されるため、それに伴い、テスト用エミュレーション環境での旧プログラムの実行も並列実行される。このときにエミュレーション環境が新システムと同程度の並列実行が可能でないと、テスト用エミュレーション環境がボトルネックとなってしまう。
【００４２】
さらに、そのエミュレーション環境自体を、新システムと同様に分散・並列実行できるようにした場合、新システムの規模に応じたエミュレーション環境を用意することになり、テスト目的の環境としてはコストが高すぎる。
【００４３】
一方、旧プログラムによるエミュレート結果を、事前に用意する場合、大量のデータに対するエミュレート結果を生成する必要があり、この事前生成に長い時間を要することになる。また、新システムの分散した個別の環境で計算した結果の比較対象となるエミュレート結果を大量のエミュレート結果の中から見つけるため、検索にかかるコストもかかってしまう。
【００４４】
そこで、本実施形態では、分散・並列処理するシステムをシステムテストする場合において、並列実行した個別の結果データと比較する旧プログラムによるエミュレート結果を、テスト実施時に計算するかどうかを自動的に絞り込むことで、最低限のリソースで旧プログラムによるエミュレート結果を計算し、尚且つ、新システムが提供する分散処理環境の利点を損なわない程度の処理時間でテストを実施可能にする。
【００４５】
本実施形態によれば、テストの実行時に旧プログラムによるエミュレート結果データとの比較が必要か否かを判断し、旧プログラムによるエミュレート結果データが必要な場合にだけ、エミュレーション環境を使って旧プログラムによるエミュレート結果を生成し、テスト結果と比較をすることで、最低限のエミュレーション環境を使って、大量のテストデータの並列処理による検証を効率よく実施することができる
【００４６】
以下、本実施形態の構成と動作について詳細に説明する。
【００４７】
＜構成の説明＞
図４を参照すると、本実施形態にかかる分散処理システムは、新バッチプログラム２０１によって一つの入力データInを受け取って個別DB２０２上の事前データDnを更新して結果データDn'に更新する個別環境２０３を複数持つ、テスト対象の新システム２０４と、テスト用の入力データ２１１を入力するテスト用バッチ処理２１２を実行するバッチサーバ２１３と、旧バッチプログラム２２１によるエミュレート結果Dn'を計算するテスト用エミュレーション環境２２２と、そのテスト用エミュレーション環境２２２をあらかじめ実行可能な状態のまま保持するテスト用エミュレーション環境プール２２３と、要求に応じてテスト用エミュレーション環境プール２２３からテスト用エミュレーション環境２２２を動的に割り当てるエミュレーション環境手配手段２３１と、テスト用エミュレーション環境２２２で旧バッチプログラム２２１によるエミュレート結果を生成すべきかどうかを判断するテスト要否判断手段２４１と、旧バッチプログラム２２１によるエミュレート結果を生成して新バッチプログラム２０１による計算結果と比較したデータを記録しておく実施済データ２５１と、旧バッチプログラム２２１によるエミュレート結果と新バッチプログラム２０１による計算結果とを比較してテストの成功・失敗を判断する比較手段２６１とから構成される。
【００４８】
図５は、テスト要否判断手段２４１が比較手段２６１から受け取るデータの構成例を示す。この例は、新バッチプログラム２０１が加算処理を実行する構成を有する場合のものである。受け取るデータは、事前データ、及び、入力データ、及び、結果データ、及び、プログラム名の組合せである。
【００４９】
＜動作の説明＞
テスト用バッチサーバ２１３上で、全てのテスト用入力データ２１１について、テスト用バッチ処理２１２によって新システム２０４に対して一斉に処理を要求する。
【００５０】
新システム２０４では、全ての入力データに対応する個別の環境２０３上で全てのデータを一斉に処理する。このとき、各環境２０３上では一つの入力データInを入力として、新バッチプログラム２０１を実行し、一つの事前データDnをDn'に変更する。
【００５１】
各環境２０３上において、比較手段２６１がテスト用入力データInと、事前データDnと、結果データDn'と、プログラム名PGとを、テスト要否判断手段２４１に送信する。
【００５２】
テスト要否判断手段２４１は、図７のフローチャートに従って、受信した[Dn、In、Dn']について正の値か負の値かを判定・変換し（ステップＳ２１、Ｓ２２）、その正/負のパターンと同一のパターンが実施済データ２５１内に保存されているかどうかを確認する（ステップＳ２３）。そして、保存されている場合は、旧プログラム２２１によるエミュレート結果との比較が不要である旨を返却し、その環境での実行は正常終了する（ステップＳ２４、Ｓ２５）。一方、パターンが一致するデータが実施済データ２５１内に保存されていない場合、テスト要否判断手段２４１は、実施済データ２５１に今回の正/負のパターンを保存し（ステップＳ２６）、エミュレーション環境手配手段２３１にテスト用エミュレーション環境を割り当てるよう指示する（ステップＳ２７）。次に、割り当てられたテスト用エミュレーション環境で、[Dn、In、Dn'、PG]を利用して旧プログラム２２１を実行し、旧プログラム２２１によるエミュレート結果を算出し、比較手段２６１に返却する（ステップＳ２８）。
【００５３】
旧プログラム２２１によるエミュレート結果を受け取った比較手段２６１は、新プログラム２０１によって計算したDn'が旧プログラム２２１によるエミュレート結果と一致することを確認する。
【００５４】
これらを、一斉に実行することで、新システム２０４上で、既存システムと同様の結果が得られたことを検証する。
【００５５】
図５にテスト要否判断手段に与えられるデータの例を記載する。説明のため上段のデータから逐次実行した場合について、図６を参照して説明すると、テスト要否判断手段２４１が[1000,100,1100,加算]というデータを受け取ると、まずは[Dn,In,Dn']の正負を判定し、[正,正,正,加算]に変換する。次に、この[正,正,正,加算]が実施済データに存在しないので、[正,正,正,加算]を実施済データに登録し、テスト用エミュレーション環境２２２を利用して旧プログラム２２１によるエミュレート結果を計算し、比較手段２６１に返却する。同様に[2000,-200,1800,加算]も[正,負,正,加算]のデータが実施済データに存在しないので、テスト用エミュレーション結果の計算を実施する。次に[3000,300,3300,加算]というデータを変換すると、[正,正,正,加算]となり、すでに実施済データに存在するため、旧プログラム２２１によるエミュレート結果の計算を省略する。
【００５６】
このように、旧プログラム２２１によるエミュレート結果の計算を省略できる分だけ、テスト用エミュレーション環境２２２の使用リソースの削減と、テスト用エミュレーション環境のボトルネックを解消することができる。
【００５７】
＜効果の説明＞
本実施形態によれば、以下のような効果が得られる。
(a)旧プログラムによるエミュレート結果を生成して検証するかどうかの要否を実行時に判断し、必要な場合にのみ旧プログラムによるエミュレート結果を生成することで大量のデータを一斉に並列実行しても効率よくテストを実施できる。
(b)旧プログラムによるエミュレート結果データを事前に生成するよりも、トータルの処理時間（旧プログラムによるエミュレート結果データ採取も含めたテストの開始から終了までの時間）が短縮される。
(c)旧システムへアクセスする必要が無いため、稼働中の旧システムと並行してテストを実施できる。
(d)既存システムと同様の動作ができることをチェックするので、既存システムの仕様が明確でなくてもテストでき、また、あらかじめテスト項目を作成する必要が無い。
【００５８】
[第３の実施形態]
図８は本発明の第３の実施形態にかかる分散処理システムのブロック図である。本実施形態では、各プログラムが扱うデータの種別と判断基準とをあらかじめ定義しておき、その定義に従ってテスト要否の判断を判定するテスト要否判断手段３４１を備えている。
【００５９】
テスト要否判断手段３４１は、テストデータデータ種別３４２と、要否判断基準３４３と、データ変換手段３４４と、データ検索手段３４５と、テストハンドラ３４６とを有する。
【００６０】
テストデータデータ種別３４２は、新バッチプログラム２０１のプログラム名に対応して、事前データ、入力データ、結果データから生成される特徴パターンのデータの種別を保持している。また、要否判断基準３４３は、要否判断の基準を保持している。
【００６１】
データ変換手段３４４は、テストデータデータ種別３４２に記述されたデータ種別に従って、特徴パターンを生成する機能を有する。データ検索手段３４５は、データ変換手段３４４が生成した特徴パターンが実施済データ２５１に存在するか否かを要否判断基準３４３に従って検索する機能を有する。テストハンドラ３４６は、テスト要否判断手段３４１全体の制御を司る。
【００６２】
本実施形態では、テスト要否判断手段３４１が図１０のフローチャートに示す処理を実行する。まずテスト要否判断手段３４１のテストデータハンドラ３４６は、与えられた[Dn,In,Dn',PG]中のPG（プログラム名）に一致するデータ種別と要否判断基準とを、テストデータデータ種別３４２、要否判断基準３４３から取得する（ステップＳ３１、Ｓ３２）。次に、テストデータハンドラ３４６は、データ変換手段３４４を用いて、[Dn,In,Dn']をデータ種別に従って特徴パターンに変換する（ステップＳ３３）。次に、テストデータハンドラ３４６は、データ検索手段３４５を用いて、実施済データ２５１内のデータとの比較を判断基準に基づいて実施する（ステップＳ３４）。図１０における以降のステップＳ３５〜Ｓ３９は、図７におけるステップＳ２４〜Ｓ２８と同じである。
【００６３】
図９の上段に、テスト要否判断手段３４１が比較手段２６１から受信するデータを示す。また、図９の下段に、テストデータデータ種別、および、要否判断基準の例を記載する。例えば、テスト要否判断手段３４１が、["男性,100", 男性に+5%, 105, ポイント]というデータを受信すると、「ポイント」をキーにデータ種別["性別,数値", "性別,数値", -]と、判断基準[Dnの性別が一致 and Inの性別が一致]とを取得する。次に、["男性,100", 男性に+5%, 105]をデータ種別に従って変換し、["男性,100", "男性,5", -]を得る。次に、この変換したデータと実施済データの中で判断基準[Dnの性別が一致 and Inの性別が一致]に該当するデータの有無を検索し、一致するものが存在した場合にテスト不要と判断する。
【００６４】
上記以外の構成および動作は第２の実施形態と同じである。
【００６５】
[第４の実施形態]
図１１は本発明の第４の実施形態にかかる分散処理システムのブロック図である。本実施形態では、テスト要否判断手段３４１中のテストデータデータ種別３４２と要否判断基準３４３とを、テストデータ種別・要否判断基準入力手段４０１を利用して、クライアント端末４０２から入力し、あるいは更新する構成としている。また、テストデータデータ種別３４２と要否判断基準３４３とを変更するに当たり、全テスト件数のうちのテスト要否判断手段３４１でエミュレート不要と判断した件数の割合をプログラム毎に記録した比較省略率４０３や実施済データ２５１を参照することができる構成となっている。
【００６６】
図１２に本実施形態における比較省略率４０３の例を記載する。第３の実施形態と同様に「加算」、「住所変更」、「ポイント」のプログラム名を有するプログラムが存在するとき、それぞれについて、テスト要否判断手段２４１は、比較手段２６１からテスト要否判断手段２４１に要否を確認してきた回数のうち、エミュレート不要と判断し、比較不要を返却した回数の割合を計算し記録する。
【００６７】
例えば、あるテストデータデータ種別３４２と要否判断基準３４３とを定義している環境でテストを実施した際、実施済データ２５１に登録されているパターンが少なく、尚且つ、比較省略率４０３が高い場合、十分なケースのテストが実施されていないと判断することができる。その場合に、テストデータデータ種別３４２や要否判断基準３４２を細かく規定（図９の加算の場合、数値の正負のみでなく、整数・実数・虚数の種別も加えるなど）し、高度なルールを設定することで、十分なケースのテストが実施されるように調整できる。また、あまりにも多くのケースについて旧プログラムによるエミュレート結果を計算しすぎて、比較省略率４０３が低い場合にも、テストデータデータ種別３４２や要否判断基準３４２を緩和して、エミュレートによる計算コストを下げるよう調整できる。このような、テストケースの網羅とテストにかかるコストのトレードオフを調整する。
【００６８】
[第５の実施形態]
図１３は本発明の第５の実施形態にかかる分散処理システムのブロック図である。本実施形態では、テスト要否判断手段４０１が、各々の個別環境２０３毎に備えられている。即ち、テスト要否判断手段自体も、分散・並列実行させる構成例である。この場合、各テスト要否判断手段４０１は、共通の実施済データ２５１を、例えば分散共有メモリ等を利用して、共有する。
【００６９】
新システム２０４の並列度が上がり、テスト要否判断手段に負荷が集中しボトルネックとなる場合、テスト要否判断手段を分散・並列実行させることで、テスト要否判断手段自体がボトルネックになることを避けることができる。
【００７０】
[第６の実施形態]
図１４は本発明の第６の実施形態にかかる分散処理システムのブロック図である。本実施形態では、上述した第２乃至第５の実施形態において個別環境２０３に設けられていた比較手段２６１の代わりに結果返却手段５０１を有し、テスト用バッチサーバ２１３側に比較手段５０２を有する。すなわち、本実施形態は、テスト環境から必要なデータを一度バッチ処理側に返却し、返却された結果をバッチサーバ側で比較処理する構成である。
【００７１】
第２乃至第５の実施形態の場合、個別環境での新バッチプログラム２０１が計算を実施する延長で、比較手段２６１を経由してテスト要否判断手段による判断と旧バッチプログラム２２１によるエミュレート結果の計算とを実施する。一方、本実施形態では、新バッチプログラム２０１の計算が完了すると、即時にテスト用バッチ処理２１２側に結果を返却するので、個別環境２０３上の処理時間の計測を合わせて実施したい場合などに利用できる。
【００７２】
以上本発明の実施形態について説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、新システムの複数の個別環境は、物理的に異なる情報処理装置によって構成しても良いし、同一の情報処理装置上に構築された複数の仮想サーバによって構成しても良い。
【産業上の利用可能性】
【００７３】
本発明は、分散処理システム、特に大量のデータ処理を分散・並列に実行するシステムの検証に利用できる。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
前記複数の処理装置の前記プログラムに前記入力データを供給する入力データ供給手段と、
テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段と、
前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定するテスト結果判定手段と
を有する分散処理システム。
（付記２）
前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
付記１に記載の分散処理システム。
（付記３）
前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
付記１または２に記載の分散処理システム。
（付記４）
前記実施済データは、前記特徴パターンである
付記１乃至３の何れかに記載の分散処理システム。
（付記５）
前記実施済データは、前記特徴パターンを生成した元となるデータである
付記１乃至３の何れかに記載の分散処理システム。
（付記６）
前記実施済データは、前記プログラムを特定する識別子を含み、
前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
付記１乃至５の何れかに記載の分散処理システム。
（付記７）
前記期待データ算出手段は、前記プログラムが新旧２つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
付記１乃至６の何れかに記載の分散処理システム。
（付記８）
前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールと、前記リソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出するエミュレーション環境手配手段とを有する
付記１乃至７の何れかに記載の分散処理システム。
（付記９）
前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
付記１乃至８の何れかに記載の分散処理システム。
（付記１０）
前記比較要否判断手段は、前記プログラム毎に、全テスト数に対する、前記比較を省略してテスト成功と判断したテスト数の割合を比較省略率として算出する
付記１乃至９の何れかに記載の分散処理システム。
（付記１１）
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
前記入力データ供給手段が、前記複数の処理装置で動作する前記プログラムに前記入力データを供給し、
前記複数の処理装置の前記プログラムが、前記入力データに従って前記所定の処理を行い、
前記比較要否判断手段が、前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断し、
前記期待データ算出手段が、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
前記比較手段が、エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定する
分散処理システムのテスト方法。
（付記１２）
前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
付記１１に記載の分散処理システムのテスト方法。
（付記１３）
前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
付記１１または１２に記載の分散処理システムのテスト方法。
（付記１４）
前記実施済データは、前記特徴パターンである
付記１１乃至１３の何れかに記載の分散処理システムのテスト方法。
（付記１５）
前記実施済データは、前記特徴パターンを生成した元となるデータである
付記１１乃至１３の何れかに記載の分散処理システムのテスト方法。
（付記１６）
前記実施済データは、前記プログラムを特定する識別子を含み、
前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
付記１１乃至１５の何れかに記載の分散処理システムのテスト方法。
（付記１７）
前記期待データ算出手段は、前記プログラムが新旧２つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
付記１１乃至１６の何れかに記載の分散処理システムのテスト方法。
（付記１８）
前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出する
付記１１乃至１７の何れかに記載の分散処理システムのテスト方法。
（付記１９）
前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
付記１１乃至１８の何れかに記載の分散処理システムのテスト方法。
（付記２０）
前記比較要否判断手段は、前記プログラム毎に、全テスト数に対する、前記比較を省略してテスト成功と判断したテスト数の割合を比較省略率として算出する
付記１１乃至１９の何れかに記載の分散処理システムのテスト方法。
【符号の説明】
【００７５】
１…分散処理システム
１０１…処理装置
１０２…入力データ供給装置
１０３…期待データ算出装置
１０４…比較装置
１０５…実施済データ記憶装置
１０６…比較要否判断装置
【図１】
0005857806.tif 000002
【図２】
0005857806.tif 000003
【図３】
0005857806.tif 000004
【図４】
0005857806.tif 000005
【図５】
0005857806.tif 000006
【図６】
0005857806.tif 000007
【図７】
0005857806.tif 000008
【図８】
0005857806.tif 000009
【図９】
0005857806.tif 000010
【図１０】
0005857806.tif 000011
【図１１】
0005857806.tif 000012
【図１２】
0005857806.tif 000013
【図１３】
0005857806.tif 000014
【図１４】
0005857806.tif 000015