Main Content

要件に対するモデルのテストと結果のレポート

要件 – テストのトレーサビリティの概要

要件とテスト ケース間のトレーサビリティは、テスト結果を解釈し、要件が検証された範囲を確認するのに役立ちます。テスト マネージャー内のテスト ケース、Test Sequence ブロック内の verify ステートメント、またはモデル内の Model Verification ブロックなど、検証に役立つ要素に要件をリンクさせることができます。テストの実行時、要件セットにパス/失敗の概要が表示されます。

この例では、クルーズ コントロール モデルの一般的な要件に基づくテスト ワークフローを説明します。1 つの要件セット、1 つのモデル、および 1 つのテスト ケースから始めます。テストと安全要件の間にトレーサビリティを追加します。テストを実行し、検証の状態を要約し、結果をレポートします。

Requirements-based testing workflow

この例では、2 つの要件からなる単純なテスト セットを実行します。

  • ブレーキ イベントが発生したとき、クルーズ コントロール システムが作動から解除に遷移する

  • 現在の車両速度が 20 mph から 90 mph の範囲外であるとき、クルーズ コントロール システムが作動から解除に遷移する

要件の表示

  1. 作業フォルダー内にプロジェクトのコピーを作成します。プロジェクトにはデータ、ドキュメント、モデル、およびテストが含まれています。次のように入力します。

    path = fullfile(matlabroot,'toolbox','shared','examples',...
    'verification','src','cruise')
    run(fullfile(path,'slVerificationCruiseStart'))
  2. プロジェクトの models フォルダーで、simulinkCruiseAddReqExample.slx モデルを開きます。

  3. 要件を表示します。モデル キャンバスの右下隅にある アイコンをクリックし、[要件] を選択します。要件がモデル キャンバスの下に表示されます。

  4. 検証および実装の状態が表示されるよう、要件情報を展開します。要件を右クリックして、[検証の状態] および [実装の状態] を選択します。

    Property inspector and requirements implementation status for the model

  5. プロジェクト ウィンドウで、tests フォルダーから Simulink® Test™ ファイル slReqTests.mldatx を開きます。テスト マネージャーでテスト ファイルが開きます。

要件のテストへのリンク

要件をテスト ケースにリンクします。

  1. プロジェクト ウィンドウで、tests フォルダーから Simulink Test ファイル slReqTests.mldatx を開きます。テスト マネージャーでテスト ファイルが開きます。テスト スイートを確認し、Safety Tests を選択します。

    モデルに戻ります。要件 S 3.1 を右クリックし、[選択したテスト ケースからのリンク] を選択します。

    Safety Tests テスト ケースへのリンクが [検証元] に追加されます。[Verified] 列のバーが黄色になっており、要件が検証されていないことを示しています。

    Requirement dialog box showing linked tests to specific requirements

  2. また、項目 S 3.4 のリンクを追加します。

テストの実行

テスト ケースでは、テスト ハーネス SafetyTest_Harness1 を使用します。このテスト ハーネスでは、テスト シーケンスで入力条件が設定され、モデルの動作がチェックされます。

  • BrakeTest シーケンスは、クルーズ コントロールを作動させた後、ブレーキをかけます。これには verify ステートメントが含まれます。

    verify(engaged == false,...
        'verify:brake',...
        'system must disengage when brake applied')

  • LimitTest シーケンスは、クルーズ コントロールを作動させた後、上限を超えるまで車両速度を上げます。これには verify ステートメントが含まれます。

    verify(engaged == false,...
        'verify:limit',...
        'system must disengage when limit exceeded')

  1. テスト マネージャーに戻ります。テスト ケースを実行するには、[実行] をクリックします。

  2. テストが完了したら、結果を確認します。テスト マネージャーで両方の評価にパスしたことが示され、各 verify ステートメントの詳細な結果がプロットに表示されます。

    Test results for verify statements

  3. モデルに戻り、要件を更新します。[Verified] 列のバーが緑になり、要件の検証が正常に完了したことが示されます。

    Verified status for requirements

結果のレポート

  1. Microsoft® Word のカスタム テンプレートを使用してレポートを作成します。

    1. テスト マネージャーの結果で、テスト ケース名を右クリックします。[レポートの作成] を選択します。

    2. [テスト結果のレポートの生成] ダイアログ ボックスで、オプションを次のように設定します。

      • タイトル — SafetyTest

      • 次の結果 — All Tests

      • ファイル形式 — DOCX

      • その他のオプションは、既定の選択のままにします。

    3. ファイル名を入力してレポートの場所を選択します。

    4. [テンプレート ファイル] には、documents プロジェクト フォルダーの ReportTemplate.dotx ファイルを選択します。

    5. [作成] をクリックします。

  2. レポートを確認します。

    1. [テスト ケース要件] セクションに、関連する要件が示されます。

    2. [結果の検証] セクションに、テストの 2 つの評価の詳細と、シミュレーション出力へのリンクが含まれます。

関連するトピック

外部の Web サイト