Тестирование библиотеки и соединенного блока

Проверьте допускающую повторное использование подсистему в библиотеке и в большей системе.

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

Блок библиотеки управляет простой heatpump системой путем предоставления сигналов включения - выключения к вентилятору и компрессору, и определения heatpump режима (нагревание или охлаждение).

Откройте тестовый файл

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

filePath = fullfile(matlabroot,'toolbox','simulinktest','simulinktestdemos');
testFile = 'sltestHeatpumpLibraryTests.mldatx';
library = 'sltestHeatpumpLibraryExample';
system = 'sltestHeatpumpLibraryLinkExample';
open(fullfile(filePath,testFile));

Расширьте тестовый набор Стендовых испытаний двигателя Библиотеки и подсветите тест Сценариев Требований в тестовом браузере. Расширьте раздел Test Harness Системы Под Тестом и кликните по стрелке, чтобы открыть тестовую обвязку для блока библиотеки.

open_system(library);
sltest.harness.open([library '/Controller'],'Requirements_Tests');

Блок Test Sequence устанавливает три сценария для контроллера:

  • Контроллер в неактивном

  • Контроллер, активирующий вентилятор только

  • Контроллер, активирующий нагревающуюся систему охлаждения АНК

Блок Test Assessment в тестовой обвязке проверяет сигналы на каждый сценарий. Поскольку тестовые воздействия и оценки содержатся в тестовой обвязке, и никакие базовые данные не собираются, тест является тестом симуляции.

Запустите основанный на требованиях тест

В менеджере по Тесту запустите тест Сценариев Требований. Результаты оператора verify показывают, что control_out сигнализирует о передаче.

Откройте соединенную модель блока

В менеджере по Тесту расширьте Тест Экземпляра. Подсветите Базовый Тестовый тест. В Системе Под Тестом кликните по стрелке рядом с полем Model, чтобы открыть модель.

sltest.harness.close([library '/Controller'], 'Requirements_Tests');
open_system(system);
sim(system);

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

Запустите базовый тест и наблюдайте результаты

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

Переместите тестовую обвязку в библиотеку

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

Переместите тестовую обвязку Baseline_controller_tests в блок библиотеки:

1. В sltestHeatpumpLibraryLinkExample модели кликните по значку обвязки и наведите на тестовую обвязку Baseline_controller_tests.

2. Кликните по значку операций обвязки

3. Выберите Move to Library. Диалоговое окно сообщает вам, что операция удаляет тестовую обвязку из экземпляра и добавляет его в библиотеку. Нажать кнопку Да.

4. Тестовая обвязка перемещается в блок библиотеки Controller.

close_system(library,0);
close_system(system,0);
clear(filePath,library,system,testFile);
sltest.testmanager.clear;
sltest.testmanager.clearResults;