Функциональная проверка начинается со создания тестов на основе требований. Эти тесты могут охватывать ключевые аспекты вашего проекта и проверять, что отдельные компоненты модели соответствуют требованиям. Тесты включают входы, ожидаемые выходы и критерии приемки.
Путем сбора отдельных тестовых примеров в тестовых наборах можно систематически запускать функциональные тестирования. Чтобы проверить регрессию, добавьте критерии базового уровня к тестам и итерационно протестируйте модель. Измерение покрытия отражает степень, в которой эти тесты полностью использовали модель. Измерение покрытия также помогает вам добавить тесты и требования для достижения целей покрытия.
Этот пример показывает рабочий процесс проверки на основе функционального тестирования для модели круиз-контроля. Вы начинаете с модели, которая имеет тесты, связанные с документом внешних требований, анализируете модель для покрытия в 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')
Загрузите тестовый набор из Экспериментальной модели против требований и результатов отчета и откройте Simulink Test Manager. В командной строке введите:
sltest.testmanager.load('slReqTests.mldatx') sltest.testmanager.view
Откройте блок тестовой последовательности. Последовательность тестов, которую система разъединяет, когда:
Педаль тормоза нажата
Скорость превышает предел
Некоторые шаги тестовой последовательности связаны с документом требований simulinkCruiseChartReqs.docx
.
В Simulink Test Manager нажмите slReqTests
тестовый файл.
Чтобы включить набор покрытий для тестового файла, на правой странице под Coverage Settings:
Выберите Record coverage for referenced models
Используйте Coverage filter filename, чтобы задать фильтр покрытия для анализа покрытия. Настройка по умолчанию удовлетворяет настройкам параметра конфигурации модели. Оставление поля пустым не присоединяет фильтр покрытия.
Выберите Decision, Condition и MCDC.
Чтобы запустить тесты, на панели инструментов Test Manager нажмите Run.
Когда тест закончится, выберите Результаты в Диспетчере тестов. Агрегированные результаты покрытия показывают, что пример модели достигает 50% Decision Coverage, 41% покрытия условий и 25% покрытия MCDC.
Используйте Simulink Design Verifier, чтобы сгенерировать дополнительные тесты для увеличения покрытия модели. В Results and Artifacts выберите slReqTests
Тестовый файл и откройте раздел Aggregated Coverage Results, расположенный в правой панели.
Щелкните правой кнопкой мыши результаты тестирования и выберите Add Tests for Missing Coverage.
В разделе Harness выберите Create a new harness
.
Нажмите OK, чтобы добавить тесты в тестовый набор с помощью Simulink Design Verifier. Тестируемая модель должна быть либо в пути MATLAB, либо в рабочей папке.
На панели инструментов Test Manager щелкните Run, чтобы выполнить обновление тестового набора. Результаты теста включают покрытие для комбинированных входов теста, достигая увеличения покрытия модели.