このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
要件に基づくテスト アーティファクトをモデル テスト ダッシュボードで解析用に管理
モデルベース デザインを使用してソフトウェア ユニットを開発およびテストするときは、[モデル テスト ダッシュボード] を使用してモデル テスト アクティビティのステータスと品質を評価します。要件に基づくテストは、モデル検証の中心的な要素です。要件、モデルの設計要素、およびテスト ケース間でトレーサビリティ リンクを確立することで、要件が実装および検証されている範囲を測定できます。[モデル テスト ダッシュボード] はこのトレーサビリティ情報を解析し、トレーサビリティ、ステータス、テスト アーティファクトの結果に関する詳細なメトリクス測定値を提供します。
ダッシュボードの各メトリクスはユニット テスト品質の異なる側面を測定し、業界認定のソフトウェア開発標準 (ISO 26262、DO-178C など) のガイドラインを反映しています。モデルの要件に基づくテスト品質を [モデル テスト ダッシュボード] で監視するには、プロジェクト内のアーティファクトを維持して、以下の考慮事項に従います。[モデル テスト ダッシュボード] の使用方法の詳細については、モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査を参照してください。
プロジェクト内のアーティファクト ファイルの管理
要件に基づくテスト アクティビティを [モデル テスト ダッシュボード] で解析するには、設計とテスト アーティファクトを MATLAB® プロジェクトに保存します。テスト メトリクスで解析するアーティファクトには次のようなものがあります。
モデル
モデルで使用されるライブラリ
Requirements Toolbox™ で作成する要件
Simulink® Test™ で作成するテスト ケース
実行されたテスト ケースのテスト結果
ダッシュボードがプロジェクト ファイル間の依存関係をトレースする方法の詳細については、デジタル スレッドを参照してください。
プロジェクトに多くのモデルとモデル参照階層が含まれている場合、モデルのさまざまなテスト レベルを識別するようにダッシュボードを構成することにより、ユニット テスト アクティビティを追跡できます。プロジェクト内のエンティティにラベルを付けて、そのラベルを認識するように [モデル テスト ダッシュボード] を構成することで、ソフトウェア アーキテクチャ内のユニットおよび上位レベルのコンポーネントであるエンティティを指定できます。ダッシュボードの [アーティファクト] パネルでは、テスト レベルとモデル参照階層に従ってモデルが整理されています。詳細については、階層内のモデルをコンポーネントまたはユニットとして分類を参照してください。
アーティファクトをユニットおよびコンポーネントまでトレース
ユニットまたはコンポーネントのスコープ内にあるアーティファクトを判別するために、ダッシュボードは、プロジェクト内のアーティファクト間、ソフトウェア ユニット モデル間、およびコンポーネント モデル間のトレーサビリティ リンクを解析します。[プロジェクト] パネルでは、ユニットがそれらを参照するコンポーネント別に整理され、リストされます。
[プロジェクト] パネルでユニットまたはコンポーネントを選択すると、[アーティファクト] パネルに、選択されたユニットまたはコンポーネントまでトレースするアーティファクトが表示されます。トレースされたアーティファクトには次のものがあります。
機能要件
設計アーティファクト
テスト
テスト結果
ダッシュボードで見つかったアーティファクトからそのユニットまたはコンポーネントへのトレーサビリティ パスを確認するには、アーティファクトを右クリックして [ダッシュボードへのトレースを表示] をクリックします。ダッシュボードの新しいタブで、トレース ビューが開きます。このトレース ビューは、ユニットまたはコンポーネントからアーティファクトまでダッシュボードがトレースした、接続と中間アーティファクトを示します。2 つのアーティファクトを接続するトレーサビリティのタイプを確認するには、アーティファクトを接続する矢印にカーソルを合わせます。トレーサビリティの関係は、一方のアーティファクトが他方を含むか、一方のアーティファクトが他方へとトレースするかのいずれかです。たとえば、ユニット [db_DriverSwRequest] の場合、[機能要件] 、 [上流] 、 [db_SystemReqs.slreqx] を展開します。[Target speed increment] の要件を右クリックして [ダッシュボードへのトレースを表示] をクリックします。トレース ビューは、実装された機能要件 Output request mode
までユニット db_DriverSwRequest
がトレースし、これが上流の機能要件 Target speed increment
までトレースしていることを示しています。
[アーティファクト] パネルで、フォルダー [問題のトレース] には、想定外の要件リンク、切断されているかダッシュボードでサポートされていない要件リンク、およびダッシュボードでユニットまたはコンポーネントまでトレースできないアーティファクトが含まれています。問題のトレースのタイプを識別しやすくするために、フォルダー [問題のトレース] には [予期せぬ実装リンク]、[未解決で未サポートのリンク]、[トレースされないテスト]、[トレースされない結果] のサブフォルダーが含まれます。詳細については、要件に基づくテストの問題を修正を参照してください。
トレーサビリティ解析中にアーティファクトがエラーを返す場合、パネルの [エラー] フォルダーにアーティファクトが表示されます。これらのセクションのトレーサビリティ情報を使用して、アーティファクトが想定どおりのユニットまたはコンポーネントまでトレースするかどうかを確認します。アーティファクトの解析中にダッシュボードで検出される警告およびエラーの詳細を確認するには、ダッシュボードのダイアログの下部で [診断] をクリックします。
機能要件
[機能要件] フォルダーには、ユニットまたはコンポーネントで実装されているかユニットまたはコンポーネントの上流にある [タイプ] が Functional
の要件が表示されます。
メトリクス結果を収集するときに、ダッシュボードはユニットまたはコンポーネントが直接実装する機能要件のみを解析します。[機能要件] フォルダーには、要件がユニットまたはコンポーネントで実装されているのか、ユニットまたはコンポーネントの上流にあるのかを識別しやすくする 2 つのサブフォルダーが含まれます。
実装済み — [タイプ] が
Implements
のリンクでユニットまたはコンポーネントに直接リンクされている機能要件。これらの要件は、このユニットまたはコンポーネントについてのダッシュボードのメトリクスで使用されます。上流 — 実装済みの要件に間接的または推移的にリンクされている機能要件。これらの要件は、このユニットまたはコンポーネントについてのダッシュボードのメトリクスで使用されません。
Requirements Toolbox を使用して要件ファイル (.slreqx
) で要件を作成するかインポートします。ユニットまたはコンポーネントへとトレースしない要件は、問題のトレースフォルダーに表示されます。要件が、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルに要件がないを参照してください。
ダッシュボードがプロジェクト ファイル間の依存関係をトレースする方法の詳細については、デジタル スレッドを参照してください。
設計アーティファクト
[設計] フォルダーには、次のような、現在のユニットまたはコンポーネントへとトレースするプロジェクト アーティファクトが表示されます。
ユニットまたはコンポーネントのブロック線図を含むモデル ファイル。
ユニットまたはコンポーネントが参照するモデル。
モデルによって部分的または完全に使用されるライブラリ。
モデルにリンクされているデータ ディクショナリ。
モデルへとトレースする外部 MATLAB コード。ダッシュボードに表示されることが想定される外部 MATLAB コードが表示されない場合は、[アーティファクト] パネルに外部 MATLAB コードがないを参照してください。
アーティファクトが、想定に反して [設計] フォルダーに表示されない場合は、モデル テスト ダッシュボードでのアーティファクト、リンク、および結果の欠損の解決またはモデル保守性ダッシュボードでのアーティファクトと結果の欠損の解決を参照してください。ダッシュボードがプロジェクト ファイル間の依存関係をトレースする方法の詳細については、デジタル スレッドを参照してください。
テスト
[テスト] フォルダーには、選択されたユニットまでトレースするテスト ケースとテスト ハーネスが表示されます。
ユニットのメトリクス結果を収集するときに、ダッシュボードはユニット テストのテスト ケースのみを解析します。[テスト] フォルダーには、テスト ケースがユニット テストと見なされるかどうか、および、ユニットまでトレースするテスト ハーネスを識別しやすくするサブフォルダーが含まれます。
ユニット テスト — ダッシュボードでユニット テストと見なされるテスト ケース。ユニット テストは、ユニット全体またはユニットの下位レベル要素 (サブシステムなど) を直接テストします。これらのテストは、このユニットについてのダッシュボードのメトリクスで使用されます。
その他 — ユニットまでトレースするが、ダッシュボードでユニット テストと見なされないテスト ケース。たとえば、ライブラリについてのテストはダッシュボードでユニット テストとは見なされません。これらのテストは、このユニットについてのダッシュボードのメトリクスで使用されません。
テスト ハーネス — ユニットまたはユニットの下位レベル要素までトレースするテスト ハーネス。テスト ハーネスはダブルクリックすると開きます。
Simulink Test を使用して、テスト ケースをテスト スイート ファイルに作成します。ユニットへとトレースしないテスト ケースは、問題のトレースフォルダーに表示されます。テスト ケースが、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルにテスト ケースがないを参照してください。メトリクス結果でのテスト ケースのトラブルシューティングについては、メトリクス結果を生成しないテスト ケースの修正を参照してください。
ダッシュボードがプロジェクト ファイル間の依存関係をトレースする方法の詳細については、デジタル スレッドを参照してください。
テスト結果
ユニットのメトリクス結果を収集するときに、ダッシュボードはユニット テストからのテスト結果のみを解析します。[テスト結果] フォルダーには、ユニット テストからのテスト結果を識別しやすくする 2 つのサブフォルダーが含まれます。
ユニット シミュレーション — ユニット テストからのシミュレーション結果。これらの結果は、このユニットについてのダッシュボードのメトリクスで使用されます。
テスト結果の次のタイプが表示されます。
保存されたテスト結果 — テスト マネージャーで収集し、結果ファイルにエクスポートした結果。
一時的なテスト結果 — テスト マネージャーで収集したものの、結果ファイルにはエクスポートしていない結果。テスト マネージャーから結果をエクスポートすると、ダッシュボードは一時的な結果ではなく保存された結果を解析します。また、プロジェクトを閉じるか、Simulink Test の結果エクスプローラーで結果セットを閉じると、ダッシュボードは一時的な結果の認識を停止します。後続のテスト セッションまたはプロジェクト セッションで結果を解析する場合は、結果を結果ファイルにエクスポートしてください。
その他 — シミュレーション結果以外の結果、ユニット テストからでない結果、または単なるレポート。たとえば、SIL の結果はシミュレーション結果ではありません。これらの結果は、このユニットについてのダッシュボードのメトリクスで使用されません。
ユニットへとトレースしないテスト結果は、問題のトレースフォルダーに表示されます。テスト結果が、想定に反して [アーティファクト] パネルに表示されない場合は、[アーティファクト] パネルにテスト結果がないを参照してください。ダッシュボード メトリクス結果でのテスト結果のトラブルシューティングについては、メトリクス結果を生成しないテスト結果の修正を参照してください。
ダッシュボードがプロジェクト ファイル間の依存関係をトレースする方法の詳細については、デジタル スレッドを参照してください。
問題のトレース
[問題のトレース] フォルダーには、ダッシュボードがいずれのユニットまたはコンポーネントまでもトレースしていないアーティファクトが表示されます。[問題のトレース] フォルダーを使用して、ユニットまたはコンポーネントへのトレーサビリティがアーティファクトから欠落しているかどうかをチェックします。[問題のトレース] フォルダーには問題のトレースのタイプを識別しやすくするサブフォルダーが含まれます。
予期せぬ実装リンク — [タイプ] が
Container
または [タイプ] がInformational
の要件に対する、[タイプ] がImplements
の要件リンク。コンテナー要件と情報要件は、それらが属する要件セットの実装の状態と検証の状態の対象とはならないため、ダッシュボードでは、これらのリンクの [タイプ] はImplements
と想定されません。要件が実装対象となっていない場合は、リンク タイプを変更できます。たとえば、[タイプ] がInformational
の要件を、[タイプ] がRelated to
のリンクをもつように変更できます。未解決で未サポートのリンク — プロジェクトで切断された要件リンクまたはダッシュボードでサポートされていない要件リンク。たとえば、モデル ブロックが要件を実装しているが、そのモデル ブロックが削除された場合、要件リンクは未解決になります。ダッシュボードは、一部のアーティファクトおよび一部のリンクのトレーサビリティ解析をサポートしません。ユニットまたはコンポーネントへとトレースすることが想定されているリンクがトレースされない場合は、モデル テスト ダッシュボードでのアーティファクト、リンク、および結果の欠損の解決でトラブルシューティング ソリューションを参照してください。
トレースされないテスト — プロジェクト パス上にないモデルまたは下位レベル要素 (サブシステムなど) で実行するテスト。
トレースされない結果 — ダッシュボードがテスト ケースまでトレースできなくなった結果。たとえば、テスト ケースから結果が生成されたが、そのテスト ケースを削除した場合、ダッシュボードで結果をテスト ケースまでトレースできなくなります。
ダッシュボードは、一部のアーティファクトおよび一部のリンクのトレーサビリティ解析をサポートしません。ユニットまたはコンポーネントへとトレースすることが想定されているアーティファクトがトレースなしの場合は、問題のトレースでトラブルシューティング ソリューションを参照してください。
アーティファクト エラー
ダッシュボードがアーティファクト解析を実行したときにアーティファクトがエラーを返した場合、[エラー] フォルダーが表示されます。トレーサビリティ解析中にアーティファクトが返す可能性があるいくつかのエラーを以下に示します。
トレーサビリティ解析が開始されたときに保存されていない変更がある場合、アーティファクトはエラーを返します。
前のバージョンの Simulink に保存されていた場合、テスト結果ファイルはエラーを返します。
検索パス上にない場合、モデルはエラーを返します。
こうしたアーティファクトを開いて、エラーを修正します。ダッシュボードは、ダッシュボードの上部にバナーを表示して、[プロジェクト] パネルと [アーティファクト] パネルに表示されるアーティファクト トレーサビリティが古くなっていることを示します。バナー上の [アーティファクトのトレース] ボタンをクリックし、[プロジェクト] パネルと [アーティファクト] パネルのデータを更新します。
診断
解析中のエラーまたは警告の原因となるアーティファクトの詳細と、解析中の情報メッセージを確認するには、ダッシュボードのダイアログの下部で [診断] をクリックします。診断メッセージは次のタイプ別にフィルター処理できます。[エラー]、[警告]、[情報]。ビューアーからメッセージのクリアも実行できます。
診断メッセージには以下が表示されます。
ダッシュボードがサポートしないモデル構造
ダッシュボードがトレースしないリンク
ダッシュボードがサポートしないテスト ハーネスまたはテスト ケース
テスト結果の未達カバレッジまたはシミュレーション結果
ダッシュボードによる読み込み時にエラーを返すアーティファクト
ダッシュボードが非アクティブにするモデル コールバックに関する情報
優先順位の低いファイルまたはパスのトレーサビリティの問題があるファイル
パス上になく、トレース中に考慮されないアーティファクト
メトリクス結果の収集
[モデル テスト ダッシュボード] では、[プロジェクト] パネルにリストされている各ユニットのメトリクス結果を収集できます。ダッシュボードの各メトリクスはモデル テストの品質の異なる側面を測定し、業界認定のソフトウェア開発標準 (ISO 26262、DO-178 など) のガイドラインを反映しています。利用可能なメトリクスと、メトリクスによって返される結果の詳細については、Model Testing Metricsを参照してください。
プロジェクト内でアーティファクトを編集して保存すると、ダッシュボードはアーティファクトへの変更を検出します。メトリクス結果がアーティファクト変更の影響を受ける可能性がある場合、メトリクス結果が古いことを示す警告バナーがダッシュボード上部に表示されます。影響を受けるウィジェットにはグレーのステイルネス アイコン が表示されます。結果を更新するには、警告バナーの [収集] ボタンをクリックしてメトリクス データを再収集し、現在のアーティファクトのデータを使用して古いウィジェットを更新します。プロジェクト内の各ユニットと各コンポーネントのメトリクスを収集する場合、[収集] 、 [すべて収集] をクリックします。
テスト結果で使用されるカバレッジ フィルター ファイルを変更する場合、ダッシュボード内のカバレッジ メトリクスにはデータが古いことが示されないか、変更が含まれません。フィルター ファイルへの変更を保存した後で、テストを再実行し、フィルター ファイルを使用して新しい結果を取得します。