Создайте модель для этого примера:
Создайте модель Simulink®.
Скопируйте следующие блоки в свое пустое окно модели:
От библиотеки Sources, блок Inport, чтобы инициировать входной сигнал, чье значение средства управления Simulink Design Verifier™.
От библиотеки Sources, два блока Constant, чтобы служить вводами данных блока switch.
От библиотеки Signal Routing, блок Switch, чтобы обеспечить простую логику.
От библиотеки Sinks, блок Outport, чтобы получить выходной сигнал.
В вашей модели дважды кликните один из блоков Constant и задайте его параметр Constant value как 2
.
Соедините блоки так, чтобы ваша модель казалась похожей на следующую схему.
На вкладке Apps кликните по стреле справа от раздела Apps.
Под Model Verification, Validation, and Test нажмите Design Verifier.
На вкладке Design Verifier, в разделе Prepare, в выпадающем меню для настроек режима, нажимают Settings.
В диалоговом окне Configuration Parameters выберите панель Solver. В Solver selection:
Установите опцию Type на Fixed-step
.
Установите опцию Solver на Discrete (no continuous states)
.
Simulink Design Verifier анализирует только модели, которые используют решатель фиксированного шага.
Нажмите OK, чтобы сохранить ваши изменения и закрыть диалоговое окно Configuration Parameters.
Сохраните свою модель с именем ex_generate_test_cases_example
.
Каждый раз Simulink Design Verifier анализирует модель, прежде чем анализ начнется, программное обеспечение выполняет проверку совместимости. Если ваша модель не совместима, программное обеспечение не может анализировать ее.
Прежде чем вы запустите анализ, можно также убедиться, что модель совместима с программным обеспечением Simulink Design Verifier:
Откройте ex_generate_test_cases_example
модель.
На вкладке Design Verifier нажмите Check Compatibility.
Программное обеспечение отображает логарифмическое окно, которое утверждает, совместима ли ваша модель для анализа.
Модель, которую вы только создали, совместима.
Если проверка совместимости указывает, что ваша модель частично совместима, ваша модель содержит по крайней мере один объект, который не поддерживает Simulink Design Verifier. Можно анализировать частично совместимую модель, но по умолчанию неподдерживаемые объекты погашены. Результаты анализа могут быть неполными.
Для получения дальнейшей информации об автоматическом блокировании, смотрите Несовместимости Указателя с Автоматическим Блокированием.
Сконфигурируйте Simulink Design Verifier, чтобы сгенерировать тесты, которые достигают 100% Decision Coverage для ex_generate_test_cases_example
модель:
Откройте ex_generate_test_cases_example
модель.
На вкладке Design Verifier, в разделе Mode, выбирают Test Generation.
Нажмите Test Generation Settings.
В диалоговом окне Configuration Parameters, на панели Test Generation, устанавливает параметр Model coverage objectives на Decision
.
В данном примере анализ генерирует тесты та запись только Decision Coverage.
Параметр Test suite optimization устанавливается по умолчанию на Auto
. Если вы хотите сгенерировать меньше, но более длинные тесты, выберите LongTestcases
для параметра Test suite optimization.
Нажмите OK, чтобы сохранить ваши изменения и закрыть диалоговое окно Configuration Parameters.
Сохраните ex_generate_test_cases_example
модель.
На вкладке Design Verifier нажмите Generate Tests. Simulink Design Verifier анализирует вашу модель, чтобы сгенерировать тесты.
Во время анализа окно Results Summary показывает прогресс анализа. Это отображает информацию, такую как количество обработанных целей тестирования и каким целям удовлетворяют.
Когда программное обеспечение завершает свой анализ, окно Results Summary отображает эти опции для рассмотрения результатов.
Следующие разделы описывают, как можно рассмотреть результаты анализа:
Подсветите результаты анализа на модели в качестве примера:
В окне Results Summary для ex_generate_test_cases_example
анализ, нажмите Highlight analysis results on model.
Блок Switch подсвечен в зеленом, который указывает, что блок Switch имеет тесты, которые удовлетворяют его целям тестирования.
Окно Simulink Design Verifier Results открывается. Когда вы кликаете по объектам в модели, это окно изменяется, чтобы отобразить результаты детального анализа для того объекта. По умолчанию окно Simulink Design Verifier Results всегда является самым верхним видимым окном. Чтобы позволить окну перемещаться позади другого окна, щелкните и очиститесь Поверх остальных окон.
Кликните по подсвеченному блоку Switch.
Окно Simulink Design Verifier Results указывает, что анализ сгенерировал тесты для обеих целей тестирования:
trigger > threshold
trigger < threshold
Для получения дополнительной информации о подсвеченных результатах анализа на модели, смотрите Подсвеченные Результаты на Модели.
Создайте подробный аналитический отчет HTML:
В окне Simulink Design Verifier Results Summary, в отчете Детального анализа, нажимают HTML.
Отчет HTML открывается в окне браузера.
Отчет включает в себя следующий Table of Contents. Кликните по гиперссылке, чтобы перейти к разделу в отчете.
В Table of Contents нажмите Summary
отобразить Итоговую главу отчета.
Итоговая глава перечисляет информацию о модели и состоянии целей — удовлетворенный или нет.
В Table of Contents нажмите Analysis Information
отобразить главу информации об Анализе.
Глава информации об Анализе предоставляет информацию о:
Модель, которую вы анализировали.
Опции, которые вы задали для анализа.
Приближения программное обеспечение выполняются во время анализа.
В Table of Contents нажмите Test Objectives Status
отобразить главу Состояния Целей тестирования отчета.
Эта таблица показывает, что анализ удовлетворил обеим целям тестирования, сопоставленным блоком Switch в ex_generate_test_cases_example
модель, для которой это сгенерировало два теста.
В соответствии со столбцом таблицы Test Case, нажмите 2
отобразить раздел Test Case 2.
Этот раздел предоставляет подробную информацию о тесте, который анализ сгенерировал, чтобы достигнуть цели в вашей модели. Этот тест достигает цели тестирования 1, когда блок Switch передает свой третий вход его выходному порту. А именно, программное обеспечение решает, что значение –1 для управляющего сигнала блока Switch заставляет блок передавать свой третий вход как блок выход.
Для получения дополнительной информации об отчетах HTML, см. Отчеты Simulink Design Verifier.
Чтобы создать модель тестовой обвязки с тестами, которые удовлетворяют целям тестирования в вашей модели в окне Simulink Design Verifier Results Summary, нажимают Create harness model.
Программное обеспечение создает модель тестовой обвязки под названием ex_generate_test_cases_example_harness
.
Блок Signal Builder под названием Входные параметры содержит тесты. Дважды кликните блок Inputs, чтобы видеть тесты. От блока Signal Builder можно симулировать модель с помощью тестов и представить отчет покрытия модели, как описано в Симулируют Тесты и Представляют Отчет Покрытия модели.
Для получения дополнительной информации о модели тестовой обвязки, смотрите Модели тестовой обвязки Simulink Design Verifier.
Если Анализ Генерирует Много Тестов. Если у вас есть большая модель, анализ может произвести модель тестовой обвязки, которая содержит большое количество тестов.
Выполнить более эффективный анализ и создать более легкие к анализу результаты:
Установите параметр Test suite optimization на LongTestcases
.
Повторно выполните анализ.
В LongTestcases
оптимизация, анализ генерирует меньше, но более длинные тесты, что каждый удовлетворяет нескольким целям тестирования.
Симулировать модель тестовой обвязки с помощью сгенерированных тестов в модели тестовой обвязки:
В модели тестовой обвязки дважды кликните блок Inputs, чтобы открыть диалоговое окно Signal Builder.
В диалоговом окне Signal Builder нажмите Run all.
Программное обеспечение симулирует модель тестовой обвязки с помощью и тестов, собирает информацию покрытия модели и отображает отчет покрытия. Отчет покрытия указывает, что тесты записывают 100% Decision Coverage для ex_generate_test_cases_example
модель.
Можно также симулировать модель, не создавая модель тестовой обвязки. В логарифмическом окне Simulink Design Verifier нажмите Simulate tests and produce a model coverage report.
Для получения дополнительной информации о покрытии модели, см. Отчет Покрытия модели Верхнего уровня (Simulink Coverage).
sldvData
ФайлФайлом данных Simulink Design Verifier является MAT-файл, который содержит структуру под названием sldvData
. Эта структура хранит все данные, которые анализ собирает и производит во время анализа. Можно использовать файл данных, чтобы провести собственный анализ или сгенерировать пользовательский отчет.
Чтобы просмотреть файл данных, кликните по имени файла данных в логарифмическом окне, в этом примере, ex_generate_test_cases_example_sldvdata.mat
. Когда вы кликаете по имени файла, копии sldvData
объект инстанцируют в рабочей области MATLAB® так, чтобы можно было рассмотреть и управлять данными.
Для получения дополнительной информации о файлах данных Simulink Design Verifier, смотрите Файлы данных Simulink Design Verifier.
Пока ваша модель остается открытой, можно просмотреть результаты нового анализа Simulink Design Verifier в окне Results Summary.
На вкладке Design Verifier, в разделе Review Results, нажимают Load Earlier Results или Results Summary, чтобы просмотреть результаты.
Для любого анализа Simulink Design Verifier, из окна Results Summary, можно выполнить эти задачи.
Задача | Для получения дополнительной информации |
---|---|
Подсветите результаты анализа на модели. | Подсвеченные результаты на модели |
Сгенерируйте отчет детального анализа. | Отчеты Simulink Design Verifier |
Создайте модель тестовой обвязки, или если модель тестовой обвязки уже существует, откройте его. Если никакие тесты не были сгенерированы во время анализа, эта опция не доступна. | Модели тестовой обвязки Simulink Design Verifier |
Просмотрите файл данных. | Файлы данных Simulink Design Verifier |
Просмотрите файл журнала. | Файлы журнала Simulink Design Verifier |
После того, как вы закроете свою модель, вы больше не можете просматривать результаты анализа.
Можно использовать блок Test Condition, чтобы ограничить сигналы в модели к определенным значениям во время анализа.
В командной строке MATLAB введите sldvlib
отобразить библиотеку Simulink Design Verifier.
Откройте подбиблиотеку Objectives и Constraints.
Скопируйте блок Test Condition в свою модель путем перетаскивания его от библиотеки Simulink Design Verifier до окна модели.
В окне модели вставьте блок Test Condition между блоки Switch и Inport.
Дважды кликните блок Test Condition, чтобы получить доступ к его атрибутам.
Диалоговое окно параметров блоков Условия испытания открывается.
В поле Values введите [-0.1, 0.1]
. При генерации тестов для этой модели анализ ограничивает значения сигналов, вводя порт управления блока Switch в заданную область.
Нажмите OK, чтобы сохранить ваши изменения и закрыть диалоговое окно параметров блоков Условия испытания.
Сохраните свою модель как ex_generate_test_cases_with_tc_block
и сохраните его открытым.
Анализируйте ex_generate_test_cases_with_tc_block
модель с блоком Test Condition. Чтобы наблюдать, как блок Test Condition влияет на генерацию тестов, сравните результат этого анализа к результату, в котором вы получили, Анализируют Модель В качестве примера.
На вкладке Design Verifier нажмите Generate Tests.
Программное обеспечение Simulink Design Verifier отображает логарифмическое окно и начинает анализировать вашу модель, чтобы сгенерировать тесты. Когда программное обеспечение завершает анализ, окно Results Summary отображает опции для рассмотрения результатов.
В окне Results Summary нажмите HTML Report.
Чтобы начать рассматривать отчет, в Table of Contents, нажимают Summary
.
Итоговая глава указывает, что Simulink Design Verifier удовлетворил двум целям тестирования в модели.
В Table of Contents нажмите Analysis Information
. Прокрутите к нижней части этой главы к разделу Constraints.
Этот раздел перечисляет блок Test Condition, который вы добавили, чтобы ограничить значение управляющего сигнала блока Switch к интервалу [–0.1, 0.1].
В Table of Contents нажмите Test Objectives Status
.
Эта таблица показывает, что Simulink Design Verifier удовлетворил обеим целям тестирования для блока Switch через эти два сгенерированные теста.
В соответствии со столбцом таблицы Test Case, нажмите 1
.
Этот раздел предоставляет подробную информацию о тесте, который программное обеспечение сгенерировало, чтобы достигнуть цели в вашей модели. Этот тест достигает цели тестирования 1, когда блок Switch передает свой третий вход его выходному порту. Несмотря на то, что блок Test Condition ограничивает область входных сигналов к интервалу [–0.1, 0.1], программное обеспечение решает, что значение –0.1 для управляющего сигнала блока Switch удовлетворяет этой цели.
Чтобы подтвердить, что тест достигает 100% Decision Coverage, откройте модель тестовой обвязки.
Дважды кликните блок Inputs, чтобы открыть диалоговое окно Signal Builder.
В диалоговом окне Signal Builder нажмите Run all.
Программное обеспечение Simulink симулирует модель тестовой обвязки с помощью и тестов, собирает информацию покрытия модели и отображает отчет покрытия. Раздел Summary отчета указывает, что Simulink Design Verifier сгенерировал тесты, которые достигают полного Decision Coverage для вашей модели в качестве примера.
Если анализ производит ошибку The model is contradictory in its current configuration
, программное обеспечение обнаружило противоречие в вашей модели и не может анализировать модель.
У вас может быть противоречие, если ваша модель имеет блоки Test Objective неправильными параметрами. Например, противоречие может быть целью, которая утверждает, что сигнал должен быть между 0 и 5, когда сигнал является постоянными 10.
Если программное обеспечение обнаруживает противоречие, все предыдущие результаты делаются недействительным, и программное обеспечение сообщает, что некоторым целям нельзя удовлетворить.