Сгенерируйте тесты для упрощенной модели круиз-контроля

С 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

Решение

  • Тест демонстрирует поведение насыщения интегратора.

  • Удовлетворяет внешним условиям сброса.

Сгенерируйте тесты для анализа покрытия

Результаты анализа дают подробные описания целей покрытия для каждого элемента модели и сгенерированных тестов для всех целей, которым удовлетворяют. Вы симулируете сгенерированные тесты, чтобы измерить покрытие модели.

Шаг 1: сгенерируйте тесты

  1. Откройте модель sldvexSimpleCruiseControl.

  2. На вкладке Design Verifier, в разделе Mode, выбирают Test Generation.

  3. Чтобы сгенерировать тесты, нажмите Generate Tests.

    Окно Results Summary отображает результаты. Результат показывает что весь 14 целями является satisfied.

Шаг 2: рассмотрите результаты анализа

  1. На вкладке Design Verifier, в галерее Review Results, нажимают Highlight in Model. Цели модели, что программное обеспечение, которое, как находят, было удовлетворено, подсвечено в зеленом.

    Кликните по блоку Switch. Окно Result Inspector отображает сводные данные целей решения, которым удовлетворяют.

    Сводные данные показывают, что всем целям блока Switch удовлетворяют.

  2. Чтобы просмотреть отчет HTML, в галерее Review Results, нажимают HTML Report.

    Раздел состояния цели тестирования включает подробные описания целей, которым удовлетворяют, для каждого элемента модели и сгенерированного теста.

Шаг 3: симулируйте тесты для анализа покрытия модели

Чтобы просмотреть тест для цели покрытия модели, в окне Result Inspector, нажимают View test case. Модель тестовой обвязки и блок Signal Builder открываются.

Чтобы симулировать тест, в блоке Signal Builder, нажимают кнопку.

Программное обеспечение симулирует тест и подсвечивает модель тестовой обвязки. Чтобы просмотреть покрытие элементов модели, укажите курсор на каждый объект модели в модели тестовой обвязки.

Смотрите также

|

Похожие темы