Eggplant AITest casesタブの指示テストケース機能の使用
Eggplant AIテストケースの使用
Eggplant AIにおけるテストケースとは、モデルの実行時におさえておきたい特定のユーザージャーニーです。定義済みのテストケースは、Eggplant AI UIの中央のペインにあるTest casesタブにおいて閲覧と編集が行えます。テストケースの定義後に、特定のシーケンスを指示テストケースとして実行することもできます。
テストケースについて
テストケースを定義するときは、モデルの実行時に追跡したい特定のアクションシーケンス(ユーザージャーニー)を定めます。ユーザージャーニーは、1つのアクションから、さまざまな個別条件に合わせた長いアクションと状態の連続まで、どのような形でもとることができます。
Test casesタブには、モデルの実行において与えられたテストケースがヒットした回数と、ヒット時の個別のテスト実行結果へのリンクが示されます。また、Consoleタブでは、すべてのテストケースの全概要情報を閲覧することもできます。
Eggplant AIでは、2種類のテストケース作成方法を用意しています。Test Case Builderでは、モデル内の視覚的な状態およびアクションの選択を通じてテストケースを構築することができます。Test caseフィールドでは、テストケース構文定義を記述して、テストケースルールを手作業で作成することができます。
Eggplant AIのテストケースツールについては、以下の項目で説明します。
Test Case Builderの使用:グラフィカルモデリングツールを使ってテストケースを作成します。
テストケースルールの設定:手作業でテストケース定義を記述します。
- テストケース結果の閲覧:テストケース結果を示すレポートを実行します。
- 指示テストケース:特定の定義済みテストケースを選択し、実行します。
- Test Case Builderの使用
- Test Case Builderを使うと、Modelタブのモデルの視覚的解釈を用いて、テストケースを作成することができます。Test Case Builderは、新しいテストケースの設計だけでなく、既存のテストケースの編集にも使用することができます。
新しい機能:Test Case Builderは、Eggplant AI 2.0以降で利用できます。
Test Case Builderの使用
テストケースは常に、開かれているモデルに対して定義されます。Test Case Builderを使って、現在開いているモデルに新しいテストケースを作成するには、以下の手順を行います。
Eggplant AI UIの右側のペインにあるTest case builderタブを選択します。
Add new test caseをクリックし、新しいテストケースを作成します。中央のペインのTest casesタブに、定義可能な空白行として新しいテストケースが追加されます。
- 新しいテストケースのNameフィールドにテストケースの名前を入力します。
- Modelタブを選択して、モデルの視覚表示に切り替えます。
- テストケースに追加したい状態またはアクションをそれぞれクリックします。通常は、テストケースにおいて発生させたい順番で要素を追加していきます。ただし、各要素の順番やその他の側面は、Test case builderタブで後から調整することも可能です。
- (任意)各要素の詳細をさらに正確なものにしたいときは、Test case builderタブを使って、テストケースに追加している各状態またはアクションを編集します。追加の詳細設定を行うときは、右矢印をクリックします。
Hit Count:ドロップダウンメニューを使い、テストケースでこの状態またはアクションが発生する回数を指定します。
- Once:テストケース内で1回だけ発生します。
- Range:指定された範囲内の回数だけ発生します。
- Zero or Many:全く発生しないか、または1回以上発生します。
- One or Many:1回以上発生します。
- Specific Number:特定の回数だけ発生します。これを選択した場合は、numberフィールドで回数を指定します。
- Optional:テストケース内で、この状態またはアクションを任意とします。
Not:この状態またはアクションは、テストケース中のこのポジションでは発生しません。
Variable Conditions:このモデルの既存の状態変数またはアクション変数を用いて、テストケースでこの状態またはアクションが満たすべき変数条件を設定します。
テストケースの順序を変えるには、テストケース要素の上下矢印をクリックし、ドラッグ&ドロップで目的の場所に持っていきます。
テストケースから要素を削除したいときは、赤いX印をクリックします。
- モデルの保存を行って、テストケース定義を保存します。
- テストケースには、個々の状態やアクションだけでなく、以前に定義したテストケースを追加することもできます。この機能を使えば、小さなモジュールの各断片から、広範なテストケースを作成することが可能です。追加方法は、Test case builderタブのSelect existing test caseドロップダウンメニューから既存のテストケースを選択して、Add existingをクリックします。
- テストケースの保存後に、追加したテストケースのレポートを閲覧する方法については、テストケース結果の閲覧を参照してください。
既存のテストケースの編集
定義済みのテストケースは、中央のペインのTest casesタブから閲覧と編集が行えます。Test Case Builderを使ってテストケースを編集するときは、編集したいテストケースのEdit test case列のEditボタンをクリックします。右側のペインのTest case builderタブに、テストケースが開きます。
ここで、新しいテストケースの作成時と同じ編集タスクを行うことが可能です(上記のテストケース新規作成の手順5および6を参照)。Modelタブから新しい要素を追加したり、既存または新規要素の設定を調整したり、要素を削除したりすることができます。
なお、テストケースの名前の変更は、Test casesタブでテストケースのNameフィールドをクリックし、新しい名前を入力することで行えます。また、Test caseフィールドをクリックして、テストケースの定義を直接編集することも可能です。テストケースの定義を手作業で記述する方法については、テストケースルールの設定を参照してください。
この機能を使用するときは、モデルで使用されている正確な状態名とアクション名を使って、慎重にテストケースステートメントを作成する必要があります。Test casesページにアクセスするには、Eggplant AI GUIを開き、Eggplant AIワークスペース上のTest casesタブをクリックします。ここでは、固有のテストケースルール構文を用いて、テストケースステートメントと、関連するテストケースルールの作成を行うことができます。テストケースルールの作成に使用できる構成要素についての説明は、下のテストケースルールの構成要素の表を参照してください。
キーワード、演算子または技法
製品名
状態キーワード | 状態のタイプは、Normal、Start、CleanupまたはExceptionです。 |
---|---|
状態名 | モデルの設計時において状態に与えられた名前です。 |
アクションキーワード | アクションのタイプは、Normal、PreviousまたはSequentです。 |
アクション名 | モデルの設計時においてアクションに与えられた名前です。 |
1回以上繰り返される、繰り返しアクションを示します。 | あるアクションが0回以上繰り返し可能であることを示します。 |
+ | Not |
* | 指定したアクションまたは状態以外のものが一致と見なされることを示します。 |
範囲 | アクションの繰り返し回数に、固定の数または数の範囲を用います。例えば、固定の繰り返し回数には[数]を、繰り返し回数の範囲には[数1:数2]を用います。 |
あるActionがテストで実行される最初のアクションでなければならないことを指定します。 | あるActionがテストで実行される最後のアクションでなければならないことを指定します。 |
^ | テストケースのステートメントには、テストケース名とテストケースルールという2つの部分があります。それぞれのテストケースステートメントは、以下の手順で作成します。 |
$ | Test casesタブをクリックします。 |
Newをクリックして、新しい(空の)テストケースステートメントを作成します。
- その新しいNameセル内でダブルクリックをして、テストケース名を入力します。
- 次のガイドラインに沿って、テストケースルールを作成します。
- 名前の値のペアを続けて入力します。各ペアはコンマで区切ります。
例:Action Start, Action Process, Action End
- Actionの指定に加え、Stateの指定も含めます。
例:Action Start, State Home, Action End
- 指定したActionまたはState以外のものが一致と見なされることを示すには、ActionまたはStateキーワードの前にNotを付けます。
例:Action Start, Not Action Process, Action End
- アクションまたは状態を任意のものとして定義するときは、角括弧で囲みます。
例:Action Start, [Action Process], Action End
- 繰り返しのアクションを、Actionの後にプラス記号を追加して指定します。プラス記号を用いた繰り返しアクションは、そのアクションが1回以上発生することを意味します。
例:Action Start, Action Process+, Action End
- Notとプラス記号を組み合わせると、 StartアクションとEndアクションの間で、Process Action以外のアクションが1回以上発生します。
例:Action Start, Not Action Process+, Action End
- 繰り返しのアクションを、Actionの後にアスタリスクを追加して指定します。アスタリスクを用いた繰り返しアクションは、そのアクションが0回以上発生することを意味します。
例:Action Start, Action Process*, Action End
- Notとアスタリスクを組み合わせると、 StartアクションとEndアクションの間で、Process Action以外のアクションが0回以上発生します。
例:Action Start, Not Action Process*, Action End
- 大まかなプラス記号やアスタリスクの繰り返し演算子では特定が不十分なときは、所望の繰り返し回数を具体的に指定することが可能です。
例:Action Start, Action Process[3], Action End
これは、下記に等しくなります。
Action Start, Action Process, Action Process, Action Process Action End
- 大まかなプラス記号やアスタリスクの繰り返し演算子では特定が不十分なときに、所望の繰り返し回数の範囲を指定することも可能です。
例:Action Start, Action Process[3:7], Action End これは、Process Actionが3~7回発生しなければならないことを指定しています。
- あるActionが最初のアクションでなければならないことをテストケースルールで指定するには、
Action
の前に^記号を付けます。例:^Action Start, Action Process[3:7], Action End このテストケースルールでは、Startアクションが最初のアクションでなければならないことを指定しています。
- あるActionが最後のアクションでなければならないことをテストケースルールで指定するには、Actionの後に$を追加します。
例:Action Start, Action Process[3:7], Action End$ このテストケースルールでは、Endアクションが最後のアクションでなければならないことを指定しています。
- すでに定義されているテストケース(例、"sub test")をテストケースルールに含めるには、Testcaseキーワードを指定します。
例:Action Start, Testcase "sub test", Action End
パラメータ値を使って、アクションに条件を付けることも可能です。使い方を理解するために、次のようなテストケースルールの作成を考えます。このテストでは、Setup Actionの後にCalculate Actionが続き、このCalculate Actionの内部には、90度未満の角度を評価するangleと名付けられたパラメータを備えます。
例:Action Setup, Action Calculate Param angle<90.0;
注:対応している演算子は次のとおりです。=、==、>、>=、<、<=、!=、in in演算子には、値のリストが必要です。例:Action Setup, Action Calculate Param angle in [0.0, 90.0, 180.0, 270.0]; テストケースルールが許容するのは、値が渡された値のいずれか1つをとる場合です。
- 名前の値のペアを続けて入力します。各ペアはコンマで区切ります。
- テストケースステートメントの完了後に、このテストケースのレポートを閲覧する方法については、テストケース結果の閲覧を参照してください。
- テストケースの削除
モデルの変更時には、テストケースの更新や、さらには削除が必要な場合も考えられます。既存のテストケースの削除は、以下の手順で行います。
Eggplant AI UIの中央のペインにあるTest casesタブをクリックします。
- 削除したいテストケースの左側の列にあるチェックボックスを選択します。
- 選択先削除ボタンをクリックするか、右クリックからDelete Selectedを選び、選択したテストケースを削除します。
- なお、左側の列で複数のチェックボックスを選択すると、一度に複数のテストケースを削除することができます。
新規または既存のテストケースの設定後に、テストケース統計を閲覧するには、Test casesタブの上部にあるAnalyzeをクリックします。この統計には、モデルの実行において、定義済みの各テストケースシーケンスが何回発生したか、失敗があったかどうかが表示されます。情報は、各テストケースの定義を使用し、テストケースごとに示されます。
Tests:モデルの実行がテストケースの定義と一致した回数を表示する列です。
Fails:テストケースの実行中にモデルが遭遇した失敗を表示する列です。
- Test IDs:テストケースの定義と一致したモデル実行結果の各実例に対応したテストIDを一覧で表示する列です。なお、この一覧はボタンになっていて、特定のモデル実行結果を再実行したい場合、このボタンでRun reportタブに移動することができます。
- Test casesタブ上部のAnalyzeボタンをクリックすると、Eggplant AIが定義済みのテストケースすべての概要情報を読み込みますのでご注意ください。Eggplant AI UI下部のConsoleタブにおける結果の表示
Consoleタブにおけるテストケース概要の閲覧
Test casesタブの上部でフィルタを設定すると、閲覧する情報を限定することができます。例えば、特定の時間枠のテストケース統計を確認することも可能です。
- Eggplant AIは、次のような色分けによって、さらなるテストケース情報を提供しています。
- テストケースが赤くハイライト表示されている場合、このテストケースに一致している1つ以上のテストが失敗しています。
- テストケースが黄色くハイライト表示されている場合、このテストケースに一致したモデル実行結果はありません。
指示テストケース
テストケースの定義後、Test casesタブから特定のテストケースを指示テストケースとして実行することができます。この機能を使うと、Eggplant AIによるモデルベース手法を用いた広範なテストを引き続き行いながら、テスト対象システム(SUT)の特定の要素を手動でテストすることができます。
Test casesタブの指示テストケース機能の使用
特定のテストケースの実行は、以下の手順で行います。
- Eggplant AI UIの中央のペインにあるTest casesタブを選択します。
- 実行したいテストケースのチェックボックスを選択します。複数のテストケースを選択可能です。複数の場合、指示テストケースは順次実行されます。
- Test casesタブ上部のPlay selected testsをクリックするか、テストケースリスト内を右クリックしてコンテキストメニューからPlay Selectedを選び、選択したテストケースを実行します。
指示実行結果は、通常のモデル実行時と同じようにConsoleタブに表示されます。