Выполните функциональную проверку и анализируйте охват теста

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

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

Постепенно увеличивайте охват теста с помощью генерации тестового примера

Этот пример показывает рабочий процесс проверки на основе функционального тестирования для модели круиз-контроля. Вы начинаете с модели, которая имеет тесты, связанные с документом внешних требований, анализируете модель для покрытия в Simulink® Coverage™, постепенно увеличивайте охват с помощью Simulink Design Verifier™ и сообщайте результаты.

Исследуйте тестовые обвязки и модель

  1. Создайте копию проекта в рабочей папке. В командной строке введите:

    path = fullfile(matlabroot,'toolbox','shared','examples',...
    'verification','src','cruise')
    run(fullfile(path,'slVerificationCruiseStart'))

  2. Откройте модель и тестовую обвязку. В командной строке введите:

    open_system simulinkCruiseAddReqExample
    sltest.harness.open('simulinkCruiseAddReqExample','SafetyTest_Harness1')
  3. Загрузите тестовый набор из Экспериментальной модели против требований и результатов отчета (Simulink Test) и откройте Simulink Test Manager. В командной строке введите:

    sltest.testmanager.load('slReqTests.mldatx')
    sltest.testmanager.view

  4. Откройте блок тестовой последовательности. Последовательность тестов, которую система разъединяет, когда:

    • Педаль тормоза нажата

    • Скорость превышает предел

    Некоторые шаги тестовой последовательности связаны с документом требований simulinkCruiseChartReqs.docx.

Покрытие модели измерения

  1. В Simulink Test Manager нажмите slReqTests тестовый файл.

  2. Чтобы включить набор покрытий для тестового файла, на правой странице под Coverage Settings:

    • Выберите Record coverage for referenced models

    • Используйте Coverage filter filename, чтобы задать фильтр покрытия для анализа покрытия. Настройка по умолчанию удовлетворяет настройкам параметра конфигурации модели. Оставление поля пустым не присоединяет фильтр покрытия.

    • Выберите Decision, Condition и MCDC.

  3. Чтобы запустить тесты, на панели инструментов Test Manager нажмите Run.

  4. Когда тест закончится, выберите Результаты в Диспетчере тестов. Агрегированные результаты покрытия показывают, что пример модели достигает 50% Decision Coverage, 41% покрытия условий и 25% покрытия MCDC.

Сгенерируйте тесты, чтобы увеличить покрытие модели

  1. Используйте Simulink Design Verifier, чтобы сгенерировать дополнительные тесты для увеличения покрытия модели. В Results and Artifacts выберите slReqTests Тестовый файл и откройте раздел Aggregated Coverage Results, расположенный в правой панели.

  2. Щелкните правой кнопкой мыши результаты тестирования и выберите Add Tests for Missing Coverage.

  3. В разделе Harness выберите Create a new harness.

  4. Нажмите OK, чтобы добавить тесты в тестовый набор с помощью Simulink Design Verifier. Тестируемая модель должна быть либо в пути MATLAB, либо в рабочей папке.

  5. На панели инструментов Test Manager щелкните Run, чтобы выполнить обновленный тестовый набор. Результаты теста включают покрытие для комбинированных входов теста, достигая увеличения покрытия модели.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте