このセクションでは、Event Monitor ツールの構成および適用方法を説明します。Event Monitor ツールは、ESB、Java アプリケーション、データベースなどのシステムの内部イベントをトレースし、SOAtest のエンドツーエンド テスト シナリオの一部として含めることができます。

このセクションの内容:

Event Monitor ツールとは

Event Monitor ツールは、メッセージ システムのインターフェイスに直接的にアクセスすることなく、中間的なメッセージを可視化します。さらに、用意されたさまざまなツールを適用して、メッセージが機能要件を満たしているかを検証できます。

SOAtest は以下を含む多くのシステムをモニタリングします。

さらに、任意のカスタム API ベースのイベント ソース (たとえば他のベンダーの非 JMS システムやカスタムのログ記録フレームワークなど) をモニタリングするよう構成できます。 

複数のターゲット コンポーネントをモニタリングする場合 (たとえば Java のメソッド呼び出しと JMS トピックなど)、テスト スイートに複数の Event Monitor を追加し、それぞれのターゲットに合わせて構成することができます。

Event Monitor を構成するには、システムへの接続方法およびモニター対象を指定します。 

テスト スイートを実行すると、SOAtest はイベント モニターを開始し、テスト スイートのテストが実行されている間、イベント モニターを実行し続けます。指定されたイベント/メッセージが発生すると、それをモニターしてレポートします。イベント モニターにツールを連結し、モニターされたイベント/メッセージを検証したり、その他の処理を行うことができます。

ツールの設定

設定手順は、モニター対象のシステムのタイプによって異なります。以下のシステムをモニタリングできます。

複数の Event Monitor をテスト スイートに追加してターゲットに合わせて構成することで、複数のターゲット コンポーネントをモニタリングできます。

テスト スイートの実行

テスト スイート実行時に Event Monitor ツールを使用するのが、典型的かつ推奨される使用方法です。Event Monitor ツールをテスト スイートに追加し、モニタリングを開始するテスト ステップより前の最初のテストとします。親テスト スイートを選択して実行すると、Event Monitor が適切なステップで自動的に開始され、テスト スイート内の残りのテストが実行される間、モニタリングを続けます。Event Monitor は、以下の 2 つのイベントのうちどちらかが発生したときに停止します。

  1. テスト スイート内の最後のテスト (テストがデータ ソースを繰り返し処理する場合は、データ ソースの最後の行) の実行が完了し、最後のイベントが取得され、モニター用接続が破棄されたとき。
  2. モニターの最大持続時間 (この値はツールの [オプション] タブで設定します) が経過したとき。

Event Monitor の親テスト スイートを [テストを同時実行] として設定する必要はありません。SOAtest は、自動的に Event Monitor を特別なツールとして認識し、適切に同時実行します。

スタンドアロン / アドホック実行

Event Monitor の接続情報を設定し、SOAtest の外でターゲット システムを操作しながら、Event Monitor を独立して実行できます。たとえば、アプリケーションの Web インターフェイスを操作しながら、バックエンドのミドルウェア システム内の JMS メッセージをモニターできます。 

リアルタイムに記録されるイベントを監視するには、[イベント ビューアー] タブを開きます。Event Monitor ツールは、[オプション] タブの [モニター実行の最大継続時間 (ミリ秒)] で指定された期間、実行を継続します。[Custom events source] オプションが [各テスト実行後にポーリング] パターンと共に指定されている場合、このようなアドホック実行はできません。

モニターしたイベントの確認

イベントは、Event Monitor ツール構成パネル内の [イベント ビューアー] タブにレポートされ、視覚的に表現されます。

モニターしたイベントをリアルタイムで参照するには、次の操作を行います。

ビューアーには 2 つのタブがあります。グラフィカル ビューとテキスト ビューです。



グラフィカル ビューでイベントをクリックすると、メッセージの詳細が表示されます。

プラグイン版ではなくスタンドアロン版の SOAtest をインストールした場合、グラフィカル ビューはデフォルトで利用できます。プラグイン版の場合は、Eclipse に Eclipse GEF がインストールされていなければなりません。http://www.eclipse.org/gef/ から Eclipse GEF をダウンロードしてインストールできます。

データ ソースの使用

Event Monitor 自体をデータ ソースでパラメータライズすることはできません。しかし、Event Monitor ツールを含むテスト スイート内のテストがパラメータライズされている場合、Event Monitor ツールは最初の実際のテスト (Event Monitor テストの直後のテスト) が最初のデータ ソース行を使用して実行される前にモニタリングを開始し、すべてのデータ ソース行が使用された後にモニタリングを停止します。これによって、テスト スイート内でテストがどのように繰り返し実行されるかにかかわらず、イベントを記録した単一のシームレスなログを取得することができます。

他のプラットフォームからのイベント読み出し

Event Monitor は拡張フックを備えており、デフォルトでサポートされるプラットフォームおよびシステム以外のさまざまなソースからイベントを取得できます。詳細については、「拡張 API のパターン」 を参照してください。

モニタリングしたメッセージの検証

トランザクションが正しく実行されるようになったら、「回帰テストの構成」の説明に従ってモニタリングされるメッセージに回帰コントロールを追加できます。さらに、「テスト出力の追加」の説明に従って検証を追加することもできます。利用可能な検証ツールは、「検証ツール」にリストされています。

(たとえば Web インターフェイスからトランザクションをトリガーするなどして) トランザクションの実行中にシステムをモニターし、モニターしたメッセージから自動的にテストを生成できます。トランザクションの入口/出口に対するテストだけでなく、トランザクションを構成する中間的なパーツに対するテストも生成されます。この機能を使用すると、問題をすばやく再現し、現実的な値を使用するテストを迅速に作成し、システムを分離して、トランザクションを構成する一部分やコンポーネントに対して回帰テストを作成できます。詳細な方法については、以下を参照してください。