Hitachi

Hitachi System Information Capture リファレンス 


1.5.4 シリアライズ機能

テスト実行フェーズでは、テスト実行単位をクライアント識別子で指定します。このテスト実行単位で要求電文の送信、及び、テスト結果判定等のテストを行います。同一のクライアント識別子の電文はシリアライズして処理しますが、異なるクライアント識別子間の電文はパラレルに処理します。

クライアント識別子の設定方法は、実行モードによって異なります。

逐次実行モード

クライアント識別子は、プロトコル種別に応じてデフォルト値を自動的に設定します。

なお、framework_definition定義の-uオプションのipaddr_serializeフラグメンバの値にYを指定した場合、デフォルトのクライアント識別子は外部システムのIPアドレスになります。

各プロトコルのデフォルトのクライアント識別子を次に示します。

プロトコル

デフォルトのクライアント識別子

TCP

コネクション単位(外部システムのIPアドレス+外部システムのポート番号+既存システムのIPアドレス+既存システムのポート番号)

HTTP

IIOP

RAP

RPC

外部システム側のIPアドレス+ポート番号+送信元スレッドID

デフォルトのクライアント識別子では業務の処理順序が再現できない場合は、電文情報プラグインによって、ユーザ任意のクライアント識別子を設定します。

クライアント識別子によるシリアライズの例を次に示します。

(例1)本番環境のコネクション単位でテスト実行(framework_definition定義の-uオプションのipaddr_serializeフラグメンバの値がN(デフォルト値)の場合)

本番環境のコネクションごとにユニーク値となるクライアント識別子をフレームワークが作成します。この場合、本番環境のコネクション単位にテストを実行します。本番環境のコネクション内の電文はシリアルに処理しますが、他コネクションの電文とはパラレルで処理します。

外部システムの業務が1つのコネクションで処理されていて、かつ、各業務をパラレル処理したい場合、このクライアント識別子を使用できます。

業務が複数のコネクションで処理されている場合は、このクライアント識別子では処理の実行順序が不正となり、テスト失敗と判断されるおそれがあります。

(例2)本番環境の外部システムのIPアドレス単位でテスト実行(framework_definition定義の-tオプションのipaddr_serializeフラグメンバの値がYの場合)

外部システムのIPアドレスごとにユニーク値となるクライアント識別子をフレームワークが作成します。この場合、外部システム単位にテストが実行されます。外部システムの電文はシリアルに処理されますが、他外部システムの電文とはパラレルで処理されます。

本番環境の業務が複数のコネクションで処理されている、または本番環境の複数業務をシリアルに実行したい場合、このクライアント識別子を使用できます。

(例3)ユーザ任意の単位でテスト実行(電文情報プラグインで設定する場合)

テスト単位を変更したい場合は、電文情報プラグインでクライアント識別子を設定します。

  • 本番環境で1業務が複数コネクションを使用している場合で、テスト環境でも同様に複数コネクション間の処理順序を再現したいとき

    各コネクションに共通する情報(クライアント側IPアドレス、電文内のクライアントを識別可能な情報など)をクライアント識別子に設定してください。

    framework_definition定義の-tオプションのipaddr_serializeフラグメンバ値が「Y」の場合と異なり、任意のコネクション間でシリアライズできます。

  • 本番環境で複数業務が1コネクションを共有して使用している場合で、テスト時は業務単位にシリアルに実行し、業務間ではパラレルに実行したい(他業務の影響を受けないようにしたい)とき

    各業務に共通する情報(電文内の業務を識別可能な情報など)をクライアント識別子に設定してください。

シナリオ実行モード

電文選択プラグインでユーザが設定するシナリオ単位にユニークなクライアント識別子を作成し、シナリオ単位にテストを実行します。シナリオ内の電文はシリアルに実行しますが、シナリオ間の電文はパラレルに実行します。