exponenta event banner

Проверка компонентов

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

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

Поток операций для проверки компонентов

На этом рисунке показано тестирование проверки компонентов в конфигурациях с замкнутым и разомкнутым контуром.

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

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

    • Для моделирования с разомкнутым контуром проверьте компонент независимо от модели контейнера путем извлечения компонента из модели контейнера и создания модели электрического жгута для извлеченного компонента. Добавьте или измените тестовые примеры в построителе сигналов и запишите сигналы в компонент модели кабельных трасс.

  2. Подготовка компонента к проверке.

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

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

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

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

  5. После получения полного набора тестов можно:

    • Смоделировать модель и выполнить тесты для:

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

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

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

      Примечание

      Для выполнения модели в различных режимах выполнения используется API CGV для проверки числовой эквивалентности результатов. Дополнительные сведения о CGV API см. в разделе Программная проверка генерации кода (встроенный кодер).

Тестирование изолированного компонента

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

  • Блоки модели

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

  • Атомные подшарты Stateflow ®

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

    • Блоки модели - открытие ссылочной модели.

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

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

  2. Создание модели кабельных трасс для:

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

    • Извлеченная модель, содержащая содержимое атомной подсистемы или атомной подшарницы

  3. Добавьте или измените контрольные примеры в построителе сигналов в модели кабельных трасс.

  4. Запишите входные сигналы из Signal Builder в блок тестирования.

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

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

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

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

      • Рекордное покрытие.

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

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

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

Тестирование блока модели, включенного в большую модель

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

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

  • Анализ контроллера с замкнутым контуром.

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

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

  3. Добавьте или измените контрольные примеры в построителе сигналов в модели кабельных трасс.

  4. Запишите входные сигналы из Signal Builder в блок тестирования.

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

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

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

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

      • Рекордное покрытие.

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

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

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