Main Content

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

モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査

モデル テスト ダッシュボードでは、要件に基づくモデル テストのステータスおよび品質を評価するのに役立つよう、プロジェクト内のモデル設計とテスト アーティファクトからメトリクス データを収集します。

ダッシュボードでは、要件、モデル、テスト結果など、プロジェクト内のアーティファクトを解析します。ダッシュボードの各メトリクスはモデルのテスト品質の異なる側面を測定し、業界認定のソフトウェア開発標準 (ISO 26262、DO-178C など) のガイドラインを反映しています。

この例では、モデル テスト ダッシュボードを使用してユニットのテスト ステータスを評価する方法を示します。プロジェクト内の要件、モデル、またはテストが変更された場合、ダッシュボードを使用してテストに与える影響を評価し、テストの目的を達成するようにアーティファクトを更新します。

プロジェクトのテスト アーティアクトとメトリクスの調査

モデルとテスト アーティファクトが含まれるプロジェクトを開きます。この例では、MATLAB® コマンド ウィンドウで次のように入力します。

openProject("cc_CruiseControl");

次のいずれかの方法を使用してモデル テスト ダッシュボードを開きます。

  • [プロジェクト] タブで、[モデル テスト ダッシュボード] をクリックします。

  • コマンド ウィンドウで次を入力します。

modelTestingDashboard

プロジェクトのダッシュボードを最初に開くときに、ダッシュボードはプロジェクト内のアーティファクトを特定し、トレーサビリティ情報を収集しなければなりません。[プロジェクト] パネルでは、プロジェクトに含まれるユニットがモデル参照階層に従ってコンポーネントの下に整理されています。

ダッシュボードには、[プロジェクト] パネルで選択したユニットのメトリクス結果が表示されます。ユニット [cc_DriverSwRequest] をクリックして、そのメトリクス結果を表示します。[プロジェクト] パネルで最初にユニットを選択すると、そのユニットのメトリクス結果がダッシュボードで自動的に収集されます。プロジェクト内の各ユニットのメトリクスを収集する場合、[収集][すべて収集] をクリックします。ユニットのメトリクス データを以前に収集していた場合、ダッシュボードには既存のデータが取り込まれます。メトリクス用のデータを収集するには、基となるアーティファクトをサポートする製品 (Requirements Toolbox™、Simulink® Test™、または Simulink Coverage™) のライセンスが必要です。メトリクス結果を収集した後、結果を表示するには Simulink® Check™ のライセンスのみが必要です。詳細については、モデル テストのメトリクスを参照してください。

設計とテスト アーティファクトのトレーサビリティの表示

[アーティファクト] パネルには、ユニットまでトレースするアーティファクトが表示されます。フォルダーとサブフォルダーを展開し、[プロジェクト] パネルで選択したユニットまでトレースするプロジェクト内のアーティファクトを確認します。フォルダーまたはサブフォルダーの詳細情報を表示するには、3 つのドットをクリックしてヘルプ アイコン をクリックします (使用可能な場合)。

プロジェクト内の各ユニットに関して、トレースされたアーティファクトには次が含まれます。

  • 機能要件 — ユニットで実装されているかユニットの上流にある [タイプ]Functional の要件。要件は、Requirements Toolbox を使用して要件ファイル (.slreqx) で作成するかインポートします。

  • 設計 アーティファクト — テストするユニットとモデルで使用するライブラリ、データ ディクショナリ、およびその他の設計アーティファクトを含むモデル ファイル。

  • テスト — ユニットまでトレースするテストとテスト ハーネス。Simulink Test を使用してテストを作成します。テストは、テスト ケース内のテスト反復または反復のないテスト ケースのいずれかにすることができます。

  • テスト結果 — ユニットのテストの結果。ダッシュボードには、テストの直近の結果が表示されます。

想定外の要件リンク、切断されているかダッシュボードでサポートされていない要件リンク、またはダッシュボードでユニットまでトレースできないアーティファクトがある場合、それらのアーティファクトは [問題のトレース] フォルダーに表示されます。このフォルダーには、トレーサビリティが欠落しているアーティファクトと、ダッシュボードがトレースできないアーティファクトが含まれます。トレーサビリティの解析中にアーティファクトでエラーが発生した場合、[エラー] フォルダーの下に表示されます。アーティファクトのトレースの問題とエラーの詳細については、アーティファクトをユニットおよびコンポーネントまでトレースを参照してください。

Cancel Switch Detection の要件アーティファクトに移動します。[cc_DriverSwRequest][機能要件][実装済み][cc_SoftwareReqs.slreqx] を展開し、要件 [Cancel Switch Detection] を選択します。プロジェクト ルートからアーティファクトまでのパスを表示するには、アーティファクトの名前の右側にある 3 つのドットをクリックします。検索バーの右にあるメニュー ボタン を使用して、アーティファクト リストを折りたたんだり展開したり、アーティファクト リストを既定の表示に戻したりすることができます。

ダッシュボードが [アーティファクト] パネルに表示されているアーティファクトをトレースする方法の詳細については、ダッシュボードでの解析用にプロジェクト アーティファクトを管理を参照してください。

ユニットのメトリクス結果の表示

[プロジェクト] パネルに表示される各ユニットのメトリクス結果を収集および表示できます。ユニット cc_DriverSwRequest の結果を表示するには、[プロジェクト] パネルで [cc_DriverSwRequest] をクリックします。ユニットをクリックすると、そのユニットの [Model Testing] 情報がダッシュボードに表示されます。ダッシュボード タブの上部に、ユニットの名前、データ収集のタイムスタンプ、データを収集したユーザーの名前が表示されます。

結果を収集して、その後にプロジェクト内のアーティファクトに変更を加えると、ダッシュボードはその変更を検出し、メトリクス結果が最新でないことを示す警告バナーがダッシュボードの上部に表示されます。

Warning banner with Collect button

変更が反映されていない古いデータを表示している可能性があるダッシュボード ウィジェットには、[古い] アイコン が表示されます。警告バナーが表示された場合は、警告バナーの [収集] ボタンをクリックしてメトリクス データを再収集し、現在のアーティファクトのデータを使用して古いウィジェットを更新します。[収集] ボタンは、ダッシュボードのツールストリップの [メトリクス] セクションにもあります。この例のユニットについては、ダッシュボードのメトリクス結果は古くありません。

ダッシュボード ウィジェットは、メトリクス データの結果をまとめ、対処できる次のようなテストに関する問題を表示します。

  • 要件とテストの間にトレーサビリティがない

  • 要件とテストの間でリンクの数が不均衡なテストまたは要件

  • 失敗したテストまたは無効なテスト

  • 未達モデル カバレッジ

モデル テスト ダッシュボードでオーバーレイを使用して、ウィジェットのメトリクス結果が準拠または非準拠かどうか、あるいはメトリクス結果を見直す必要がある警告が生成されているか確認できます。完全なトレーサビリティ、テストの完了、またはモデル カバレッジが表示されている場合、結果は準拠しています。ツールストリップの [オーバーレイ] セクションで、[準拠] ボタンおよび [非準拠] ボタンが選択されていることを確認します。オーバーレイは、そのカテゴリに結果があるウィジェットに表示されます。ダッシュボードの右上隅に各準拠カテゴリに含まれるウィジェットの合計数が示されます。

メトリクスの準拠しきい値を確認するには、オーバーレイ アイコンをポイントします。

ツールストリップの [オーバーレイ] セクションで選択したカテゴリをクリックして、オーバーレイ アイコンを非表示にできます。各メトリクスの準拠しきい値の詳細については、モデル テストのメトリクスを参照してください。

データを詳細に確認するには、個々のメトリクス ウィジェットをクリックして [Metric Details] を開きます。選択したメトリクスに関して、各アーティファクトのメトリクス値が表に表示されます。詳細な結果を取得して、問題のあるアーティファクトを修正できるように、表にはアーティファクトを開くためのハイパーリンクが示されています。表を確認する際は、次の点に注意してください。

  • 各アーティファクトについて返された値で結果をフィルター処理できます。結果をフィルター処理するには、表のヘッダーのフィルター アイコン をクリックします。

  • 一部のウィジェットでは、表にフィルターが既定で適用されています。たとえば、[テストにリンクされている要件] セクションの [リンクされていない] ウィジェットの表は、リンクされたテストがない要件のみを表示するようにフィルター処理されています。フィルターがある表については、フィルター アイコン の右下隅にチェック マークが表示されます。

  • 結果をアーティファクト、ソース ファイル、または値別に並べ替えるには、対応する列ヘッダーをクリックします。

テストおよび要件のトレーサビリティの評価

テスト品質の標準的な測定は、個々の要件とそれを検証するテストの間のトレーサビリティです。テストおよび要件のトレーサビリティを評価するには、ダッシュボードの [テストの解析] セクションにあるメトリクス データを使用します。ウィジェットでまとめられたデータを使用することで、要件およびテストに含まれる問題を迅速に見つけることができます。ウィジェットをクリックし、詳細な結果とアーティファクトを開くリンクが記載された表を表示します。

テストが欠落している要件

[テストにリンクされている要件] セクションでは、テストへのリンクが欠落している要件の数が [リンクされていない] ウィジェットに示されます。リンクされていない要件に対処するには、各要件を検証するテストを作成し、それらのテストを要件にリンクします。[テストを含む要件] ゲージ ウィジェットには、リンク付けの進行状況がテストをもつ要件のパーセンテージとして表示されます。

セクション内の任意のウィジェットをクリックし、[テストにリンクされている要件] の表で詳細な結果を確認します。この表には、各要件アーティファクトに関して、要件を含むソース ファイルと要件が少なくとも 1 つのテストにリンクされているかどうかが表示されます。[リンクされていない] ウィジェットをクリックすると、テストへのリンクが欠落している要件のみを表示するように表がフィルター処理されます。

不均衡なテスト数をもつ要件

[要件あたりのテスト数] セクションでは、各要件にリンクされているテスト数の分布がまとめられています。各値に関して、色付けされたビンはその数のテストにリンクされている要件の数を示しています。色が濃いほど、要件の数が多いことを示します。要件がもつテストが多すぎると、要件が広範になりすぎる可能性があり、より細かい複数の要件に分割して、それらの各要件を対応するテストにリンクする必要がある場合があります。要件がもつテストが少なすぎる場合は、テストを追加し、それらを要件にリンクすることを検討してください。

特定の数のテストをもつ要件を確認するには、対応する数字をクリックして、フィルター処理された [要件あたりのテスト数] の表を開きます。この表には、各要件アーティファクトに関して、要件を含むソース ファイルとリンクされたテストの数が表示されます。それぞれの要件の結果を確認するには、[リンクされたテスト] 列のフィルター アイコン をクリックし、[フィルターのクリア] を選択します。

要件が欠落しているテスト

[要件にリンクされているテスト] セクションでは、[リンクされていない] ウィジェットは要件にリンクされていないテストの数を示しています。リンクされていないテストに対処するには、それらのテストから検証する要件へのリンクを追加します。[要件を含むテスト] ゲージ ウィジェットには、リンク付けの進行状況が要件にリンクするテストのパーセンテージとして表示されます。

セクション内の任意のウィジェットをクリックし、[要件にリンクされているテスト] の表で詳細な結果を確認します。この表には、各テスト アーティファクトに関して、テストを含むソース ファイルと、テストが少なくとも 1 つの要件にリンクされているかどうかが表示されます。[リンクされていない] ウィジェットをクリックすると、要件へのリンクが欠落しているテストのみを表示するように表がフィルター処理されます。

不均衡な要件数をもつテスト

[テストあたりの要件数] ウィジェットは、各テストにリンクされている要件数の分布をまとめています。各値に関して、色付けされたビンはその数のテストにリンクされている要件の数を示しています。色が濃いほど、テストの数が多いことを示します。テストがもつ要件が多過ぎたり、少な過ぎる場合、そのテストに関するエラーの調査がより難しくなる可能性があります。また、より簡単に追跡できるように、テストまたは要件を変更しなければならない場合があります。たとえば、あるテストで検証する要件数が他のテストよりはるかに多い場合、それを複数の小さいテストに分割して、それらを要件にリンクさせることを検討してください。

特定の数の要件をもつテストを確認するには、対応するビンをクリックして [テストあたりの要件数] 表を開きます。この表には、各テスト アーティファクトに関して、テストを含むソース ファイルとリンクされた要件の数が表示されます。それぞれのテストの結果を表示するには、[リンクされている要件] 列のフィルター アイコン をクリックし、[フィルターのクリア] を選択します。

1 つのタイプの不均衡なテスト数

[タイプ別のテスト] ウィジェットおよび [タグを含むテスト] ウィジェットは、ユニットがもっている各タイプのテスト数および各カスタム タグ付きのテスト数を示します。業界標準では、多くの場合、テストは通常のテストまたはロバスト テストとして分類されます。テスト ケースに Normal または Robustness でタグ付けし、[タグを含むテスト] ウィジェットを使用することで各タグの総数を表示します。[テスト ケースの内訳] を使用して、特定のタイプのテストまたは特定のタグをもつテストをプロジェクトに追加するかどうかを決定します。

1 つのタイプのテスト ケースを表示するには、[タイプ別のテスト] 表内の対応する行をクリックして [テスト ケース タイプ] 表を開きます。この表には、各テスト ケース アーティファクトに関して、テストを含むソース ファイルとテスト タイプが表示されます。それぞれのテスト ケースの結果を確認するには、[タイプ] 列のフィルター アイコン をクリックし、[フィルターのクリア] を選択します。

タグをもつテスト ケースを表示するには、[タグを含むテスト] 表で対応する行をクリックし、[テスト ケース タグ] 表を開きます。この表には、各テスト ケース アーティファクトに関して、テストを含むソース ファイルとテスト ケースのタグが表示されます。それぞれのテスト ケースの結果を確認するには、[タグ] 列のフィルター アイコン をクリックし、[フィルターのクリア] を選択します。

テスト結果とカバレッジの解析

テスト結果とカバレッジ測定の概要を表示するには、ダッシュボードの [シミュレーション テスト結果の解析] セクション内のウィジェットを使用します。テスト結果メトリクスを使用して、テストとモデルに含まれる問題を見つけます。カバレッジ メトリクスを使用してカバレッジ ギャップを検出し、未達カバレッジに対処するためのテストを追加します。

モデルに対してテストを実行してダッシュボード メトリクスを収集し、モデルのテストに関する問題がないかを確認します。

パスしていないテスト

[モデル テストのステータス] セクションでは、[未テスト] ウィジェットおよび [無効] ウィジェットに、実行されていないユニットのテスト数が示されます。テスト マネージャーを使用してテストを実行し、新しい結果をエクスポートします。

[失敗] ウィジェットは、失敗したテストの数を示しています。[失敗] ウィジェットをクリックして、失敗したテストの表を表示します。失敗した各テスト アーティファクトのハイパーリンクをクリックしてテスト マネージャーで開き、失敗の原因となったアーティファクトを調査します。アーティアクトを修正し、テストを再実行し、結果をエクスポートします。

[不確定] ウィジェットは、verify ステートメント、カスタム基準、ベースライン基準、論理的または時間的評価など、パス/失敗の基準がないテストの数を示しています。テストにパス/失敗の基準がないと、リンクされている要件の機能が検証されません。モデルの機能を確認できるように、これらの 1 つ以上のパス/失敗の基準をテストに追加します。

[パス][失敗][無効]、または [未テスト] のウィジェットをクリックし、[テスト実行のステータス] 表を開きます。この表には、各テスト アーティファクトに関して、テストを含むソース ファイルとテスト結果のステータスが表示されます。[失敗][無効]、または [未テスト] のウィジェットをクリックすると、テストの結果のステータスがそれに該当するテストのみを表示するように表がフィルター処理されます。ダッシュボードでは、各テストまでトレースする最新のテスト結果のみを解析します。

[不確定] ウィジェットをクリックし、[パス/失敗の基準をもつテスト] 表を開きます。この表では、パス/失敗の基準がないテスト ケース アーティファクトごとに、テストを含むソース ファイルが表示されます。

未達カバレッジ

[モデル カバレッジ] サブセクションには、テストによってカバーされていないモデル要素があるかどうかが示されます。カバレッジ タイプのいずれかが示すカバレッジが 100% 未満の場合、ダッシュボード ウィジェットをクリックしてカバレッジ ギャップを調査できます。ギャップをカバーするか、あるいはカバーする必要がないポイントを正当化するためのテストを追加します。次に、テストを再実行し、結果をエクスポートします。カバレッジの正当化の詳細については、要件に基づくテストの問題を修正を参照してください。

1 つのタイプのカバレッジの詳細な結果を確認するには、対応するバーをクリックします。モデルおよびテスト アーティファクトに関して、ソース ファイルと達成および正当化されたカバレッジが表に示されます。

全体的な達成されたカバレッジのソース

[達成されたカバレッジの比率] サブセクションには全体的な達成されたカバレッジのソースが表示されます。業界認定のソフトウェア開発標準では、要件に基づくユニット境界テストを使用して、カバレッジの完全性を確認することを推奨しています。詳細については、モデル テスト ダッシュボードによる下位レベル テスト結果の監視を参照してください。

  • "要件ベースのテスト" は、設計の少なくとも 1 つの要件にリンクするテストです。あるテストをある要件にリンクすると、そのテストと、そのテストで検証される要件との間にトレーサビリティが提供されます。テストを要件にリンクしない場合、テストで設計のどの側面を検証するのかが不明確です。

  • "ユニット境界テスト" は、ユニット全体をテストするテストです。ユニット境界についてテストを実行すると、テストはユニットの設計のコンテキスト全体にアクセスします。設計の下位レベルのサブ要素のみをテストすると、そのテストでは、ユニット全体のコンテキスト内で、そうしたサブ要素の実際の機能を捉えていない可能性があります。"サブ要素" のタイプには、サブシステム、サブシステム参照、ライブラリ サブシステム、モデル参照があります。

[要件ベースのテスト] セクションでは、要件に基づくテストから得られる全体的な達成されたカバレッジの比率を識別します。カバレッジ タイプのいずれかが、100% に満たない全体的な達成されたカバレッジが要件に基づくテストから得られていることを示している場合は、関連するテストから、それが検証する要件へのリンクを追加します。

[ユニット境界テスト] セクションでは、ユニット境界テストから得られる全体的な達成されたカバレッジの比率を識別します。カバレッジ タイプのいずれかが、100% に満たない全体的な達成されたカバレッジがユニット境界テストから得られていることを示している場合は、ユニット全体をテストするテストを追加するか、ユニット - モデル定義を再考するか、いずれかを考慮します。

参考

関連するトピック