(57)【要約】  本発明は特に、複数のノードを有する少なくとも１つのクラスタを含むテスト環境におけるタスク実行の検証に関し、そのうちの少なくとも１つのノードは、テストの性能を管理するプログラムを含む。前記ノードの少なくとも１つの特性をテスト要素格納システムに伝送した後、前記テスト要素格納システムが、前記少なくとも１つの特性と適合する前記少なくとも１つのテストを表すデータを含む場合、前記クラスタ内での前記タスクの実行を可能にする少なくとも１つのテストを表すデータが受信される（４０５）。前記クラスタのために利用可能なリソースが前記少なくとも１つのテストを表す前記受信データにしたがって前記タスクの実行を可能にする場合には、前記タスクは前記少なくとも１つのテストを表す前記受信データにしたがって実行され（４３５）、前記実行の間に取得された少なくとも１つの結果が送信される（４４０）。
2013524312.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのクラスタを含むテスト環境における適応型コンピュータシステムのために少なくとも１つのタスクの実行を検証する方法であって、前記少なくとも１つのクラスタの各々は複数のノードを含み、前記少なくとも１つのクラスタの各々の前記複数のノードのうちの少なくとも１つのノードはメモリ内に存在するプログラムを含み、プログラムと称される、前記メモリ内に存在する前記プログラムは、
テスト要素を格納するためのシステムに、前記プログラムを含むノードが属するクラスタの前記複数のノードの少なくとも１つの特性を送信するステップと、
前記送信ステップに応えて、前記テスト要素を格納するためのシステムが、前記少なくとも１つの特性に適合する前記少なくとも１つのタスクの少なくとも１つのテストを表すデータを含む場合に、前記プログラムを含むノードが属するクラスタ内で前記少なくとも１つのタスクの実行を可能にする前記少なくとも１つのテストを表す前記データを受信するステップ（４０５）と、
前記プログラムを含むノードが属するクラスタの利用可能なリソースが、前記少なくとも１つのテストを表す前記受信データにしたがって前記少なくとも１つのタスクの実行を可能にする場合に、前記少なくとも１つのテストを表す前記受信データにしたがって前記少なくとも１つのタスクの実行を行い（４３５）、前記実行の間に取得された少なくとも１つの結果を送信するステップ（４４０）と、を含むことを特徴とする、方法。
【請求項２】
前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップが、前記プログラムを含むノードが属するクラスタの環境の構成データの少なくとも１つの項目を受信するステップを含み、方法は、受信した構成データの前記項目に応じて前記プログラムを含むノードが属するクラスタの環境を構成するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップが、前記少なくとも１つのタスクの実行結果を判定するためのデータの少なくとも１つの項目を受信するステップを含み、方法は、前記少なくとも１つのタスクの実行結果を判定するために受信されたデータの前記少なくとも１つの項目に応じて、前記少なくとも１つのタスクの少なくとも１つの実行結果を判定するステップをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記少なくとも１つのテストを表す前記受信データに応じて前記少なくとも１つのタスクの前記少なくとも１つのテストを作成するステップ（４１０）をさらに含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップに応えてルーチン実行テーブルの入力項目を作成するステップをさらに含み、前記ルーチン実行テーブルは、前記少なくとも１つのタスクの自動実行を可能にする、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記少なくとも１つのタスクの実行の報告の送信を命令するために外部システムにコマンドを送信するステップをさらに含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記テスト要素を格納するためのシステムがデータベース（３１０）を含み、前記データベースは環境データ、テストデータ、分析データ、およびタスクデータを含み、前記プログラムを含むノードが属するクラスタの前記複数のノードの前記少なくとも１つの特性を送信する前記ステップは、前記データベースへのアクセスの要求を含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
複数のテストが同時に実行される、請求項１から７のいずれか一項に記載の方法。
【請求項９】
コンピュータ上で実行されるときに、請求項１から８のいずれか一項に記載の方法の各々を実行するようになっている命令を含む、コンピュータプログラム。
【請求項１０】
請求項１から８のいずれか一項に記載の方法のステップの各々の実現に適合した手段を含む装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアルーチンの実行の検証に関し、より具体的には、適応型コンピュータシステムにおけるタスクの実行を検証するための方法、コンピュータプログラム、および装置に関する。
【背景技術】
【０００２】
コンピュータシステムのプログラミングを容易にするために、ハードウェア層とソフトウェアアプリケーション層との間で一般的に中間ソフトウェア層が使用される。このような中間層は、データの転送および処理など、可能な限り一般的なタスクの実行を可能にする。さらに、このようなタスクの使用はしばしばアプリケーションおよびハードウェア層が分離されることを可能にし、こうしていくつかの異なるハードウェア層によって実行されるソフトウェアアプリケーションを承認する。
【０００３】
これらの中間層は通常、使用されるオペレーティングシステムを含むが、これらはまた、具体的にはハードウェアリソースの最適化と結びつけられた特定のタスクも含んでよい。このように、たとえば高性能コンピューティングの分野において、特に、関連するアプリケーションに応じて最高の性能を付与する数学アルゴリズムを選択するために、オペレーティングシステムにとって重要でない特定のタスクが提供されることもある。
【０００４】
当然ながら、使用されるハードウェア層が何であれ、得られる結果が特定の所定特性を満足させるために、または少なくとも得られる結果が使用されるハードウェア層に応じて特徴付けられるために、これらのタスクの実行はテストおよび評価されるべきである。
【０００５】
このため、これらのタスクの実行のテストおよび検証は、失敗を検出し、それによって必要なレベルの信頼性を保証するために、これらのタスクを実行するようになっているハードウェア層および中間層を含むコンピュータシステムの開発の必須段階を表す。これらのテストはおおむね、得られた結果を期待される結果と比較するために、所定のシーケンスで、すなわち特定のテストデータに応じて、これらのタスクを実行するシステムの挙動を観察するようになっている。
【０００６】
これらのタスクを実現するコンピュータシステムは、観察される予想されるエラーを修正するため、およびその性能を改善するためまたは新しい機能を統合するために、時間をかけて適応する。このような適応は、コンピュータシステムのハードウェアコンポーネント、これらのコンポーネントのハードウェアアーキテクチャまたは構成、ならびにオペレーティングシステムなどの中間ソフトウェア層の一部に関連してもよい。やはり信頼性を目的として、これらの修正済みシステム上でのこれらタスクの実行は、性能が低下していないことを保証するために再び検証されなければならない。したがってこれは非回帰テストである。これらの目的のため、テストは、得られた結果を期待される結果または以前の結果と比較するために、テストデータに基づいて検討されたタスクを実行する修正済みシステムの挙動を観察することを目指す。
【０００７】
テストおよび検証には、多くの方式がある。しかしながら、１つのテストは通常は環境と結びつけられており、すなわちハードウェアおよびソフトウェア構成、テストデータ、すなわちテスト済みタスクの呼び出しおよびそのパラメータのシーケンス、ならびに結果の取得または分析方法と、結びつけられている。この結果として、特に多数の組み合わせが生じるかも知れない。テストおよび検証の動作を促進するために、これら後者は一般的に、すべてのテストを徹底的にまたは所定のシナリオにしたがって実行するための入れ子式ループ機構に基づいて自動化される。これらの目的のため、ハードウェア環境は、その機能に特化される場合が多い。これは、実行すべきテストおよび検証に応じて構成される。
【０００８】
図１は、コンピュータシステムにおけるタスクの実行をテストするためのシステムの概略図である。
【０００９】
図示されるように、テストおよび検証用システム１００は、それ自体が複数のコンピュータを含み、通常はクラスタとしてグループ化されている、ハードウェアテスト環境１０５、ならびにここではテストおよび検証のためのデータおよびテスト環境の構成パラメータを格納するデータベース１１０を、含む。テストおよび検証システム１００は、実行すべきテストおよび検証を特定し、テスト環境を構成し、テストデータを伝送し、得られた結果を受信し、これらの結果を期待される結果と比較するための、たとえばコンピュータまたはサーバなどの、制御システム１１５をさらに含む。
【００１０】
このため、システム１００を用いて特定のテストを実行するために、第一ステップは、このテストを特定すること、および対応するデータを取得することからなる。続くステップは、テスト環境の構成に関する。これは具体的には使用すべきコンピュータ、すなわちたとえば特定のクラスタを決定すること、およびその実行を対象とする。これはコンピュータ間の相互接続の構成、すなわちネットワークまたは使用されるアーキテクチャの構成にも関連する。ネットワークは、たとえば、イーサネット（登録商標）ネットワーク、またはインフィニバンド型ネットワークである。使用されるクラスタ、実現されるオペレーティングシステムのバージョン、および特定のアーキテクチャに応じてテスト環境を定義することが、可能である。最後に、テストデータおよび求められる結果を取得するための定義または規則が、試験を開始するために特定される。得られた結果はその後、制御システム１１５によって処理されて、期待される結果と比較される。
【００１１】
これらのステップは、実行される各テストについて繰り返される。
【００１２】
図２は、時間をかけて適応するコンピュータシステムについて実行されるテストおよび検証の結果の図表示である。テストはここで、時間ｔ１、ｔ２、．．．、ｔｎにおいて実行される。各テスト（テスト１からｎ）はここで、特定のテスト環境、ならびに特定のテストデータ、たとえば異なる供給元から来るテストデータに対応している。
【００１３】
テストおよび検証結果はここで、成功（レ）または失敗（×）の表示を決定するために、期待される結果と比較される。結果は、たとえば、データ伝送速度、応答時間、および処理時間である。これらの結果は、各行が特定のテストに対応し、各列がテスト時間またはタイムスタンプに対応する、図２に示されるもののような表で表されてもよい。
【００１４】
ここで、特定のテストに関連するエラーが、テスト結果に結びつけられたエラー、すなわちテストデータの項目に関連する誤った結果である可能性があるが、しかし理論上結果に影響するようなコンピュータシステムの修正が行われていない場合には、テスト結果の経時的な変化に関連する可能性もあることがわかる。このため、たとえば、与えられたテストについて失敗が観察された場合には、行われたテストと結びつけられたコンピュータシステムのいかなる修正も伴わないそのテストの成功の表示の観察は、潜在的エラーとして解釈されてもよい。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
図１および図２を参照して提示されたものなどのテストおよび検証システムは、コンピュータシステムにおける静的タスクの実行を効率良くテストおよび検証することができるようにする一方で、適応可能なハードウェアテスト環境の最適な使用を可能にするものではない。この結果、具体的にはテストのシーケンシングと結びつけられた時間の無駄、ならびにテストシステムの結果の使用不足が生じる。
【００１６】
本発明は、上述の解決されるべき問題のうちの少なくとも１つの解決を可能にする。
【課題を解決するための手段】
【００１７】
このため本発明は、少なくとも１つのクラスタを含むテスト環境における適応型コンピュータシステムのために少なくとも１つのタスクの実行を検証する方法に関し、前記少なくとも１つのクラスタの各々は複数のノードを含み、前記少なくとも１つのクラスタの各々の前記複数のノードのうちの少なくとも１つのノードはメモリ内に存在するプログラムを含み、プログラムと称される、前記メモリ内に存在するプログラムは、
テスト要素を格納するためのシステムに、前記プログラムを含むノードが属するクラスタの前記複数のノードの少なくとも１つの特性を送信するステップと、
前記送信ステップに応えて、前記テスト要素を格納するためのシステムが、前記少なくとも１つの特性に適合する前記少なくとも１つのタスクの少なくとも１つのテストを表すデータを含む場合に、前記プログラムを含むノードが属するクラスタ内で前記少なくとも１つのタスクの実行を可能にする前記少なくとも１つのテストを表す前記データを受信するステップと、
前記プログラムを含むノードが属するクラスタの利用可能なリソースが、前記少なくとも１つのテストを表す前記受信データにしたがって前記少なくとも１つのタスクの実行を可能にする場合に、前記少なくとも１つのテストを表す前記受信データにしたがって前記少なくとも１つのタスクの実行を行い、前記実行の間に取得された少なくとも１つの結果を送信するステップと、を含む。
【００１８】
本発明による方法はこのように、プールされたリソースを平行して使用できるようにすることによって、テストの実行時間にいくつかのノードをグループ化するクラスタを含むテスト環境のリソースを最適化することを、可能にする。
【００１９】
有利なことに、前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップは、前記プログラムを含むノードが属するクラスタの環境の構成データの少なくとも１つの項目を受信するステップを含み、方法は、受信した構成データの前記項目に応じて前記プログラムを含むノードが属するクラスタの環境を構成するステップをさらに含む。本発明による方法はこのように、実行すべきテストに応じてテスト環境を構成することを可能にする。
【００２０】
前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップは、好ましくは、前記少なくとも１つのタスクの実行結果を判定するためのデータの少なくとも１つの項目を受信するステップをさらに含み、方法は、前記少なくとも１つのタスクの実行結果を判定するために受信されたデータの前記少なくとも１つの項目に応じて、前記少なくとも１つのタスクの少なくとも１つの実行結果を判定するステップをさらに含む。本発明による方法はこのように、テスト実行結果が評価されるやり方を構成することを可能にする。
【００２１】
特定の実施形態によれば、方法は、前記少なくとも１つのテストを表す前記受信データに応じて前記少なくとも１つのタスクの前記少なくとも１つのテストを作成するステップを、さらに含む。本発明による方法はこのように、参照テスト要素に基づいて動的テストを作成することを可能にし、こうしてテスト可能性を増加させる。
【００２２】
やはり特定の実施形態によれば、方法は、前記少なくとも１つのタスクの実行を可能にするデータを受信する前記ステップに応えてルーチン実行テーブルの入力項目を作成するステップをさらに含み、前記ルーチン実行テーブルは、前記少なくとも１つのタスクの自動実行を可能にする。
【００２３】
有利なことに、方法は、前記少なくとも１つのタスクの実行の報告の送信を命令するために外部システムにコマンドを送信するステップを、さらに含む。テスト環境はこのように、テストの実行を管理し、テスト報告送信を自律的に制御するようになっている。
【００２４】
さらに特定の実施形態によれば、前記テスト要素を格納するためのシステムはデータベースを含み、前記データベースは環境データ、テストデータ、分析データ、およびタスクデータを含み、前記プログラムを含むノードが属するクラスタの前記複数のノードの前記少なくとも１つの特性を送信する前記ステップは、前記データベースへのアクセスの要求を含む。
【００２５】
有利なことに、複数のテストが同時に実行される。
【００２６】
本発明は、先に記載された方法の各ステップの実現に適合した命令を含むコンピュータプログラム、ならびに先に記載された方法の各ステップの実現に適合した手段を含む装置にも関する。
【００２７】
このコンピュータプログラムおよびこの装置によってもたらされる利点は、上記の利点と同様である。
【００２８】
本発明のその他の利点、目的、および特徴は、以下の添付図面に関連して、非限定例によって与えられる、以下の詳細な説明から明らかになるだろう。
【図面の簡単な説明】
【００２９】
【図１】コンピュータシステムにおけるタスクの実行をテストするためのシステムの概略図である。
【図２】時間とともに適応するコンピュータシステムについて実行されたテストの結果の図表示である。
【図３】本発明を実現するタスクを実行するためのテストおよび検証環境の概略図である。
【図４】テストおよび検証環境に属するクラスタの入力ノードのメモリ内に存在するプログラムにおいて実現されるアルゴリズムの図である。
【図５】本発明を実現するようになっているクラスタのノードのアーキテクチャの一例を示す図である。
【発明を実施するための形態】
【００３０】
本発明は具体的には、タスクの実行の検証を可能にし、シーケンスの実行を最適化するために、テストの実行を管理すること、すなわちその能力に応じてテストクラスタ自体に基づいて結果分析および構成データに関連づけられたタスクのシーケンスの実行を管理することに関する。
【００３１】
特定の実施形態によれば、テスト環境は、各々がノードの集合を含むいくつかのクラスタによって構成されている。入力ノードまたはログインノードと称される、各クラスタの特定のノードは、タスクのシーケンスを自動的に開始するために、メモリ内に存在するプログラムを含む。
【００３２】
本発明がＬｉｎｕｘ（登録商標）のオペレーティングシステムに基づく環境で実現されるとき、このようなプログラムは通常、ｃｒｏｎｄを含む。このプログラムは、バイナリまたはシェルスクリプト型のプログラム、すなわちオペレーティングシステムへのアクセスを可能にするプログラムと組み合わせられて、特定された構成で実行されることが可能なタスクのシーケンスを開始するために、クラスタのリソース、ならびにその実行環境を特定することを、特に可能にする。言い換えると、特定された構成の情報に基づいて、実行可能なテストを決定し、関連するタスクのシーケンスの実行を可能にするデータにアクセスし、必要なリソースが利用可能なときにその実行を開始することが、可能である。
【００３３】
これらの目的のため、データベースは、予定されたタスクのリスト、および、予定された各タスクについて、対応するタスクのシーケンスを実行することが可能なクラスタのリストを、含む。このデータベースは、実行すべきタスクのシーケンスを含む参照テストそのもの、実行環境、ならびにテスト結果の取得および分析に関する情報も含む。このため、実行可能な予定されたタスクを特定した後、各クラスタの各入力ノードのメモリ内に存在するプログラムは、参照テストに基づいて対応する動的テストを作成し、利用可能なリソースにしたがって関連するタスクのシーケンスを開始してもよい。
【００３４】
図３は、本発明を実現するタスクを実行するためのテストおよび検証環境３００の概略図である。
【００３５】
表３０５はここで、パラメータを組み合わせることによって実行すべきテストを決定するために使用される。実行すべき動的テストはここで、参照テスト要素の組み合わせによって、すなわちたとえば環境、テストデータ、分析規則、タスク、およびユーザの関連づけによって、定義される。このため、予定されたタスクを表す関連づけのリンクによって表３０５に示されるように、動的テストは、参照テスト要素を対象とする表示、ならびにこれらに関連する要素から、作成されてもよい。参照テストならびに予定されたタスクはここで、データベース３１０に格納される。
【００３６】
ここで参照テストは異なる性質の要素、たとえばテストの実行で使用されるハードウェア対象を含んでもよいことがわかる。
【００３７】
テスト環境は、テストクラスタも含んでよく、ここではテストクラスタ３１５−１および３１５−２を含み、これらはテストクラスタＡおよびＢとも称される。
【００３８】
各テストクラスタは、所定のまたは構成可能なアーキテクチャにしたがって互いに結合しているノードの集合、ならびに特定のノードと結合しているかまたはいくつかのノード間で共有されている、全体として参照番号３２０が付された管理システムを、含む。入力ノードまたはログインノードと称される特定のノード３２５は、外部システムからクラスタにアクセスするために使用される。入力ノードは、全体として参照番号３２５が付される、メモリ内に存在するプログラムを含む。入力ノードは、取得されたテスト結果を外部システムに送信するためにも、使用される。
【００３９】
動的テストに対応するタスクを実行するために使用されるクラスタのノードは、ここで全体として参照番号３３５が付される。
【００４０】
結果を評価するためのアプリケーションシステムは、得られた結果を期待される結果と比較するために、さらに使用される。ここでは、ＰＨＰ  Ａｐａｃｈｅアプリケーションサーバ３４５である。これは好ましくは、テストクラスタとデータベース３１０との間でデータを交換するために使用される。
【００４１】
先に記載されたように、入力ノード３２５のメモリ内に存在するプログラムは、具体的には、動的テストを作成して、必要なリソースが利用可能なときにこれらのテストに対応するタスクのシーケンスの実行を開始し、得られた結果をそのデータベースに送信するために、これが埋め込まれているクラスタのリソースを決定し、データベース３１０内に収容されたテスト要素にアクセスするという目的を有する。
【００４２】
より具体的には、クラスタのリソースに応じてデータベース３１０から取得されたテスト要素は、ファイル３３０内に格納されている動的テストを作成するために使用され、たとえば各テストが個別のファイルに格納されることが可能である。有利なことに、これらのファイルは、各テストについて、たとえばオペレーティングシステムおよび使用すべきバージョンの参照を含むテスト環境、テストデータ、すなわちここでは実行すべきタスクおよびそのパラメータ、ならびに結果を取得するための分析規則を、格納する。これらのファイルはまた、アプリケーションサーバ３４５によってそこから処理および分析されてもよいデータベース３１０に送信される前に、テスト結果を一時的に格納するためにも使用されてよい。ファイル３３０は、たとえば、クラスタのファイルシステムに格納される。
【００４３】
図４は、クラスタのリソースに応じて動的テストを行うためにテスト環境に属するクラスタの入力ノードのメモリ内に存在するプログラムにおいて実現されるアルゴリズムの一例の図表示である。前述のように、このアルゴリズムは、検討されるクラスタの全体的なスケジューラによって、またはそのクロンタブ（ｃｒｏｎｔａｂ）によって、呼び出される。
【００４４】
第一ステップ（ステップ４００）は、クラスタの特性、たとえばノードの数、その種類、およびノード間の相互接続の構成など、具体的にはそのハードウェアリソースに関わるものを取得することを、対象とする。これはたとえばクラスタの名前またはレファレンスなど、所定のレファレンスであってもよい。
【００４５】
これらの特性はまた、実現されるオペレーティングシステム、およびそのバージョンも含んでよい。しかしながら、このような特性は、好ましくは、必要とされるオペレーティングシステムが実現されるように、各テストに関連づけられる。
【００４６】
続くステップ（ステップ４０５）は、予定されたタスクを取得し、クラスタの特性に応じてテストデータを照会することを、対象とする。図解によれば、このステップは、たとえばその名前、そのマイクロプロセッサの種類、およびそのソフトウェア構成など、クラスタの特性を含むＳＱＬクエリ（ＳＱＬとは構造化照会言語（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ））の形態を取ってもよい。これはここで、先に記載されたように、アプリケーションサーバ３４５を経由してデータベース３１０に送信される。
【００４７】
この要求に応えて、クラスタの入力ノードは、実行可能な動的テストの１つ、いくつか、またはすべての作成を可能にし、要求の開始時にクラスタによって実行されなければならない、テスト要素を受信する（ステップ４１０）。ここでアプリケーションサーバ３４５を経由してデータベース３１０から受信した、これらのデータは、有利なことに、各動的テストについて、以下の情報を含む：
テスト環境、すなわちたとえば、使用するノードの数、その相互接続の構成、環境変数、および使用するオペレーティングシステム、
テストデータ、すなわち具体的には、実行すべきタスクのシーケンス、ならびにこれらのタスクの実行パラメータ、および
分析の規則、すなわちテストの実行に応えて送信すべきテスト結果を取得可能にする規則。
【００４８】
作成された参照テストまたは動的テストから受信したデータは、好ましくはファイルに格納される（図３のファイル３３０）。
【００４９】
次のステップは、まだ実行されていない動的テストがあるか否かを判断することを対象とする（ステップ４１５）。実行すべき動的テストがない場合には、実行された動的テストの開始時のクライアントにこれらのテストの実行に関する最終報告を送信するように命令するために、アプリケーションサーバ３４５にコマンドが送信される（ステップ４２０）。この報告は、たとえばテスト結果を含む。アルゴリズムはこれで終了する。
【００５０】
反対に、少なくとも１つの実行すべき動的テストがある場合には、次のステップは、クラスタの利用可能なリソースに応じて実行すべき動的テストを特定することを対象とする（ステップ４２５）。
【００５１】
これらの目的のため、利用可能なリソースは、実行可能なテストを判断するためにルーチン実行テーブルを通じて特定されたタスクを実行するために必要なリソースと比較される。
【００５２】
リソースが実行されるテストのうちの少なくとも１つを実行可能にしない場合には、割り込みによってシステムが停止するまで、またはリソースが自由にテストを実行可能にできるようになるまで、このステップが繰り返される。
【００５３】
反対に、クラスタの利用可能なリソースが１つ以上の動的テストに対応するタスクのシーケンスの実行を可能にする場合には、これらはルーチン実行テーブルにおいて選択される。これは、たとえば、ルーチン実行テーブルの指標に基づいて実行可能な第一のテストであってもよい。テストに対応するタスクのシーケンスを実行するためには、そのテストのデータは、（必要であれば、使用されるオペレーティングシステムに応じて）環境を構成してテストアプリケーションをコンパイルするために、対応するファイルから取得される。
【００５４】
ステップ４１５に戻る矢印で示されるように、ステップ４２５は、実行すべき動的テストが残っている限り実行される。
【００５５】
選択されたテストを実行するために必要なリソースはその後これらの動的テストの各々のために確保され（ステップ４３０−１、４３０−ｎ）、タスクのシーケンスは、これら動的テストの実行によって開始される（ステップ４３５−１、４３５−ｎ）。使用される分析の規則にしたがって、タスクのシーケンスの実行において得られた結果は、ここでテストに関連づけられたファイルに格納される。
【００５６】
リソースを確保するステップ（ステップ４３０）が、クラスタのノードを再初期化するステップ、またはオペレーティングシステムを変更するステップ、すなわちソフトウェアを完全に消去するステップを含んでもよいことが、わかる。
【００５７】
動的テストに対応するタスクのシーケンスが実行済みであるとき、得られた結果、ならびに好ましくは動的テストの構成は、タスクの実行を検証するかまたは検証しないため、および図２を参照して記載されたものなどのテストおよび検証結果の表示を構築するために、評価システムによって処理および分析されるアプリケーションサーバ３４５を経由してデータベース３１０に送信される（ステップ４４０−１、４４０−ｎ）。
【００５８】
次に、実行される動的テストの開始時のクライアントにそのテストの実行に関する報告を送信するように命令するために、アプリケーションサーバ３４５にコマンドが送信される（ステップ４４５−１、４４５−ｎ）。実行された動的テストはその後、再び選択されないようにするために、実行済みとして標識される（ステップ４５０−１、４５０−ｎ）。
【００５９】
動的テストが実行されるとすぐに、対応するリソースが開放される（ステップ４５５）。アルゴリズムは次にステップ４１５に戻り、いずれかの動的テストが実行中であるかまたは未実行のままであるかを判断する。実行中または実行すべき動的テストがない場合には、実行された動的テストの開始時のクライアントにこれらのテストの実行に関する最終報告を送信するように命令するために、アプリケーションサーバ３４５にコマンドが送信され（ステップ４２０）、アルゴリズムは終了する。
【００６０】
参照番号４３０−ｉから４５０−ｉによって示されるように、いくつかのテストはクラスタによって同時に実行されてもよく、そうしてプールされたリソースを平行して使用できるようにする。タスクのシーケンスはこのように、その他のタスクのシーケンスが実行中であっても、開始されてよい。ここで、動的テストの実行に結びつけられたステップを、別の動的テストの対応するステップと同期させる必要がないことが、観察されるべきである。言い換えると、ステップ４３０−ｉから４５０−ｉの実行は、ステップ４３０−ｊから４５０−ｊの実行とは無関係である。
【００６１】
図４を参照して記載されたアルゴリズムを実現するようになっているクラスタのアーキテクチャの一例は、図５に示されている。
【００６２】
ここで装置５００は通信バス５０２を含み、これには：
中央処理装置（ＣＰＵ）またはマイクロプロセッサ５０４、
上述のプログラムの実行中に作成および修正された変数およびパラメータを記録するようになっているレジスタを含む、ランダム・アクセス・メモリ（ＲＡＭ）５０６のコンポーネント。図示されるように、ランダム・アクセス・メモリの各コンポーネントは、マイクロプロセッサに関連づけられてもよく、あるいは装置５００の要素と共通であってもよい、および
データを送受信するようになっている、通信インターフェース５０８、が接続されている。
【００６３】
好ましくは、装置５００は、具体的には装置５００が本発明による処理を実現できるようにするプログラムの実行可能コード、および本発明によって処理された、または処理されるべきデータを格納することが可能な、ハードディスクなどの内部記憶手段５１２を、さらに含む。
【００６４】
通信バスは、装置５００に含まれるかまたはこれに接続された異なる要素の間の通信および相互運用を、可能にする。バスの表示は非限定的であり、具体的にはマイクロプロセッサは、装置５００のいずれかの要素への命令と、直接または装置５００の別の要素によって通信してもよい。
【００６５】
より一般的には、実現される１つまたは複数のプログラムは、実行される前に装置５００の記憶または通信手段のうちの１つにロードされてもよい。
【００６６】
マイクロプロセッサ５０４は、本発明による１つまたは複数のプログラムの命令またはソフトウェアコードの部分の実行を、制御および指示する。通電すると、たとえばハードディスクなどの不揮発性メモリに格納された１つまたは複数のプログラムはランダム・アクセス・メモリ５０６に転送され、するとこれは、本発明による１つまたは複数のプログラムの実行可能コード、ならびに本発明の実現に必要な変数およびパラメータを格納するためのレジスタを、格納することになる。
【００６７】
当然ながら、特定の需要を満たすために、当業者は上記の記載に変更を加えることができるだろう。
【図１】
2013524312.tif 000003
【図２】
2013524312.tif 000004
【図３】
2013524312.tif 000005
【図４】
2013524312.tif 000006
【図５】
2013524312.tif 000007
【国際調査報告】
2013524312.tif 000008
2013524312.tif 000009
2013524312.tif 000010
2013524312.tif 000011
2013524312.tif 000012
2013524312.tif 000013