JP5857806B2 - 分散処理システムのテスト方法および分散処理システム - Google Patents

分散処理システムのテスト方法および分散処理システム Download PDF

Info

Publication number
JP5857806B2
JP5857806B2 JP2012051256A JP2012051256A JP5857806B2 JP 5857806 B2 JP5857806 B2 JP 5857806B2 JP 2012051256 A JP2012051256 A JP 2012051256A JP 2012051256 A JP2012051256 A JP 2012051256A JP 5857806 B2 JP5857806 B2 JP 5857806B2
Authority
JP
Japan
Prior art keywords
data
input data
feature pattern
program
test
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
JP2012051256A
Other languages
English (en)
Other versions
JP2013186696A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012051256A priority Critical patent/JP5857806B2/ja
Priority to US13/754,236 priority patent/US9058313B2/en
Publication of JP2013186696A publication Critical patent/JP2013186696A/ja
Application granted granted Critical
Publication of JP5857806B2 publication Critical patent/JP5857806B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数の処理装置から構成される分散処理システムに関し、特に個々の処理装置上で実行されるプログラムが正常に動作するか否かをテストする技術に関する。
分散処理システム上で実行されるプログラムが正常に動作するか否かをテストする手法として、各処理装置上で実行されるプログラムにデータを入力し、その結果得られるデータを、別途生成した正しいデータであると期待する期待データと比較する手法がある。
例えば特許文献1に記載される分散処理システムでは、同一内容の処理を行う新旧2つのプログラムを分散処理システムで実行し、新プログラムによる処理結果のデータを旧プログラムによる処理結果のデータと比較することにより、新プログラムが正常に動作するか否かをテストしている。
特開平9−62626号公報
上述したように、分散処理システム上で実行されるプログラムが正常に動作するか否かをテストするには、プログラムに入力する入力データの個数分の期待データを別途に生成する必要があった。従って、リソース不足等の理由によって、入力データに対応する期待データを速やかに生成できない環境では、期待データを待ち合わせる場面が頻発し、テスト時間が長大化する課題があった。
本発明の目的は、上述した課題、すなわち、リソース不足等の理由によって、入力データに対応する期待データを速やかに生成できない環境では、テスト時間が長大化する、という課題を解決する分散処理システムのテスト方法を提供することにある。
本発明の一形態にかかる分散処理システムのテスト方法は、
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
上記入力データ供給手段が、上記複数の処理装置で動作する上記プログラムに上記入力データを供給し、
上記複数の処理装置の上記プログラムが、上記入力データに従って上記所定の処理を行い、
上記比較要否判断手段が、上記入力データの特徴パターンを生成し、該生成した上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されているか否かを判断し、
上記期待データ算出手段が、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていない場合に、上記入力データに従って上記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
上記比較手段が、エラーが発生して正常に上記プログラムの処理が完了しなかった場合には上記入力データによるテストは失敗と判断し、エラーが発生することなく正常に上記プログラムの処理が完了した場合は、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記施済データが上記実施済データ記憶手段に記憶されていたときは上記入力データによるテストは成功と判断し、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていなかったときは上記算出された上記期待データと上記プログラムの結果データとを比較した結果に基づいて上記入力データによるテストの結果を判定する、
といった構成を採る。
本発明の他の形態にかかる分散処理システムは、
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
上記複数の処理装置の上記プログラムに上記入力データを供給する入力データ供給手段と、
テスト実施済の上記入力データに関する実施済データを記憶する実施済データ記憶手段と、
上記入力データの特徴パターンを生成し、該生成した上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていない場合に、上記入力データに従って上記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
エラーが発生して正常に上記プログラムの処理が完了しなかった場合には上記入力データによるテストは失敗と判断し、エラーが発生することなく正常に上記プログラムの処理が完了した場合は、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていたときは上記入力データによるテストは成功と判断し、上記入力データの上記特徴パターンと同一の上記特徴パターンを有する上記実施済データが上記実施済データ記憶手段に記憶されていなかったときは上記算出された上記期待データと上記プログラムの結果データとを比較した結果に基づいて上記入力データによるテストの結果を判定するテスト結果判定手段と
を有する、といった構成を採る。
本発明は上述した構成を有するため、リソース不足等の理由によって入力データに対応する期待データを速やかに生成できない環境におけるテスト時間の長大化を防止することができる。
本発明の第1の実施形態にかかる分散処理システムのブロック図である。 本発明の第1の実施形態にかかる分散処理システムにおけるテスト手順を示すフローチャートである。 本発明に関連する分散処理システムのブロック図である。 本発明の第2の実施形態にかかる分散処理システムのブロック図である。 本発明の第2の実施形態にかかる分散処理システムにおけるテスト要否判断手段が受け取るデータの例を示す図である。 本発明の第2の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作説明図である。 本発明の第2の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作を示すフローチャートである。 本発明の第3の実施形態にかかる分散処理システムのブロック図である。 本発明の第3の実施形態にかかる分散処理システムにおけるテスト要否判断手段が受け取るデータ(上段)の例と、テストデータデータ種別および要否判断基準(下段)の例を示す図である。 本発明の第3の実施形態にかかる分散処理システムにおけるテスト要否判断手段の動作を示すフローチャートである。 本発明の第4の実施形態にかかる分散処理システムのブロック図である。 本発明の第4の実施形態にかかる分散処理システムで算出される比較省略率の例を示す図である。 本発明の第5の実施形態にかかる分散処理システムのブロック図である。 本発明の第6の実施形態にかかる分散処理システムのブロック図である。
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかる分散処理システム1は、複数の処理装置101と、入力データ供給装置102と、期待データ算出装置103と、比較装置104と、実施済データ記憶装置105と、比較要否判断装置106とを有する。
各々の処理装置101は、マイクロプロセッサ等のプロセッサおよび半導体メモリやハードディスクなどの記憶部を有するサーバ装置などの情報処理装置である。各々の処理装置101は、処理の対象となるデータ111を記憶するデータベース112と、入力データ121に従ってデータベース112上のデータ111を更新するプログラム113とを有する。
入力データ供給装置102は、図示しないネットワークを通じて各々の処理装置101に接続されている。入力データ供給装置102は、各々の処理装置101のプログラム113をテストするためのデータを入力データ121として複数の処理装置101のプログラム113に分配する機能を有する。
期待データ算出装置103は、入力データ121に従ってデータベース112上のデータ111をプログラム113が更新したときの更新後データとして期待されるデータ(期待データ)122を算出する機能を有する。例えば、プログラム113が、データ111と入力データ121とを算術加算した値でデータ111を更新するプログラムであれば、データ111と入力データ121とを算術加算した値が期待データ122となる。期待データ算出装置103は、比較要求判断装置106から入力データ121と更新前データ122とを受け取り、これら入力データ121と更新前データ122とから期待データ124を算出し、比較要求判断装置106へ返却する。
例えば、プログラム113が従来のプログラム(旧プログラム)を改良した新プログラムである場合、期待データ算出装置103は、旧プログラムに入力データ121を入力して実行した結果の更新後データを、期待データ124として算出する構成として良い。
比較装置104は、入力データ121を用いたプログラム113のテストの成功および失敗を判断する機能を有する。比較装置104は、上記判断に際し、まず、エラーが発生することなく正常にプログラム113の処理が完了したか否かを判断する。若し、エラーが発生しプログラム113の処理が正常に完了していなければ、入力データ121によるプログラム113のテスト結果は失敗、すなわちプログラム113は正常でない、と判断する。他方、エラーが発生することなく正常にプログラム113の処理が完了していれば、プログラム113が入力データ121に従って更新したデータベース112上の更新後データ123が正しいか否かを判断する。この判断を行うために、比較装置104は、入力データ121と、プログラム113が入力データ121に従って更新するデータベース112上の更新前データ111と、プログラム113が入力データ121に従って更新したデータベース112上の更新後データ123とを比較要否判断装置106へ通知する。そして、比較装置104は、比較要否判断装置106から上記の通知に対する応答として期待データ124を受け取った場合には、この受け取った期待データ124と更新後データ123との比較を行い、比較結果に基づいて入力データ121によるテストの成功および失敗を判断する。すなわち、双方のデータが一致していればテスト成功、一致していなければテスト失敗と判断する。他方、比較装置104は、比較要否判断装置106から上記の通知に対する応答として、比較不要の通知を受け取った場合には、比較を行うことなくテスト成功と判断する。
実施済データ記憶装置105は、テスト実施済の入力データ121に関する実施済データ114を記憶する機能を有する。実施済データ114は、本実施形態の場合、後述するようにして入力データ121等から算出された特徴パターンである。勿論、特徴パターンの生成元となった入力データ121等を実施済データ114としても良い。
比較要否判断装置106は、比較装置104から入力データ121と更新前データ122と更新後データ123とを受け取り、当該入力データ121によるテストにおいて更新後データ123と期待データとの比較が必要か否かを判断する機能を有する。上記判断では、比較要否判断装置106は、入力データ121と更新前データ122と更新後データ123とから予め定められた規則に従って特徴パターンというデータを生成し、この生成した特徴パターンと同一の特徴パターンを有する実施済データ114が実施済データ記憶装置105に記憶されているか否かを調査する。そして、生成した特徴パターンと同一の特徴パターンを有する実施済データ114が存在すれば、比較不要と判断し、その旨を比較装置104へ通知する。他方、生成した特徴パターンと同一の特徴パターンを有する実施済データ114が存在しなければ、今回の入力データ121に関する実施済データを実施済データ記憶装置105に追加すると共に、入力データ121と更新前データ122とを期待データ算出装置103に渡して期待データ124を算出させ、この算出された期待データ124を比較装置104に通知する。
比較要否判断装置106が入力データ121と更新前データ122と更新後データ123とから予め定められた規則に従って、特徴パターンを生成する方法について、詳細に説明する。以下、入力データ121をx、更新前データ122をy、更新後データ123をz、これらから生成した特徴パターンをwとする。
比較要否判断装置106は、入力データx、更新前データy、更新後データzの組み合わせと同一となるデータ「x、y、z」以外のデータを、入力データx、更新前データy、更新後データzの組み合わせを特徴付ける特徴パターンwとして生成する。より具体的には、比較要否判断装置106は、入力データx、更新前データy、更新後データzの属するカテゴリを判別し、判別したカテゴリを特徴データwとする。例えば、入力データxの集合が、n通りのカテゴリg1〜gnに分類できる場合、或る入力データxが特定のカテゴリgiに分類されるならば、カテゴリgiを入力データxから生成される特徴パターンwとして良い。例えば、入力データxの集合が、正の整数と負の整数との2つのカテゴリに分類できる場合、或る入力データxが正の整数であれば、その入力データxの特徴パターンwとして「正の整数」を使用することができる。また、入力データxの集合が、性別によって分類できる場合、或る入力データxが男性であれば、その入力データxの特徴パターンとして「男性」を使用することができる。また、入力データxの集合が、都道府県によって分類できる場合、或る入力データxが東京都であれば、その入力データxの特徴パターンとして「東京都」を使用することができる。更新前データy、更新後データzについても同様である。
なお、本実施形態では、入力データx、更新前データy、更新後データzの3つ全てに基づいて特徴パターンwを生成したが、入力データx、更新前データy、更新後データzの内の何れか2つに基づいて特徴パターンwを生成しても良いし、入力データx、更新前データy、更新後データzの内の何れか1つに基づいて特徴パターンwを生成しても良い。入力データx、更新前データy、更新後データzの内の1つを使用して特徴パターンwを生成する場合、異なる入力データxに対して異なる特徴パターンwが生成されるようにするために、入力データxを選択することが望ましい。また、入力データx、更新前データy、更新後データzの内の2つを使用して特徴パターンwを生成する場合、異なる入力データxと更新前データyとの組み合わせに対して異なる特徴パターンwが生成されるようにするために、入力データxと更新前データyとを選択することが望ましい。
上述した入力データ供給装置102、期待データ算出装置103、比較装置104、実施済データ記憶装置105、および比較要否判断装置106は、それぞれ物理的に異なる情報処理装置によって実現されていて良い。または、入力データ供給装置102、期待データ算出装置103、比較装置104、実施済データ記憶装置105、および比較要否判断装置106の内の2つ、或いは3つ、或いは4つ、或いは全てが、物理的に同じ情報処理装置によって実現されていても良い。また、入力データ供給装置102、期待データ算出装置103、比較装置104、実施済データ記憶装置105、および比較要否判断装置106の内の1つ、或いは2つ、或いは3つ、或いは4つ、或いは全てが、何れかの処理装置101と同じ情報処理装置によって実現されていても良い。
また、上述した期待データ算出装置103、比較装置104、実施済データ記憶装置105、および比較要否判断装置106は、全ての処理装置101に共通に備えられていても良い。または、期待データ算出装置103、比較装置104、実施済データ記憶装置105、および比較要否判断装置106の内の1つ、或いは2つ、或いは3つ、或いは全てが、個々の処理装置101あるいは一部の複数の処理装置101毎に共通に備えられていても良い。
次に、本実施形態にかかる分散処理システムが実行するテスト方法の手順を、図1および図2のフローチャートを参照して説明する。なお、一連の入力データ121を使用するテストの開始時、実施済データ記憶装置105の記憶内容は、実施済データ114が一つも記憶されない状態にクリアされる。
まず、入力データ供給装置102は、テストのための入力データ121を各処理装置101に供給する(ステップS1)。例えば、入力データ供給装置102は、テストのための入力データ121の集合を有しており、その集合の中から1つの入力データ121を取り出して一つの処理装置101に供給し、他の処理装置101には集合の中から取り出した別の1つの入力データを供給する。こうして、入力データ供給装置102は、全ての処理装置101のテストを並行して実行する。以下では、一つの処理装置101に着目して、その処理装置101に入力されたデータによるテストの手順を説明する。
処理装置101は、入力されたデータ121を入力データとしてプログラム113を実行する。プログラム113は、予めプログラムされた手順に従って計算や論理演算などを実行し、入力データ121に従ってデータベース112上のデータ111を更新する(ステップS2)。比較装置104は、エラーが発生することなく正常にプログラム113の処理が完了したか否かを判断する(ステップS3)。若し、エラーが発生していれば、比較装置104は、今回の入力データ121によるプログラム113のテストの結果は失敗と判定する(ステップS12)。他方、エラーが出ずに正常に完了したとしてもプログラム113の計算結果が正しいとは限らないので、比較装置104は、今回の入力データ121によるテスト手順をなおも続行する。
まず、比較装置104は、入力データ121、更新前データ122、および更新後データ123を比較要否判断装置106に通知し、比較要否判断装置106は、通知されたこれらのデータから特徴パターンを生成する(ステップS4)。次に比較要否判断装置106は、生成した特徴パターンと同一の特徴パターンを有する実施済データが実施済データ記憶装置105に記憶されているか否かを検索して調査する(ステップS5)。そして、比較要否判定装置106は、同一の特徴パターンの実施済データが実施済データ記憶装置105に記憶されていれば、比較不要の旨を比較装置104に通知し、比較装置104は、今回の入力データ121によるプログラム113のテストの結果は、成功と判定する(ステップS6、S11)。
他方、比較要否判定装置106は、同一の特徴パターンの実施済データが実施済データ記憶装置105に記憶されていなければ、上記生成した特徴パターンを新たな実施済データとして実施済データ記憶装置105に追加する(ステップS7)。そして比較要否判定装置106は、入力データ121と更新前データ122とを期待データ算出装置103に通知し、期待データ算出装置103は、これらのデータに従って期待データ124を算出し、比較要否判定装置106を通じて比較装置104へ通知する(ステップS8)。比較装置104は、更新後データ123と期待データ124とを比較する(ステップS9)。そして、比較装置104は、双方のデータが一致すれば、今回の入力データ121によるプログラム113のテストの結果は、成功と判定する(ステップS10、S11)。しかし、双方のデータが一致しなければ、比較装置104は、今回の入力データ121によるプログラム113のテストの結果は、失敗と判定する(ステップS10、S12)。
以上で、一つの入力データ121を使用した処理装置101のプログラム113のテストが終了する。テストの結果が成功であれば、別の入力データ121を用いて同様のテストが繰り返し実行される。若し、テストの結果が失敗であれば、例えば、テストを中止し、失敗となった原因の究明、障害箇所の特定、その改善が実施される。
次に本実施形態の効果を説明する。
本実施形態によれば、リソース不足等の理由によって入力データに対応する期待データを速やかに生成できない場合であっても、テスト時間が長大化するのを防止することができる。その理由は、入力データ121、更新前データ122、および更新後データ123から生成される特徴パターンと同一の特徴パターンを有する実施済データが実施済データ記憶装置105に記憶されている場合には、新たな期待データは生成しないように構成されているため、期待データを生成する頻度が低下し、その結果、期待データを待ち合わせる頻度が低下するためである。
また本実施形態によれば、比較するデータ数を単純に削減する場合に比べて、十分なテストを実施することが可能である。その理由の一つは、全ての入力データについてプログラム113の実行を行い、エラーが発生することなく正常に処理が完了しているか否かを確認しているためである。これによって、或る特定の入力データのパターン時にエラーが発生するといった障害を発見することが可能である。他の理由は、エラーが発生せずに正常にプログラム処理が完了した場合に、今回の入力データ121、更新前データ122、および更新後データ123から生成される特徴パターンが、今までテストした入力データ等から生成した特徴パターンと相違するとき、換言すれば今回の入力データ等が既にテストした入力データ等と異なるカテゴリやパターンであるときは、プログラムの処理の結果である更新後データ123と期待データ124とを比較して、プログラムの処理の結果が正しいかどうかを確認しているためである。他方、入力データ等から生成した特徴パターンが既にテストした入力データ等から生成した特徴パターンと同一であるとき、換言すれば入力データ等が既にテストした入力データ等と同じカテゴリやパターンであるときには、プログラムの処理結果が正しい確率が高いので、プログラムの処理の結果である更新後データ123と期待データ124との比較をあえて行わずに、プログラムのテストの結果が成功と判断している。
本実施形態では、テストの対象となるプログラム113がデータベース112を更新するプログラムであったが、データベースの更新を伴わないプログラムをテスト対象とすることも可能である。即ち、本発明は、入力データに従って所定の処理を行うプログラムであればテストを実施することができる。
また本実施形態では、テストの対象となるプログラム113は一種類であったが、複数種類のプログラムをテスト対象としても良い。この場合、比較要否判断装置106は、プログラムを特定する識別子に対応して、特徴パターンを生成する規則を保持し、保持した規則に従って特徴パターンを生成するようにして良い。また、実施済データ114は、プログラムを特定する識別子を含み、比較要否判断装置106は、テスト対象のプログラムを特定する識別子と同一の識別子を有し、且つ、生成した特徴パターンと同一の特徴パターンを有する実施済データ114が実施済データ記憶装置105に記憶されているか否かを調査するようにして良い。
[第2の実施形態]
次に、本発明の第2の実施形態について詳細に説明する。本実施形態では、ファイルに記載された入力データをバッチ処理によってデータベースに反映する旧システムを、データベースの各データ毎に分割・配置された個別の環境上で一斉に並列実行する新システムへ移行する場合の、新システムのプログラムが旧システムと同様の結果を得ていることを確認するためのテスト方法について説明する。
まず、本実施形態が解決しようとする課題について説明する。
近年、分散処理技術の発展に伴い、大量データを複数サーバで並列・分散処理することで、既存のサービスの処理時間を短縮することが可能になっている。このような中、既存システムをこのような分散処理技術を活かした新たなシステムに移行する動きが活発化している。ここで、既存システムの処理が新システムでも同様に実現できていることを確認・保証する必要があるが、既存システムの中には、そのシステムの仕様書が無い場合や、そのシステムを熟知している技術者がいない場合など、既存システムがどのような仕様で動作しているかを把握できないケースがある。そのような場合、既存システムの入力データと処理結果を用いて、同様のデータを新システムに入力した結果が、既存システムと同様の結果となることをテストすることで、既存システムと同等の機能が実現できていることを確認するができる。
しかし、新システムのプログラムによる計算結果の比較と、旧プログラムで計算された結果を比較するために、旧システムが利用する旧DB(データベース)にアクセスすると、稼働中の旧DBへ負荷をかけてしまい、旧システムが提供するサービスの性能劣化等の影響を与えてしまう。また、その旧システムへの影響を避けるため、旧システムと全く同一の環境をエミュレートする単一のエミュレーション環境を用意して、旧プログラムによるエミュレート結果を計算することで新プログラムの計算結果の妥当性をチェックする場合、新システムが大量のデータを分散・並列処理するため、単一のエミュレーション環境に対して一度に大量の負荷がかかり、旧プログラムによるエミュレート結果の計算が間に合わなくなり、このエミュレーション環境がボトルネックとなってしまう。
図3に本発明に関連する分散処理システムを示す。図3に示す分散処理システムは、入力データI1〜Inを旧バッチプログラムに入力することによって、旧DB上のデータD1〜DnをD1'〜Dn'に更新する旧システムを、D1〜Dnの個別データ毎に、個別に新プログラムによって分散・並列処理を実施する個別環境群で構成する新システムに移行する場合の、新システムを検証するシステムである。図3に示す本発明に関連する分散処理システムは、概略次のように動作する。
あらかじめ入力データを変換し、テスト用入力データを用意しておき、そのテスト用入力データを個別環境上でテスト用バッチ処理で一斉に分散・並列処理するよう指示を行う。入力データI1を受け取った個別環境は、新プログラムによって事前データD1をD1'に更新する。次に、比較手段によって、I1とD1をテスト用エミュレーション環境に送信し、I1とD1を受信したテスト用エミュレーション環境は、旧プログラムを使って事前データD1をDe1'に更新し、比較手段に返却する。De1'を受け取った比較手段は、D1'とDe1'を比較し、一致した場合にテストが成功したこととし、一致しない場合はテストが失敗したことととする。全てのデータに対する比較結果の成否によって、新システムが旧システムと同等の結果が得られていることを検証する。
上記のとおり、個別環境での新プログラムの実行は分散・並列実行されるため、それに伴い、テスト用エミュレーション環境での旧プログラムの実行も並列実行される。このときにエミュレーション環境が新システムと同程度の並列実行が可能でないと、テスト用エミュレーション環境がボトルネックとなってしまう。
さらに、そのエミュレーション環境自体を、新システムと同様に分散・並列実行できるようにした場合、新システムの規模に応じたエミュレーション環境を用意することになり、テスト目的の環境としてはコストが高すぎる。
一方、旧プログラムによるエミュレート結果を、事前に用意する場合、大量のデータに対するエミュレート結果を生成する必要があり、この事前生成に長い時間を要することになる。また、新システムの分散した個別の環境で計算した結果の比較対象となるエミュレート結果を大量のエミュレート結果の中から見つけるため、検索にかかるコストもかかってしまう。
そこで、本実施形態では、分散・並列処理するシステムをシステムテストする場合において、並列実行した個別の結果データと比較する旧プログラムによるエミュレート結果を、テスト実施時に計算するかどうかを自動的に絞り込むことで、最低限のリソースで旧プログラムによるエミュレート結果を計算し、尚且つ、新システムが提供する分散処理環境の利点を損なわない程度の処理時間でテストを実施可能にする。
本実施形態によれば、テストの実行時に旧プログラムによるエミュレート結果データとの比較が必要か否かを判断し、旧プログラムによるエミュレート結果データが必要な場合にだけ、エミュレーション環境を使って旧プログラムによるエミュレート結果を生成し、テスト結果と比較をすることで、最低限のエミュレーション環境を使って、大量のテストデータの並列処理による検証を効率よく実施することができる
以下、本実施形態の構成と動作について詳細に説明する。
<構成の説明>
図4を参照すると、本実施形態にかかる分散処理システムは、新バッチプログラム201によって一つの入力データInを受け取って個別DB202上の事前データDnを更新して結果データDn'に更新する個別環境203を複数持つ、テスト対象の新システム204と、テスト用の入力データ211を入力するテスト用バッチ処理212を実行するバッチサーバ213と、旧バッチプログラム221によるエミュレート結果Dn'を計算するテスト用エミュレーション環境222と、そのテスト用エミュレーション環境222をあらかじめ実行可能な状態のまま保持するテスト用エミュレーション環境プール223と、要求に応じてテスト用エミュレーション環境プール223からテスト用エミュレーション環境222を動的に割り当てるエミュレーション環境手配手段231と、テスト用エミュレーション環境222で旧バッチプログラム221によるエミュレート結果を生成すべきかどうかを判断するテスト要否判断手段241と、旧バッチプログラム221によるエミュレート結果を生成して新バッチプログラム201による計算結果と比較したデータを記録しておく実施済データ251と、旧バッチプログラム221によるエミュレート結果と新バッチプログラム201による計算結果とを比較してテストの成功・失敗を判断する比較手段261とから構成される。
図5は、テスト要否判断手段241が比較手段261から受け取るデータの構成例を示す。この例は、新バッチプログラム201が加算処理を実行する構成を有する場合のものである。受け取るデータは、事前データ、及び、入力データ、及び、結果データ、及び、プログラム名の組合せである。
<動作の説明>
テスト用バッチサーバ213上で、全てのテスト用入力データ211について、テスト用バッチ処理212によって新システム204に対して一斉に処理を要求する。
新システム204では、全ての入力データに対応する個別の環境203上で全てのデータを一斉に処理する。このとき、各環境203上では一つの入力データInを入力として、新バッチプログラム201を実行し、一つの事前データDnをDn'に変更する。
各環境203上において、比較手段261がテスト用入力データInと、事前データDnと、結果データDn'と、プログラム名PGとを、テスト要否判断手段241に送信する。
テスト要否判断手段241は、図7のフローチャートに従って、受信した[Dn、In、Dn']について正の値か負の値かを判定・変換し(ステップS21、S22)、その正/負のパターンと同一のパターンが実施済データ251内に保存されているかどうかを確認する(ステップS23)。そして、保存されている場合は、旧プログラム221によるエミュレート結果との比較が不要である旨を返却し、その環境での実行は正常終了する(ステップS24、S25)。一方、パターンが一致するデータが実施済データ251内に保存されていない場合、テスト要否判断手段241は、実施済データ251に今回の正/負のパターンを保存し(ステップS26)、エミュレーション環境手配手段231にテスト用エミュレーション環境を割り当てるよう指示する(ステップS27)。次に、割り当てられたテスト用エミュレーション環境で、[Dn、In、Dn'、PG]を利用して旧プログラム221を実行し、旧プログラム221によるエミュレート結果を算出し、比較手段261に返却する(ステップS28)。
旧プログラム221によるエミュレート結果を受け取った比較手段261は、新プログラム201によって計算したDn'が旧プログラム221によるエミュレート結果と一致することを確認する。
これらを、一斉に実行することで、新システム204上で、既存システムと同様の結果が得られたことを検証する。
図5にテスト要否判断手段に与えられるデータの例を記載する。説明のため上段のデータから逐次実行した場合について、図6を参照して説明すると、テスト要否判断手段241が[1000,100,1100,加算]というデータを受け取ると、まずは[Dn,In,Dn']の正負を判定し、[正,正,正,加算]に変換する。次に、この[正,正,正,加算]が実施済データに存在しないので、[正,正,正,加算]を実施済データに登録し、テスト用エミュレーション環境222を利用して旧プログラム221によるエミュレート結果を計算し、比較手段261に返却する。同様に[2000,-200,1800,加算]も[正,負,正,加算]のデータが実施済データに存在しないので、テスト用エミュレーション結果の計算を実施する。次に[3000,300,3300,加算]というデータを変換すると、[正,正,正,加算]となり、すでに実施済データに存在するため、旧プログラム221によるエミュレート結果の計算を省略する。
このように、旧プログラム221によるエミュレート結果の計算を省略できる分だけ、テスト用エミュレーション環境222の使用リソースの削減と、テスト用エミュレーション環境のボトルネックを解消することができる。
<効果の説明>
本実施形態によれば、以下のような効果が得られる。
(a)旧プログラムによるエミュレート結果を生成して検証するかどうかの要否を実行時に判断し、必要な場合にのみ旧プログラムによるエミュレート結果を生成することで大量のデータを一斉に並列実行しても効率よくテストを実施できる。
(b)旧プログラムによるエミュレート結果データを事前に生成するよりも、トータルの処理時間(旧プログラムによるエミュレート結果データ採取も含めたテストの開始から終了までの時間)が短縮される。
(c)旧システムへアクセスする必要が無いため、稼働中の旧システムと並行してテストを実施できる。
(d)既存システムと同様の動作ができることをチェックするので、既存システムの仕様が明確でなくてもテストでき、また、あらかじめテスト項目を作成する必要が無い。
[第3の実施形態]
図8は本発明の第3の実施形態にかかる分散処理システムのブロック図である。本実施形態では、各プログラムが扱うデータの種別と判断基準とをあらかじめ定義しておき、その定義に従ってテスト要否の判断を判定するテスト要否判断手段341を備えている。
テスト要否判断手段341は、テストデータデータ種別342と、要否判断基準343と、データ変換手段344と、データ検索手段345と、テストハンドラ346とを有する。
テストデータデータ種別342は、新バッチプログラム201のプログラム名に対応して、事前データ、入力データ、結果データから生成される特徴パターンのデータの種別を保持している。また、要否判断基準343は、要否判断の基準を保持している。
データ変換手段344は、テストデータデータ種別342に記述されたデータ種別に従って、特徴パターンを生成する機能を有する。データ検索手段345は、データ変換手段344が生成した特徴パターンが実施済データ251に存在するか否かを要否判断基準343に従って検索する機能を有する。テストハンドラ346は、テスト要否判断手段341全体の制御を司る。
本実施形態では、テスト要否判断手段341が図10のフローチャートに示す処理を実行する。まずテスト要否判断手段341のテストデータハンドラ346は、与えられた[Dn,In,Dn',PG]中のPG(プログラム名)に一致するデータ種別と要否判断基準とを、テストデータデータ種別342、要否判断基準343から取得する(ステップS31、S32)。次に、テストデータハンドラ346は、データ変換手段344を用いて、[Dn,In,Dn']をデータ種別に従って特徴パターンに変換する(ステップS33)。次に、テストデータハンドラ346は、データ検索手段345を用いて、実施済データ251内のデータとの比較を判断基準に基づいて実施する(ステップS34)。図10における以降のステップS35〜S39は、図7におけるステップS24〜S28と同じである。
図9の上段に、テスト要否判断手段341が比較手段261から受信するデータを示す。また、図9の下段に、テストデータデータ種別、および、要否判断基準の例を記載する。例えば、テスト要否判断手段341が、["男性,100", 男性に+5%, 105, ポイント]というデータを受信すると、「ポイント」をキーにデータ種別["性別,数値", "性別,数値", -]と、判断基準[Dnの性別が一致 and Inの性別が一致]とを取得する。次に、["男性,100", 男性に+5%, 105]をデータ種別に従って変換し、["男性,100", "男性,5", -]を得る。次に、この変換したデータと実施済データの中で判断基準[Dnの性別が一致 and Inの性別が一致]に該当するデータの有無を検索し、一致するものが存在した場合にテスト不要と判断する。
上記以外の構成および動作は第2の実施形態と同じである。
[第4の実施形態]
図11は本発明の第4の実施形態にかかる分散処理システムのブロック図である。本実施形態では、テスト要否判断手段341中のテストデータデータ種別342と要否判断基準343とを、テストデータ種別・要否判断基準入力手段401を利用して、クライアント端末402から入力し、あるいは更新する構成としている。また、テストデータデータ種別342と要否判断基準343とを変更するに当たり、全テスト件数のうちのテスト要否判断手段341でエミュレート不要と判断した件数の割合をプログラム毎に記録した比較省略率403や実施済データ251を参照することができる構成となっている。
図12に本実施形態における比較省略率403の例を記載する。第3の実施形態と同様に「加算」、「住所変更」、「ポイント」のプログラム名を有するプログラムが存在するとき、それぞれについて、テスト要否判断手段241は、比較手段261からテスト要否判断手段241に要否を確認してきた回数のうち、エミュレート不要と判断し、比較不要を返却した回数の割合を計算し記録する。
例えば、あるテストデータデータ種別342と要否判断基準343とを定義している環境でテストを実施した際、実施済データ251に登録されているパターンが少なく、尚且つ、比較省略率403が高い場合、十分なケースのテストが実施されていないと判断することができる。その場合に、テストデータデータ種別342や要否判断基準342を細かく規定(図9の加算の場合、数値の正負のみでなく、整数・実数・虚数の種別も加えるなど)し、高度なルールを設定することで、十分なケースのテストが実施されるように調整できる。また、あまりにも多くのケースについて旧プログラムによるエミュレート結果を計算しすぎて、比較省略率403が低い場合にも、テストデータデータ種別342や要否判断基準342を緩和して、エミュレートによる計算コストを下げるよう調整できる。このような、テストケースの網羅とテストにかかるコストのトレードオフを調整する。
[第5の実施形態]
図13は本発明の第5の実施形態にかかる分散処理システムのブロック図である。本実施形態では、テスト要否判断手段401が、各々の個別環境203毎に備えられている。即ち、テスト要否判断手段自体も、分散・並列実行させる構成例である。この場合、各テスト要否判断手段401は、共通の実施済データ251を、例えば分散共有メモリ等を利用して、共有する。
新システム204の並列度が上がり、テスト要否判断手段に負荷が集中しボトルネックとなる場合、テスト要否判断手段を分散・並列実行させることで、テスト要否判断手段自体がボトルネックになることを避けることができる。
[第6の実施形態]
図14は本発明の第6の実施形態にかかる分散処理システムのブロック図である。本実施形態では、上述した第2乃至第5の実施形態において個別環境203に設けられていた比較手段261の代わりに結果返却手段501を有し、テスト用バッチサーバ213側に比較手段502を有する。すなわち、本実施形態は、テスト環境から必要なデータを一度バッチ処理側に返却し、返却された結果をバッチサーバ側で比較処理する構成である。
第2乃至第5の実施形態の場合、個別環境での新バッチプログラム201が計算を実施する延長で、比較手段261を経由してテスト要否判断手段による判断と旧バッチプログラム221によるエミュレート結果の計算とを実施する。一方、本実施形態では、新バッチプログラム201の計算が完了すると、即時にテスト用バッチ処理212側に結果を返却するので、個別環境203上の処理時間の計測を合わせて実施したい場合などに利用できる。
以上本発明の実施形態について説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、新システムの複数の個別環境は、物理的に異なる情報処理装置によって構成しても良いし、同一の情報処理装置上に構築された複数の仮想サーバによって構成しても良い。
本発明は、分散処理システム、特に大量のデータ処理を分散・並列に実行するシステムの検証に利用できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
前記複数の処理装置の前記プログラムに前記入力データを供給する入力データ供給手段と、
テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段と、
前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定するテスト結果判定手段と
を有する分散処理システム。
(付記2)
前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
付記1に記載の分散処理システム。
(付記3)
前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
付記1または2に記載の分散処理システム。
(付記4)
前記実施済データは、前記特徴パターンである
付記1乃至3の何れかに記載の分散処理システム。
(付記5)
前記実施済データは、前記特徴パターンを生成した元となるデータである
付記1乃至3の何れかに記載の分散処理システム。
(付記6)
前記実施済データは、前記プログラムを特定する識別子を含み、
前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
付記1乃至5の何れかに記載の分散処理システム。
(付記7)
前記期待データ算出手段は、前記プログラムが新旧2つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
付記1乃至6の何れかに記載の分散処理システム。
(付記8)
前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールと、前記リソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出するエミュレーション環境手配手段とを有する
付記1乃至7の何れかに記載の分散処理システム。
(付記9)
前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
付記1乃至8の何れかに記載の分散処理システム。
(付記10)
前記比較要否判断手段は、前記プログラム毎に、全テスト数に対する、前記比較を省略してテスト成功と判断したテスト数の割合を比較省略率として算出する
付記1乃至9の何れかに記載の分散処理システム。
(付記11)
入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
前記入力データ供給手段が、前記複数の処理装置で動作する前記プログラムに前記入力データを供給し、
前記複数の処理装置の前記プログラムが、前記入力データに従って前記所定の処理を行い、
前記比較要否判断手段が、前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断し、
前記期待データ算出手段が、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
前記比較手段が、エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定する
分散処理システムのテスト方法。
(付記12)
前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
付記11に記載の分散処理システムのテスト方法。
(付記13)
前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
付記11または12に記載の分散処理システムのテスト方法。
(付記14)
前記実施済データは、前記特徴パターンである
付記11乃至13の何れかに記載の分散処理システムのテスト方法。
(付記15)
前記実施済データは、前記特徴パターンを生成した元となるデータである
付記11乃至13の何れかに記載の分散処理システムのテスト方法。
(付記16)
前記実施済データは、前記プログラムを特定する識別子を含み、
前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
付記11乃至15の何れかに記載の分散処理システムのテスト方法。
(付記17)
前記期待データ算出手段は、前記プログラムが新旧2つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
付記11乃至16の何れかに記載の分散処理システムのテスト方法。
(付記18)
前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出する
付記11乃至17の何れかに記載の分散処理システムのテスト方法。
(付記19)
前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
付記11乃至18の何れかに記載の分散処理システムのテスト方法。
(付記20)
前記比較要否判断手段は、前記プログラム毎に、全テスト数に対する、前記比較を省略してテスト成功と判断したテスト数の割合を比較省略率として算出する
付記11乃至19の何れかに記載の分散処理システムのテスト方法。
1…分散処理システム
101…処理装置
102…入力データ供給装置
103…期待データ算出装置
104…比較装置
105…実施済データ記憶装置
106…比較要否判断装置

Claims (10)

  1. 入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、入力データ供給手段と、比較要否判断手段と、期待データ算出手段と、比較手段と、テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段とを有する分散処理システムが実行するテスト方法であって、
    前記入力データ供給手段が、前記複数の処理装置で動作する前記プログラムに前記入力データを供給し、
    前記複数の処理装置の前記プログラムが、前記入力データに従って前記所定の処理を行い、
    前記比較要否判断手段が、前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断し、
    前記期待データ算出手段が、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出し、
    前記比較手段が、エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定する
    分散処理システムのテスト方法。
  2. 前記特徴パターンは、前記入力データの属するカテゴリを表すデータである
    請求項1に記載の分散処理システムのテスト方法。
  3. 前記特徴パターンは、前記所定の処理が前記入力データに従って前記処理装置上のデータベースのデータを更新する処理である場合、前記入力データの属するカテゴリを表し、さらに、前記更新前のデータと前記更新後のデータとの内の少なくとも一方のデータの属するカテゴリを表すデータである
    請求項1または2に記載の分散処理システムのテスト方法。
  4. 前記実施済データは、前記特徴パターンである
    請求項1乃至3の何れかに記載の分散処理システムのテスト方法。
  5. 前記実施済データは、前記特徴パターンを生成した元となるデータである
    請求項1乃至3の何れかに記載の分散処理システムのテスト方法。
  6. 前記実施済データは、前記プログラムを特定する識別子を含み、
    前記比較要否判断手段は、前記調査では、前記プログラムを特定する識別子と同一の識別子を有し、且つ、前記生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを調査する
    請求項1乃至5の何れかに記載の分散処理システムのテスト方法。
  7. 前記期待データ算出手段は、前記プログラムが新旧2つのプログラムの内の新プログラムに相当する場合、前記旧プログラムが前記入力データに従って前記所定の処理を実行した結果得られるデータを前記期待データとして算出する
    請求項1乃至6の何れかに記載の分散処理システムのテスト方法。
  8. 前記期待データ算出手段は、前記期待データを算出するためのテスト用エミュレーション環境のリソースプールから前記テスト用エミュレーション環境のリソースを獲得して前記期待データを算出する
    請求項1乃至7の何れかに記載の分散処理システムのテスト方法。
  9. 前記比較要否判断手段は、前記プログラムを特定する識別子に対応して、前記特徴パターンを生成する規則を保持し、該保持した前記規則に従って前記特徴パターンを生成する
    請求項1乃至8の何れかに記載の分散処理システムのテスト方法。
  10. 入力データに従って所定の処理を行うプログラムを実行する複数の処理装置と、
    前記複数の処理装置の前記プログラムに前記入力データを供給する入力データ供給手段と、
    テスト実施済の前記入力データに関する実施済データを記憶する実施済データ記憶手段と、
    前記入力データの特徴パターンを生成し、該生成した前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されているか否かを判断する比較要否判断手段と、
    前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていない場合に、前記入力データに従って前記所定の処理を実行した結果得られるデータとして期待する期待データを算出する期待データ算出手段と、
    エラーが発生して正常に前記プログラムの処理が完了しなかった場合には前記入力データによるテストは失敗と判断し、エラーが発生することなく正常に前記プログラムの処理が完了した場合は、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていたときは前記入力データによるテストは成功と判断し、前記入力データの前記特徴パターンと同一の前記特徴パターンを有する前記実施済データが前記実施済データ記憶手段に記憶されていなかったときは前記算出された前記期待データと前記プログラムの結果データとを比較した結果に基づいて前記入力データによるテストの結果を判定するテスト結果判定手段と
    を有する分散処理システム。
JP2012051256A 2012-03-08 2012-03-08 分散処理システムのテスト方法および分散処理システム Active JP5857806B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012051256A JP5857806B2 (ja) 2012-03-08 2012-03-08 分散処理システムのテスト方法および分散処理システム
US13/754,236 US9058313B2 (en) 2012-03-08 2013-01-30 Test method for distributed processing system and distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012051256A JP5857806B2 (ja) 2012-03-08 2012-03-08 分散処理システムのテスト方法および分散処理システム

Publications (2)

Publication Number Publication Date
JP2013186696A JP2013186696A (ja) 2013-09-19
JP5857806B2 true JP5857806B2 (ja) 2016-02-10

Family

ID=49115162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012051256A Active JP5857806B2 (ja) 2012-03-08 2012-03-08 分散処理システムのテスト方法および分散処理システム

Country Status (2)

Country Link
US (1) US9058313B2 (ja)
JP (1) JP5857806B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251022B2 (en) * 2013-03-01 2016-02-02 International Business Machines Corporation System level architecture verification for transaction execution in a multi-processing environment
US20160245864A1 (en) * 2015-02-20 2016-08-25 Texas Test Corporation Automatic test apparatus for functional digital testing of multiple semiconductor integrated circuit devices
US9959197B2 (en) * 2015-08-31 2018-05-01 Vmware, Inc. Automated bug detection with virtual machine forking
CN110781090B (zh) * 2019-10-31 2023-09-12 望海康信(北京)科技股份公司 数据处理测试的控制方法、装置、计算机设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371883A (en) * 1993-03-26 1994-12-06 International Business Machines Corporation Method of testing programs in a distributed environment
US5544310A (en) * 1994-10-04 1996-08-06 International Business Machines Corporation System and method for testing distributed systems
JPH0962626A (ja) 1995-08-21 1997-03-07 Hitachi Ltd 分散処理システムのオンラインテスト方法
US6668275B1 (en) * 1999-12-17 2003-12-23 Honeywell International Inc. System and method for multiprocessor management
US7020699B2 (en) * 2001-09-11 2006-03-28 Sun Microsystems, Inc. Test result analyzer in a distributed processing framework system and methods for implementing the same
GB0213688D0 (en) * 2002-06-14 2002-07-24 Ibm Automated test generation
US20040060038A1 (en) * 2002-09-25 2004-03-25 Duncan Johnston-Watt Verifiable processes in a heterogeneous distributed computing environment
US7409618B2 (en) * 2004-10-06 2008-08-05 Lsi Corporation Self verifying communications testing
US7739570B2 (en) * 2007-07-18 2010-06-15 International Business Machines Corporation System and method for increasing error checking performance by calculating CRC calculations after multiple test patterns for processor design verification and validation

Also Published As

Publication number Publication date
JP2013186696A (ja) 2013-09-19
US20130238934A1 (en) 2013-09-12
US9058313B2 (en) 2015-06-16

Similar Documents

Publication Publication Date Title
US8086693B2 (en) System and method for replacing an application on a server
CN107633016B (zh) 数据处理方法及装置和电子设备
US20200104110A1 (en) Systems and methods of just-in-time proactive notification of a product release containing a software fix
CN101661584B (zh) 动态订单工作流模板实例器和解耦合器
US20170322826A1 (en) Setting support program, setting support method, and setting support device
CN110765024A (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
CN102880546A (zh) 一种基于xml数据库的软件集成测试方法及系统
EP2893443A1 (en) Re-configuration in cloud computing environments
JP5857806B2 (ja) 分散処理システムのテスト方法および分散処理システム
CN107181636B (zh) 一种负载均衡系统中的健康检查方法及装置
CN110231956B (zh) 应用程序版本构建的方法、系统及装置
JP2021524966A (ja) マルチコア相互接続のレベル2キャッシュへのアクセスを検証する方法
US20170109257A1 (en) Use case driven stepping component automation framework
CN111831567A (zh) 应用的测试环境配置方法、装置、系统和介质
JP2007257588A (ja) 検証システム
US20220318129A1 (en) Automated code checking
WO2021103800A1 (zh) 故障修复操作推荐方法、装置及存储介质
CN105279065A (zh) 在云测试平台中统计测试结果的方法及装置
US20160335161A1 (en) A pattern based configuration method for minimizing the impact of component failures
JP2021086604A (ja) 異常サーバのサービス処理方法および装置
CN109857629B (zh) 一种扫描检测方法及装置
US20230205578A1 (en) Error Avoidance Load Balancing Across Distributed Clustered Containerized Environments
CN113032188B (zh) 确定主服务器的方法、装置、服务器及存储介质
US11748686B1 (en) Automated onboarding service
US20220027137A1 (en) Automatically orchestrating deployments of software-defined storage stacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151014

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: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151130

R150 Certificate of patent or registration of utility model

Ref document number: 5857806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150