Main Content

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

ISO 26262 に従って要件に基づくテストの完全性を評価

モデル テスト ダッシュボードを使用して、要件に基づくテスト アクティビティの品質と完全性を ISO 26262-6:2018 に従って評価することができます。ダッシュボードは、要件、テスト、テスト結果の間のトレーサビリティを監視し、テストの完全性と構造カバレッジの概要を提供することで、このアクティビティを容易にします。ダッシュボードは、プロジェクト内の実装および検証アーティファクトを解析し、次を提供します。

  • 要件に基づくテスト ケースに関する、ISO 26262-6:2018、Clause 9.4.3 に従った完全性および品質メトリクス

  • 要件に基づくテスト結果に関する、ISO 26262-6:2018、Clause 9.4.4 に従った完全性および品質メトリクス

  • ユニット別に整理された、プロジェクト内のアーティファクトの一覧

要件に基づくテスト アクティビティの完全性を評価するには、モデル テスト ダッシュボードを使用して、以下の自動および手動での確認手順に従います。

モデル テスト ダッシュボードを開いてメトリクス結果を収集

モデル テスト ダッシュボードを使用してテスト アーティファクトを解析するには、以下を行います。

  1. モデルとテスト アーティファクトを含むプロジェクトを開きます。あるいは、ダッシュボードのサンプル プロジェクトを読み込むには、コマンド ラインで dashboardCCProjectStart と入力します。

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

  3. これまでプロジェクトのダッシュボードを開いていない場合は、ダッシュボードはプロジェクト内のアーティファクトを特定し、モデルまでトレースしなければなりません。これを行うには、[すべてのトレースと収集] をクリックして解析を実行し、メトリクス結果を収集します。

  4. ダッシュボードの [アーティファクト] ペインでは、要件、テスト ケース、テスト結果などのアーティファクトがトレースするモデルの下に整理されています。サンプル プロジェクトのユニット db_DriverSwRequest のメトリクス結果を表示するには、[アーティファクト] ペインで [db_DriverSwRequest] をクリックします。ダッシュボードでは、ユニットの最も新しいメトリクス コレクションのデータがウィジェットに取り込まれます。

    メモ

    モデル テスト ダッシュボードは、プロジェクト内の各モデルを考慮して、1 つのソフトウェア ユニットを表します。ISO 26262-6 に特化せずにダッシュボードについて説明する他のトピックでは、ダッシュボードが解析できるユニットを示すために "コンポーネント" という用語を使用しています。ダッシュボードに関する他のトピックで "コンポーネント" という用語が出てくる場合、それは ISO 26262-6:2018 で説明されているアーキテクチャ レベルの "ユニット" を示しています。

Model Testing Dashboard showing metric results for the db_DriverSwRequest unit

ダッシュボード ウィジェットには、各ユニットのテスト アーティファクトに関するトレーサビリティと完全性の測定値について概要データが表示されます。黄色のフォントで表示されているメトリクス結果は、要件に基づくユニットのテストを完了するために対処しなければならない可能性がある問題を示しています。データを詳細に確認するには、個々のメトリクス ウィジェットをクリックします。表には、選択したメトリクスに関して、アーティファクトと各アーティファクトのメトリクス値が表示されます。詳細な結果を取得して、問題のあるアーティファクトを修正できるように、表にはアーティファクトを開くためのハイパーリンクが示されています。モデル テスト ダッシュボードの使用方法の詳細については、モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査を参照してください。

テスト ケースの確認

ユニットがその要件を満たすことを検証するには、そのユニットのテスト ケースを要件に基づいて作成します。ISO 26262-6、Clause 9.4.3 は、ユニットのテスト ケースを要件から派生させることを求めています。要件のテスト ケースを作成するときに、要件のテストへのリンク (Simulink Requirements)およびEstablish Requirements Traceability for Testing (Simulink Test)で説明されているように、テスト ケースと要件の間のトレーサビリティ リンクを追加します。トレーサビリティを利用することで、どの要件がテストによって検証されたかを追跡したり、モデルが満たさない要件を特定することができます。Clause 9.4.3 は、要件とテスト ケースの間のトレーサビリティと、テスト ケースの正確性および完全性の確認を求めています。ユニットのテスト ケースの正確性と完全性を評価するには、モデル テスト ダッシュボードの [テスト ケースの解析] セクションにあるメトリクスを使用します。

ISO 26262-6 に関してテスト ケースの正確性と完全性を確認するのに役立つサンプル チェックリストを以下に示しています。各質問に対して、対応するダッシュボード メトリクスを使用して確認アクティビティを実行し、必要に応じて対応する修正を適用します。このチェックリストはサンプルとして提供されています。確認し、アプリケーションのニーズを満たすように変更する必要があります。

チェックリスト項目確認アクティビティダッシュボード メトリクス修正法
1 — 各テスト ケースは要件までトレースするか。

[要件にリンクされているテスト] を表示して、ユニットのテスト ケースがすべて要件にリンクされていることを確認します。

要件にリンクされているテスト

Dial widget indicating percentage of tests with requirements and count widget indicating one unlinked test

メトリクス ID — TestCaseWithRequirementPercentage

詳細については、要件にリンクされているテストの割合を参照してください。

リンクされていない各テスト ケースに対して、ステップ 3で説明されているように、テスト ケースが検証する要件へのリンクを追加します。

2 — 各テスト ケースは適切な要件までトレースするか。

各テスト ケースに関して、リンクされている要件が正しいことを手動で検証します。[要件にリンクされているテスト] ウィジェットをクリックし、テスト ケースの表を表示します。テスト ケースのトレース先の要件を確認するには、[アーティファクト] 列で、テスト ケース名の左側にある矢印をクリックします。

要件にリンクされているテスト

Table of test cases and linked requirements

メトリクス ID — TestCaseWithRequirements

詳細については、要件にリンクされているテストを参照してください。

不適切な要件への各リンクについては、そのリンクを削除します。テスト ケースから適切な要件へのリンクが欠落している場合、正しいリンクを追加します。

3 — テスト ケースがすべての要件をカバーしているか。

[テストにリンクされている要件] を表示することで、ユニットの要件がすべてテスト ケースにリンクされていることを確認します。

テストにリンクされている要件

Dial widget indicating percentage of requirements with test cases and count widget indicating unlinked requirements

メトリクス ID — RequirementWithTestCasePercentage

詳細については、テスト ケースをもつ要件の割合を参照してください。

リンクされていない各要件について、ステップ 3で説明されているように、それを検証するテスト ケースへのリンクを追加します。

4 — テスト ケースはパス/失敗の基準を含めて予想される結果を定義しているか。各タイプのテスト ケースを手動で確認します。[タイプ別のテスト] ウィジェットをクリックして、テスト ケースとそのタイプの表を表示します。[アーティファクト] 列のハイパーリンクを使用して、各テスト ケースをテスト マネージャーで開きます。ベースラインのテスト ケースはベースライン基準を定義しなければなりません。シミュレーション テスト ケースについては、Assess Simulation and Compare Output Data (Simulink Test)で説明されているように、各テスト ケースが評価を使用してパス/失敗の基準を定義していることを確認します。

タイプ別のテスト

Table that lists each test case and its type

メトリクス ID — TestCaseType

詳細については、テスト ケース タイプを参照してください。

予想される結果を定義しない各テスト ケースについては、テスト マネージャーで予想される結果およびパス/失敗の基準を追加します。
5 — 各テスト ケースはトレース先の要件を適切にテストするか。

各テスト ケースの要件リンクとコンテンツを手動で確認します。[要件にリンクされているテスト] ウィジェットをクリックし、テスト ケースの表を表示します。テスト ケースのトレース先の要件を確認するには、[アーティファクト] 列で、テスト ケース名の左側にある矢印をクリックします。ハイパーリンクを使用してテスト ケースと要件を開き、テスト ケースが要件を適切にテストすることを確認します。

要件にリンクされているテスト

Table of test cases and linked requirements

メトリクス ID — TestCaseWithRequirements

詳細については、要件にリンクされているテストを参照してください。

トレース先の要件を適切にテストしない各テスト ケースに関して、テスト マネージャーでテスト ケースを更新します。あるいは、要件をさらにテストするテスト ケースを追加します。

テスト結果の確認

ユニットに対してテストを実行後、その結果を確認し、テストが実行されたこと、パスしたこと、ユニットを十分にテストしたことをチェックしなけれななりません。ISO 26262-6:2018 の Clause 9.4.4 では、ユニットごとに要件のカバレッジを解析することを求めています。すべてのテスト ケースで意図したモデルをテストし、パスしていることを確認します。さらに、テストのモデル カバレッジ結果を収集することで、ユニットのカバレッジを測定します。ユニットの要件のテスト カバレッジを評価するには、モデル テスト ダッシュボードの [テスト結果の解析] セクションのメトリクスを使用します。

ダッシュボードを使用したテスト結果の解析と確認を容易にするために、以下のチェックリストが提供されています。各質問に対して、対応するダッシュボード メトリクスを使用して確認アクティビティを実行し、必要に応じて対応する修正を適用します。このチェックリストはサンプルとして提供されています。確認し、アプリケーションのニーズを満たすように変更する必要があります。

チェックリスト項目確認アクティビティダッシュボード メトリクス修正法
1 — 各テスト結果はテスト ケースまでトレースするか。ダッシュボードに表示されるテスト結果のみを使用します。テスト ケースまでトレースしないテスト結果はダッシュボードに表示されません。[テストの状態] セクション内のウィジェットをクリックすると、テスト ケースとそれらのトレース結果の表が示されます。

モデル テストのステータス

Table of failed test cases

メトリクス ID — TestCaseStatusDistribution

詳細については、テスト ケース ステータスの分布を参照してください。

結果がトレースすべきテストを再実行し、新しい結果をエクスポートします。
2 — 各テスト ケースはテスト結果までトレースするか。未テストのテスト ケースおよび無効なテスト ケースがないことを確認します。

モデル テストのステータス

Widget showing count of untested test cases

メトリクス ID — TestCaseStatusDistribution

詳細については、テスト ケース ステータスの分布を参照してください。

無効または未テストの各テスト ケースについて、テスト マネージャーでテストを有効にして実行します。
3 — すべてのテスト ケースが実行されたか。未テストのテスト ケースおよび無効なテスト ケースがないことを確認します。

モデル テストのステータス

Widget showing count of untested test cases

メトリクス ID — TestCaseStatusDistribution

詳細については、テスト ケース ステータスの分布を参照してください。

無効または未テストの各テスト ケースについて、テスト マネージャーでテストを有効にして実行します。
4 — すべてのテスト ケースがパスするか。

ユニットのテスト ケースがすべてパスしたことを確認します。

[モデル テストのステータス]、[パス]

Dial widget indicated percentage of test cases that passed

メトリクス ID — TestCaseStatusPercentage

詳細については、テスト ケース ステータスのパーセンテージを参照してください。

各テストの失敗に関して、テスト マネージャーで失敗を確認し、モデル内の対応するテスト ケースまたは設計要素を修正します。
5 — すべてのテスト結果にカバレッジ結果が含まれているか。テスト マネージャーで各テスト結果を手動で確認し、カバレッジ結果が含まれていることをチェックします。該当なしカバレッジを含まない各テスト結果について、テスト マネージャーでテスト ケースを開いて、カバレッジの収集を有効にします。テスト ケースを再実行します。
6 — 各ユニットで必要な構造カバレッジ オブジェクティブを達成したか。テストがユニット テストで要求されるカバレッジ タイプの 100% のモデル カバレッジを達成していることを確認します。必要なカバレッジ タイプを判別するには、ソフトウェア ユニットの安全レベルを考慮して、ISO 26262-6:2018 の Clause 9.4.4 の表 9 を使用します。

モデル カバレッジ

Model coverage results chart

メトリクス ID — ExecutionCoverageBreakdown

メトリクス ID — ConditionCoverageBreakdown

メトリクス ID — DecisionCoverageBreakdown

メトリクス ID — MCDCCoverageBreakdown

詳細については、以下を参照してください。

カバーされていない各設計要素について、解析して、未達カバレッジの原因を判断します。解析によって、テスト、要件、または実装に含まれる欠陥を明らかにすることができます。必要に応じて、要素をカバーするテストを追加します。あるいは、カバレッジ フィルターの規則の作成、編集、表示 (Simulink Coverage)で説明されているように、未達カバレッジを正当化する正当化フィルターを追加します。
7 — 欠陥は正しく正当化されたか。

カバレッジの正当化を手動で確認します。[モデル カバレッジ] ウィジェット内のバーをクリックして、対応するカバレッジ タイプの結果の表を表示します。さらに詳しく確認するためにテスト結果をテスト マネージャーで開くには、[アーティファクト] 列のハイパーリンクをクリックします。

モデル カバレッジ

Table of decision coverage results

メトリクス ID — ExecutionCoverageBreakdown

メトリクス ID — ConditionCoverageBreakdown

メトリクス ID — DecisionCoverageBreakdown

メトリクス ID — MCDCCoverageBreakdown

詳細については、以下を参照してください。

正しく正当化されていない各カバレッジ ギャップについて、未達カバレッジの正当化を更新します。あるいは、ギャップをカバーするテスト ケースを追加します。

ISO 26262 に従ったユニットの検証

モデル テスト ダッシュボードは、ユニットの要件に基づくテスト アクティビティの品質と完全性に関する情報を提供します。ISO 26262-6:2018 に準拠するために、別のアーキテクチャ レベルでもソフトウェアをテストしなければなりません。ISO 26262-6:2018 では、以下のテスト レベルの準拠要件が示されています。

  • ソフトウェア ユニット テスト (表 7、メソッド 1j)

  • ソフトウェア統合テスト (表 10、メソッド 1a)

  • 埋め込みソフトウェア テスト (表 14、メソッド 1a)

ISO 26262-8:2018、Clause 9 で詳細に説明されている汎用的な検証プロセスには、テストの計画、仕様、実行、評価、およびドキュメンテーションを利用してこうした各レベルのテストを体系的に実現できる方法について、追加情報が含まれています。この表は、モデル テスト ダッシュボードがユニット テスト レベルに関する ISO 26262-8:2018、Clause 9 の要件に適用される方法と、準拠性を示すために実行する必要がある補完的なアクティビティを示しています。

要件コンプライアンスの根拠補完的なアクティビティ
9.4.1 — 検証アクティビティの範囲モデル テスト ダッシュボードは安全性に関連するソフトウェア ユニットと安全性に関連しないソフトウェア ユニットすべてに適用されます。該当なし
9.4.2 — 検証メソッドモデル テスト ダッシュボードは、テスト結果に関するビューを含めて、要件に基づくテストの完全性についての概要を提供します (表 7、メソッド 1j)。

該当する場合は、次のような他の検証メソッドを 1 つ以上適用します。

  • 手動での確認と解析チェック リスト

  • 静的コード解析、制御フロー解析、データ フロー解析など、他のツールを適用

  • インターフェイス テスト、フォールト挿入テスト、back-to-back 比較など、追加のテストを作成

9.4.3 — テスト ケースを派生させるためのメソッドモデル テスト ダッシュボードにはソフトウェア ユニットの要件と関連するテストを詳しく検討するための方法がいくつか用意されており、要件からテスト ケースを派生させるのに役立ちます。Simulink® Design Verifier™ などの他のツールを使用して、テスト ケースを派生させることもできます。
9.4.4 — 要件および構造カバレッジ

モデル テスト ダッシュボードは以下を示すのに役立ちます。

  • 要件のカバレッジの完全性

  • テストによって達成された分岐/ステートメントおよび MCDC モデル カバレッジ

  • 達成したカバレッジの充足性の根拠

ダッシュボードはモデル レベルでのみ構造カバレッジを提供します。他のツールを使用すれば、構造カバレッジをコード レベルで追跡できます。
9.4.5 — テスト環境モデル テスト ダッシュボードは、要件に基づくテストをモデル レベルで実行するのに役立ちます。back-to-back 比較テストを適用して、モデルの動作が生成されたコードと同等であることを確認します。

参考文献:

  • ISO 26262-4:2018(en) 自動車 — 機能安全 — パート 4: システム レベルでの製品開発。国際標準化機構

    ISO 26262-6:2018(en) 自動車 — 機能安全 — パート 6: ソフトウェア レベルでの製品開発。国際標準化機構

    ISO 26262-8:2018(en) 自動車 — 機能安全 — パート 8: サポート プロセス。国際標準化機構

参考

関連するトピック