Тестовая последовательность состоит из тестовых шагов, расположенных в иерархии. Можно использовать тестовую последовательность, чтобы задать тестовые воздействия и задать, как тест будет прогрессировать в ответ на симуляцию. Тестовый шаг содержит действия, которые выполняются в начале шага. Тестовый шаг может содержать переходы, которые задают, когда шаг прекращает выполняться, и которые тестируют шаг, выполняется затем. Действия и переходы используют MATLAB® как язык действия. Вы создаете тестовые последовательности при помощи блока Test Sequence и Тестового Редактора Последовательности. Смотрите диаграмму Stateflow Использования для Входных параметров Тестовой обвязки и Планирования.
Тестовые последовательности, заданные в Тестовых блоках Последовательности, могут иметь родительские шаги и подшаги. Подшаги могут активироваться, только если родительский шаг активен. Группа шагов на том же уровне иерархии совместно использует общий тип перехода. Когда вы создаете тестовый шаг, шаг становится опцией перехода для других шагов в той же группе.
В блоке Test Sequence можно задать несколько тестовых последовательностей, которые называются test sequence scenarios. При помощи сценариев можно задать отличные тестовые последовательности, не имея нескольких Тестовых блоков Последовательности в тестовой обвязке. Можно запустить тестовые сценарии последовательности этими способами:
Активируйте один сценарий из Тестового Редактора Последовательности и запустите модель
Активируйте один сценарий с помощью команд API и запустите модель
Управляйте активным сценарием с переменной рабочей области и запустите модель
Используйте пользовательский тестовый скрипт, чтобы циклично выполниться через сценарии при выполнении модели
Задайте итерации в менеджере по Тесту, чтобы запустить больше чем один сценарий в одном тесте
Для получения дополнительной информации и примеры использования тестовых сценариев последовательности, см. Тестовые Сценарии Последовательности Использования в Тестовом менеджере по Редактору и Тесту Последовательности и Программно Создайте и Тестовые Сценарии Последовательности Запуска.
Протестируйте последовательности, заданные в Тестовом переходе блоков Последовательности от одного шага до другого двумя способами:
Стандартный переход: можно задать последовательность действий, которые реагируют на условия симуляции с помощью стандартной последовательности перехода. Стандартные последовательности перехода запускаются с первого шага и прогресса согласно условиям перехода, и затем продвигается. Для списка переходов смотрите Тестовый Синтаксис Последовательности и Оценки.
Эта тестовая последовательность устанавливает значение булевых выходных параметров RedButtonIn
и GreenButtonIn
, с переходами, происходящими после того, как, каждый шаг был активен в течение 1 секунды.
Когда разложение:
When
последовательности разложения походят на операторы switch в программировании. Ваша последовательность может действовать на основе особых условий, происходящих в вашей модели. В When
последовательность разложения, шаги активируются на основе условия, которое вы задаете после имени шага. Переходы не используются между шагами.
Это, Когда разложение содержит три verify
операторы. Каждый verify
оператор активен когда gear
сигнала равно различному значению. Для получения дополнительной информации смотрите, Оценивают Модель при помощи Когда Разложение.
В этом примере вы используете блок Test Sequence, чтобы создать простую тестовую последовательность для сдвига передачи логический контроллер.
Откройте модель. В командной строке войти
openExample... ('simulinktest/main/TransmissionDownshiftTestSequenceExample')
Щелкните правой кнопкой по shift_controller
подсистема и выбирает Test Harness> Create for ‘shift_controller’.
В диалоговом окне Create Test Harness, под Sources and Sinks:
Выберите Test Sequence
из источника выпадающее меню.
Выберите Add separate assessment block.
Выберите Open harness after creation.
Нажмите OK. Тестовая обвязка для shift_controller
подсистема открывается.
Дважды кликните блок Test Sequence. Тестовый Редактор Последовательности открывается.
Создайте тестовую последовательность.
Переименуйте первый шаг Accelerate
и добавьте ступенчатые действия:
speed = 10*ramp(et); throttle = 100;
Щелкните правой кнопкой по Accelerate
продвиньтесь и выберите Add step after. Переименуйте этот шаг Stop
, и добавьте ступенчатые действия:
throttle = 0; speed = 0;
Введите условие перехода для Accelerate
шаг. В этом примере, Accelerate
переходы к Stop
когда система на четвертой передаче в течение 2 секунд. В столбце Transition, введите:
duration(gear == 4) >= Limit
В столбце Next Step выберите Stop
.
Добавьте константу, чтобы задать Limit
. В панели Symbols наведите на Constant и кликните по добавить кнопке данных. Введите Limit
для постоянного имени.
Наведите на Limit
и нажмите кнопку редактирования. В поле Constant value введите 2
. Нажмите OK.
Продолжение примера, в тестовой обвязке, дважды кликает блок Test Assessment, чтобы открыть редактор. Редактор отображается Когда последовательность разложения.
Переименуйте первый шаг Assessments
.
Добавьте два шага в Assessments
. Щелкните правой кнопкой по Assessments
продвиньтесь и выберите Add sub-step. Сделайте это во второй раз. Под Assessments
должно быть четыре шага.
Введите имена и действия для четырех подшагов.
Check1st when gear == 1 verify(speed < 45)
Check2nd when gear == 2 verify(speed < 75)
Check3rd when gear == 3 verify(speed < 105)
Else
Четвертый шаг Else
не имеет никаких действий. Else
условия симуляции указателей за пределами предыдущего when
условия.
Добавьте осциллограф в обвязку и соедините speed
, throttle
, и gear
сигналы к осциллографу.
Установите время симуляции модели на 15 секунд и симулируйте тестовую обвязку. Просмотрите данные сигнала путем открытия осциллографа.
Просмотрите результаты verify
операторы в Инспекторе Данных моделирования.