exponenta event banner

класс sltest.plugins.coverage.CovereyMetrics

Пакет: sltest.plugins.coverage

Определение метрик покрытия для тестов, выполняемых с использованием платформы тестирования блока MATLAB

Описание

Используйте sltest.plugins.coverage.CoverageMetrics для указания метрик покрытия. Передайте объект метрик покрытия в объект подключаемого модуля покрытия модели.

Создание

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',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 ® Unit Test для сбора покрытия для тестов, выполняемых в модели Simulink ®.

Вы запускаете тесты в AutopilotTestFile.mldatx тестовый файл при сборе покрытия измененного условия/решения (MCDC).

1. Импортируйте тестовый питатель и подключаемые модули для примера.

import matlab.unittest.TestRunner
import sltest.plugins.ModelCoveragePlugin
import sltest.plugins.coverage.CoverageMetrics

2. Создайте объект подключаемого модуля покрытия модели и объект метрик покрытия. В этом примере для ссылочных моделей используется покрытие MCDC и покрытие записей.

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

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

3. Создайте набор тестов MATLAB ® Unit Test из файла теста.

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

4. Создайте тестовый питатель без подключаемых модулей, а затем добавьте подключаемый модуль покрытия к питателю.

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

5. Запустите люкс.

% 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/BR2021ad_1657350_5204/mlx_to_docbook1/tp45fcfabf_e6b7_4225_ac8a_a1da536fa038.html
APResult = 
  TestResult with properties:

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

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

6. Для просмотра отчета о покрытии можно открыть ссылку в выходных данных командной строки.

Очистка. Очистить результаты и повторно включить предупреждения.

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

sltest.testmanager.clearResults;
sltest.testmanager.clear;
sltest.testmanager.close;
Представлен в R2018a