Main Content

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

要件に基づくテスト アーティファクトをモデル テスト ダッシュボードで解析用に管理

モデルベース デザインを使用してソフトウェア ユニットを開発およびテストするときは、モデル テスト ダッシュボードを使用してモデル テスト アクティビティのステータスと品質を評価します。要件に基づくテストは、モデル検証の中心的な要素です。要件、モデルの設計要素、およびテスト ケース間でトレーサビリティ リンクを確立することで、要件が実装および検証されている範囲を測定できます。モデル テスト ダッシュボードはこのトレーサビリティ情報を解析し、トレーサビリティ、ステータス、テスト アーティファクトの結果に関する詳細なメトリクス測定値を提供します。

Model Testing Dashboard showing results for unit db_DriverSwRequest

ダッシュボードの各メトリクスはユニット テスト品質の異なる側面を測定し、業界認定のソフトウェア開発標準 (ISO 26262、DO-178C など) のガイドラインを反映しています。モデルの要件に基づくテスト品質をモデル テスト ダッシュボードで監視するには、プロジェクト内のアーティファクトを維持して、以下の考慮事項に従います。モデル テスト ダッシュボードの使用方法の詳細については、モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査を参照してください。

プロジェクト内のアーティファクト ファイルの管理

要件に基づくテスト アクティビティをモデル テスト ダッシュボードで解析するには、設計とテスト アーティファクトを MATLAB® プロジェクトに保存します。テスト メトリクスで解析するアーティファクトには次のようなものがあります。

  • モデル

  • モデルで使用されるライブラリ

  • Requirements Toolbox™ で作成する要件

  • Simulink® Test™ で作成するテスト ケース

  • 実行されたテスト ケースのテスト結果

プロジェクトに多くのモデルとモデル参照階層が含まれている場合、モデルのさまざまなテスト レベルを識別するようにダッシュボードを構成することにより、ユニット テスト アクティビティを追跡できます。プロジェクト内のエンティティにラベルを付けて、そのラベルを認識するようにモデル テスト ダッシュボードを構成することで、ソフトウェア アーキテクチャ内のユニットおよび上位レベルのコンポーネントであるエンティティを指定できます。ダッシュボードの [アーティファクト] パネルでは、テスト レベルとモデル参照階層に従ってモデルが整理されています。詳細については、階層内のモデルをコンポーネントまたはユニットとして分類を参照してください。

プロジェクト ファイル間の依存関係をトレースして古いメトリクス結果を特定する

モデル テスト ダッシュボードを使用すると、プロジェクト内のアーティファクトの属性や一意の識別子を取得する "デジタル スレッド" がダッシュボードに作成されます。デジタル スレッドは、プロジェクト内のアーティファクト、アーティファクトの構造、およびアーティファクト間のトレーサビリティ関係に関する一連のメタデータ情報です。

モデル テスト ダッシュボードはデジタル スレッドを監視および解析して、次を行います。

  • プロジェクト ファイルが移動した場合に検出し、アーティファクト ファイルとアーティファクト ファイル内の要素に対して同じ汎用一意識別子 (UUID) を維持する

  • トレーサビリティを取得し、Simulink Test のテスト マネージャーなどのツールをリッスンし、新しいツールの出力およびツール操作の依存関係を検出する

  • ツール操作に対する入力のトレーサビリティとチェックサムを解析し、古いツールの出力を特定する

  • プロジェクトのインデックスを作成し、各アーティファクトの表現、内部構造、他のアーティファクトとの関係を保存する

  • 要件、ユニット、テスト ケース、および設計に影響する結果に関するトレーサビリティと最新情報を維持するのに役立つプロジェクト アーティファクトの全体的な解析を提供する

ダッシュボードでは、デジタル スレッドの解析結果を保存し、領域、ツール、アーティファクト全体に対してトレーサビリティ解析を実行できます。プロジェクト アーティファクトをローカルに読み込んだりプロジェクト アーティファクトにアクセスしたりする必要はありません。

モデルとテスト アーティファクトを変更する際に、変更をアーティファクト ファイルに保存し、プロジェクトで解析するファイルを格納したことを確認してください。

モデル テスト解析用にアーティファクトをユニットまでトレース

ユニットのスコープ内にあるアーティファクトを判別するために、モデル テスト ダッシュボードは、プロジェクト内のアーティファクトとソフトウェア ユニット モデルの間のトレーサビリティ リンクを解析します。[アーティファクト] パネルでは、ユニットがそれらを参照するコンポーネント別に整理され、リストされます。このパネルでは、各ユニットの下に、ユニットまでトレースする以下のアーティファクトが表示されます。

  • 機能要件

  • 設計アーティファクト

  • テスト

  • テスト結果

Artifacts panel showing units and traced artifacts

ダッシュボードで見つかったアーティファクトからそのユニットへのトレーサビリティ パスを確認するには、アーティファクトを右クリックして [ユニットへのトレースを表示] をクリックします。モデル テスト ダッシュボードの新しいタブで、トレーサビリティ グラフが開きます。このグラフは、ユニットからアーティファクトまでダッシュボードがトレースした、接続と中間アーティファクトを示します。2 つのアーティファクトを接続するトレーサビリティのタイプを確認するには、アーティファクトを接続する矢印にカーソルを合わせます。トレーサビリティの関係は、一方のアーティファクトが他方を含むか、一方のアーティファクトが他方へとトレースするかのいずれかです。たとえば、ユニット [db_DriverSwRequest] の場合、[機能要件][上流][db_SystemReqs.slreqx] を展開します。[Target speed increment] の要件を右クリックして [ユニットへのトレースを表示] をクリックします。トレース ビューは、実装された機能要件 Switch precedence までユニット db_DriverSwRequest がトレースし、これが上流の機能要件 Target speed increment までトレースしていることを示しています。

Dashboard trace view for a functional requirement

コンポーネントのリストの下には、想定外の要件リンク、切断されているかダッシュボードでサポートされていない要件リンク、およびダッシュボードでユニットまでトレースできないアーティファクトが含まれる [問題のトレース] フォルダーが表示されます。問題のトレースのタイプを識別しやすくするために、フォルダー [問題のトレース] には [予期せぬ実装リンク][Unresolved and Unsupported Links][トレースされないテスト][トレースされない結果] のサブフォルダーが含まれます。詳細については、要件に基づくテストの問題を修正を参照してください。

トレーサビリティ解析中にアーティファクトがエラーを返す場合、パネルの [エラー] フォルダーにアーティファクトが表示されます。これらのセクションおよびユニットのトレーサビリティ情報を使用して、テスト アーティファクトが想定どおりのユニットまでトレースするかどうかを確認します。アーティファクトの解析中にダッシュボードで検出される警告およびエラーの詳細を確認するには、[モデル テスト ダッシュボード] ダイアログの下部で [診断] をクリックします。

プロジェクト内のアーティファクトを編集して保存するときに、ダッシュボードは変更を追跡し、警告バナーを表示して、[アーティファクト] パネルのトレーサビリティ データが古い可能性があるかどうかを示します。トレーサビリティ データを更新するには、警告バナーで [アーティファクトのトレース] ボタンをクリックします。

機能要件

[機能要件] フォルダーには、ユニットで実装されているかユニットの上流にある [タイプ]Functional の要件が表示されます。

ユニットのメトリクス結果を収集するときに、ダッシュボードはユニットが直接実装する機能要件のみを解析します。[機能要件] フォルダーには、要件がユニットで実装されているのか、ユニットの上流にあるのかを識別しやすくする 2 つのサブフォルダーが含まれます。

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

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

ユニットへとトレースしない要件は、問題のトレースフォルダーに表示されます。要件が、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルに要件がないを参照してください。

Requirements Toolbox を使用して要件ファイル (.slreqx) で要件を作成するかインポートします。

設計アーティファクト

[設計] フォルダーには以下が表示されます。

  • ユニットのブロック線図を含むモデル ファイル。

  • ユニットが参照するモデル。

  • モデルによって部分的または完全に使用されるライブラリ。

  • モデルにリンクされているデータ ディクショナリ。

テスト

[テスト] フォルダーには、ユニットまでトレースするテスト ケースとテスト ハーネスが表示されます。これには、ユニットに対して実行されるテスト ケースと、テスト ハーネスを使用してユニット モデルのサブシステムに対して実行されるテスト ケースが含まれます。

ユニットのメトリクス結果を収集するときに、ダッシュボードはユニット モデルまたはユニット モデルのサブシステムで実行されるテスト ケースのみを解析します。[テスト] フォルダーには、ユニットをテストしているテスト ケースと、ユニットまでトレースするテスト ハーネスを識別しやすくするサブフォルダーが含まれます。

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

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

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

ユニットへとトレースしないテスト ケースは、問題のトレースフォルダーに表示されます。テスト ケースが、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルにテスト ケースがないを参照してください。メトリクス結果でのテスト ケースのトラブルシューティングについては、メトリクス結果を生成しないテスト ケースの修正を参照してください。

Simulink Test を使用して、テスト ケースをテスト スイート ファイルに作成します。

テスト結果

ユニットのメトリクス結果を収集するときに、ダッシュボードはユニット テストからのテスト結果のみを解析します。[テスト結果] フォルダーには、ユニット テストからのテスト結果を識別しやすくする 2 つのサブフォルダーが含まれます。

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

    テスト結果の次のタイプが表示されます。

    • Saved test file icon 保存されたテスト結果 — テスト マネージャーで収集し、結果ファイルにエクスポートした結果。

    • Temporary test results icon 一時的なテスト結果 — テスト マネージャーで収集したものの、結果ファイルにはエクスポートしていない結果。テスト マネージャーから結果をエクスポートすると、ダッシュボードは一時的な結果ではなく保存された結果を解析します。また、プロジェクトを閉じるか、Simulink Test の結果エクスプローラーで結果セットを閉じると、ダッシュボードは一時的な結果の認識を停止します。後続のテスト セッションまたはプロジェクト セッションで結果を解析する場合は、結果を結果ファイルにエクスポートしてください。

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

ユニットへとトレースしないテスト結果は、問題のトレースフォルダーに表示されます。テスト結果が、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルにテスト結果がないを参照してください。ダッシュボード メトリクス結果でのテスト結果のトラブルシューティングについては、メトリクス結果を生成しないテスト結果の修正を参照してください。

問題のトレース

[問題のトレース] フォルダーには、ダッシュボードがユニットまでトレースしていないアーティファクトが表示されます。[問題のトレース] フォルダーを使用して、ユニットへのトレーサビリティがアーティファクトから欠落しているかどうかをチェックします。[問題のトレース] フォルダーには問題のトレースのタイプを識別しやすくするサブフォルダーが含まれます。

  • 予期せぬ実装リンク[タイプ]Container または [タイプ]Informational の要件に対する、[タイプ]Implements の要件リンク。コンテナー要件と情報要件は、それらが属する要件セットの実装の状態と検証の状態の対象とはならないため、ダッシュボードでは、これらのリンクの [タイプ]Implements と想定されません。要件が実装対象となっていない場合は、リンク タイプを変更できます。たとえば、[タイプ]Informational の要件を、[タイプ]Related to のリンクをもつように変更できます。

  • Unresolved and Unsupported Links — プロジェクトで切断された要件リンクまたはダッシュボードでサポートされていない要件リンク。以下に例を示します。

    • モデル ブロックが要件を実装しているが、そのモデル ブロックを削除した場合、要件リンクは未解決になります。

    • 要件からデータ ディクショナリ、またはデータ ディクショナリから要件にリンクされている場合、そのリンクはサポートされず、モデル テスト ダッシュボードはそのリンクをトレースしません。

      モデル テスト ダッシュボードは、一部のアーティファクトおよび一部のリンクのトレーサビリティ解析をサポートしません。ユニットへとトレースすることが想定されているリンクがトレースされない場合は、モデル テスト ダッシュボードでのアーティファクト、リンク、および結果の欠損の解決でトラブルシューティング ソリューションを参照してください。

  • トレースされないテスト — プロジェクト パス上にないモデルまたはサブシステムで実行するテスト。

  • トレースされない結果 — ダッシュボードがテスト ケースまでトレースできなくなった結果。たとえば、テスト ケースから結果が生成されたが、そのテスト ケースを削除した場合、ダッシュボードで結果をテスト ケースまでトレースできなくなります。

トレーサビリティをアーティファクトに追加すると、ダッシュボードはそのことを検出し、ダッシュボードの上部に警告バナーを表示して、[アーティファクト] パネルに表示されるアーティファクト トレーサビリティが古くなっていることを示します。警告バナーで [アーティファクトのトレース] ボタンをクリックし、[アーティファクト] パネルのデータを更新します。

モデル テスト ダッシュボードは、一部のアーティファクトおよび一部のリンクのトレーサビリティ解析をサポートしません。ユニットへとトレースすることが想定されているアーティファクトがトレースなしの場合は、問題のトレースでトラブルシューティング ソリューションを参照してください。

アーティファクト エラー

ダッシュボードがアーティファクト解析を実行したときにアーティファクトがエラーを返した場合、[エラー] フォルダーが表示されます。トレーサビリティ解析中にアーティファクトが返す可能性があるいくつかのエラーを以下に示します。

  • トレーサビリティ解析が開始されたときに保存されていない変更がある場合、アーティファクトはエラーを返します。

  • 前のバージョンの Simulink に保存されていた場合、テスト結果ファイルはエラーを返します。

  • 検索パス上にない場合、モデルはエラーを返します。

こうしたアーティファクトを開いて、エラーを修正します。ダッシュボードはアーティファクトへの変更を検出し、ダッシュボードの上部に警告バナーを表示して、[アーティファクト] パネルに表示されるアーティファクト トレーサビリティが古くなっていることを示します。警告バナーで [アーティファクトのトレース] ボタンをクリックし、[アーティファクト] パネルのデータを更新します。

診断

解析中のエラーまたは警告の原因となるアーティファクトの詳細と、解析中の情報メッセージを確認するには、[モデル テスト ダッシュボード] ダイアログの下部で [診断] をクリックします。診断メッセージは次のタイプ別にフィルター処理できます。[エラー][警告][情報]。ビューアーからメッセージのクリアも実行できます。

診断メッセージには以下が表示されます。

  • ダッシュボードがサポートしないモデル構造

  • ダッシュボードがトレースしないリンク

  • ダッシュボードがサポートしないテスト ハーネスまたはテスト ケース

  • テスト結果の未達カバレッジまたはシミュレーション結果

  • ダッシュボードによる読み込み時にエラーを返すアーティファクト

  • ダッシュボードが非アクティブにするモデル コールバックに関する情報

  • 優先順位の低いファイルまたはパスのトレーサビリティの問題があるファイル

  • パス上になく、トレース中に考慮されないアーティファクト

メトリクス結果の収集

モデル テスト ダッシュボードでは、[アーティファクト] パネルにリストされている各ユニットのメトリクス結果を収集します。ダッシュボードの各メトリクスはモデル テストの品質の異なる側面を測定し、業界認定のソフトウェア開発標準 (ISO 26262、DO-178 など) のガイドラインを反映しています。利用可能なメトリクスと、メトリクスによって返される結果の詳細については、Model Testing Metricsを参照してください。

プロジェクト内でアーティファクトを編集して保存すると、ダッシュボードはアーティファクトへの変更を検出し、ダッシュボードの上部に警告バナーを表示して、[アーティファクト] パネルに表示されるアーティファクト トレーサビリティが古くなっていることを示します。警告バナーで [アーティファクトのトレース] ボタンをクリックし、[アーティファクト] パネルのデータを更新します。

トレーサビリティ情報を更新した後で、メトリクス結果がアーティファクト変更の影響を受ける可能性がある場合、メトリクス結果が古いことを示す警告バナーがダッシュボード上部に表示されます。影響を受けるウィジェットにはグレーのステイルネス アイコン が表示されます。結果を更新するには、警告バナーの [収集] ボタンをクリックしてメトリクス データを再収集し、現在のアーティファクトのデータを使用して古いウィジェットを更新します。プロジェクト内の各ユニットと各コンポーネントのメトリクスを収集する場合、[収集][すべて収集] をクリックします。

ダッシュボードは、以下の変更に関しては、古いメトリクス データを示しません。

  • テスト ケースを実行してダッシュボードで結果を解析した後で、テスト ケースを変更した場合、ダッシュボードではテスト ケース メトリクスが古いことが示されますが、結果メトリクスが古いことは示されません。

  • テスト結果で使用されるカバレッジ フィルター ファイルを変更する場合、ダッシュボード内のカバレッジ メトリクスにはデータが古いことが示されないか、変更が含まれません。フィルター ファイルへの変更を保存した後で、テストを再実行し、フィルター ファイルを使用して新しい結果を取得します。

参考

関連するトピック