Можно протестировать компонент модели в изоляции, или как часть большей модели. Тестирование в изоляции полезно для отладки алгоритма компонента и обеспечения готовности к повторному использованию компонента. При тестировании, когда часть большей модели рассматривает поведение компонента в ответ на конкретные вводы и выводы приложения.
Этой темой является широкий обзор действий верификации, включая инструменты в дополнительных продуктах, которые можно использовать в рабочем процессе верификации.
Эта диаграмма иллюстрирует тестирование верификации компонента в закрытом - и настройки разомкнутого контура.
Выберите свой подход для верификации компонента:
Для симуляций с обратной связью проверьте компонент в контексте его контейнерной модели путем логгирования сигналов к тому компоненту и хранения их в файле данных. Если те сигналы не составляют полный тестовый набор, генерируют модель тестовой обвязки и добавляют или изменяют тесты в Signal Builder.
Для симуляций разомкнутого контура проверьте компонент независимо от контейнерной модели путем извлечения компонента из его контейнерной модели и создания модели тестовой обвязки для извлеченного компонента. Добавьте или измените тесты в Signal Builder и регистрируйте сигналы к компоненту в модели тестовой обвязки.
Подготовьте компонент к верификации.
Создайте и регистрируйте тесты. Можно также объединить данные о тесте в один файл данных.
Файл данных содержит данные о тесте для симуляции компонента. Если вы не можете достигнуть ожидаемых результатов с определенным набором тестов, добавьте новые тесты или измените существующие тесты в файле данных и объедините их в один файл данных.
Продолжите добавлять или изменять тесты, пока вы не достигаете тестового набора, который удовлетворяет целям вашего анализа.
Выполните тесты в программном обеспечении в цикле или процессоре в режиме цикла.
После того, как у вас будет полный тестовый набор, вы можете:
Симулируйте модель и выполните тесты к:
Покрытие записи с помощью Simulink® Coverage™.
Выходные значения записи, чтобы убедиться, что вы получаете ожидаемые результаты.
Вызовите Code Generation Verification (CGV) API, чтобы выполнить сгенерированный код для модели, которая содержит компонент в симуляции, программное обеспечение в цикле (SIL) или процессор в режиме (PIL) цикла.
Примечание
Чтобы выполнить модель в различных режимах выполнения, вы используете API CGV, чтобы проверить числовую эквивалентность результатов. Для получения дополнительной информации о API CGV, смотрите Программируемую Верификацию Генерации кода (Embedded Coder).
Этот рабочий процесс иллюстрирует общие шаги, чтобы протестировать допускающие повторное использование компоненты, такие как:
Блоки Model
Атомарные подсистемы
Stateflow® атомарные субдиаграммы
В зависимости от типа компонента примите одни из следующих мер:
Блоки Model — Открывают модель, на которую ссылаются.
Атомарные подсистемы — Извлечение содержимое подсистемы в ее собственную модель Simulink.
Атомарные субдиаграммы — Извлечение содержимое Stateflow атомарная субдиаграмма в ее собственную модель Simulink.
Создайте модель тестовой обвязки для:
Модель, на которую ссылаются,
Извлеченная модель, которая содержит содержимое атомарной подсистемы или атомарной субдиаграммы
Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.
Регистрируйте входные сигналы от Signal Builder до тестового модуля.
Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.
Объедините данные о тесте в один файл.
В зависимости от ваших целей примите одни из следующих мер:
Выполните тесты к:
Покрытие записи.
Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.
Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели, которая содержит компонент.
Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.
Используйте системный анализ для:
Проверьте блок Model в контексте контейнерной модели блока.
Анализируйте контроллер с обратной связью.
Регистрируйте входные сигналы к компоненту путем симуляции контейнерной модели или анализируйте модель с помощью программного обеспечения Simulink Design Verifier™.
Если вы хотите добавить тесты в свой тестовый набор или изменить существующие тесты, создайте модель тестовой обвязки с регистрируемыми сигналами.
Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.
Регистрируйте входные сигналы от Signal Builder до тестового модуля.
Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.
Объедините данные о тесте в один файл.
В зависимости от ваших целей выполнить одно из следующих действий:
Выполните тесты к:
Покрытие записи.
Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.
Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели.
Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.