メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

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

この例では、クルーズ コントロール システムの要件をモデルに対してテストする方法を示します。1 つの要件セット、1 つのモデル、および 1 つのテスト ケースから始めます。テストと安全要件の間にトレーサビリティを追加し、テストを実行し、検証ステータスを要約し、結果をレポートします。

The requirements testing process. You start with system requirements, develop the architecture, then develop the model. Then you develop test cases and functional requirements, run the tests, and update the requirements and tests as necessary. You then report the results.

この例では、要件セット内の 2 つの要件をテストします。

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

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

要件の表示

  1. プロジェクト例を開きます。

    openExample("shared_vnv/CruiseControlVerificationProjectExample");
    pr = openProject("SimulinkVerificationCruise");
  2. simulinkCruiseAddReqExample モデルを開きます。

    open_system("simulinkCruiseAddReqExample");
  3. 要件を表示します。モデル キャンバスの右下隅にある アイコンをクリックし、[要件] を選択します。[要件] ペインが開きます。

  4. 検証ステータスおよび実装ステータスを表示します。要件セットを右クリックして、[検証ステータス] および [実装ステータス] を選択します。

    Property Inspector and Requirements pane showing the implementation status for the model

要件のテストへのリンク

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

  1. MATLAB®[プロジェクト] ペインで、tests フォルダーにある Simulink® Test™ ファイル slReqTests.mldatx を開きます。テスト マネージャーでテスト ファイルが開きます。

  2. モデルで要件 S 3.1 をクリックします。

  3. テスト マネージャーSafety Tests テスト ケースを選択します。右側のペインの [要件] セクションで、[追加][選択された要件へのリンク] をクリックします。モデルのプロパティ インスペクターの [検証元] セクションに Safety Tests へのリンクが示されます。[要件] ペインの [Verified] 列のバーが黄色になっており、リンクされたテストが実行されていないことを示しています。

    Requirement dialog box showing linked tests to specific requirements

  4. 前の手順を繰り返して要件 S 3.4 のリンクを追加します。

テストの実行

テスト ケースでは、SafetyTest_Harness1 という名前のテスト ハーネスを使用します。テスト ハーネスを開くには、モデル キャンバスの右下隅にある アイコンをクリックし、[SafetyTest_Harness1] を選択します。テスト ハーネスで、Test Sequence ブロックを開きます。テスト シーケンスで入力条件が設定され、モデルの動作がチェックされます。

  • 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 ステートメント] を選択します。次に、[データ インスペクター] タブの [検査] タブで verify ステートメントを選択します。各 verify ステートメントの詳細な結果がプロットに表示され、両方の評価にパスしたことが示されます。

    Test results for verify statements

  3. モデルに戻り、[要件] ペインの [リフレッシュ] ボタンをクリックして要件をリフレッシュします。[Verified] 列のバーが緑になり、要件 S 3.1S 3.4 がテスト ケースで正常に検証されたことが示されます。

    Verified status for requirements

結果のレポート

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

  1. テスト マネージャー[結果とアーティファクト] ペインで、テスト ケースの名前を右クリックします。[レポートの作成] を選択します。

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

    • タイトルSafetyTest

    • 次の結果All Tests

    • ファイル形式DOCX

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

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

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

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

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

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

参考

トピック

外部の Web サイト