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

Event Monitor ツールとは

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

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

  • TIBCO Enterprise Messaging System
  • Sonic Enterprise Service Bus systems
  • Oracle Service Bus
  • Software AG webMethods Broker
  • IBM WebSphere ESB
  • その他の JMS ベースのシステム
  • Java アプリケーション
  • リレーショナル データベース

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

Event Monitor は、常にテスト スイートの最初のテストとして配置する必要があります。

複数のターゲット コンポーネントをモニタリングする場合 (たとえば 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 ツール構成パネル内の [イベント ビューアー] タブにレポートされ、視覚的に表現されます。

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

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

  • No labels