Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
第5章 テストシナリオ
Red Hat Decision Manager のテストシナリオでは、ルール、モデル、およびイベントの機能を実稼働環境にデプロイする前に検証できます。テストシナリオでは、ファクトまたはプロジェクトモデルのインスタンスと似ている条件のデータを使用します。このデータは指定のルールセットと照合され、想定された結果が実際の結果と一致するとテストに成功します。想定された結果が実際の結果と一致しない場合はテストに失敗します。
テストシナリオをすべて実行した後、シナリオの状態は Reporting パネルに報告されます。
図5.1 速度テストシナリオ画面
テストシナリオは、1 度に 1 回またはグループ単位で実行できます。グループの実行では、1 つのパッケージのすべてのシナリオが対象になります。テストシナリオは独立したものであり、1 つのシナリオが他のシナリオを変更したり、影響を与えたりすることはありません。
5.1. 制限速度シナリオのテスト
スピード違反のガイド付きデシジョンテーブルを作成したときに指定したデータを使用して制限速度のシナリオをテストします。
前提条件
-
Driver department traffic violations
プロジェクトが作成されている必要があります。 -
Violation
およびDriver
データオブジェクトが作成されている必要があります。 - スピード違反のガイド付きデシジョンテーブルが作成されている必要があります。
手順
- Decision Central にログインします。 Menu → Design → Projects をクリックした後、Driver department traffic violations をクリックします。
- Projects → Create New Asset → Test Scenario をクリックします。
Create new Test Scenario window ウィザードで以下の値を入力します。
-
Test Scenario:
Speed limit 10-20
. -
Package:
com.myteam.driverdepartmenttrafficviolations
を選択
-
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.2 速度テストの結果画面
5.2. 運転免許停止シナリオのテスト
Driver License Suspension のルールおよびアクションを設定したときに指定したデータを使用して運転免許停止シナリオをテストします。
前提条件
-
Driver department traffic violations
プロジェクトが作成されている必要があります。 -
Violation
およびDriver
データオブジェクトが作成されている必要があります。 - Driver License Suspension のルールおよびアクションが設定されている必要があります。
手順
- Decision Central にログインします。 Menu → Design → Projects をクリックした後、Driver department traffic violations をクリックします。
- Create New Asset → Test Scenario をクリックします。
Create new Test Scenario window ウィザードで以下の値を入力します。
-
Test Scenario:
Suspend due to total points
. -
Package:
com.myteam.driverdepartmenttrafficviolations
を選択
-
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.3 停止テストの結果画面
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 をクリックします。図5.4 Make a copy ウインドウ
- Space → myteam → 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.5 停止テストの結果画面