Создайте и запустите регрессионный тест

В этом руководстве вы настраиваете и запускаете два теста:

  • Первый тест проверяет, соответствует ли модель требованию.

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

Запуск диспетчера тестов

  1. Откройте sltestCruiseControlDefective модель в matlab/examples/simulinktest/main папка.

  2. Чтобы запустить Диспетчер тестов, на вкладке Apps, в разделе Верификация модели, валидация и тест, нажмите Simulink Test. На вкладке Tests нажмите Simulink Test Manager.

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

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

Создайте структуру Тестового файла

  1. Установите текущую папку в папку с возможностью записи.

  2. Создайте тестовый файл. На панели инструментов Диспетчера тестов выберите New > Test File.

  3. Назовите файл Tutorial Tests и сохраните его.

    Тестовый файл содержит один или несколько тестовых наборов, а тестовые наборы содержат один или несколько тесты. Используйте эту структуру для организации связанных тестов. Эта структура также помогает вам запускать тесты индивидуально или запускать все тесты в файле или наборе.

  4. Контрольным примером по умолчанию является регрессионный тест. Преобразуйте его в тест Simulation. Выберите тест и в контекстном меню выберите Convert to > Simulation Test и нажатием кнопки Yes для подтверждения преобразования.

  5. Переименуйте тестовое My Verification Test. Можно использовать контекстное меню в тестовом браузере и выбрать Rename. Или можно кликнуть имя и ввести новое в тест.

Присвоение модели тесту

Модель использует блок Verification Subsystem из Simulink® Design Verifier™ библиотеки. Подсистема содержит блок Assertion, который проверяет, отключается ли система, если тормоз был применен в течение трех временных шагов. Логгирование сигнала включено для выходов блоков Signal Editor.

Установите тест, чтобы использовать sltestCruiseControlDefective модель. В Диспетчере тестов в разделе System Under Test нажмите кнопку Use current model.

Можно запустить этот тест, не задавая других оценок, потому что модель содержит блок Assertion. Использование Test Manager, в отличие от симуляции самой модели, позволяет вам просматривать, управлять и экспортировать результаты. Кроме того, он настраивает среду тестирования для добавления дополнительных тестов, сбора базовых данных и повторного использования тестов для других операций верификации, таких как верификация генерации кода.

Запустите тест и исследуйте результаты

  1. Щелкните Run на панели инструментов Test Manager.

    При нажатии кнопки Run левая навигация изменяется с Test Browser на Results and Artifacts панель.

  2. Исследуйте результаты. Не удалось выполнить тест. Щелкните правой кнопкой мыши по последнему результату и выберите Expand All Under, чтобы просмотреть все результаты. Не удалось выполнить тест из-за BrakeAssertion сбой.

  3. Щелкните BrakeAssertion и установите флажок, чтобы визуализировать результаты. Вы можете увидеть, что тест не прошел через 23 секунды.

  4. Постройте график сигналов с выхода. На панели инструментов Data Inspector нажмите кнопку Subplots и выберите три графика.

  5. После того, как вы создаете графики, BrakeAssertion сигнал остается на первом графике. Щелкните график, на котором необходимо отобразить сигнал, а затем щелкните сигнал. Используя этот метод, добавьте Input 3 (вход тормоза) на графике 2 и throt на графике 3.

    Эти графики показывают вам, что, когда тормоз включается (Вход 3), дроссель остается включенным. Дроссель должен перейти к 0.

Определение источника отказа

Чтобы найти источник отказа в модели, в результатах тестирования щелкните правой кнопкой мыши BrakeAssertion отказа и выберите Highlight in Model. Модель подсвечивает BrakeAssertion блок.

Создайте и запустите регрессионный тест

Базовые тесты сравнивают выходные параметры симуляции с ожидаемыми выходами. В исправленной версии модели дроссель переходит к 0, если тормоз применяется в течение трех временных шагов. Поскольку модель верна, вы хотите зафиксировать правильные результаты в тест, против которой нужно протестировать в будущем.

Создайте тест и присвойте тестируемую систему

  1. Откройте модель sltestBasicCruiseControlHarnessModel.

  2. В тестовом браузере выберите тестовый файл Tutorial Tests. На панели инструментов Диспетчера тестов выберите New > Baseline Test.

    Тестовый файл содержит новый тестовый набор, который содержит новый базовый тест.

  3. Переименуйте тест My Baseline Test.

  4. В контрольном примере под System Under Test нажмите Use current model.

Захват базовой линии

Можно захватить выходы теста базового уровня в Test Manager как Excel® файл или MAT-файл. Кроме того, можно добавить внешний файл к тесту в качестве опорной структуры.

  1. В тест под Baseline Criteria нажмите Capture.

  2. Установите File format значение Excel, введите baseline1 имя файла и нажмите кнопку Capture.

    В тест добавляются базовые данные - выход из записанных сигналов и двух блоков Outport.

Откройте файл Excel и наблюдайте за данными. Выберите опорную структуру и нажатие кнопки Edit. Значения timeseries появляются для каждого из записанных сигналов и выходов в модели. Закройте файл Excel.

Запуск регрессионного теста

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

Выберите тест и нажатие кнопки Run. Результаты совпадают с базовой линией, и тест проходит. Когда вы расширяете результаты, вы можете увидеть, что verify операторы теперь проходят.

См. также

Похожие темы