Анализируйте покрытие и просмотрите результаты

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

Во-первых, симулируйте модель путем нажатия кнопки Analyze Coverage. Когда симуляция завершается, Simulink® Coverage™ подсвечивает объекты модели на основе их полноты покрытия.

Simulink window after simulation with coverage enabled. The model is highlighted, some blocks are green, red, or grey. On the right side of the model, a coverage report is open, docked in the Simulink window.

Панель Coverage Details открывается автоматически и отображает отчет покрытия. Отчет автоматически открывается в разделе Details, который перечисляет результаты покрытия для объектов модели. Можно прокрутить, чтобы просмотреть итоговый раздел и информацию модели, или прокрутить вниз, чтобы просмотреть отдельные блоки.

window_system подсистема окрашена в зеленый, потому что каждый блок в подсистеме получил 100%-е покрытие. Другие подсистемы окрашены в красный, потому что один или несколько блоков внутри не получили полный охват.

Укажите на подсистему, чтобы отобразить краткое изложение покрытия для каждой соответствующей метрики. Например, укажите на power_window_control_system блок подсистемы.

Coverage results popup. Decision 100% (2/2), Condition 79% (62/78), MCDC 32% (7/22), Execution 100% (39/39).

Если вы щелкаете левой кнопкой по блоку, панель Coverage Details отображает раздел отчета для того блока. Например, нажмите power_window_control_system подсистема.

Simulink window after clicking on a subsystem. The docked coverage report shows the section of the report that details coverage results for the subsystem.

Можно ввести подсистему, чтобы просмотреть гранулированные результаты покрытия для содержимого той подсистемы. Дважды кликните power_window_control_system подсистема, чтобы просмотреть результаты покрытия для блоков это содержит. Дважды кликните на validate_passenger и затем на check_up.

Нажмите на блок And allow_action отобразить соответствующий раздел отчета.

Simulink window after clicking on the And block. The And block is red and the coverage report is displayed on the right.

Поскольку блок And выводит логическую комбинацию этих двух входных сигналов, если оба входных сигнала верны, выходной сигнал верен. Вы видите из таблицы условия, что входным сигналом 1 был False на каждом временном шаге, в то время как входным сигналом 2 был True для 878 временных шагов и False для 884 временных шагов.

Condition table for the And block in the coverage report.

Поскольку существует четыре результата условия, и один из них не произошел, allow_action блокируйтесь получил 75%-е покрытие условия.

Ниже Conditions analyzed таблица является таблицей MC/DC analysis.

MCDC table for the And block in the coverage report.

Аналитическая таблица MCDC приводит реверсирования решения, которые происходят, потому что один результат условия изменяется от true к false или от false к true. Эта таблица сообщает что единственное FF случай произошел во время симуляции для первого условия и ни одного, какая цель MCDC произошла для второго условия, приводящего к 0%-му MCDC, о котором сообщают.

Информация о командной строке

Выполнять те же шаги от командной строки, введите:

simOut = sim(simIn);
covData = simOut.covData;
cvmodelview(covData);

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте