第5章 テストシナリオ
Red Hat Decision Manager のテストシナリオでは、ルール、モデル、およびイベントの機能を実稼働環境にデプロイする前に検証できます。テストシナリオでは、ファクトまたはプロジェクトモデルのインスタンスと似ている条件のデータを使用します。このデータは特定のルールセットと照合され、想定された結果が実際の結果と一致するとテストに成功します。想定された結果が実際の結果と一致しない場合はテストに失敗します。
テストシナリオをすべて実行した後、シナリオの状態は Reporting パネルに報告されます。
テストシナリオは、1 度に 1 回またはグループ単位で実行できます。グループの実行では、1 つのパッケージのすべてのシナリオが対象になります。テストシナリオは独立したものであり、1 つのシナリオが他のシナリオを変更したり、影響を与えたりすることはありません。
5.1. 制限速度シナリオのテスト リンクのコピーリンクがクリップボードにコピーされました!
交通違反のガイド付きデシジョンテーブルを作成したときに指定したデータを使用して制限速度のシナリオをテストします。
前提条件
- Driver_department_traffic_violations プロジェクトを作成していること。
- Violation と Driver のデータオブジェクトを作成していること。
- 交通違反のガイド付きデシジョンテーブルが作成されていること。
手順
- Decision Central にログインします。
-
Menu
Design Projects の順にクリックし、Driver_department_traffic_violations をクリックします。 -
Add Asset
Test Scenario の順にクリックします。 Create new Test Scenario window ウィザードで以下の値を入力します。
-
Test Scenario:
Speed limit 10-20. -
Package:
com.myspace.driver_department_traffic_violationsを選択します。
-
Test Scenario:
- OK をクリックします。
- +GIVEN をクリックして New input ウィンドウを開きます。
- Insert a new fact メニューで Violation を選択します。
-
Fact name フィールドに
violationと入力し、Add をクリックします。 - Insert 'Violation'[violation] の下にある Add a field をクリックして Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで speedLimit を選択し、OK をクリックします。
-
(
) をクリックした後、speedLimit の横にある Literal value をクリックします。
-
Field value ウインドウの Literal value をクリックした後、speedLimit フィールドに
40を入力します。 - Insert 'Violation'[violation] をクリックします。
- Choose a field to add ウインドウの Choose a field to add メニューで type を選択し、OK をクリックします。
-
(
) をクリックした後、Literal value の横にある Literal value をクリックします。
-
type フィールドに
Speedと入力します。 - Insert 'Violation'[violation] をクリックします。
- Choose a field to add メニューで actualSpeed を選択し、OK をクリックします。
-
(
) をクリックした後、Literal value の横にある Literal value をクリックします。
-
actualSpeed フィールドに
55と入力します。 - +Expect をクリックして New expectation ウインドウを開きます。
- Rule メニューを展開して Row 1 SpeedViolationRule を選択し、OK をクリックします。
-
+GIVEN をクリックして New input ウインドウを開き、Activate rule flow group フィールドに
trafficViolationと入力し、Add をクリックします。 - +Expect をクリックして New expectation ウインドウを開き、Fact value: violation の横にある Add をクリックします。
- Violation 'violation' has values: をクリックし、 Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで fineAmount を選択し、OK をクリックします。
-
fineAmount: equals フィールドに
100.0と入力します。 - Violation 'violation' has values: をクリックし、 Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで points を選択し、OK をクリックします。
-
points: equals フィールドに
1を入力します。 - Save をクリックした後、Save をクリックして変更を確認します。
Run scenario をクリックします。
図5.1 速度テストの結果画面
テストシナリオで設定された値と条件がスピード違反のガイド付きディシジョンテーブルで指定した要件に合致していれば、ウィンドウ下部にある Reporting セクションに Success メッセージが表示されます。
5.2. 運転免許停止シナリオのテスト リンクのコピーリンクがクリップボードにコピーされました!
Driver License Suspension のルールおよびアクションを設定したときに指定したデータを使用して運転免許停止シナリオをテストします。
前提条件
- Driver_department_traffic_violations プロジェクトを作成していること。
- Violation と Driver のデータオブジェクトを作成していること。
- 運転免許停止のルールおよびアクションが設定されていること。
手順
- Decision Central にログインします。
-
Menu
Design Projects の順にクリックし、Driver_department_traffic_violations をクリックします。 -
Add Asset
Test Scenario の順にクリックします。 Create new Test Scenario window ウィザードで以下の値を入力します。
-
Test Scenario:
Suspend due to total points. -
Package:
com.myspace.driver_department_traffic_violationsを選択します。
-
Test Scenario:
- OK をクリックします。
- +GIVEN をクリックして New input ウィンドウを開きます。
- Insert a new fact メニューで Driver を選択します。
-
Fact name フィールドに
driverと入力し、Add をクリックします。 - 'Driver'[driver] の下にある Add a field をクリックして Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで totalPoints を選択し、OK をクリックします。
-
totalPoints の横にある (
) をクリックして Literal value をクリックした後、totalPoints フィールドに 10を入力します。 - +GIVEN をクリックして New input ウィンドウを開きます。
- Insert a new fact メニューで Violation を選択します。
-
Fact name フィールドに
violationと入力し、Add をクリックします。 - Insert 'Violation'[violation] の下にある Add a field をクリックして Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで points を選択し、OK をクリックします。
-
(
) をクリックした後、Literal value の横にある Literal value をクリックします。
-
points フィールドに
10を入力します。 - +Expect をクリックして New expectation ウインドウを開きます。
- Rule メニューを展開して DriverLicenseSuspensionRule を選択し、OK をクリックします。
-
+GIVEN をクリックして New input ウインドウを開き、Activate rule flow group フィールドに
trafficViolationと入力し、Add をクリックします。 - +Expect をクリックして New expectation ウインドウを開き、Fact value: driver の横にある Add をクリックします。
- Driver 'driver' has values: をクリックし、 Choose a field to add ウインドウを開きます。
- Choose a field to add メニューで state を選択し、OK をクリックします。
-
state: equals フィールドに
suspendと入力します。 - Save をクリックした後、Save をクリックして変更を確認します。
Run scenario をクリックします。
結果
ルールが実行され、点数の合計が >= 20 であるため、運転者の運転免許が停止となります。
図5.2 停止テストの結果画面
テストシナリオで設定された値と条件が運転免許停止のルールおよびアクション設定時に指定した要件に合致していれば、ウィンドウ下部にある Reporting セクションに Success メッセージが表示されます。
5.3. 複数違反シナリオのテスト リンクのコピーリンクがクリップボードにコピーされました!
Suspend due to total points アセットをコピーおよび編集し、Driver License Suspension ルールおよびアクションの設定時に指定したデータを使用して複数の違反行為を行ったドライバーの運転免許停止シナリオを作成します。
前提条件
- Driver_department_traffic_violations プロジェクトを作成していること。
- Violation と Driver のデータオブジェクトを作成していること。
- 運転免許停止のルールおよびアクションが設定されていること。
手順
- Decision Central にログインします。
-
Menu
Design Projects の順にクリックし、Driver_department_traffic_violations をクリックします。 -
Suspend due to total points
Copy をクリックし、New Asset Name フィールドに Suspend due to multiple violationsを入力して Make a Copy をクリックします。 -
Space
MySpace Driver_department_traffic_violations をクリックした後、Suspend due to multiple violations アセットを選択します。 - +GIVEN をクリックして New input ウィンドウを開きます。
- Insert a new fact メニューで Violation を選択します。
-
Fact name フィールドに
violation2と入力し、Add をクリックします。 -
points の横にある (
) をクリックし、Literal value をクリックした後、points violation2 フィールドに 5を入力します。 -
totalPoints の値を
10から5に変更します。 - Save をクリックした後、Save をクリックして変更を確認します。
Run scenario をクリックします。
図5.3 停止テストの結果画面
テストシナリオで設定された値と条件が運転免許停止のルールおよびアクション設定時に指定した要件に合致していれば、ウィンドウ下部にある Reporting セクションに Success メッセージが表示されます。