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

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

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

  • Модель, чтобы протестировать.

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

  • Тестовые воздействия.

  • Тип теста, чтобы работать на компоненте.

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

Для примера, который использует мастер, смотрите, Создают и Запущенный Компенсационный Тест.

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

Прежде чем вы запустите мастер, проверяйте свою модель.

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

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

  • Если вы тестируете код, сгенерированный на допускающую повторное использование подсистему библиотеки, прежде, чем открыть Создать Тест для мастера Компонента, проверяете, что подсистема задала функциональные интерфейсы и что библиотека уже имеет сгенерированный код. Для получения информации о допускающих повторное использование подсистемах библиотеки функциональные интерфейсы и сгенерированный код, видят Основанную на библиотеке Генерацию кода для Допускающих повторное использование Подсистем Библиотеки (Embedded Coder). У вас должна быть лицензия Embedded Coder®, чтобы проверить сгенерированный код.

Примечание

Чтобы открыть Создать Тест для мастера Компонента, в менеджере по Тесту выбирают New> Test for Model Component.

Выберите Model или Component to Test

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

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

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

  • Целая модель, отпуск пустое поле 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 — Выберите, как входные параметры, сгенерированные Верификатором Проекта, применяются к тестовой обвязке. Эта опция появляется, только если вы выбираете Use Design Verifier to generate test input scenarios на вкладке Test Inputs.

    • Inports — Создайте тестовую обвязку с блоками Inport как источник.

    • Signal Editor — Создайте тестовую обвязку с Редактором Сигнала как источник, который содержит входные сценарии, сгенерированные Верификатором Проекта.

  • 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), мастер создает только одну тестовую обвязку и нормальное и режимы PIL симуляции или SIL. Для других эквивалентных тестов мастер создает две обвязки, один для каждого режима симуляции. Для следующих типов подсистем и настроек модели, мастер создает две тестовых обвязки, даже если подсистема является атомарной.

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

  • Вызов функции, Для Каждого, Если Действие, S-функция, Инициализирует Функцию, Оконечную Функцию и подсистемы Функции Сброса

  • Диаграммы Stateflow

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

  • AUTOSAR

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

  • Подсистемы, которые содержат модели, на которые ссылаются, S-функцию, Чтение Хранилища данных или блоки Записи Хранилища данных

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

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

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

Смотрите также

Похожие темы