Можно использовать Simulink® Test™ для функционально тестовых моделей и кода. Прежде чем вы создадите тест, рассмотрите:
Какой компонент модели или компонент модели вы тестируете?
Компонент интегрирует код, такой как использование блока C Caller?
Необходимо ли запустить тест в нескольких средах, таких как использование сгенерированного кода на внешней цели?
Какова цель тестирования? Например, вам нужны верификация требований, сравнение данных или быстрый тест вашего проекта?
Ваш тест использует несколько параметрических значений?
Вы требуете результатов покрытия?
Можно протестировать целую модель, или можно фокусироваться на компоненте модели. Можно создать тест для целой модели или использовать тестовую обвязку.
Тестовая обвязка позволяет вам изолировать целую модель для тестирования. Можно добавить блоки верификации и логику к тестовой обвязке, чтобы сохранить основную модель clear. Можно также добавить другие модели, которые симулируют среду.
Тестовая обвязка позволяет вам изолировать компонент модели от основной модели для модульного тестирования. Для получения информации смотрите, Создают Тестовую обвязку.
Тестовая обвязка сопоставлена с блоком или целой моделью. Тестовая обвязка содержит копию блока или ссылки на модель и вводов и выводов, помещенных для тестирования. Можно добавить другие блоки в тестовую обвязку. Можно сохранить обвязку с файлом модели, или можно сохранить его в файле, отдельном от модели. Тестовая обвязка работает то же самое, является ли это внутренним или внешним к модели. Можно также задать, синхронизировать ли изменения между моделью и тестовой обвязкой.
Рисунок показывает пример тестовой обвязки. Компонент под тестом является блоком shift_logic, который копируется с основной модели во время создания обвязки. Копия блока shift_logic соединяется с основной моделью. Входные параметры являются блоками Inport, и выход является блоком Outport. Вертикальные подсистемы содержат блоки спецификации сигнала и маршрутизацию, которая соединяет интерфейс компонента с вводами и выводами.
Прежде чем вы создадите тестовую обвязку, решите, сохранить ли обвязку с моделью и как синхронизировать обвязку с моделью. Для получения дополнительной информации смотрите Тестовую обвязку и Отношение Модели и Синхронизируйте Изменения Между Тестовой обвязкой и Моделью.
Прежде чем вы создадите свой тест, изучите ваши цели.
Можно оценить, ведет ли модель себя согласно требованиям. Например, предположите, что ваши требования утверждают, что передача должна переключить скорости на определенных скоростях. Создайте тест для моделей контроллеров передачи или создайте тестовую обвязку для компонента контроллера. Проверьте, удовлетворяет ли модель требования:
Авторская разработка операторов verify в модели или тестовой обвязке.
Включая Model Verification Блоки блокируется в модели или тестовой обвязке.
Получение симуляции выход в тесте и сравнение симуляции выход к базовым данным.
Запустите тест и получите результаты в менеджере по Тесту. Можно соединить тест с требованиями, созданными в Simulink Requirements™, собрать покрытие с Simulink Coverage™ и добавить тесты для большего количества сценариев. Для примера смотрите Тестовые Точки Включения понижающей передачи Контроллера Передачи.
Используя менеджера по Тесту, можно сравнить результаты симуляции с базовыми данными, или с другой симуляцией. В любом случае необходимо задать сигналы получить.
В базовом тесте установите базовые данные, которые являются ожидаемыми выходными параметрами. Можно задать базовые данные вручную, импортировать базовые данные от Excel® или файла MAT, или собрать базовые данные от симуляции.
В эквивалентном тестировании вы сравниваете две симуляции, чтобы видеть, эквивалентны ли они. Например, можно сравнить результаты двух решателей или сравнить результаты симуляций в нормальном и программного обеспечения в режиме (SIL) цикла. Исследуйте удар различных значений параметров или калибровочных наборов данных путем запущения последовательных тестов. Для примера смотрите Тест Две Симуляции для Эквивалентности.
Для тестов сравнения можно принять результаты, которые находятся в пределах технически приемлемого различия путем определения допусков времени или значения. Можно задать этот допуск, прежде чем вы запустите тест, или просмотрите результаты и настроите допуск позже. Для получения дополнительной информации смотрите Установленные Погрешности Сигнала.
В случаях, где ваш тест только требует, чтобы модель симулировала без ошибок, можно запустить тест симуляции. Тесты симуляции полезны, если ваша модель находится все еще в разработке, или если у вас есть существующая тестовая модель, которая содержит входные параметры и оценки и регистрирует соответствующие данные. Используя менеджера по Тесту, чтобы запустить тесты симуляции позволяет вам управлять многочисленными тестами и получать и систематически управлять результатами.
По умолчанию запущение теста в менеджере по Тесту отключает точки останова для Simulink, Stateflow® и блоков Test Sequence. Используйте Run with Stepper в менеджере по Тесту, чтобы запустить тест в степпере симуляции и использовать точки останова.
Обратите внимание на то, что Simulink и точки останова Stateflow не поддерживаются при запущении теста от менеджера по Тесту. Можно нажать кнопку Run with Stepper в менеджере по Тесту, запустить тест и использовать точки останова со степпером симуляции.
Можно настроить тест, чтобы запустить другие релизы MATLAB®, который вы установили, начиная с R2011b. Эта возможность позволяет вам запустить тесты в релизах, которые не имеют Simulink Test. Можно запустить тот же тест в нескольких релизах, чтобы проверить, что он передает в каждом из них. Для получения дополнительной информации смотрите Запущенные Тесты в Нескольких Релизах MATLAB.
Можно проверить выход сгенерированного кода путем выполнения компенсационных симуляций в модели и SIL (программное обеспечение в цикле) или PIL (процессор в цикле) режим. Тот же компенсационный тест может запустить несколько сценариев тестирования путем итерации по различным тестовым векторам, заданным в файле Excel или MAT. Можно применить допуски к результатам, чтобы допускать технически приемлемые различия между типовым кодексом и сгенерированным кодом. Допуски могут включать приемлемые различия для значений и синхронизации, которая может применяться с оборудованием, запускающимся в режиме реального времени. Вы не можете использовать режим SIL или PIL в моделях Subsystem.
С Simulink Real-Time™ можно включать эффекты физических объектов, сигналов и встроенного оборудования путем выполнения тестов в HIL (оборудование в цикле) режим на целевом компьютере в реальном времени. Путем запущения базового теста в режиме реального времени, можно сравнить результаты с известными хорошими данными. Можно также запустить компенсационный тест между моделью, SIL, или PIL и симуляцией в реальном времени. В любом случае менеджер по Тесту позволяет выбор целевого компьютера, сконфигурированного с Simulink Real-Time. Можно только выполнить Программно-аппаратные тестирования в реальном времени на целевых компьютерах с помощью Simulink Real-Time.
Можно управлять параметрами и параметрами конфигурации от менеджера по Тесту, например, чтобы исследовать проектные решения или выполнить итерации по калибровочным наборам, решателям и настройкам типа данных. Можно создать наборы параметров интереса и заменить значения, когда каждая итерация запускается. Можно также выполнить развертки параметра путем записи более комплексных скриптов непосредственно в менеджере по Тесту.
С Simulink Coverage можно собрать данные о покрытии, чтобы помочь определить количество степени, до которой тестируются модель или код. Когда вы настраиваете набор покрытия для своего тестового файла, результаты испытаний включают покрытие для системы под тестом и, опционально, модели, на которые ссылаются. Можно задать метрики покрытия, чтобы возвратиться. Покрытие не поддерживается для блоков PIL или SIL.
Если ваши результаты показывают неполное покрытие, можно увеличить покрытие на:
Добавление тестов вручную к тестовому файлу.
Генерация тестов, чтобы увеличить покрытие, с Simulink Design Verifier™. Можно сгенерировать тесты от менеджера по Тесту результаты.
В любом случае можно соединить новые тесты с требованиями. Это требуется для определенных сертификаций.
Итерация является изменением теста, который использует определенный набор данных. Например, предположите, что у вас есть несколько наборов входных данных. Можно настроить одну итерацию теста для каждого внешнего входного файла, где в противном случае тесты являются тем же самым. Можно также задать наборы параметров и заменить значения в итерациях. Другой способ заменить параметры использует заданные сценарием развертки параметра, которые позволяют вам выполнить итерации через многие значения.
Когда вы проектируете свой тест, вы решаете, хотите ли вы несколько тестов или итераций того же теста. Одно преимущество использования итераций состоит в том, что можно запуститься тесты с помощью быстро перезапускают. Итерации целесообразны, если вы изменяете только параметры, входные параметры или параметры конфигурации, но в противном случае тесты являются тем же самым. Используйте отдельные тесты, если вам нужно независимое управление конфигурацией, или каждый тест относится к различному требованию.
Для получения дополнительной информации об итерациях смотрите Тестовые Итерации.