Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

機能テストの実行とテスト カバレッジの解析

機能テストでは、まず要件に基づいてテスト ケースを作成します。これらのテストでは、設計の重要点をカバーし、モデルの個々のコンポーネントが要件を満たしていることを検証できます。テスト ケースには、入力、期待される出力、受け入れ基準が含まれます。

テスト スイート内の個々のテスト ケースを収集することにより、機能テストを体系的に実行できます。回帰チェックを行うには、ベースライン基準をテスト ケースに追加して、モデルを繰り返しテストします。カバレッジ測定は、これらのテストがモデルを完全に実行した範囲を反映します。カバレッジ測定は、カバレッジ ターゲットを満たすためにテストや要件を追加する際にも役立ちます。

Functional testing workflow

テスト ケース生成を使用したテスト カバレッジの段階的な拡大

この例では、クルーズ コントロール モデルの機能テストに基づくテスト ワークフローを説明します。外部の要件ドキュメントにリンクされているテストをもつモデルから始めて、Simulink® Coverage™ でモデルのカバレッジを解析し、Simulink Design Verifier™ でカバレッジを段階的に拡大して、結果をレポートします。

テスト ハーネスとモデルの確認

  1. 作業フォルダー内にプロジェクトのコピーを作成します。コマンド ラインに次のように入力します。

    path = fullfile(matlabroot,'toolbox','shared','examples',...
    'verification','src','cruise')
    run(fullfile(path,'slVerificationCruiseStart'))

  2. モデルとテスト ハーネスを開きます。コマンド ラインに次のように入力します。

    open_system simulinkCruiseAddReqExample
    sltest.harness.open('simulinkCruiseAddReqExample','SafetyTest_Harness1')
  3. Test Model Against Requirements and Report Results (Simulink Test)からテスト スイートを読み込み、Simulink Test マネージャーを開きます。コマンド ラインに次のように入力します。

    sltest.testmanager.load('slReqTests.mldatx')
    sltest.testmanager.view

  4. Test Sequence ブロックを開きます。シーケンスで次の場合にシステムが解除されることがテストされます。

    • ブレーキ ペダルを踏んだとき

    • 速度が制限を超えたとき

    テスト シーケンスのステップの一部は、要件ドキュメント simulinkCruiseChartReqs.docx にリンクされています。

モデル カバレッジの測定

  1. Simulink Test マネージャーで、slReqTests テスト ファイルをクリックします。

  2. テスト ファイルのカバレッジ収集を有効にするには、右側のページの [カバレッジの設定] で以下を行います。

    • [参照モデルのカバレッジを記録] を選択します。

    • [カバレッジ フィルター ファイル名] を使用して、カバレッジ解析に使用するカバレッジ フィルターを指定します。既定の設定は、モデル コンフィギュレーション パラメーターの設定に従います。フィールドを空のままにすると、カバレッジ フィルターは付加されません。

    • [判定][条件] および [MCDC] を選択します。

  3. テストを実行するには、テスト マネージャーのツールストリップで [実行] をクリックします。

  4. テストが終了したら、テスト マネージャーで結果を選択します。カバレッジ結果の集計により、モデル例は、判定カバレッジを 50%、条件カバレッジを 41%、MCDC カバレッジを 25% 達成していることが示されます。

    Coverage results

モデル カバレッジを拡大するテストの生成

  1. Simulink Design Verifier を使用して、モデル カバレッジを拡大する追加のテストを生成します。[結果とアーティファクト] で、slReqTests テスト ファイルを選択し、右側のペインにある [カバレッジの結果の集計] セクションを開きます。

  2. テスト結果を右クリックし、[未達カバレッジのテストを追加] を選択します。

  3. [ハーネス] で、[ハーネスを新規作成] を選択します。

  4. [OK] をクリックし、Simulink Design Verifier を使用してテスト スイートにテストを追加します。テストするモデルは、MATLAB® パスまたは作業フォルダーになければなりません。

  5. テスト マネージャーのツールストリップで [実行] をクリックして、更新されたテスト スイートを実行します。テスト結果には、組み合わせたテスト ケース入力のカバレッジが含められ、モデル カバレッジが拡大されることになります。

あるいは、テストを作成して使用し、sltest.testmanager.addTestsForMissingCoverage (Simulink Test) および sltest.testmanager.TestOptions (Simulink Test) を使用してカバレッジをプログラムによって拡大できます。

関連するトピック