第3章 テストシナリオ


Red Hat Decision Manager のテストシナリオでは、ビジネスルールを実稼働環境にデプロイする前に、(ルールベースのテストシナリオの場合) ビジネスルールの機能とデータの妥当性、および (DMN ベースのテストシナリオの場合) DMN モデルを検証できます。このテストシナリオでは、プロジェクトのデータを使用して、指定した条件と、定義した 1 つ以上のビジネスルールで想定される結果を設定できます。シナリオを実行する際は、想定した結果と、ルールのインスタンスから実際に得られた結果を比較します。想定される結果が実際の結果と一致すると、テストは成功します。想定された結果が実際の結果と一致しないと、テストは失敗します。

テストシナリオデザイナーでは、.scesim ファイルからすべてのシナリオを一度に実行できますが、レガシーのテストシナリオデザイナーでは、一度に 1 つずつ、またはグループ単位での実行になります。グループで実行する場合は、1 つのパッケージに含まれるすべてのシナリオが対象になります。テストシナリオは独立しているため、別のシナリオに影響を及ぼしたり修正したりすることはありません。テストシナリオは、Business Central のプロジェクト開発時にいつでも実行できます。テストシナリオを実行するために、デシジョンサービスをコンパイルまたはデプロイする必要はありません。

別のパッケージからのデータオブジェクトは、テストシナリオと同じプロジェクトパッケージにインポートできます。同じパッケージに含まれるアセットはデフォルトでインポートされます。必要なデータオブジェクトとテストシナリオを作成したら、テストシナリオデザイナーの Data Objects タブを使用して、必要なデータオブジェクトがすべてリストされていることを検証するか、アイテムを追加 して既存のデータオブジェクトをインポートします。

3.1. テストシナリオを使用した交通違反のテスト

Business Central のテストシナリオデザイナーを使用して DMN 意思決定要件図 (DRD) をテストし、交通違反プロジェクトのデシジョン論理を定義します。

図3.1 交通違反の例のテストシナリオ

dmn gs traffic violation test scenarios

前提条件

  • Business Central で交通違反プロジェクトを作成している。

手順

  1. traffic-violation プロジェクトのホーム画面で Add Asset をクリックして Add Asset 画面を開きます。
  2. Test Scenario をクリックして Create new Test Scenario ダイアログを開きます。

    1. Test Scenario フィールドに Violation Scenarios と入力します。
    2. Package リストから org.kie.example.traffic.traffic_violations を選択します。
    3. Source typeDMN を選択します。
    4. Choose DMN asset リストから DMN アセットへのパスを選択します。
    5. Ok をクリックして、Test Scenarios デザイナーで Violation Scenarios テストシナリオを開きます。
  3. Driver 列サブヘッダー下で、StateCityAge、および Name の値のセルを右クリックし、コンテキストメニューから Delete column を選択してそれらを削除します。
  4. Violation 列サブヘッダー下で DateCode の値のセルを右クリックし、Delete column を選択してそれらを削除します。
  5. 以下の情報をテストシナリオの 1 行目に入力します。

    • Scenario description: Above speed limit: 10km/h and 30 km/h
    • Points (Given 列ヘッダー下): 10
    • Type: "speed"
    • Speed Limit: 100
    • Actual Speed: 120
    • Points (Expect コラムヘッダー下): 3
    • Amount: 500
    • Should the driver be suspended?: "No"

      1 行目を右クリックし、Insert row below を選択して新たな行を追加します。

  6. 以下の情報をテストシナリオの 2 行目に入力します。

    • Scenario description: Above speed limit: more than 30 km/h
    • Points (Given 列ヘッダー下): 10
    • Type: "speed"
    • Speed Limit: 100
    • Actual Speed: 150
    • Points (Expect コラムヘッダー下): 7
    • Amount: 1000
    • Should the driver be suspended?: "No"

      2 行目を右クリックし、Insert row below を選択して新たな行を追加します。

  7. 以下の情報をテストシナリオの 3 行目に入力します。

    • Scenario description: Parking violation
    • Points (Given 列ヘッダー下): 10
    • Type: "parking"
    • Speed Limit: -
    • Actual Speed: -
    • Points (Expect コラムヘッダー下): 1
    • Amount: 100
    • Should the driver be suspended?: "No"

      3 行目を右クリックし、Insert row below を選択して新たな行を追加します。

  8. 以下の情報をテストシナリオの 4 行目に入力します。

    • Scenario description: DUI violation
    • Points (Given 列ヘッダー下): 10
    • Type: "driving under the influence"
    • Speed Limit: 空白のまま
    • Actual Speed: 空白のまま
    • Points (Expect コラムヘッダー下): 5
    • Amount: 1000
    • Should the driver be suspended?: "No"

      4 行目を右クリックし、Insert row below を選択して新たな行を追加します。

  9. 以下の情報をテストシナリオの 5 行目に入力します。

    • Scenario description: Driver suspended
    • Points (Given 列ヘッダー下): 15
    • Type: "speed"
    • Speed Limit: 100
    • Actual Speed: 140
    • Points (Expect コラムヘッダー下): 7
    • Amount: 1000
    • Should the driver be suspended?: "Yes"
  10. Save をクリックし、Confirm Save ダイアログボックスで Save を再度クリックします。
  11. 再生ボタンをクリックして、テストシナリオが合格するかどうかを確認します。

    図3.2 交通違反の例のテストシナリオ実行結果

    dmn gs test scenarios execution results

    失敗した場合は、エラーを修正してサイドテストシナリオを実行します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.