С Simulink® Design Verifier™ можно сгенерировать тесты для покрытия модели и пользовательских целей. Можно также измерить покрытие существующих основанных на требованиях тестов и расширить эти тесты, чтобы увеличить покрытие или достигнуть полного охвата.
Этот пример объясняет упрощенную модель круиз-контроля, которая контролирует скорость дросселя. Вы генерируете тесты, которые удовлетворяют целям покрытия условия и модели выбора решения и затем, симулируют эти тесты, чтобы сгенерировать отчет покрытия модели.
Рассмотрите упрощенную модель круиз-контроля, которая настраивает дроссель, чтобы обеспечить устойчивую скорость, как установлено скоростью набора.
Эта модель круиз-контроля удовлетворяет эти требования:
Система управления активируется когда engage
и enable
сигналами является true
. Это условие задано блоком AND.
Когда система активируется, блок Switch передает set speed
к ПИ-контроллеру. ПИ-контроллер вычисляет throttle
путем интеграции остаточного члена, заданного различием set speed - current speed
.
Throttle
продолжает увеличиваться или уменьшаться до set speed
выше или ниже, чем current speed
.
Когда система не активируется, сброс блока Discrete-Time Integrator. Остаточным членом является zero
, что означает throttle
находится в положении сброса.
Когда вы выполняете анализ генерации тестов, Simulink Design Verifier генерирует тесты для целей покрытия модели, сопоставленных с каждым элементом модели в модели. Таблица приводит условие и цели Decision Coverage для связанных блоков модели. Для получения дополнительной информации о целях покрытия модели смотрите Цели Покрытия модели для Генерации тестов и Объектов модели, Которые Получают Покрытие (Simulink Coverage).
Блок | Цель покрытия модели | Сгенерированное описание теста |
---|---|---|
AND | Условие | Каждое входное значение установлено в TRUE или FALSE независимо. |
NOT | Условие | Вход установлен в TRUE или FALSE независимо. |
Switch | Решение | Тест демонстрирует, что Switch передает обоих входные сигналы, чтобы вывести. |
Discrete-Time Integrator | Решение |
|
Результаты анализа дают подробные описания целей покрытия для каждого элемента модели и сгенерированных тестов для всех целей, которым удовлетворяют. Вы симулируете сгенерированные тесты, чтобы измерить покрытие модели.
Откройте модель sldvexSimpleCruiseControl.
На вкладке Design Verifier, в разделе Mode, выбирают Test Generation.
Чтобы сгенерировать тесты, нажмите Generate Tests.
Окно Results Summary отображает результаты. Результат показывает что весь 14
целями является satisfied
.
На вкладке Design Verifier, в галерее Review Results, нажимают Highlight in Model. Цели модели, что программное обеспечение, которое, как находят, было удовлетворено, подсвечено в зеленом.
Кликните по блоку Switch. Окно Result Inspector отображает сводные данные целей решения, которым удовлетворяют.
Сводные данные показывают, что всем целям блока Switch удовлетворяют.
Чтобы просмотреть отчет HTML, в галерее Review Results, нажимают HTML Report.
Раздел состояния цели тестирования включает подробные описания целей, которым удовлетворяют, для каждого элемента модели и сгенерированного теста.
Чтобы просмотреть тест для цели покрытия модели, в окне Result Inspector, нажимают View test case. Модель тестовой обвязки и блок Signal Builder открываются.
Чтобы симулировать тест, в блоке Signal Builder, нажимают кнопку.
Программное обеспечение симулирует тест и подсвечивает модель тестовой обвязки. Чтобы просмотреть покрытие элементов модели, укажите курсор на каждый объект модели в модели тестовой обвязки.
Панель верификатора проекта: генерация тестов | Главы состояния целей