メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

sltest.plugins.coverage.CoverageMetrics クラス

名前空間: sltest.plugins.coverage

MATLAB ユニット テスト フレームワークで実行されるテストに対するカバレッジ メトリクスの指定

説明

sltest.plugins.coverage.CoverageMetrics クラスを使用してカバレッジ メトリクスを指定します。カバレッジ メトリクス オブジェクトをモデル カバレッジ プラグイン オブジェクトに渡します。

sltest.plugins.coverage.CoverageMetrics クラスは handle クラスです。

クラス属性

HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

cmo = sltest.plugins.coverage.CoverageMetrics(Properties) は、指定されたプロパティでカバレッジ メトリクス オブジェクトを作成します。

プラグインをインポートしてから、クラス名を使用してオブジェクトを作成することもできます。

import sltest.plugins.coverage.CoverageMetrics
cmo = CoverageMetrics(Properties)

プロパティ

すべて展開する

判定カバレッジの収集を有効または無効にします。

例: 'Decision',true

属性:

SetAccess
public
GetAccess
public

条件カバレッジの収集を有効または無効にします。条件カバレッジを有効にすると、カバレッジ レポートに条件カバレッジと判定カバレッジの両方が表示されます。

例: 'Condition',true

属性:

SetAccess
public
GetAccess
public

改良条件判定カバレッジの収集を有効または無効にします。MCDC を有効にすると、条件カバレッジと判定カバレッジも収集され、カバレッジ レポートに含まれます。

例: 'MCDC',true

属性:

SetAccess
public
GetAccess
public

ルックアップ テーブル カバレッジの収集を有効または無効にします。

例: 'LookupTable',true

属性:

SetAccess
public
GetAccess
public

信号範囲カバレッジの収集を有効または無効にします。

例: 'SignalRange',true

属性:

SetAccess
public
GetAccess
public

信号サイズ カバレッジの収集を有効または無効にします。

例: 'SignalSize',true

属性:

SetAccess
public
GetAccess
public

Simulink Design Verifier ブロック カバレッジの収集を有効または無効にします。

例: 'SimulinkDesignVerifier',true

属性:

SetAccess
public
GetAccess
public

ブロックが整数オーバーフローで飽和する回数の記録を有効または無効にします。

例: 'SaturationOnIntegerOverflow',true

属性:

SetAccess
public
GetAccess
public

関係演算子の境界カバレッジを有効または無効にします。

例: 'RelationalBoundary',true

属性:

SetAccess
public
GetAccess
public

すべて折りたたむ

この例では、MATLAB® ユニット テスト フレームワークを使用して、Simulink® モデルで実行されるテストのカバレッジを収集する方法を説明します。

改良条件判定 (MCDC) カバレッジを収集しながら、AutopilotTestFile.mldatx テスト ファイルのテストを実行します。

1.この例のテスト ランナーとプラグインをインポートします。

import matlab.unittest.TestRunner
import sltest.plugins.ModelCoveragePlugin
import sltest.plugins.coverage.CoverageMetrics
import sltest.plugins.coverage.ModelCoverageReport
import matlab.unittest.plugins.codecoverage.CoberturaFormat

2.現在の作業ディレクトリにサブフォルダーを作成し、その新しいフォルダーを指定して ModelCoverageReport オブジェクトを作成します。

mkdir('./myReports/coverage');
path = './myReports/coverage';
mcr = ModelCoverageReport(path,'ReportName','RollRefCov');

3.モデル カバレッジ ブラグイン オブジェクトとカバレッジ メトリクス オブジェクトを作成します。この例では、[MCDC カバレッジ] と [参照モデルのカバレッジを記録] を使用します。

mcdcMet = CoverageMetrics('Decision',true,'Condition',true,'MCDC',true);

covSettings = ModelCoveragePlugin('RecordModelReferenceCoverage',true,...
    'Collecting',mcdcMet,'Producing',mcr);

4.テスト ファイルから MATLAB® ユニット テストのテスト スイートを作成します。

tf = sltest.testmanager.TestFile('AutopilotTestFile.mldatx');
APSuite = testsuite(tf.FilePath);

5.プラグインなしでテスト ランナーを作成し、カバレッジ プラグインをランナーに追加します。

APRun = TestRunner.withNoPlugins();
addPlugin(APRun,covSettings);

6.スイートを実行します。

% Turn off the command line warnings.
warning off Stateflow:cdr:VerifyDangerousComparison
warning off Stateflow:Runtime:TestVerificationFailed

APResult = run(APRun,APSuite)
Coverage Report for RollAutopilotMdlRef/Roll Reference
    /tmp/Bdoc25a_2864802_2064811/tp1f1818f0/simulinktest-ex63642652/myReports/coverage/RollRefCov.html
APResult = 
  TestResult with properties:

          Name: 'AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test'
        Passed: 1
        Failed: 0
    Incomplete: 0
      Duration: 6.8200
       Details: [1×1 struct]

Totals:
   1 Passed, 0 Failed, 0 Incomplete.
   6.82 seconds testing time.

7.コマンド ライン出力のリンクを開くと、カバレッジ レポートを表示できます。

8.Cobertura XML 形式でレポートを作成することもできます。プラグインなしで新しいテスト ランナーを作成し、ModelCoveragePlugin を追加して、テスト スイートを実行します。Cobertura レポートが作業フォルダーに保存されます。

CobRun = TestRunner.withNoPlugins;
addPlugin(CobRun,ModelCoveragePlugin('Producing',...
    CoberturaFormat('CoverageResults.xml')));
CobResult = run(CobRun,APSuite);

クリーンアップします。結果をクリアして、警告を再度有効にします。

warning on Stateflow:cdr:VerifyDangerousComparison
warning on Stateflow:Runtime:TestVerificationFailed

sltest.testmanager.clearResults;
sltest.testmanager.clear;
sltest.testmanager.close;

バージョン履歴

R2018a で導入