Основы тестовой последовательности

Тестовая последовательность состоит из тестовых шагов, расположенных в иерархии. Можно использовать тестовую последовательность, чтобы задать тестовые воздействия и задать, как тест будет прогрессировать в ответ на симуляцию. Тестовый шаг содержит действия, которые выполняются в начале шага. Тестовый шаг может содержать переходы, которые задают, когда шаг прекращает выполняться, и которые тестируют шаг, выполняется затем. Действия и переходы используют MATLAB® как язык действия. Вы создаете тестовые последовательности при помощи блока Test Sequence и Тестового Редактора Последовательности. Смотрите диаграмму Stateflow Использования для Входных параметров Тестовой обвязки и Планирования.

Протестируйте иерархию последовательности

Тестовые последовательности, заданные в Тестовых блоках Последовательности, могут иметь родительские шаги и подшаги. Подшаги могут активироваться, только если родительский шаг активен. Группа шагов на том же уровне иерархии совместно использует общий тип перехода. Когда вы создаете тестовый шаг, шаг становится опцией перехода для других шагов в той же группе.

Протестируйте сценарии последовательности

В блоке Test Sequence можно задать несколько тестовых последовательностей, которые называются test sequence scenarios. При помощи сценариев можно задать отличные тестовые последовательности, не имея нескольких Тестовых блоков Последовательности в тестовой обвязке. Можно запустить тестовые сценарии последовательности этими способами:

  • Активируйте один сценарий из Тестового Редактора Последовательности и запустите модель

  • Активируйте один сценарий с помощью команд API и запустите модель

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

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

  • Задайте итерации в менеджере по Тесту, чтобы запустить больше чем один сценарий в одном тесте

Для получения дополнительной информации и примеры использования тестовых сценариев последовательности, см. Тестовые Сценарии Последовательности Использования в Тестовом менеджере по Редактору и Тесту Последовательности и Программно Создайте и Тестовые Сценарии Последовательности Запуска.

Типы перехода

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

  • Стандартный переход: можно задать последовательность действий, которые реагируют на условия симуляции с помощью стандартной последовательности перехода. Стандартные последовательности перехода запускаются с первого шага и прогресса согласно условиям перехода, и затем продвигается. Для списка переходов смотрите Тестовый Синтаксис Последовательности и Оценки.

    Эта тестовая последовательность устанавливает значение булевых выходных параметров RedButtonIn и GreenButtonIn, с переходами, происходящими после того, как, каждый шаг был активен в течение 1 секунды.

    Test Sequence steps, transitions, and next steps

  • Когда разложение: When последовательности разложения походят на операторы switch в программировании. Ваша последовательность может действовать на основе особых условий, происходящих в вашей модели. В When последовательность разложения, шаги активируются на основе условия, которое вы задаете после имени шага. Переходы не используются между шагами.

    Это, Когда разложение содержит три verify операторы. Каждый verify оператор активен когда gear сигнала равно различному значению. Для получения дополнительной информации смотрите, Оценивают Модель при помощи Когда Разложение.

    Test Sequence using when decomposition

Создайте последовательность базового теста

В этом примере вы используете блок Test Sequence, чтобы создать простую тестовую последовательность для сдвига передачи логический контроллер.

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

    openExample...
       ('simulinktest/main/TransmissionDownshiftTestSequenceExample')
  2. Щелкните правой кнопкой по shift_controller подсистема и выбирает Test Harness> Create for ‘shift_controller’.

  3. В диалоговом окне Create Test Harness, под Sources and Sinks:

    • Выберите Test Sequence из источника выпадающее меню.

    • Выберите Add separate assessment block.

    • Выберите Open harness after creation.

  4. Нажмите OK. Тестовая обвязка для shift_controller подсистема открывается.

  5. Дважды кликните блок Test Sequence. Тестовый Редактор Последовательности открывается.

    Test Sequence editor with default step

  6. Создайте тестовую последовательность.

    1. Переименуйте первый шаг Accelerate и добавьте ступенчатые действия:

      speed = 10*ramp(et);
      throttle = 100;
    2. Щелкните правой кнопкой по Accelerate продвиньтесь и выберите Add step after. Переименуйте этот шаг Stop, и добавьте ступенчатые действия:

      throttle = 0;
      speed = 0;
    3. Введите условие перехода для Accelerate шаг. В этом примере, Accelerate переходы к Stop когда система на четвертой передаче в течение 2 секунд. В столбце Transition, введите:

      duration(gear == 4) >= Limit

      В столбце Next Step выберите Stop.

    4. Добавьте константу, чтобы задать Limit. В панели Symbols наведите на Constant и кликните по добавить кнопке данных. Введите Limit для постоянного имени.

    5. Наведите на Limit и нажмите кнопку редактирования. В поле Constant value введите 2. Нажмите OK.

    Test Sequence editor with defined steps, transition, and next step

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

  1. Продолжение примера, в тестовой обвязке, дважды кликает блок Test Assessment, чтобы открыть редактор. Редактор отображается Когда последовательность разложения.

  2. Переименуйте первый шаг Assessments.

  3. Добавьте два шага в Assessments. Щелкните правой кнопкой по Assessments продвиньтесь и выберите Add sub-step. Сделайте это во второй раз. Под Assessments должно быть четыре шага.

  4. Введите имена и действия для четырех подшагов.

    Check1st when gear == 1
    verify(speed < 45)
    Check2nd when gear == 2
    verify(speed < 75)
    Check3rd when gear == 3
    verify(speed < 105)
    Else

    Test Sequence editor with assessments and verify statements

    Четвертый шаг Else не имеет никаких действий. Else условия симуляции указателей за пределами предыдущего when условия.

  5. Добавьте осциллограф в обвязку и соедините speed, throttle, и gear сигналы к осциллографу.

    Test harness with Test Sequence and Test Assessment blocks

  6. Установите время симуляции модели на 15 секунд и симулируйте тестовую обвязку. Просмотрите данные сигнала путем открытия осциллографа.

    Signal data plots

  7. Просмотрите результаты verify операторы в Инспекторе Данных моделирования.

    Plots of verify statements results

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

Похожие темы