В этом примере показано, как использовать Simulink ® Design Verifier™ для расширения существующего тестового набора, чтобы получить отсутствующее покрытие модели.
Вы анализируете модель примера и генерируете тестовый набор, чтобы достичь полного покрытия. Затем измените модель так, чтобы тесты больше не достигли полного покрытия. Наконец, вы анализируете измененную модель, чтобы получить недостающее покрытие с помощью Verifier™ Simulink ® Design.
Анализируйте sldvdemo_cruise_control моделировать и сгенерировать тестовый набор, которое достигает полного покрытия модели. Чтобы проанализировать модель, чтобы сгенерировать тесты, которые обеспечивают покрытие модели, используйте sldvrun функция. Установите параметры верификации проекта с sldvoptions.
open_system 'sldvdemo_cruise_control'; opts = sldvoptions; opts.Mode = 'TestGeneration'; opts.ModelCoverageObjectives = 'MCDC'; opts.SaveHarnessModel = 'off'; opts.SaveReport = 'off'; [ status, files ] = sldvrun('sldvdemo_cruise_control', opts, true);

Результат анализа генерации тестов появляется в окне Simulink Design Verifier Results Summary.
close_system('sldvdemo_cruise_control',0);
The sldvruntest Функция моделирует модель с существующим тестовым набором. The cvhtml функция создает отчет о покрытии, который указывает на начальный охват sldvdemo_cruise_control модель.
open_system 'sldvdemo_cruise_control'; [ outData, initialCov ] = sldvruntest('sldvdemo_cruise_control', files.DataFile, [], true); cvhtml('Initial coverage',initialCov); close_system('sldvdemo_cruise_control',0);

Загрузите измененный sldvdemo_cruise_control_mod модель. Целевое значение скорости контроллера ограничено 70 при помощи Saturation блок.
load_system 'sldvdemo_cruise_control_mod'; load_system 'sldvdemo_cruise_control_mod/Controller';

The sldvruntest функция моделирует измененные sldvdemo_cruise_control_mod модель с существующим тестовым набором и входами, идентичными sldvdemo_cruise_control модель. The cvhtml функция создает отчет о покрытии, который указывает на измененную sldvdemo_cruise_control_mod модель больше не достигает полного покрытия.
[ outData, startCov ] = sldvruntest('sldvdemo_cruise_control_mod', files.DataFile, [], true); cvhtml('Coverage with the original testsuite',startCov);

Чтобы достичь полного покрытия модели, sldvgencov функция анализирует модель и расширяет существующий тестовый набор.
[ status, covData, files ] = sldvgencov('sldvdemo_cruise_control_mod', opts, true, startCov);
Проверьте, что новый тестовый набор достигает полного покрытия для sldvdemo_cruise_control_mod модифицированная модель. The sldvruntest Функция симулирует измененную модель с расширенным тестовым набором. The cvhtml отчет показывает общее покрытие, достигнутое sldvdemo_cruise_control_mod модель.
[ additionalOut, additionalCov ] = sldvruntest('sldvdemo_cruise_control_mod', files.DataFile, [], true); totalCov = startCov + additionalCov; cvhtml('With additional coverage',totalCov);

Чтобы завершить пример, закройте модель.
close_system('sldvdemo_cruise_control_mod');