Функциональное тестирование начинается с создания тестов на основе требований. Эти тесты могут покрыть ключевые аспекты вашего проекта и проверить, что отдельные компоненты модели удовлетворяют требования. Тесты включают входные параметры, ожидал выходные параметры и критерии допустимости.
Путем сбора отдельных тестов в тестовых наборах можно систематически запускать функциональные тестирования. Чтобы проверять на регрессию, добавьте базовые критерии в тесты и протестируйте модель итеративно. Измерение покрытия отражает степень, до которой эти тесты полностью осуществили модель. Измерение покрытия также помогает вам добавить тесты и требования, чтобы достигнуть целей покрытия.
Этот пример показывает функциональный основанный на тестировании рабочий процесс тестирования для модели круиз-контроля. Вы начинаете с модели, которая имеет тесты, соединенные с внешним документом требований, анализируйте модель для покрытия в 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) и откройте менеджера по Simulink Test. В командной строке, введите:
sltest.testmanager.load('slReqTests.mldatx') sltest.testmanager.view
Откройте тестовый блок последовательности. Тесты последовательности, которые система расцепляет когда:
Педаль тормоза нажимается
Скорость превышает предел
Некоторые тестовые шаги последовательности соединяются с документом требований simulinkCruiseChartReqs.docx
.
В менеджере по Simulink Test нажмите slReqTests
тестовый файл.
Включить набор покрытия для тестового файла, на правильной странице под Coverage Settings:
Выберите Record coverage for referenced models
Используйте Coverage filter filename, чтобы задать фильтр покрытия, чтобы использовать в анализе покрытия. Настройка по умолчанию соблюдает настройки параметра конфигурации модели. Покидающие поле пустые присоединения никакой фильтр покрытия.
Выберите Decision, Condition и MCDC.
Чтобы запустить тесты, на менеджере по Тесту панель инструментов, нажимают Run.
Когда тестовые концы выбирают Results в менеджере по Тесту. Агрегированные результаты покрытия показывают, что модель в качестве примера достигает 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 или в рабочей папке.
На менеджере по Тесту панель инструментов нажмите Run, чтобы запускать обновленный тестовый набор. Результаты испытаний включают покрытие для объединенных входных параметров теста, достигая увеличенного покрытия модели.