В этом примере показано, как выбрать метрику и добавить правило, которое использует ту метрику. В этом примере вы создаете правило выровнять по ширине неудовлетворенное решение для блока Saturation.
Переместите текущую директорию MATLAB® в местоположение, которое содержит файлы в качестве примера.
Откройте модель и включите анализ покрытия
Загрузите модель в память.
Используйте Simulink.SimulationInput
объект сконфигурировать покрытие для модели.
Симулируйте модель с помощью SimulationInput
возразите как вход.
Просмотрите результаты покрытия прежде, чем применить фильтр. Можно получить доступ к покрытию с помощью decisioninfo
, или можно просмотреть отчет HTML с помощью cvhtml
.
Оба decisioninfo
и cvhtml
покажите тот же результат 50% Decision Coverage. Если вы не предназначаете свои текущие тесты, чтобы осуществить этот результат, можно выровнять по ширине результат, таким образом, об этом больше не сообщают как недостающее покрытие.
В этом примере мы выравниваем по ширине false
результат решения input > lower limit
цель решения в блоке Saturation.
Выровняйте по ширине Недостающую цель условия
MetricSelector
объекты принимают блок path или указатель блока как второй вход. Получите указатель блока блока Saturation при помощи getSimulinkBlockHandle
.
Поскольку выравниваемая по ширине цель является результатом решения, первым входом метрическому селекторному конструктору является slcoverage.MetricSelectorType.DecisionOutcome
. Второй вход является указателем блока. Последние два являются индексом цели выровнять по ширине и индекс результата той цели, соответственно.
Поскольку input > lower limit
цель решения является первой целью для блока Saturation, его объективным индексом является 1
. Поскольку false
результатом этой цели является первый результат, его индексом результата является также 1
. Поэтому последними двумя входными параметрами является 1,1
.
Создайте фильтр и правило. В этом случае мы используем режим фильтра по умолчанию, выравнивают по ширине. Затем добавьте правило в фильтр с помощью addRule
метод.
Сохраните фильтр в файл фильтра с помощью save
метод. Затем примените файл фильтра к cvdata
объект путем присвоения filter
свойство к новому файлу фильтра.
Регенерируйте результаты покрытия для блока Saturation с помощью нового отфильтрованного cvdata
объект.
В отчете HTML недостающий результат решения подсвечен, чтобы указать, что это выравнивается по ширине. Decision Coverage для блока Saturation - теперь 75%.