Создайте тестовую обвязку

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

  • Вы можете модульный тест подсистема путем изоляции его от остальной части модели.

  • Можно создать сценарий тестирования с обратной связью для контроллера путем добавления модели объекта управления в тестовую обвязку.

  • Можно сохранить основную модель clear ненужных блоков верификации путем размещения Model Verification и блоков Test Assessment в тестовой обвязке.

Чтобы присвоить тестовую обвязку тесту, выберите Test Harness в разделе System Under Test менеджера по Тесту.

Можно сохранить обвязку с моделью, или можно сохранить его во внешнем файле. Если ваша модель находится под управлением изменениями, рассмотрите сохранение тестовой обвязки во внешнем файле. Обвязка работает то же самое, является ли это внутренним или внешним к модели. Для получения дополнительной информации смотрите, Управляют Тестовыми обвязками и Синхронизируют Изменения Между Тестовой обвязкой и Моделью.

Создайте обвязку

В этом примере вы создаете обвязку, чтобы протестировать shift_logic подсистема sltestCarRootInport модель.

  1. Откройте модель sltestCarRootInport от папки matlab/examples/simulinktest/main.

  2. Щелкните правой кнопкой по shift_logic подсистеме. Из контекстного меню выберите TestHarness> Create for 'shift_logic'.

  3. В диалоговом окне Create Test Harness задайте входные параметры, выходные параметры и другие опции:

    1. Используйте блоки Constant, чтобы обеспечить входные сигналы. Под Sources and Sinks, набор источник к Constant и приемник к Scope.

    2. Оставьте другие опции с их выборами по умолчанию. По умолчанию:

      • Обвязка сохраняет с файлом модели.

      • Обвязка синхронизируется с моделью на открытом, что означает, что изменения в модели обновляют обвязку.

  4. Нажмите OK, чтобы создать тестовую обвязку.

Test harness showing the throttle and speed inputs connected to a routing subsystem. The subsystem connects to the shift logic block, and the block connects to another routing subsystem, which then connects to the scope.

В центре обвязки копия shift_logic подсистема. shift_logic подсистема является компонентом под тестом.

Две вертикальных подсистемы содержат спецификацию сигнала и маршрутизацию. Для получения дополнительной информации об архитектуре тестовой обвязки смотрите Конструкцию Тестовой обвязки для Определенных Элементов модели. Для получения информации о настройке настроек обвязки по умолчанию, когда вы создаете новую обвязку, смотрите, Настраивают Значения свойств Значения по умолчанию Создания Тестовой обвязки.

Симулируйте тестовую обвязку

Присвойте значения блокам Constant, чтобы протестировать компонент:

  1. Измените значение блока скорости к 50.

  2. Измените значение блока дросселя к 30.

  3. Нажмите Run во вкладке Simulation, чтобы симулировать обвязку.

  4. Откройте осциллограф и посмотрите на результат. Контроллер сдвига выбирает третий механизм.

    Output showing very short amounts of time in first and second gear and a significant amoutn of time in third gear.

Тест Используя менеджера по тесту

В предыдущем случае вы предоставили тестовые воздействия блоки Constant. Можно также использовать тестовые воздействия из внешних файлов данных.

  1. Создайте тестовую обвязку, которая использует источники Inport.

  2. Создайте тест, который использует тестовую обвязку в качестве System Under Test.

  3. Сопоставьте внешние входные параметры с тестом.

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

  1. Чтобы открыть менеджера по Тесту, на вкладке Apps, под Model Verification, Валидация и Тест, нажимают Simulink Test. Затем на вкладке Tests нажмите Simulink Test Manager.

  2. Выберите New> Test File от менеджера по Тесту Панель инструментов.

  3. Назовите файл ShiftLogicTest.

  4. Выберите New Test Case 1. В разделе System Under Test нажмите Use current model .

  5. Для Test Harness выберите ShiftLogic_InportHarness из выпадающего списка. Тестовая обвязка уже существует в модели.

  6. В разделе Inputs нажмите Create. Назовите файл входных данных shift_logic_input и выберите формат файла MAT.

  7. В Редакторе Сигнала введите значения для входных параметров:

    1. Выберите speed, сигнализируют и вводят 50 в течение многих времен 0 и 30. Нажмите Apply, чтобы обновить график.

    2. Выберите throttle, сигнализируют и вводят 30 в течение многих времен 0 и 30. Нажмите Apply, чтобы обновить график.

      Speed plot showing constant value of 50 and throttle plot showing constant value of 30.

    3. Нажмите Save в панели инструментов редактора сигнала.

  8. Выберите выходные данные, чтобы получить.

    1. В разделе Simulation Outputs менеджера по Тесту нажмите Add.

    2. В блок-схеме тестовой обвязки выберите gear сигнальная линия. Выберите сигнал в диалоговом окне Connect.

    3. Нажмите Done, чтобы добавить сигнал в тест выходные параметры.

  9. Нажмите Run в менеджере по тесту панель инструментов.

  10. Расширьте результаты и подсветите сигнал механизма выход. График показывает, что контроллер выбирает третий механизм.

    Plot of the gear output from the controller

Смотрите также

Похожие темы