slcoverage. Класс MetricSelector

Пакет: slcoverage

Выберите метрический критерий фильтра покрытия

Описание

Задайте метрические критерии выбора для правила фильтра.

Конструкция

sel = slcoverage.MetricSelector(type,element,objIndex,outIndex)указывает элемент модели и метрики блока, чтобы создать правило для. Задайте, является ли тип селектора результатом решения или условием. Затем выберите объект и индексную комбинацию результата, чтобы задать метрику, для которой вы хотите записать правило фильтра.

Можно создать только выровнять по ширине правило для метрического селектора. Вы не можете создать исключить правило.

Для получения дополнительной информации об условии и таблицах Decision Coverage, произведенных в отчете, см. Отчет Покрытия модели Верхнего уровня.

Входные параметры

развернуть все

Метрический селекторный тип, заданный как:

  • slcoverage.MetricSelectorType.ConditionOutcome выбирает метрики результата, связанные с входными параметрами блока.

  • slcoverage.MetricSelectorType.DecisionOutcome выбирает метрики результата, связанные, чтобы блокировать выходные параметры.

  • slcoverage.MetricSelectorType.RelationalBoundaryOutcome выбирает метрики результата, связанные с реляционными граничными результатами.

  • slcoverage.MetricSelectorType.SaturationOverflowOutcome выбирает метрики результата, связанные с насыщением на результатах целочисленного переполнения.

Элемент модели, чтобы выбрать, заданный как указатель или элемент модели идентификатор Simulink®.

Пример: 'sldemo_lct_bus:18'

Матричное положение цели выбрать, заданный как целое число, которое соответствует строке таблицы покрытия.

Пример 1

Матричное положение результата, чтобы выбрать, заданный как целое число, которое соответствует столбцу таблицы покрытия.

Пример 2

Свойства

развернуть все

Это свойство доступно только для чтения.

Код, используемый, чтобы создать этот селекторный объект, возвратился как вектор символов.

Это свойство доступно только для чтения.

Описание селектора, возвращенного как вектор символов. Simulink Coverage™ создает описание на основе селектора.

Это свойство доступно только для чтения.

Идентификатор элемента модели, возвращенного как вектор символов ID Simulink или указателя.

Это свойство доступно только для чтения.

Матричное положение цели для этого селектора, возвращенного как целое число.

Это свойство доступно только для чтения.

Матричное положение результата для этого селектора, возвращенного как целое число.

Это свойство доступно только для чтения.

Селекторный тип, возвращенный как ConditionOutcome, DecisionOutcome, RelationalBoundaryOutcome или SaturationOverflowOutcome.

Выходные параметры

развернуть все

Селекторный объект, возвращенный как объект slcoverage.MetricSelector или массив объектов slcoverage.MetricSelector.

Методы

allSelectorsСелекторы для элемента модели или кода

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Выберите метрику, создайте правило для него и добавьте правило в фильтр. Затем можно моделировать модель для покрытия кода с помощью фильтра, чтобы видеть эффект.

В этом примере вы создаете правило выровнять по ширине непротестированное условие для И блок.

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

modelName = 'sldemo_lct_bus';
open_system(modelName);
set_param(modelName,'CovMetricSettings','dcme','RecordCoverage','on');

Получите идентификатор для И блок. Создайте метрический селектор для блока. В данном примере отфильтруйте второе условие (входной порт 2) Ложный результат, индексом которого, затем, является 2,2. Используйте тип селектора ConditionOutcome и индекс 2,2.

id = Simulink.ID.getSID('sldemo_lct_bus/slCounter/And');
metr = slcoverage.MetricSelector(slcoverage.MetricSelectorType.ConditionOutcome,id,2,2);

Создайте объект фильтра и создайте правило с помощью режима фильтра по умолчанию, выравнивают по ширине. Добавьте правило в фильтр.

filt = slcoverage.Filter;
rule = slcoverage.FilterRule(metr,'Expected result');
filt.addRule(rule);

Сохраните фильтр как metrfilter. Моделируйте модель для покрытия кода. Добавьте файл фильтра как значение к свойству filter получившегося объекта cvdata. Затем сгенерируйте отчет покрытия.

filt.save('metrfilter');
csim = cvsim(modelName);
csim.filter = 'metrfilter';
cvhtml('cov',csim);

Исследуйте отчет HTML и просмотрите таблицу условия для И блок. Отчет теперь показывает 100%-е покрытие для условия и что непротестированное условие было выровнено по ширине.

Введенный в R2017b