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

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

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

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

Этот рисунок иллюстрирует проверку типа «verification» компонента в настройках с закрытой и разомкнутой системами.

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

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

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

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

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

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

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

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

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

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

      • Запись покрытия с помощью Simulink® Coverage™.

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

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

      Примечание

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

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

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

  • Моделируйте блоки

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

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

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

    • Моделировать блоки - Открыть ссылочную модель.

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

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

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

    • Ссылка на модель

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

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

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

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

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

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

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

      • Запись покрытия.

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

    • Активируйте Генерацию кода Верификации (CGV) API, чтобы выполнить тесты в режиме «программное обеспечение в цикл» (SIL) или «процессор в цикл» (PIL) на сгенерированном коде для модели, которая содержит компонент.

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

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

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

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

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

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

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

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

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

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

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

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

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

      • Запись покрытия.

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

    • Активируйте Генерацию кода Верификации (CGV) API, чтобы выполнить тесты в режиме «программное обеспечение в цикл» (SIL) или «процессор в цикл» (PIL) на сгенерированном коде для модели.

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