Main Content

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

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

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

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

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

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

dashboardCCProjectStart('incomplete')

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

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

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

modelTestingDashboard

プロジェクトのダッシュボードを最初に開くときに、ダッシュボードはプロジェクト内のアーティファクトを特定し、トレーサビリティ情報を収集しなければなりません。

ダッシュボードには、[アーティファクト] パネルで選択したユニットのメトリクス結果が表示されます。

ユニット [db_DriverSwRequest] をクリックして、そのメトリクス結果を表示します。[アーティファクト] パネルで最初にユニットを選択すると、そのユニットのメトリクス結果がダッシュボードで自動的に収集されます。プロジェクト内の各ユニットのメトリクスを収集する場合、[収集][すべて収集] をクリックします。

ユニットのメトリクス データが以前に収集された場合、ダッシュボードには既存のデータが取り込まれます。メトリクス用のデータを収集するには、基となるアーティファクトをサポートする製品 (Requirements Toolbox™、Simulink® Test™、または Simulink Coverage™) のライセンスが必要です。メトリクス結果が収集されたら、結果の表示に必要なのは Simulink® Check™ のライセンスのみです。詳細については、Model Testing Metricsを参照してください。

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

[アーティファクト] パネルでは、プロジェクトに含まれるユニットがモデル参照階層に従ってコンポーネント モデルの下に整理されています。ユニットを展開し、そのユニットまでトレースするプロジェクト内のアーティファクトを確認します。

この例では、[アーティファクト] パネルで、ユニット db_DriverSwRequest とそのサブフォルダーを展開します。

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

機能要件

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

  • 実装済み[タイプ]Implements のリンクでユニットに直接リンクされている機能要件。これらの要件は、このユニットについてのダッシュボードのメトリクスで使用されます。

  • 上流 — 実装済みの要件に間接的または推移的にリンクされている機能要件。これらの要件は、このユニットについてのダッシュボードのメトリクスで使用されません。

設計

テストするユニットとモデルで使用するライブラリおよびデータ ディクショナリを含むモデル ファイル。

テスト

ユニットまでトレースするテスト ケースとテスト ハーネス。テスト ケースは、Simulink Test を使用してテスト スイート ファイルで作成します。

  • ユニット テスト — ダッシュボードでユニット テストと見なされるテスト ケース。ユニット テストは、ユニット モデル全体またはモデルのサブシステムを直接テストします。これらのテストは、このユニットについてのダッシュボードのメトリクスで使用されます。

  • その他 — ユニットまでトレースするが、ダッシュボードでユニット テストと見なされないテスト ケース。たとえば、ライブラリについてのテストはダッシュボードでユニット テストとは見なされません。これらのテストは、このユニットについてのダッシュボードのメトリクスで使用されません。

  • テスト ハーネス — ユニットまたはユニットのサブシステムまでトレースする外部テスト ハーネス。テスト ハーネスはダブルクリックすると開きます。

テスト結果

ユニットのテスト ケースの結果。結果をダッシュボードで使用するには、ユニット テストを実行し、結果をエクスポートし、結果ファイルとして保存します。ダッシュボードには、直近に保存されたテスト ケースの結果が表示されます。

  • ユニット シミュレーション — ユニット テストからのシミュレーション結果。これらの結果は、このユニットについてのダッシュボードのメトリクスで使用されます。

  • その他 — ユニット テストからのシミュレーション結果以外の結果。単なるレポートも含まれます。たとえば、SIL の結果はシミュレーション結果ではありません。これらの結果は、このユニットについてのダッシュボードのメトリクスで使用されません。

プロジェクト内のアーティファクト ファイルが変更された場合、ダッシュボードで変更が検出されてアーティファクトが自動的に再トレースされ、[アーティファクト] パネルに表示されたアーティファクトのトレーサビリティ情報が更新されます。自動再トレースは、[収集][自動トレース] をクリックしてオンまたはオフにできます。

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

Cancel Switch Detection の要件アーティファクトに移動します。[db_DriverSwRequest][機能要件][実装済み]db_SoftwareReqs.slreqx を展開し、要件 Cancel Switch Detection を選択します。

[アーティファクト] パネルの下部にある [詳細] ペインに、アーティファクトの名前とプロジェクトのルートからアーティファクトまでのパスが表示されます。アーティファクトを右クリックして操作を選択することにより、ユニットまでスクロールしたり、アーティファクト リストを折りたたむか展開したり、ユニット ダッシュボードを開いたりできます。また、検索バーの右にあるメニュー ボタン を使用すると、これらの操作の実行に加え、アーティファクト リストを既定の表示に戻したり、ダッシュボードのアイコンの凡例を表示したりできます。

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

[アーティファクト] パネルで、各ユニットのメトリクス結果を収集および表示できます。ユニット db_DriverSwRequest の結果を表示するには、[アーティファクト] パネルで [db_DriverSwRequest] をクリックします。ユニットをクリックすると、そのユニットの [Model Testing] 情報がダッシュボードに表示されます。ダッシュボードの上部に、ユニットの名前、データ収集のタイムスタンプ、データを収集したユーザーの名前が表示されます。複数のユニットの結果を同時に開くには、ユニットを右クリックして [ユニット ダッシュボードを新しいタブで開く] をクリックします。

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

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

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

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

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

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

  • 未達モデル カバレッジ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

パスしていないテスト

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

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

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

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

未達カバレッジ

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

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

参考

関連するトピック