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

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

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

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

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

Похожие темы