exponenta event banner

Повторное использование тестов рабочего стола для тестирования в режиме реального времени

Преобразование тестовых примеров для настольных ПК в режим реального времени

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

  1. Создайте тестовый пример базовой линии, эквивалентности или моделирования с внешними входами. Для тестов базовой структуры добавьте данные базовой структуры из внешних файлов.

  2. В диспетчере тестов выберите тестовый пример в обозревателе тестов.

  3. Скопируйте тестовый пример. Щелкните правой кнопкой мыши тестовый пример и выберите Копировать.

  4. Вставьте новый тестовый пример в набор тестов.

  5. Переименуйте новый тестовый пример.

  6. Щелкните правой кнопкой мыши новый тестовый пример и выберите Преобразовать в > Испытание в реальном времени. Для тестов эквивалентности выберите моделирование (моделирование 1 или моделирование 2), которое будет выполняться в реальном времени.

  7. Выберите параметры «Целевой компьютер» и «Загрузить приложение из».

  8. Убедитесь, что настройки модели совместимы с выполнением теста в реальном времени. Дополнительные сведения см. в разделе Требования к компьютеру для разработки (Simulink Real-Time).

Использование внешних данных для тестов в режиме реального времени

Управление входными данными тестирования можно упростить путем определения входных данных во внешнем файле MAT или Excel ®. Сопоставьте данные с корневыми входами модели или тестовым кабельным жгутом для моделирования на рабочем столе. При преобразовании тестового случая моделирования рабочего стола в тест в режиме реального времени в тестовом случае используется такое же сопоставление входных данных.

Использование внешних данных зависит от способа загрузки тестового примера приложения в режиме реального времени:

Загрузка приложения реального времени из модели

При использовании внешних данных для тестирования в реальном времени загрузка приложения в реальном времени из модели позволяет использовать файл Excel, MAT-файл или CSV-файл. Внешние данные встроены в приложение, и приложение можно повторно запустить с целевого приложения или целевого компьютера.

В разделе «Тестируемая система» задайте загрузку приложения из Model. В разделе «Входные данные» теста нажмите кнопку «Добавить» и выберите файл Excel, MAT-файл или CSV-файл. Сопоставьте данные с вводами модели. Дополнительные сведения о сопоставлении входных данных см. в разделе Запуск тестов с использованием внешних данных.

Загрузка приложения в реальном времени с целевого приложения или целевого компьютера

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

Внешние данные можно сопоставить с тестовым примером, загруженным из целевого приложения или целевого компьютера, без предварительного запуска из модели. Внешние данные должны находиться в файле MAT в том же формате, который используется при загрузке теста из модели. В разделе «Тестируемая система» выберите загрузку приложения из Target Application или Target Computer. В разделе «Входные данные» нажмите кнопку «Добавить» и выберите файл MAT. Строка ввода не является редактируемой.

Пример

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

  1. Откройте тестовый файл.

    tf = sltest.testmanager.TestFile(fullfile(matlabroot,'examples',...
    'simulinktest','sltestTestCaseRealTimeReuseExample.mldatx'));
    sltest.testmanager.load(tf.Name);
    sltest.testmanager.view;

    Тестовый файл выполняет алгоритм контроллера сдвига передачи через четыре итерации, каждая из которых соответствует различным сценариям тестирования: прохождение, постепенное ускорение, жесткое торможение и накат. Имеются базовые данные, связанные с каждым сценарием для сигналов. vehicle speed и output torque.

  2. Запустите базовый тест.

  3. В области результатов «Критерии опорной структуры» выберите output torque под Passing для просмотра результатов сравнения. Passing результат не получается из-за переходных сигналов, которые выходят за пределы относительного допуска.

  4. Предположим, что эти переходные сигналы не являются значимыми, и обновите базовые данные:

    1. Щелкните Следующий сбой (Next Failure). Первая область отказа ограничена курсорами данных.

    2. Щелкните Обновить опорную структуру (Update Baseline) > Заменить сегмент сигнала в файле опорной структуры (Replace Signal Segment in Baseline Filefrom) и подтвердите перезапись данных.

    3. Повторите этот процесс для двух других областей отказа.

  5. Скопируйте и преобразуйте базовый тестовый пример в тест в реальном времени:

    1. В обозревателе тестов щелкните правой кнопкой мыши на элементе «Baseline Test» и выберите «Copy».

    2. Вставьте новый тестовый пример в набор тестов.

    3. Переименование нового варианта тестов RT Baseline Test.

    4. Щелкните правой кнопкой мыши RT Baseline Test и выберите «Преобразовать в > Тест в реальном времени».

  6. Запустите тестовый случай в реальном времени:

    1. Установите целевой компьютер.

    2. Установить тестируемую систему на нагрузку от Model.

    3. Запустить RT Baseline Test тестовый случай.

  7. В этом примере несколько сценариев не выполняются из-за влияния синхронизации на вывод данных. Например, в HardBrake итерация, vehicle speed после применения тормоза выходной сигнал выходит за пределы относительного допуска. Чтобы устранить эту ошибку, можно:

    • Увеличьте относительный допуск для теста в реальном времени.

    • Создайте отдельный набор базовых данных для теста в реальном времени.

Связанные темы