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

В этом примере показан рабочий процесс тестирования на основе функционального тестирования для модели круиз-контроля. Вы начинаете с модели, которая имеет тесты, связанные с документом внешних требований, анализируете модель для покрытия в Simulink ® Coverage™, постепенно увеличиваете покрытие с помощью Simulink Design Verifier™ и сообщаете результаты.
Создайте копию проекта в рабочей папке. В командной строке введите:
path = fullfile(matlabroot,'toolbox','shared','examples',... 'verification','src','cruise') run(fullfile(path,'slVerificationCruiseStart'))
Откройте модель и тестовый электрический жгут. В командной строке введите:
open_system simulinkCruiseAddReqExample
sltest.harness.open('simulinkCruiseAddReqExample','SafetyTest_Harness1')Загрузите набор тестов из окна «Test Model Against Requirements and Report Results» (Тест Simulink) и откройте диспетчер тестов Simulink. В командной строке введите:
sltest.testmanager.load('slReqTests.mldatx')
sltest.testmanager.viewОткройте блок тестовой последовательности. Последовательность проверяет, что система отключается, когда:
Педаль тормоза нажата
Скорость превышает предел
Некоторые шаги тестовой последовательности связаны с документом потребности simulinkCruiseChartReqs.docx.
В диспетчере тестирования Simulink нажмите кнопку slReqTests тестовый файл.
Чтобы включить сбор покрытия для тестового файла, на правой странице в разделе Параметры покрытия:
Выберите Покрытие записей для ссылочных моделей
Используйте имя файла фильтра покрытия, чтобы указать фильтр покрытия, который будет использоваться для анализа покрытия. Установка по умолчанию соответствует настройкам параметров конфигурации модели. При отсутствии пустого поля фильтр покрытия отсутствует.
Выберите Решение, Условие и MCDC.
Чтобы выполнить тесты, на панели инструментов Диспетчера тестов нажмите кнопку Выполнить.
По завершении теста выберите Результаты в Диспетчере тестов. Агрегированные результаты покрытия показывают, что примерная модель достигает 50% покрытия принятия решений, 41% покрытия условий и 25% покрытия MCDC.

Используйте Simulink Design Verifier для создания дополнительных тестов для увеличения охвата модели. В разделе Результаты и артефакты выберите slReqTests и откройте раздел Агрегированные результаты покрытия, расположенный на правой панели.
Щелкните правой кнопкой мыши по результатам тестирования и выберите Добавить тесты для отсутствующего покрытия.
В разделе «Электрический жгут» выберите Create a new harness.
Нажмите кнопку ОК, чтобы добавить тесты в набор тестов с помощью Simulink Design Verifier. Тестируемая модель должна находиться либо в пути MATLAB, либо в рабочей папке.
На панели инструментов диспетчера тестов нажмите кнопку «Выполнить» для выполнения обновленного набора тестов. Результаты теста включают покрытие для входных данных комбинированного тестового случая, обеспечивая увеличенный охват модели.