シナリオの作成方法
ビジネスシナリオは、1つ以上の受信メッセージと送信メッセージで構成されています。
OSV Host は、特定のメッセージ要素の値を識別子として使用し、ビジネスシナリオを開始または再開します。これらの識別子の助けを借りて、システムは受信メッセージをそれぞれのビジネスシナリオに割り当てます。
OSV Monitor は、完了Scenarios、保留中のScenarios、または環境ログ(see chapter "完了したScenariosを表示する" 、 chapter " 保留中のScenariosを確認する " 、または chapter "環境ログ の確認") の識別子列にシナリオの識別子を表示します。
シナリオによって、システムは自動的に受信メッセージをシナリオに割り当てます。OSV は3つの主要なアプローチを区別しています。
ブルーアルゴリズム
青色のアルゴリズム - コンセプト
OSV は、シナリオが以下の条件を満たしている場合、青色のアルゴリズムを使用します。
-
シナリオの間、識別子の値は変わりません。つまり、同じシナリオ内のすべての受信メッセージの識別子は、最初の受信メッセージと同じ値を持ちます。
通常は、CustomerID や AccountID に関するものです。これらのIDは、異なるノードの異なるメッセージに表示されることがあります。
この時点で値が不明な場合は、最初の受信メッセージでワイルドカード * を使用することもできます。現在不明な値を後で再利用したい場合は、その値に対してバッファを実行してください (下記参照) 。
-
各受信メッセージには識別子が含まれています。
1つ以上の受信メッセージに識別子が含まれていない場合、そのメッセージはビジネスの観点から関連性がない可能性が高いです。
識別要素の値は、静的な文字列、静的文字列のセミコロン区切りリストとして指定することも、正規表現 (see chapter "ActionModeの WaitOn") を使用することもできます。
シナリオを実行するには、受信メッセージにすべての指定された識別要素とその識別子が含まれている必要があります。
識別子が文字列のリストで構成されている場合、識別要素には指定された値のうち少なくとも一つを含めなければなりません。
|
Scenarios内で識別子を定義する代わりに、外部の Excel スプレッドシート (see chapter "XExcelを使用する") で識別子を定義することもできます。 |
|
以下の例は、ブルーアルゴリズムの実用的なアプリケーションを示しています。 この場合、システムは以下のテストを実行します。
orderId は両方の受信メッセージの一部です。さらに 2 という値は事前に分かっており、テスト期間中に変わることはありません。
リクエストおよび応答メッセージ |
|
実行時には、最初の名前はまだわかりません。しかし後で、テストでの使用を希望するものとします。
ワイルドカードの設定 |
黄色のアルゴリズム
黄色のアルゴリズム - コンセプト
OSV は、以下の場合、シナリオに黄色のアルゴリズムを使用します。
-
少なくとも一つの受信メッセージの分野を制御することができます。つまり、お客様は、柔軟な値を使用してご自身のメッセージ要素を設定することができます。
-
どのユーザーがどのテストを実行しているのかを知りたいと希望しています。
-
シナリオIDコントロールと実行インスタンスの情報を希望しています。
-
どのシナリオを実行するかをシステムに明示的に指示することを希望しています。保留中のScenariosのリストを表示するには、 OSV Monitor (see chapter " 保留中のScenariosを確認する ") をチェックしてください。
この場合、お客様の受信メッセージで使用される識別子は、以下の構文に従う必要があります。
|
構文: |
<Scenario name>+<Scenario ID>+<username> |
-
シナリオ名:シナリオ名は、シナリオ作成時に指定された名前(例:OSV黄色のシナリオ)と一致していなければなりません。
-
シナリオID:シナリオIDは、同じシナリオのさまざまな実行を区別するために使用される任意の番号です(例: "1")。
-
ユーザー名:現在シナリオを実行しているユーザーのユーザー名を指定します(例: "john")。
シナリオを作成する場合には、シナリオの名前が含まれている識別要素を1つ定義します。
|
次の例は、イエローアルゴリズムの実用的なアプリケーションを示しています。 この場合、ジェーンという名前のテスターが注文を作成し、自分がテストを実行しているという情報を追加したいと希望しています。 ジェーンは最初の受信メッセージに文字列を追加します。文字列は、カウンターとジェーンの名前を含んでいます。
ジェーンからの最初のメッセージ orderIDは一意である必要はありません。従って、OSVは、黄色のアルゴリズムを使って同じシナリオの受信メッセージを識別し、識別子の要素を識別要素として識別します。
シナリオ・デザイン・イエローアルゴリズム |
グリーンアルゴリズム
緑のアルゴリズム - コンセプト
OSV は、以下の場合、シナリオに緑のアルゴリズムを使用します。
-
識別子の値が、シナリオ中に変化します。この場合、システムはブルーアルゴリズムまたはイエローアルゴリズムを使用して、最初の受信メッセージを識別する必要があります。
緑のバッファを緑のアルゴリズム識別子として使用します。これらのバッファは、OSVが識別エレメントを検証する唯一のバッファです。緑のバッファには接頭辞 $ が付いています。
同じシナリオに複数のグリーンバッファを定義できます。名前は他のシナリオから独立しています。
-
IDが変わった後もシナリオを継続する必要があります。
保留中のシナリオを続行するには、シナリオ設計 (see chapter "バッファおよびグリーンバッファを使用する") 中に緑のバッファを定義する必要があります。
-
識別子は異なるフィールドに現れます。
キーワード( ) を使用して、いくつかの識別要素を定義します。{optional}この場合、少なくとも一つの識別要素は、定義された緑のバッファのいずれかに保存されている値と一致する必要があります。see chapter "緑のセレクタの使用"
Value の列で緑のバッファの名前を指定して、識別要素を明示的に定義します。この場合、各識別要素は、指定されたバッファに格納されている値と一致している必要があります。
|
シナリオをグリーンアルゴリズムで開始することはできません。シナリオはブルーかイエローのアルゴリズムで始める必要があります。 |
|
この例では、 OSV は、オーストリアのウィーンに住んでいるある人のために新しいオーダーを作成するというリクエストを取得します。 次の例では、グリーンアルゴリズムの実用的なアプリケーションを説明します。 この場合、システムは以下のテストを実行します。
OSVは青のアルゴリズムでシナリオを開始します。 システムは緑のセレクタ {optional} を使って、メッセージを、識別要素が前に作成された緑のバッファと一致するシナリオに割り当てます。
シナリオ・デザイン・イエローアルゴリズム |