verify
и тесты в реальном времениВыполните проверку в реальном времени на целевом компьютере и проверьте поведение системы в соответствии с требованиями.
Этот пример демонстрирует проверку системы управления проектором с помощью симуляции модели и выполнения в реальном времени на целевом компьютере. Тесты проверяют соответствие контроллера его требованиям с помощью тестовых последовательностей, которые используют модели контроллеров верхнего уровня. Контроллер использует вход кнопки и вход датчика температуры, и выводит сигналы, управляющие вентилятором, скоростью вентилятора и лампой проектора.
Этот пример использует Real-Time™ Simulink ®. Прежде чем начать, проверьте системные требования Simulink Real-Time. Этот пример также использует документ требований в формате Microsoft ® Word.
Установите имена тестовых файлов, моделей и кабелей для примера.
testFile = 'sltestProjectorCtrlTests.mldatx'; testHarness = 'Req_scenario_4'; model = 'sltestProjectorController';
Откройте модель:
open_system(model)
Модель и тестовые наборы связаны с требованиями, заданными в ProjectorControlRTRequirements.slreqx
. Откройте Редактор требований, чтобы просмотреть эти требования. Функциональные требования сгруппированы под Индексом 1 и сопоставлены с сущностями в модели Simulink. Использование Highlight Links
в Requirements
приложение в модели, чтобы проследить требования к их реализации. Требования к тестам сгруппированы в индексе 2 и сопоставлены с тестовыми случаями в менеджере тестов.
open('ProjectorControlRTRequirements.slreqx');
Выделите требования в редакторе тестовых обвязок и тестовых последовательностей, чтобы просмотреть связанные элементы.
sltest.harness.open(model,testHarness)
rmi('highlightModel',testHarness)
close_system((model),0)
Откройте тестовый файл путем ввода: open(testFile)
Тестовый файл содержит два тестовых наборов, каждый из которых тестирует четыре сценария. Один набор моделирует модель, а второй выполняет тесты на целевом компьютере в реальном времени. В тестовые обвязки используется блок Test Assessment, который проверяет требования высокого уровня. Перед запуском примера:
Настройте целевой компьютер с помощью Simulink Real-Time Explorer.
Подключиться к целевому компьютеру.
Если целевой компьютер не является целевым объектом по умолчанию, обновляйте целевой компьютер в каждом тесте в разделе «Система под тестом».
Для получения дополнительной информации о строении в реальном времени смотрите Конфигурацию системы (Simulink Real-Time).
Запустите тестовый набор симуляции модели. После завершения симуляции щелкните на панели Результаты и Программные продукты в менеджере тестов.
Разверните список результатов Req_scenario_4 и раздел «Проверить операторы». The verify
операторы демонстрируют неудачу, прохождение и непроверенные результаты:
Контроллер не работает в высокотемпературном или перегреваемом режиме, поэтому соответствующий verify
операторы не проверены.
Контроллер передает требование, что если лампа включена, вентилятор также включен: verify_lamp_implies_fan
.
Контроллер проходит тест, что система остается отключенной, если кнопка on_off нажата, когда температура выше предела: verify_sc4_on
.
Контроллер завершает тест, который система отключает, если кнопка on_off нажата, когда температура выше предела: verify_sc4_off
. Для разрешения этого отказа требуется изменить OnOff Check
подсистема в основной модели.
Для получения дополнительной информации см. «Оценка симуляции модели с помощью операторов проверки».
Выберите verify_sc4_off
и verify_lamp_implies_fan
результаты для визуализации verify
результаты оператора.
После выполнения тестов статус верификации автоматически становится доступным в редакторе требований. Перейдите в Редактор требований и включите Verification Status
в View
раздел для просмотра кумулятивного тестового статуса.
Тестовый набор в реальном времени проверяет, что результаты выполнения в реальном времени совпадают с результатами симуляции модели, и что verify
операторы pass. Тестовые обвязки регистрируют данные с помощью блоков File Log.
Установите текущую рабочую директорию на директорию с возможностью записи. В менеджере тестов запустите тестовый набор в реальном времени.
В разделе Baseline Criteria Result показаны сравнения записанных данных в реальном времени с данными, полученными из симуляции модели. Результаты идентичны.
В разделе «Проверить операторы» показаны результаты, аналогичные симуляции модели.
close_system(model,0) sltest.testmanager.clear; sltest.testmanager.clearResults; clear testFile testHarness model; slreq.clear;