Main Content

S-Function ブロック内のカスタム C/C++ コードのカバレッジ結果の参照

この例では、モデル内の S-Function ブロックの中の C/C++ コードのカバレッジ結果を参照する方法を説明します。ブロック内の C/C++ コードのカバレッジ結果を参照するには、次の手順に従います。

  • S-Function のカバレッジのサポートを有効にします。詳細については、Simulink モデルのカスタム C/C++ コードのカバレッジを参照してください。

  • シミュレーションを実行し、カバレッジ レポートを参照します。

    S-Function ブロックのカバレッジ結果は、モデルの他の部分と同じレポート上で参照できます。レポート内の各 S-Function ブロックは、ブロック内の C/C++ コードの詳細なカバレッジ レポートにリンクされます。

この例で使用されているコード カバレッジ レポートの全体を参照するには、S-Function のカバレッジの手順に従います。

  1. カバレッジ レポートで、S-Function ブロックのカバレッジ メトリクスを参照します。

    Coverage report for the S Function block shows a cyclomatic complexity of 3, 67% decision coverage (4 out of 6 decision outcomes satisfied), 75% condition coverage (3 out of 4 condition outcomes satisfied), and 50% MCDC coverage (1 out of 2 MCDC outcomes satisfied).

    カバレッジ レポートの書式の詳細については、最上位モデル カバレッジ レポートを参照してください。

  2. [詳細レポート] リンクを選択します。S-Function ブロックのコード カバレッジ レポートが開きます。

  3. [目次] の各リンクを選択して、レポートのさまざまな節に移動します。

    節タイトル目的
    解析情報モデルの作成時間、最終更新日およびファイル サイズなどの情報が記載されます。
    テスト開始時間および終了時間など、シミュレーションに関する情報が記載されます。
    概要S-Function ブロック内のファイルおよび関数に関するカバレッジ情報が記載されます。ファイルおよび関数ごとに、カバレッジのパーセンテージが表示されます。コードに関連するカバレッジ タイプは以下のとおりです。
    カバレッジ タイプラベル

    循環的複雑度

    複雑度

    条件カバレッジ

    条件

    判定カバレッジ

    判定

    改良条件判定カバレッジ (MCDC)

    MCDC

    関係演算子の境界カバレッジ

    関係演算子の境界

    カバーされているステートメントの割合

    Stmt
    詳細条件、判定または MCDC カバレッジの対象となるステートメントに関するカバレッジ情報が記載されます。この情報はファイルおよび関数別にグループ分けされます。
    コードC/C++ コードが記載されます。カバーされていないステートメントはピンクで強調表示されます。
  4. ファイル内または関数内のステートメントについて、カバレッジの詳細を参照するには、[概要] 節で、各ファイルまたは各関数名を選択します。

    Code coverage report summary shows colored bars for each metric. Blue on the bar indicates satisfied coverage, and pink indicates missing coverage. The file counterbus.c shows 75% decision coverage, 67% condition coverage, 50% MCDC, and 90% statement coverage.

  5. シミュレーション時にテストされなかった条件、判定または MCDC の結果はピンクで強調表示されます。特定のファイルまたは関数の詳細が記載されたページ内で下方向にスクロールし、これらの事項をメモし、さらに調査します。

    Coverage report shows the condition input GE lower is true for 140 steps, but false for 0, resulting in incomplete coverage.

  6. カバーされなかったステートメントの概要を確認するには、[コード] 節に移動します。この節には、カバーされなかったステートメントをピンクで強調表示したコードが記載されます。

    Code snippet for a function that has line 22 highlighted pink, indicating that line 22 is missing coverage.

関連するトピック