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

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

Иерархия тестовых последовательностей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. В диалоговом окне «Создание тестовой обвязки» под Sources and Sinks:

    • Выберите Test Sequence в раскрывающемся меню source.

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

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

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

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

  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.

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

  1. Продолжая пример, в тестовую обвязку дважды кликните блок Test Assessment, чтобы открыть редактор. В редакторе отображается последовательность разложения When.

  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

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

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

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

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

См. также

Похожие темы