Eggplant DAIでのステートの定義
Eggplant DAIを使用すると、システムのモデルを作成し、Eggplant DAIがアルゴリズムを使用してシステムのテストを生成できます。モデルは_ステート_と_アクション_で構成されています。ステートは一般的にソフトウェアアプリケーション内の画面を表します。アクションは、ステート間でユーザーを移動するアクションを含む、ステート内で実行できるユーザーアクションです。
以下に、Eggplant DAIモデルでステートを作成して使用する方法についての情報を見つけることができます。アクションについての情報は、Eggplant DAIのアクションを参照してください。
ステートのタイプ
Eggplant DAIのステートには以下の4つのタイプがあります:
- Start: このステートタイプは、モデルの_初期_状態、つまり開始点に使用されます。これは、モデルに対するテストの実行を開始する際の最初のモデル要素です。
- Exception: このステートタイプは、新しいモデルを作成する際に自動的に追加される_エラー_状態に使用されます。このステートはエラーハンドリングに使用できます。
- Cleanup: このステートタイプは、新しいモデルを作成する際に自動的に追加される_Cleanup_状態に使用されます。このステートは、モデルの実行終了時にSUTで実行したい任意のクリーンアップステップに使用できます。
- Normal: このステートタイプは、すべての他のステートに使用されます。モデルのほとんどは通常のステートタイプで構築されます。
新規モデルのデフォルトステート
Eggplant DAIで新しいモデルを作成すると、緑色のスタートステートがModel ワークスペースに自動的に配置され、その名前は_Initial_となります。右側のペインでState Propertiesタブを選択し、ステートのNameをモデルをよりよく表現md
左側のペインでModel Treeタブをクリックすると、新しいモデルにはデフォルトで以下のステートが存在することがわかります:
- Initial: これはスタートステートで、モデルの実行開始点です。
- Error: このステートは例外タイプです。Eggplant DAIはモデルの実行中にエラーが発生した際にこのステートを呼び出します。エラーは、モデルチェックが失敗したときや、SenseTalkスニペット内で問題が発生したときに発生することがあります。これらの状況でエラーハンドリングを使用するには、このステートに適切なSenseTalkスニペットをアタッチする必要があります。このステートが呼び出されたときにスニペットがアタッチ されていない場合、モデルの実行はここで何も行わずに終了します。
- Cleanup: Eggplant DAIはモデルの実行が終了する直前にこのステートを呼び出します。必要に応じて、適切なSenseTalkスニペットをアタッチすることで、モデルの実行が終了する前にSUTを整理するためにCleanupステートを使用できます。例えば、アプリケーションを閉じたり、データベース接続を閉じたりする必要があるかもしれません。このステートが呼び出されたときにスニペットがアタッチされていない場合、モデルの実行はここで何も行わずに終了します。
- Exit: このステートにはアクションが含まれていません。Eggplant DAIがこのステートを呼び出すと、モデルの実行が終了します。
通常、Model ワークスペースに表示されるのはスタートステートと追加した任意のノーマルステートだけです。例外、Cleanup、およびExitステートはModel Treeタブにのみ表示されます。
モデルステートの作成
モデルに新しいステートを作成するには:
- Model ワークスペースで、以下のいずれかを行います:
- ツールバーでNew Stateをクリックします。
- ワークスペースを右クリックし、コンテキストメニューからNew Stateを選択します。
Ctrl+Shift+S
を使用します。 新しいステートが表示され、State Propertiesタブが選択されて完成の準備ができていま す。
- 設定ステートプロパティのガイドラインを使用して、ステートを設定します。
ページの右側のタブの内容は、モデル内で選択されたものによって変わります。State Propertiesタブを見るには、モデル内でステートを選択する必要があります。
モデルにステートを追加した後、Eggplant DAIのアクションの指示に従って、モデルにアクションを追加します。
ステートプロパティの設定
モデルの振る舞いをカスタマイズするために、ステートに関連付けられたプロパティを調整することができます。ステートのプロパティを変更するには、モデルの中でステートを選択します。State Propertiesタブは、編集の準備ができた状 態で右のペインに自動的に選択されます。
State Propertiesタブからは、ステートの全てのプロパティにアクセスすることができます。モデルのために初めてステートを作成する時にこれらのプロパティを設定することができ、また後で必要に応じてプロパティを調整するためにここに戻ることができます。
State Propertiesタブ
一般プロパティセクション
State Propertiesタブの上部セクションでは、ステートの一般的なプロパティを調整することができます:
- Name: 新しいステートはデフォルトの名前で作成されます。ここでモデルにもっと説明的な名前に変更します。このフィールドでは、ダブルクオート以外の全てのUnicode(UTF-8)文字を使用できます。
- Description: このフィールドはオプションですが、このステートについての有益な情報を記録するために使用できます。
- Type: このフィールドを使用して、ステートのタイプを変更します。利用可能なステートのタイプは、ステートの種類で説明されています。
通常、ステートのタイプを調整する必要はありません。新しいステートはデフォルトでNormalタイプでmd 作成され、これがモデルの大部分を構成します。Start、Exception、Cleanupのステートタイプはモデルごとに1つずつしか持つべきではありません。
ステートセクションによって呼び出されるスニペット
このセクションでは、選択したステートにリンクした任意のスニペットをリストします。これらのスニペットは、モデルの実行中にこのステートが遭遇した際に実行されます。スニペットとは、モデルがステートやアクションを呼び出すときにSUTと対話するSenseTalkコードの特定の部分です。
ステートプロパティタブのステートセクションによって呼び出されるスニペット
ModelワークスペースとSnippetsタブを使用して、ステートまたはアクションにスニペットを追加することができます。このようにスニペットをリンクする方法についての情報は、Eggplant DAIモデルをスニペットにリンクするを参照してください。
しかし、ステートに添付したいスニペットのパスがわかっている場合は、ここで追加することができます。ScriptPathボックスをクリックし、スニペット名を入力します。
ステートパラメーターセクション
このセクションの設定を使用して、このステートおよびこのステートによって呼び出されるスニペット内で使用したいパラメーターを設定します。ステートパラメーターは、ステートまたはステート内のアクションで使用できます。また、スニペットへ渡したり、スニペットから受け取ったりすることもできます。
新しいパラメーターを追加するには、State ParametersセクションでNewをクリックします。また、Modelワークスペースでステートを選択して右クリックし、コンテキストメニューからNew Parameterを選択することもできます。以下に示されている選択を使用して、ステートパラメーターを設定できます:
-
名前: パラメータに適切な名前を入力してください。このフィールドではダブルクォートを除くすべてのUnicode文字を使用できます。
-
タイプ: リストメニューから適切なパラメータのタイプを入力します:
- 整数: この選択肢はパラメータを正、負、またはゼロの整数(分数ではない)として定義します。例えば、ユーザーの数やテストケースの数など、何かの数が重要なモデルで整数パラメータタイプを使用します。
- 真または偽: あなたのモデルがオンまたはオフ、真または偽、および他の類似の値などのブール値を必要とするとき、このデータタイプを使用します。
- 実数: 実数データタイプは正と負の整数と小数を受け入れます。角度、ラジアン、または他の類似の情報などの値に対して実数データタイプを使用します。
- テキスト: このデータタイプは、文字列の格納または文字の許容リストを文字列として定義するために使用します。それは任意の整数制約、つまり、2、4、8、16は2、4、8、または16文字の文字列を作り、他の制約と同様に、ここで複数の制約を組み合わせることができます。許 容文字の範囲を設定したい場合は、それらを範囲、つまり
'a':'z'
またはリスト"aeiou"
にする必要があります。シングルクォートとダブルクォートは重要であることを覚えておいてください。 - セット: この選択肢は、このパラメータに対する許容値のセットを定義することができます。Eggplant DAIに実行時に特定の値リストから値を選択させたい場合、この選択肢を使用します。例えば:'spring'、'summer'、'autumn'、'winter'。あなたの値リストを入力するには、パラメータを右クリックし、コンテキストメニューから パラメータ詳細の編集 を選択し、パラメータプロパティ ダイアログボックスの 値 セクションを使用して値を設定します。このフィールドではダブルクォートを除くすべてのUnicode文字を使用できます。
- レコード: この選択肢は、Eggplant DAIにCSVファイルに含まれるレコードからパラメータ値を読み取らせることができます。CSVファイルが含まれているディレクトリを特定するには、コントローラー > 環境に移動し、使用している実行環境を見つけます。アクションメニューをクリックし、編集を選択してディレクトリパスを確認します。Eggplant DAIがパラメータにアクセスすると、CSVファイルからレコードのうちの一つを選択し、それをパラメータに格納します。
-
生成: リストメニューから適切なパラメータ生成方法を入力します:
- 生成される: パラメータのタイプに基づいてパ ラメータの新しい値を生成します。
- 一意に生成される: 値を生成しますが、以前に使用された値を再利用することはできません。
- 一度だけ生成される: 生成された値は一度選択され、その後は選択されません。その値はランの間、静的に保持されます。
- 非生成: 値は生成されず、値を含むように設定する必要があります。
-
初期値: このパラメータに対して初期値を設定します。レコードタイプのパラメータを使用する場合、初期値フィールドで選択するオプションが、レコードを読み取るべき.csvファイルを決定します。
既存のパラメータを編集するには、それを選択し、状態パラメータセクションの情報を更新します。パラメータをさらにカスタマイズするには、パラメータを右クリックし、パラメータ詳細の編集を選択します。パラメータプロパティダイアログボックスでは、初期値および値範囲などの詳細を設定することができます。
パラメータを削除するには、状態パラメータセクションでパラメータを右クリックし、コンテキストメニューからパラメータの削除を選択します。
関連タグセクション
Eggplant DAIでは、モデルに特定のプロパティを識別するタグを作成できます。これらのタグを状態に適用して、モデル内のそれらのプロパティを追跡できます。このセクションの設定を使用して、モデル内の状態にタグを関連付けます。タグの作成、モデル内の状態に作成したタグを適用する方法については、Eggplant DAIでのタグの使用を参照してください。