Верификация компонента

Можно протестировать компонент модели в изоляции, или как часть большей модели. Тестирование в изоляции полезно для отладки алгоритма компонента и обеспечения готовности к повторному использованию компонента. При тестировании, когда часть большей модели рассматривает поведение компонента в ответ на конкретные вводы и выводы приложения.

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

Рабочий процесс для верификации компонента

Эта диаграмма иллюстрирует тестирование верификации компонента в закрытом - и настройки разомкнутого контура.

  1. Выберите свой подход для верификации компонента:

    • Для симуляций с обратной связью проверьте компонент в контексте его контейнерной модели путем логгирования сигналов к тому компоненту и хранения их в файле данных. Если те сигналы не составляют полный тестовый набор, генерируют модель тестовой обвязки и добавляют или изменяют тесты в Signal Builder.

    • Для симуляций разомкнутого контура проверьте компонент независимо от контейнерной модели путем извлечения компонента из его контейнерной модели и создания модели тестовой обвязки для извлеченного компонента. Добавьте или измените тесты в Signal Builder и регистрируйте сигналы к компоненту в модели тестовой обвязки.

  2. Подготовьте компонент к верификации.

  3. Создайте и регистрируйте тесты. Можно также объединить данные о тесте в один файл данных.

    Файл данных содержит данные о тесте для симуляции компонента. Если вы не можете достигнуть ожидаемых результатов с определенным набором тестов, добавьте новые тесты или измените существующие тесты в файле данных и объедините их в один файл данных.

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

  4. Выполните тесты в программном обеспечении в цикле или процессоре в режиме цикла.

  5. После того, как у вас будет полный тестовый набор, вы можете:

    • Симулируйте модель и выполните тесты к:

      • Покрытие записи с помощью Simulink® Coverage™.

      • Выходные значения записи, чтобы убедиться, что вы получаете ожидаемые результаты.

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить сгенерированный код для модели, которая содержит компонент в симуляции, программное обеспечение в цикле (SIL) или процессор в режиме (PIL) цикла.

      Примечание

      Чтобы выполнить модель в различных режимах выполнения, вы используете API CGV, чтобы проверить числовую эквивалентность результатов. Для получения дополнительной информации о API CGV, смотрите Программируемую Верификацию Генерации кода (Embedded Coder).

Протестируйте компонент в изоляции

Этот рабочий процесс иллюстрирует общие шаги, чтобы протестировать допускающие повторное использование компоненты, такие как:

  • Блоки Model

  • Атомарные подсистемы

  • Stateflow® атомарные субдиаграммы

  1. В зависимости от типа компонента примите одни из следующих мер:

    • Блоки Model — Открывают модель, на которую ссылаются.

    • Атомарные подсистемы — Извлечение содержимое подсистемы в ее собственную модель Simulink.

    • Атомарные субдиаграммы — Извлечение содержимое Stateflow атомарная субдиаграмма в ее собственную модель Simulink.

  2. Создайте модель тестовой обвязки для:

    • Модель, на которую ссылаются,

    • Извлеченная модель, которая содержит содержимое атомарной подсистемы или атомарной субдиаграммы

  3. Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.

  4. Регистрируйте входные сигналы от Signal Builder до тестового модуля.

  5. Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.

  6. Объедините данные о тесте в один файл.

  7. В зависимости от ваших целей примите одни из следующих мер:

    • Выполните тесты к:

      • Покрытие записи.

      • Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели, которая содержит компонент.

Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.

Протестируйте блок Model, включенный в большую модель

Используйте системный анализ для:

  • Проверьте блок Model в контексте контейнерной модели блока.

  • Анализируйте контроллер с обратной связью.

  1. Регистрируйте входные сигналы к компоненту путем симуляции контейнерной модели или анализируйте модель с помощью программного обеспечения Simulink Design Verifier™.

  2. Если вы хотите добавить тесты в свой тестовый набор или изменить существующие тесты, создайте модель тестовой обвязки с регистрируемыми сигналами.

  3. Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.

  4. Регистрируйте входные сигналы от Signal Builder до тестового модуля.

  5. Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.

  6. Объедините данные о тесте в один файл.

  7. В зависимости от ваших целей выполнить одно из следующих действий:

    • Выполните тесты к:

      • Покрытие записи.

      • Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели.

Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.