Main Content

cvtest

モデル カバレッジ テストの仕様オブジェクトの作成

説明

cvtest を使用して、モデル カバレッジ設定が格納されるテスト仕様オブジェクトを作成します。cvtest オブジェクトを関数 cvsim に渡して、設定に基づいたカバレッジ解析を実行します。

作成

説明

cvto = cvtest(root) は、既定のカバレッジ設定で cvtest オブジェクトを作成します。root は、モデルの名前またはモデルへのハンドルにすることができます。root は、モデル内のサブシステムの名前またはハンドルにすることもできますが、その場合は指定されたサブシステムとその下位のみがカバレッジの解析対象となります。

cvto = cvtest(root,label) は、指定されたlabelcvtest オブジェクトを作成します。

cvto = cvtest(root,label,setupCmd) は、セットアップ コマンド setupCmdcvtest オブジェクトを作成します。カバレッジ解析を実行する前に、セットアップ コマンドが MATLAB® ベース ワークスペースで実行されます。

メモ

cvtest オブジェクトで指定されたカバレッジ メトリクスの設定は、モデル コンフィギュレーション パラメーターで設定されたカバレッジ メトリクスの設定をオーバーライドします。

入力引数

すべて展開する

モデルの名前またはハンドル、あるいはサブシステムへのパス。文字配列または string 配列として指定します。

プロパティ

すべて展開する

このプロパティは読み取り専用です。

内部モデル ID。スカラーとして返されます。

このプロパティは読み取り専用です。

内部カバレッジ構成 ID。スカラーとして返されます。

このプロパティは読み取り専用です。

解析対象として指定したシステムの名前。文字配列または string 配列として返されます。

データ型: char | string

テスト ラベル。文字配列または string 配列として指定します。このラベルは、カバレッジ レポートにテスト名として表示されます。

データ型: char | string

シミュレーション前に、MATLAB ベース ワークスペースで実行されるコマンド。文字配列または string 配列として指定します。

各シミュレーション前に、セットアップ コマンドが実行されます。

データ型: char | string

収集するカバレッジのタイプ。構造体として指定します。

settings には、以下のフィールドが含まれます。

プロパティ

説明

settings.decision

判定カバレッジ データを有効にします。

1 (既定) | 0

settings.condition

条件カバレッジ データを有効にします。

1 | 0 (既定)

settings.mcdc

改良条件判定カバレッジ (MCDC) データを有効にします。

settings.mcdc が有効の場合、options.mcdcmode プロパティにより、使用する MCDC 定義を選択することもできます。

1 | 0 (既定)

settings.designverifier

Simulink® Design Verifier™ ブロックのカバレッジ データを有効にします。

1 | 0 (既定)

settings.tableExec

ルックアップ テーブルのカバレッジ データを有効にします。

1 | 0 (既定)

settings.sigrange

信号範囲データを有効にします。

1 | 0 (既定)

settings.sigsize

信号サイズ データを有効にします。

1 | 0 (既定)

settings.overflowsaturation

整数オーバーフローで飽和カバレッジ データを有効にします。

1 | 0 (既定)

settings.relationalop

関係演算子の境界カバレッジ データを有効にします。

options.covBoundaryRelToloptions.covBoundaryAbsTol を使用して、このタイプのカバレッジの許容誤差を指定します。

詳細については、関係演算子の境界カバレッジを参照してください。

1 | 0 (既定)

カバレッジの詳細オプション。構造体として指定します。

options には、以下のフィールドが含まれます。

プロパティ

説明

options.covBoundaryRelTol

関係演算子の境界カバレッジの相対許容誤差。

詳細については、関係演算子の境界カバレッジを参照してください。

0.01 (既定) | scalar

options.CovBoundaryAbsTol

関係演算子の境界カバレッジの絶対許容誤差。

詳細については、関係演算子の境界カバレッジを参照してください。

1e-5 (既定) | scalar

options.useTimeInterval

モデル カバレッジの記録を指定したシミュレーション時間間隔に制限するかどうか。

options.intervalStartTimeoptions.intervalStopTime を使用して、時間間隔を指定します。

詳細については、カバレッジ オプションの指定を参照してください。

1 | 0 (既定)

options.intervalStartTime

カバレッジの記録を開始するタイミング。

このプロパティは、options.useTimeInterval が有効の場合に指定します。

0 (既定) | scalar

options.intervalStopTime

カバレッジの記録を停止するタイミング。

このプロパティは、options.useTimeInterval が有効の場合に指定します。

0 (既定) | scalar

options.forceBlockReduction

[ブロック削減] パラメーターのフラグが付いたブロックのカバレッジを記録するかどうか。

  • 1 (既定) — 有効の場合は、Simulink の [ブロック削減] パラメーターをオーバーライドします。カバレッジは、モデル内のサポートされているすべてのブロックについて記録されます。コンフィギュレーション パラメーター [ブロック削減] の値は無視されます。

  • 0 — コンフィギュレーション パラメーター [ブロック削減] の値を使用します。[ブロック削減] が有効の場合、ブロック削減によりモデルから実質的に削除されるブロックについては、カバレッジは記録されません。たとえば、デッド コード除去によって削減されるブロックについては、カバレッジは記録されません。

詳細については、ブロック削減を参照してください。

1 (既定) | 0

options.mcdcMode

どの MCDC 定義をモデルに適用するか。以下のオプションのいずれかとして指定します。

  • 'masking' — MCDC カバレッジの masking 定義を使用します。

  • 'unique cause' — MCDC カバレッジの unique cause 定義を使用します。

詳細については、Simulink Coverage における改良条件判定カバレッジ (MCDC) 定義を参照してください。

'masking' (既定) | 'unique cause'

カバレッジ フィルター。構造体として指定します。

filter には 1 つのフィールド、filter.fileName があります。filter.fileName は、カバレッジ解析に適用するカバレッジ フィルター ファイルの名前です。文字配列または string 配列として指定します。

詳細については、カバレッジ フィルターの規則とファイルを参照してください。

モデル参照設定。構造体として指定します。

modelRefSettings には、以下のフィールドが含まれます。

プロパティ

説明

modelRefSettings.enable

モデル参照カバレッジ設定。以下のオプションのいずれかとして指定します。

  • 'off' — 参照モデルのカバレッジを無効にします。

  • 'all' または 'on' — サポートされている参照モデルについて、カバレッジを有効にします。

  • 'filtered' — サポートされている参照モデルについて、カバレッジを有効にします。ただし、excludedModels フィールドにリストされているものは除きます。

'off' (既定) | 'on' | 'all' | 'filtered'

modelRefSettings.excludeTopModel

最上位モデルをカバレッジ解析から除外するかどうか。数値または logical 1 (true) または 0 (false) として指定します。

1 (既定) | 0

modelRefSettings.excludedModels

カバレッジ解析から除外する参照モデル。モデル名がコンマで区切られた単一の文字配列または string 配列として指定します。

このフィールドを使用するには、modelRefSettings.enable'filtered' に設定します。

char | string

モデルの MATLAB 関数によって呼び出される外部プログラムファイルについて、カバレッジを収集するかどうか。構造体として指定します。

emlSettings には 1 つのフィールド、emlSettings.enableExternal があります。MATLAB 関数によって呼び出される外部プログラム ファイルについてカバレッジを収集する場合は emlSettings.enableExternal1 に設定し、MATLAB 関数によって呼び出される外部プログラム ファイルについてカバレッジを収集しない場合は 0 に設定します。

モデル内の C/C++ S-Function ブロックのカバレッジを収集するかどうか。構造体として指定します。

sfcnSettings には 1 つのフィールド、sfcnSettings.enableSfcn があります。モデル内の S-Function についてカバレッジを収集する場合は sfcnSettings.enableSfcn1 に設定し、モデル内の S-Function についてカバレッジを収集しない場合は 0 に設定します。

詳細については、S-Function を参照してください。

すべて折りたたむ

この例では、cvtest オブジェクトを使用してカバレッジ解析を実行する方法を説明します。

slvnvdemo_ratelim_harness モデルを開き、cvtest を使用してテスト オブジェクトを定義します。cvtest オブジェクトを作成するとき、解析対象のモデル オブジェクトとして Adjustable Rate Limiter ブロックを指定します。

load_system('slvnvdemo_ratelim_harness');
testObj = cvtest(['slvnvdemo_ratelim_harness', ...
		  '/Adjustable Rate Limiter']);
testObj.label = 'Gain within slew limits';

セットアップ コマンドを testObj に追加します。カバレッジ解析の前に、セットアップ コマンドがベース MATLAB ワークスペースで実行されます。この場合、セットアップ コマンドはシミュレーションに必要なデータをワークスペースに読み込みます。

testObj.setupCmd = ...
	'load within_lim.mat';

判定カバレッジと、整数オーバーフローで飽和カバレッジを収集するには、testObj オブジェクトの decision プロパティと overflowsaturation プロパティに true または 1 を設定して、各プロパティを有効にします。

testObj.settings.decision = true;
testObj.settings.overflowsaturation = true;

最後に、cvsimtestObj で呼び出して、カバレッジ解析を実行します。

cvdo = cvsim(testObj);

バージョン履歴

R2006a より前に導入