Протестируйте итерации

Можно запустить тот же тест с различными данными или конфигурациями модели при помощи итераций теста. Итерации могут использовать отличающийся:

  • Параметры.

  • Внешние входные параметры.

  • Конфигурации модели.

  • Сценарии Signal Editor.

  • Группы Signal Builder.

  • Базовые данные.

Настройте итерации в разделе Iterations теста. Можно использовать табличные итерации или заданные сценарием итерации. Если тест собирает покрытие с помощью Simulink® Coverage™, те же настройки покрытия применяются ко всем итерациям в тесте.

Используете ли вы таблицу или заданные сценарием итерации, вы видите итерации в тесте путем нажатия кнопки Show Iterations.

Создайте табличные итерации

Table Iterations обеспечивает быстрый способ добавить основанные на итерациях элементы в вашем или тесте модели. Чтобы создать итерации с таблицей, сначала сделайте соответствующие столбцы видимыми:

  1. Расширьте раздел Iterations > Table Iterations.

  2. В таблице добавьте или удалите столбцы путем нажатия кнопки и выбора элементов в списке. Например, чтобы отобразить параметр и конфигурации модели, выберите элементы Configuration Set и Parameter Set.

Добавьте итерации вручную

  1. Чтобы вручную добавить итерации, нажмите Add. Таблица показывает новую строку итерации.

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

Сгенерируйте табличные итерации

Можно также автоматически сгенерировать итерации из данных в тесте и модели:

  1. Нажмите кнопку Auto Generate.

  2. Выберите элементы, чтобы сгенерировать итерации.

    Если вы выбираете несколько элементов, итерации создаются в последовательных соединениях. Например:

    • Модель sldemo_autotrans имеет блок Signal Builder с четырьмя группами сигнала, пометил S1, S2, S3 и S4.

    • Тест имеет три набора параметра, пометил P1, P2 и P3.

    • Автоматически генерирующие итерации от групп Signal Builder и параметра устанавливают результаты в трех итерациях. Итерации ограничиваются тремя наборами параметра. Каждая итерация содержит одну группу Signal Builder и один набор параметра. Группа Signal Builder и набор параметра являются соответствующими в порядке, что они перечислены в блоке Signal Builder и разделе набора параметра.

  3. Задайте дополнительное правило именования для итераций. В поле Iteration naming rule введите использование правила:

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

    • Подчеркивание или пробел, чтобы разделить каждую установку

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

Разделите опциюЦель

Группа Signal Builder

Применяется к разделу Inputs симуляции, базовой линии или эквивалентного теста, для заданного Signal Builder Group. Каждая группа Signal Builder используется, чтобы сгенерировать итерацию.

Сценарий Редактора сигнала

Применяется к разделу Inputs симуляции, базовой линии или эквивалентного теста, для заданного Signal Editor Scenario. Каждый сценарий Редактора Сигнала используется, чтобы сгенерировать итерацию.

Набор параметра

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

Внешний вход

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

Конфигурация модели

Применяется к разделу Configuration Setting Overrides симуляции, базовой линии или эквивалентного теста. Каждая итерация использует заданный параметр конфигурации.

BaseLine

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

Симуляция 1 или 2

Применяется только к эквивалентным типам теста. Наверху диалогового окна Auto Generate Reports существует меню для Simulation 1 или Simulation 2. Эти разделы соответствуют двум разделам симуляции в эквивалентном тесте.

Создайте итерации в виде сценария

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

Компоненты скрипта итерации

Скрипт итерации должен содержать определенные компоненты. Самый основной скрипт итерации содержит три элемента:

  1. Объект итерации, созданное использование sltestiteration.

  2. Установка итерации, набор с помощью setTestParam.

  3. Регистрация итерации, добавленное использование addIteration.

Например, этот скрипт создает итерацию, которая запускает одну группу сигнала от блока Signal Builder.

%% Iterate Using a Signal Builder Group
 
% Set up a new iteration object
testItr = sltestiteration;

% Set iteration setting using Signal Builder group
setTestParam(testItr,'SignalBuilderGroup',...
   sltest_signalBuilderGroups{1});

% Add the iteration to run in this test case
% The predefined sltest_testCase variable is used here
addIteration(sltest_testCase,testItr);

Для получения дополнительной информации о тестовом классе итерации, смотрите sltest.testmanager.TestIteration. Можно выполнить итерации по нескольким элементам, таким как группы Signal Builder. Можно выполнить итерации по всем группам Signal Builder в блоке путем помещения основного скрипта итерации в цикл:

%% Iterate Over All Signal Builder Groups
 
% Determine the number of possible iterations
numSteps = length(sltest_signalBuilderGroups);
 
% Create each iteration
for k = 1 : numSteps
    % Set up a new iteration object
    testItr = sltestiteration;
 
    % Set iteration settings
    setTestParam(testItr,'SignalBuilderGroup',sltest_signalBuilderGroups{k});
 
    % Add the iteration to run in this test case
    % You can pass in an optional iteration name
    addIteration(sltest_testCase,testItr);
end

Предварительно определенные переменные

Можно использовать предварительно определенные переменные, чтобы записать скрипты итераций. Чтобы видеть список предварительно определенных переменных в менеджере по Тесту, расширьте раздел Help on creating test iterations. Вы написали скрипт итераций в поле скрипта в разделе Scripted Iterations. Поле скрипта является функциональной рабочей областью, что означает, что базовое рабочее пространство MATLAB® не может получить доступ к информации от поля скрипта. Если вы задаете переменные в поле скрипта, то другие рабочие области не могут использовать переменную.

Предварительно определенные переменные:

  • sltest_bdroot — Модель симулирована тестом, заданным как строка

  • sltest_sut — Система Под Тестом, заданным как строка

  • sltest_isharness TRUE если sltest_bdroot модель тестовой обвязки, заданная как логическое

  • sltest_externalInputs — Имя внешних входных параметров, заданных как массив ячеек строк

  • sltest_parameterSets — Имя параметра заменяет наборы, заданные как массив ячеек строк

  • sltest_configSets — Имя параметров конфигурации, заданных как массив ячеек строк

  • sltest_tableIterations — Объекты итерации создаются в таблице итераций, заданной как массив ячеек sltest.testmanager.TestIteration объекты

  • sltest_testCase — Текущий объект теста, заданный как sltest.testmanager.TestCase объект

Шаблоны итерации в виде сценария

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

Например, если вы хотите запустить все группы Signal Builder в итерации в виде сценария:

  1. Нажмите Iteration Templates.

  2. Выберите настройки теста, которых вы хотите выполнить итерации через. Нажмите OK.

    Скрипт сгенерирован и добавлен к полю скрипта ниже любых существующих скриптов.

  3. Чтобы сгенерировать таблицу, которая дает предварительный просмотр итераций, которые выполняются, когда вы запускаете тест, нажмите Show Iterations.

Соберите базовые данные от итераций

В этом примере показано, как создать базовый тест путем собирания данных от теста с табличными итерациями. Вы создаете итерации из сценариев Редактора Сигнала в модели. Прежде, чем запустить пример, перейдите к перезаписываемой папке на пути MATLAB®.

1. Откройте модель. В командной строке войти

Model = 'sltestCar';
open_system(Model);

2. Откройте менеджера по Тесту и создайте тестовый файл. В командной строке введите sltestmgr

3. В менеджере по Тесту нажмите Test File from Model от Нового выпадающего.

4. Задайте тестовый файл.

  1. Введите sltestCar как Модель.

  2. Введите имя тестового файла или полный путь в Месте.

  3. Выберите Baseline как тестовый тип.

5. Выберите тест. Расширьте тестовый файл и выберите sltestCar/Inputs тест.

6. Выберите сигналы для базовых данных:

  1. В разделе Simulation Outputs нажмите Add.

  2. В холсте модели выберите output torque предупредите и в диалоговом окне Подключения, установите флажок для того сигнала. Выберите vehicle speed предупредите и установите его флажок в диалоговом окне.

  3. В Тесте менеджер передает диалоговое окно, нажимает Done.

  4. Сигналы появляются в таблице Logged Signals.

7. Просмотрите итерации для теста:

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

8. Соберите базовые данные для итераций:

  1. В разделе Baseline Criteria кликните по стреле рядом с Получением.

  2. Выберите MAT как Формат файла.

  3. Задайте местоположение, чтобы сохранить базовые файлы данных в поле File.

  4. Выберите Capture Baselines for Iterations.

  5. Нажмите Capture.

Модель симулирует для всех сценариев Редактора Сигнала. Базовые данные для output_torque и vehicle_speed получены в четырех файлах MAT. Кроме того, каждый базовый набор данных добавляется к своим соответствующим итерациям в таблице.

Развернитесь через набор параметров

Итерации в виде сценария могут использоваться, чтобы протестировать модель путем развертки через набор параметров. Можно использовать этот скрипт, чтобы попробовать различные значения за параметр рабочего пространства модели Iei в модели sltestCar. Добавьте скрипт под Iterations> Scripted Iterations.

%% Iterate over Iei parameter

% Set up the parameter values to sweep over
IeiValues = [0.021,0.022,0.022,0.023];
numSteps = length(IeiValues);

% Create each iteration
for k = 1 : numSteps
    % Set up a new iteration object
    testItr = sltestiteration;
    
    % Set value of lei (parameter in model workspace)
    setVariable(testItr,'Name','Iei','Source','model workspace',...
                'Value',IeiValues(k));
 
    % Add the iteration to run in this test case
    addIteration(sltest_testCase,testItr); 
end

После того, как вы добавите скрипт, нажмите Show Iterations. Вы видите итерации, которые создал скрипт.

Запущение теста генерирует результат для каждой итерации.

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

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте