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

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

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

Functional testing workflow

Инкрементно увеличьте тестовое покрытие Используя генерацию теста

Этот пример показывает функциональный основанный на тестировании рабочий процесс тестирования для модели круиз-контроля. Вы начинаете с модели, которая имеет тесты, соединенные с внешним документом требований, анализируйте модель для покрытия в 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. В командной строке, введите:

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

  4. Откройте тестовый блок последовательности. Тесты последовательности, которые система расцепляет когда:

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

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

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

Измерьте покрытие модели

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

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

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

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

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

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

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

    Coverage results

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

  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. На менеджере по Тесту панель инструментов нажмите Run, чтобы запускать обновленный тестовый набор. Результаты испытаний включают покрытие для объединенных входных параметров теста, достигая увеличенного покрытия модели.

Похожие темы