verify
и тесты в реальном времениВыполните тестирование в реальном времени на целевом компьютере и проверьте поведение по требованиям.
Этот пример демонстрирует тестирование системы управления проектора с помощью симуляции модели и выполнения в реальном времени на целевом компьютере. Тесты проверяют контроллер по его требованиям с помощью тестовых последовательностей, которые осуществляют модели контроллеров верхнего уровня. Диспетчер использует вход кнопки и вход датчика температуры и выходные сигналы, управляющие вентилятором, скоростью вентилятора и лампой проектора.
Этот пример использует Simulink® Real-Time™. Перед началом рассмотрите системные требования Simulink Real-Time. Этот пример также использует документ требований в Microsoft® формат Word.
Определите имена модели и пути для примера:
filePath = fullfile(matlabroot,'toolbox','simulinktest','simulinktestdemos'); testFile = 'sltestProjectorCtrlTests.mldatx'; testHarness = 'Req_scenario_4'; model = 'sltestProjectorController';
Откройте модель:
open_system(fullfile(filePath,model))
Модель, тестовые обвязки, тестовые последовательности и тестовые наборы соединяются с функциональными требованиями, заданными в sltestProjectorCtrlReqs.docx
. Подсветите требования в тестовой обвязке и протестируйте редактор последовательности, чтобы просмотреть соединенные элементы.
sltest.harness.open(model,testHarness)
rmi('highlightModel',testHarness)
close_system(fullfile(filePath,model),0)
Откройте тестовый файл путем ввода:
open(fullfile(filePath,testFile))
Тестовый файл содержит два тестовых набора, каждый из которых тестирует четыре сценария. Один комплект моделирует модель, в то время как второе выполняет тесты на целевом компьютере в реальном времени. Тестовые обвязки используют соединенный блок Test Assessment, который тестирует требования высокого уровня. Прежде, чем запустить пример:
Сконфигурируйте свой целевой компьютер с помощью Simulink Real-Time Explorer.
Соединитесь со своим целевым компьютером.
Если ваш целевой компьютер не является целью по умолчанию, Целевым компьютером обновления в Системе каждого теста Под Экспериментальным участком.
Для получения дополнительной информации о настройке в реальном времени см. документацию Simulink® Real-Time™.
Запустите тестовый набор симуляции модели. После того, как симуляция завершается, нажмите Results и панель Artifacts в менеджере по тесту.
Расширьте результаты Req_scenario_4 и расширьте раздел Verify Statements. Операторы verify
демонстрируют сбой, передачу и непротестированные результаты:
Контроллер не действует в высокотемпературном или перегревает режим, таким образом, связанные операторы verify
не тестируются.
Контроллер передает требование, чтобы, если лампа включена, вентилятор был также на: verify_lamp_implies_fan
.
Диспетчер проходит тест, которого избегает система, если on_off кнопка нажимается, когда температура выше предела: verify_sc4_on
.
Контроллер проваливает тест, который отключает система, если on_off кнопка нажимается, когда температура выше предела: verify_sc4_off
. Решение этого отказа требует изменения подсистемы OnOff Check
в основной модели.
Для получения дополнительной информации смотрите, Оценивают Симуляцию модели Используя Операторы verify
.
Выберите verify_sc4_off
и результаты verify_lamp_implies_fan
визуализировать результаты оператора verify
.
Тестовый набор в реальном времени проверяет, что выполнение в реальном времени заканчивается результаты симуляции модели соответствия, и что операторы verify
передают. Данные логов тестовых обвязок с помощью осциллографов файла.
Установите текущую рабочую директорию на перезаписываемую директорию. В менеджере по тесту запустите тестовый набор в реальном времени.
Раздел Baseline Criteria Result показывает сравнения записанных данных в реальном времени к данным, собранным от симуляции модели. Результаты идентичны.
Раздел Verify Statements показывает подобные результаты симуляции модели.
close_system(model,0) sltest.testmanager.clear; sltest.testmanager.clearResults; clear filePath testFile testHarness model;