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

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

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

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

Запустите менеджера по тесту

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

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

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

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

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

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

  2. Создайте тестовый файл. От менеджера по Тесту панель инструментов выберите New> Test File.

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

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

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

    Test case context menu showing Convert to options

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

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

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

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

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

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

  1. Нажмите Run в менеджере по тесту панель инструментов.

    Когда вы нажимаете Run, левая навигация изменяется от Test Browser до панели Results and Artifacts.

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

    Expanded test results showing test failures

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

    Plot of failed brake assertion test results

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

    Selection of three vertical plots from subplots selection option

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

    Three plots showing the specified signals

    Эти графики показывают вам, что, когда тормоз продолжается (Вход 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 .

Получите базовую линию

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

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

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

    Тест добавляет базовые данные — выход от регистрируемых сигналов и двух блоков Outport.

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

Baseline Criteria section of the Test Manager with baseline 1 selected

Запустите базовый тест

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

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

Test results pane showing passing results

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

Похожие темы