Этот пример описывает, как создать и анализировать простую модель Simulink®, для которой вы генерируете тесты, которые достигают Decision Coverage. Однако в этом примере, достигая полного Decision Coverage возможно только, когда Simulink Design Verifier™ обрабатывает конкретные параметры блоков как переменную во время ее анализа. Этот пример объясняет, как задать настройки параметра для использования с анализом.
Следующий рабочий процесс проводит вас по процессу завершения этого примера.
Задача | Описание | Смотрите... |
---|---|---|
1 | Создайте модель в качестве примера. | |
2 | Задайте переменную как значение параметров блоков Constant. | |
3 | Ограничьте значение переменной, которую задает блок Constant. | |
4 | Сгенерируйте тесты для своей модели и интерпретируйте результаты. | |
5 | Симулируйте тесты и измерьте получившийся Decision Coverage. |
Создайте простую модель Simulink, чтобы использовать в этом примере:
Создайте пустую модель Simulink.
Скопируйте следующие блоки в пустой Редактор Simulink:
От библиотеки Sources:
От библиотеки Signal Routing: блок Multiport Switch, чтобы обеспечить простую логику
От библиотеки Sinks: блок Outport, чтобы получить выходной сигнал
Дважды кликните блок Multiport Switch, чтобы получить доступ к его диалоговому окну и задать его опцию Number of data ports как 2
.
Соедините блоки так, чтобы ваша модель была похожа на следующее.
На вкладке Simulation кликните по стреле справа от раздела Prepare и нажмите Model Settings.
В диалоговом окне Configuration Parameters выберите Solver. Под Solver selection, набор опция Type к Fixed-step
, и затем набор опция Solver к discrete (no continuous states)
.
В панели Diagnostics, набор Automatic solver parameter selection к none
.
Нажмите OK, чтобы применить ваши изменения и закрыть диалоговое окно Configuration Parameters.
Сохраните свою модель как ex_defining_params_example
для использования в следующей процедуре.
Параметризуйте блок Constant в своей модели путем определения переменной как значения блока Constant параметр Constant value:
Дважды кликните блок Constant.
В поле Constant value введите A
.
Нажмите OK, чтобы применить ваше изменение и закрыть диалоговое окно параметров блоков Constant.
Сохраните свою модель.
Предварительно загрузите значение переменной A
рабочей области MATLAB® ссылаемый блоком Constant:
На вкладке Modeling выберите Model Settings> Model Properties.
Кликните по вкладке Callbacks.
В PreLoadFcn
, Введите:
A = int8(1);
Нажмите OK, чтобы закрыть диалоговое окно Model Properties и сохранить ваши изменения.
Закройте свою модель.
Откройте свою модель.
Когда вы открываете модель, PreLoadFcn
задает переменную A
из типа int8
чье значение равняется 1.
Используйте Таблицу параметров, чтобы ограничить переменную A
к заданным значениям.
На вкладке Apps кликните по стреле справа от раздела Apps.
Под Model Verification, Validation, and Test нажмите Design Verifier.
На вкладке Design Verifier, в разделе Prepare, в выпадающем меню для настроек режима, нажимают Settings.
В диалоговом окне Configuration Parameters выберите Design Verifier> Parameters.
Выберите Enable parameter configuration.
Выберите Use parameter table.
Нажмите Find in Model.
Таблица параметров заполняется параметрами из вашей модели. Когда возможно, это автоматически генерирует ограничительные значения для каждого параметра, в зависимости от типа данных и местоположения параметра в модели.
В этом случае строка появляется для параметра A
то, что вы задали. Строка таблицы для A
отображения следующая информация:
В столбце Name, название параметра (A
).
В столбце Constraint ограничение задало на параметре A
. Таблица параметров автоматически генерирует ограничительные значения {1, 2}
.
В столбце Value, значении A
в базовом рабочем пространстве. Это значение равняется 1.
В столбце Model Element, компоненте модели, в который A
находится (ex_defining_params_example/Constant
).
В столбце Use, флажок, указывающий, сконфигурированы ли заданные ограничительные значения в таблице для анализа.
В Таблице параметров, в строке для параметра A
, убедитесь, что вы устанавливаете флажок Use.
Когда вы включаете эту настройку параметра, во время анализа Simulink Design Verifier, параметр A
берет только int8
значения 1 и 2.
В диалоговом окне Configuration Parameters нажмите OK.
Сохраните свою модель.
Анализируйте модель с помощью настройки параметра, которую вы только создали, и сгенерируйте аналитический отчет:
На вкладке Design Verifier, в разделе Mode, выбирают Test Generation. Нажмите Generate Tests.
Simulink Design Verifier анализирует вашу модель, чтобы сгенерировать тесты.
Когда программное обеспечение завершит свой анализ в окне Simulink Design Verifier Results Summary, выберите Generate detailed analysis report.
Программное обеспечение отображает отчет HTML под названием ex_defining_params_example_report.html
.
Сохраните окно Results Summary открытым для следующей процедуры.
В Simulink Design Verifier сообщают о Table of Contents, нажимают Test Cases
.
Нажмите Test Case 1
отобразить подраздел для того теста.
Этот раздел предоставляет подробную информацию о Тесте 1, который Simulink Design Verifier сгенерировал, чтобы удовлетворить цели покрытия в модели. В этом тесте, значении 1 для параметра A
удовлетворяет цели.
Прокрутите вниз к разделу Test Case 2 в главе Test Cases.
Этот раздел предоставляет подробную информацию о Тесте 2, который удовлетворяет другой цели покрытия в модели. В этом тесте, значении 2
для параметра A
удовлетворяет цели.
Симулируйте сгенерированные тесты и рассмотрите покрытие, сообщают, что следует из симуляции:
В окне Simulink Design Verifier Results Summary выберите Create harness model.
Программное обеспечение создает и открывает модель тестовой обвязки под названием ex_defining_params_example_harness
.
Блок пометил Inputs в модели тестовой обвязки, блок Signal Builder, который содержит сигналы теста. Дважды кликните блок Inputs, чтобы просмотреть сигналы теста в блоке Signal Builder.
В диалоговом окне Signal Builder нажмите кнопку Run all.
Программное обеспечение Simulink симулирует каждый из тестов по очереди, собирает данные о покрытии для каждой симуляции и отображает отчет HTML объединенных результатов покрытия в конце последней симуляции.
В отчете покрытия модели рассмотрите раздел Summary:
Этот раздел обобщает результаты покрытия для модели тестовой обвязки и ее Тестовой Модульной подсистемы. Заметьте, что подсистема достигает 100% Decision Coverage.
В разделе Summary кликните по Тестовой Модульной подсистеме.
Отчет отображает подробные результаты покрытия для Тестовой Модульной подсистемы.
Этот раздел показывает, что блок Multiport Switch достигает 100% Decision Coverage, потому что тесты осуществляют каждую из трасс переключателя.
Расширьте существующие тесты после применения настроек параметра