Сгенерируйте тесты и тестовые обвязки для компонента или модели

В Диспетчере тестов мастер создания теста для компонента создает внутреннюю тестовую обвязку и контрольный пример для модели или компонента в модели. Компоненты, для которых можно создать тестовые обвязки, включают подсистемы, Stateflow® графики и Model блоки. Полный список компонентов, поддерживаемых тестовыми обвязками, см. в разделах Тестовой обвязки и отношения моделей.

В мастере вы задаете:

  • Модель для тестирования.

  • Компонент для тестирования, если вы не тестируете целую модель.

  • The тестовых воздействий.

  • Тип теста для выполнения на компоненте.

  • Сохранение тестовых данных в MAT-файле или Excel®. Дополнительные сведения об использовании файлов Excel в Диспетчере тестов см. в разделе Формат тестовых данных в Excel.

Пример, в котором используется мастер, см. в разделе Создание и запуск обратного теста.

Откройте мастер создания теста для компонентов

Прежде чем запускать мастер, проверьте модель.

  • Если вы тестируете компонент, можно выбрать этот компонент в модели перед открытием мастера, чтобы автоматически заполнить поля модели и компонента.

  • Если вы тестируете код для атомарной подсистемы с помощью теста эквивалентности, который использует цикл (SIL) или режим процессора в цикл (PIL), проверьте, что подсистема уже имеет сгенерированный код.

  • Если вы тестируете код, сгенерированный для повторно используемой подсистемы библиотеки, прежде чем открывать мастер создания теста для компонента, проверьте, что подсистема имеет определенные интерфейсы функций и что библиотека уже имеет сгенерированный код. Для получения информации о переиспользуемых подсистемах библиотеки, интерфейсах функций и сгенерированном коде, смотрите Library-Based Code Generation for Reusable Library Subsystems (Embedded Coder). У вас должен быть Embedded Coder® лицензия для проверки сгенерированного кода.

Примечание

Чтобы открыть мастер создания теста для компонентов, в Диспетчере тестов выберите New > Test for Model Component.

Выберите модель или компонент для тестирования

Wizard section showing fields to specify the model and component to test and whether to create a test harness.

На первой странице мастера нажмите кнопку Use current model, чтобы заполнить поле Top Model.

Затем, если вы тестируете:

  • Вся модель, оставьте Component поле пустым.

  • Один компонент, и вы выбрали компонент в модели перед открытием мастера, нажмите кнопку Use currently selected model component, чтобы заполнить Component поле. В противном случае введите имя компонента.

  • Компонент в Model Reference блоке, вам не нужно задавать Model Reference блок как верхнюю модель. Используйте имя модели, которая содержит блок Model Reference в качестве Top Model.

  • Переиспользуемая подсистема библиотеки, которая имеет функциональный интерфейс, отображается опция Function Interface Settings. Выберите интерфейс функции, для которого необходимо создать тест.

    Wizard section showing function interface settings.

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

Чтобы протестировать целую модель без создания тестовой обвязки, снимите флажок Create Test Harness for component. Если вы тестируете определенный компонент в модели, автоматически создается тестовая обвязка, и опция Create Test Harness for component не отображается.

Примечание

Для модели экспорта функций тестовая обвязка автоматически создаёт блок Test Sequence.

Нажмите кнопку Next, чтобы перейти на следующую страницу мастера.

Настройте тестовые воздействия

Wizard section showing options to set up the inputs.

На странице Test Inputs выберите, как получить входные тестовые воздействия.

  • Use component input from the top model as test input - Моделируйте модель и записывайте входы в компонент. Затем используйте эти входы в качестве входов для созданной тестовой обвязки. Используйте эту опцию для отладки.

    Примечание

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

  • Use Design Verifier to generate test input scenarios - Создайте входные входы тестовой обвязки, чтобы соответствовать требованиям тестового покрытия с помощью Simulink® Design Verifier™. Эта опция появляется только в том случае, если установлен Simulink Design Verifier.

  • Specify inputs in the created harness - После создания обвязки откройте обвязку в Диспетчере тестов и вручную укажите входы обвязки. Эта опция не отображается, если вы решили не создавать тестовую обвязку.

Метод тестирования

Wizard section showing options for how to test the component or model

На странице Verification Strategy выберите способ тестирования компонента.

  • Use component under test output as baseline - Моделируйте модель и записывайте выходы компонентов, которые используются в качестве базовой линии.

  • Perform back-to-back testing - Сравните результаты выполнения компонента в двух разных режимах симуляции. Для каждой симуляции выберите режим из раскрывающегося меню. Для проведения тестирования SIL в атомарной подсистеме или повторно используемой подсистеме библиотеки подсистема или библиотека, содержащая подсистему, должны уже иметь сгенерированный код.

    Если вы выбрали Use Design Verifier to generate test input scenarios на вкладке Test Inputs и Simulation2 Software-in-the-Loop (SIL) или Processor-in-the-Loop (PIL)В мастере отображается опция Set Model Coverage Objective as Enhanced MCDC. Расширенный MCDC расширяет охват MCDC, генерируя тесты, которые избегают эффектов маскировки из нисходящих блоков. Смотрите Расширенное покрытие MCDC в Simulink Design Verifier (Simulink Design Verifier).

  • Define the verification logic in the created harness - После того, как мастер создаст обвязку, откройте обвязку. Вручную задайте логику верификации, используя Test Sequence или Test Assessments блок в сгенерированной обвязке. Кроме того, используйте логические и временные оценки или пользовательские критерии в сгенерированном тесте. Эта опция не появляется, если вы тестируете модель верхнего уровня и принимаете решение не создавать тестовой обвязки.

Сохранение тестовых данных

Wizard section showing options to specify file format and location to save test data.

На странице Generated Test выберите формат, в котором можно сохранить тестовые данные, и укажите имя файла для сгенерированных тестов.

  • Select test harness input source - Выберите, как входы, сгенерированные Проектом Verifier, применяются к тестовой обвязке. Эта опция появляется только, если вы выбираете Use Design Verifier to generate test input scenarios на вкладке Тестовые воздействия.

    • Inports - Создайте тестовый кабель с блоками Inport в качестве источника.

    • Signal Editor - Создайте тестовый жгут с редактором сигналов в качестве источника, который содержит входные сценарии, сгенерированные Design Verifier.

  • Specify the file format - Задайте тип файла, в котором можно сохранить данные. Эта опция появляется только при выборе Inports как источник входа.

    • Excel - Сохраняет входные параметры, выходы и параметры теста на одном листе в файле электронной таблицы Excel. Для тестов с несколькими итерациями каждая итерация находится на отдельном листе. Дополнительные сведения об использовании файлов Excel в Диспетчере тестов см. в разделе Формат тестовых данных в Excel.

    • MAT - Сохраняет входы и выходы в отдельных файлах MAT. Для тестов, которые используют Simulink Design Verifier, мастер сохраняет входы и параметры в одном файле и выходы в файле базовой линии.

  • Specify location to save test data - Укажите полный путь к файлу. Кроме того, можно использовать имя файла по умолчанию и расположение, которое сохраняет sltest_<model name> в текущей рабочей папке. Эта опция доступна только для файлов формата Excel. Файлы MAT сохраняются в расположении по умолчанию, заданном в настройках конфигурации модели.

  • Test File Location - Укажите полный путь, где вы хотите сохранить сгенерированные тестовые файлы. Кроме того, можно использовать имя файла по умолчанию, которое sltest_<model name>_tests. Файл сохранен в текущей рабочей папке. Это поле появляется только в том случае, если перед открытием мастера в диспетчере тестов не был открыт тестовый файл.

    Если перед открытием мастера в Диспетчере тестов был открыт тестовый файл, вместо Test File Location отображаются следующие опции:

    • Add tests to the currently selected test file - сгенерированные тесты добавляются к тестовому файлу, который был выбран на панели Test Browser диспетчера тестов при открытии мастера.

    • Create a new test file containing the test(s) - Для тестов создается новый тестовый файл. Он появляется на панели Test Browser Диспетчера тестов.

    Wizard section showing options to add tests to current file or create new test file

Сгенерируйте тестовую обвязку и тест

Щелкните Done, чтобы сгенерировать тестовую обвязку и тест. Если вы тестируете целую модель и отменяете выбор тестовой обвязки на первой вкладке мастера, Create a Test Harness не создается.

Затем откроется тестовый пример на панели Test Browser и, если был создан тестовый жгут, имя тестового жгута в Harness поле System Under Test раздела. Имя теста <model name>_Harness<#>.

Примечание

Если модель имеет существующую внешнюю обвязку, мастер создает дополнительную внешнюю тестовую обвязку для тестируемого компонента. Если электрическая обвязка не существует или внутренняя обвязка существует, мастер создает внутреннюю тестовую обвязку.

Если вы проверяете код для атомарной подсистемы или блока модели с помощью теста эквивалентности, и на вкладке Verification Strategy вы задаете Simulation2 Software-in-the-Loop (SIL) или Processor-in-the-Loop (PIL)мастер создает только одну тестовую обвязку как в обычном, так и в SIL или PIL режимах симуляции. Для других тестов эквивалентности мастер создает две обвязки, по одному для каждого режима симуляции. Для следующих типов подсистем и строений модели мастер создает две тестовых обвязок, даже если подсистема является атомарной.

  • Виртуальные подсистемы

  • Function-call, For Each, If Action, S-Function, Initialize Function, Terminate Function и Reset Function подсистемы

  • Диаграммы Stateflow

  • Подсистемы, в которых ERTFilePackagingFormat для свойства задано значение Compact если код подсистемы имеет PreserveStaticInFcnDecls установлено на on.

  • АВТО-РСА

  • Подсистемы, которые генерируют встроенный код, такие как подсистемы, где RTWSystemCode свойство также не Nonreusable function или Reusable function).

  • Подсистемы, которые содержат блоки моделей, S-Function, Данных Store Read или Данных Store Write

  • Подсистемы, которые имеют виртуальные шины на своем интерфейсе

  • Подсистемы, которые включают покрытие кода LDRA или BullsEye

  • Подсистемы, которые включают логгирование сигналов

См. также

Похожие темы