Simulink Design Verifier Моделей тестовой обвязки

Генерация модели тестовой обвязки

Модель тестовой обвязки обеспечивает изолированное окружение для тестирования изменений проекта. Можно создать модель тестовой обвязки во время Simulink® Проектируйте Verifier™ анализ или после анализа.

Содержимое модели тестовой обвязки зависит от значения параметра Mode, заданного в диалоговом окне Параметры конфигурации на панели Design Verifier:

  • Design error detection - модель тестовой обвязки содержит тесты, которые приводят к ошибкам во время симуляции.

  • Test generation - модель тестовой обвязки содержит тесты, которые достигают целей тестирования.

  • Property proving - модель тестовой обвязки содержит контрпримеры, которые фальсифицируют цели доказательства.

По умолчанию параметр Generate separate harness model after analysis отключен.

Примечание

Программное обеспечение Simulink Design Verifier генерирует модель тестовой обвязки только тогда, когда анализируемая модель верхнего уровня содержит блок Inport.

Создайте модель тестовой обвязки

Чтобы создать модель тестовой обвязки до или после анализа, используйте следующие методы:

  • Перед анализом в диалоговом окне Параметры конфигурации на панели Design Verifier > Results выберите Generate separate harness model after analysis.

  • После анализа в окне Simulink Design Verifier Сводные Данные выберите Create harness model.

Содержимое модели тестовой обвязки

Программное обеспечение Simulink Design Verifier создает модель тестовой обвязки, которая содержит следующие элементы:

  • Inputs - Блок Входов является Signal Builder или Signal Editor блоком на основе опции источника обвязки, заданной в панели Design Verifier > Results.

    • Signal Builder: Этот блок содержит сигналы, которые состоят из тестов или контрпримеров, которые генерирует Simulink Design Verifier. Блок Signal Builder содержит сигналы только для входных сигналов, которые используются в модели. Если входной сигнал не влияет на выход модели, этот сигнал не включается в блок Signal Builder.

      Чтобы открыть диалоговое окно Signal Builder и просмотреть его сигналы, дважды кликните блок Inputs. Каждая группа сигналов представляет уникальный тест или контрпример. Чтобы просмотреть сигналы, сопоставленные с конкретным тестом или контрпримером, в диалоговом окне Signal Builder, выберите Active Group.

      После Simulink Design Verifier выполняет анализ генерации тестов на sldvdemo_cruise_control модель с опциями по умолчанию, этот Signal Builder блок показывает сигналы для Test Case 7.

      Если вы выбираете LongTestcases опция параметра Test suite optimization, анализ создает меньше, более длинных тестов. Для примера, если вы выбираете LongTestcases опция для sldvdemo_cruise_control модель, анализ дает один длинный тест вместо девяти более коротких тестов. В этом диалоговом окне Signal Builder показаны сигналы для длинного теста. Для получения дополнительной информации о диалоговом окне Signal Builder, смотрите Группы сигналов.

    • Signal Editor: Этот блок содержит сценарии, которые состоят из тестов или контрпримеров, которые генерирует Simulink Design Verifier. Блок Signal Editor содержит сигналы только для входных сигналов, которые используются в модели. Если входной сигнал не влияет на выход модели, этот сигнал не включается в блок Signal Editor.

      После того, как Simulink Design Verifier генерирует модель тестовой обвязки, входной MAT-файл для блока Signal Editor сохраняется в расположении по умолчанию <current_folder>\sldv_output\<model_name>\<model_name>_harness_HarnessInputs.mat.

    Чтобы открыть диалоговое окно Редактор и просмотреть сценарии источников сигналов, дважды кликните блок Inputs. В Active scenario перечислены тесты или контрпримеры. Чтобы создать и отредактировать сценарии, запустите пользовательский интерфейс Редактор. Для получения дополнительной информации смотрите Создание и редактирование данных о сигнале.

  • Size-Type - Этот Subsystem блок передает сигналы от блока Inputs к блоку Test Unit. Он проверяет, что размер и тип данных сигналов согласуются с блоком Test Unit.

  • Test Unit - Этот Subsystem блок содержит копию исходной модели, которую анализировал Simulink Design Verifier.

    Если вы выбираете Reference input model in generated harness на панели Design Verifier > Results, Test Unit является Model блоком, который ссылается на анализируемую модель, а не на подсистему.

    Если Тестовый Модуль в модели тестовой обвязки является подсистемой, значения параметров на Optimization и Math and Data Types панелях могут повлиять на результаты покрытия.

  • Test Case Explanation - это DocBlock блокировать документирование тестов или контрпримеров, которые генерирует Simulink Design Verifier. Чтобы просмотреть описание каждого теста или контрпримера, дважды щелкните блок Тест Explanation. Блок перечисляет либо цели тестирования, которые достигаются в каждом тестовом примере, либо цели доказательства, которые фальсифицирует каждый контрпример.

Строение модели тестовой обвязки

Simulink Design Verifier генерирует модель тестовой обвязки с этими настройками.

  • Время запуска модели тестовой обвязки всегда 0. Если в исходной модели используется ненулевое время начала, программа игнорирует время начала и использует 0 для времени начала симуляции для тестов и контрпримеров.

  • Время остановки модели тестовой обвязки всегда равняется времени остановки самого длинного теста в блоке Inputs.

  • По умолчанию программное обеспечение включает анализ покрытия и генерирует отчет о покрытии для моделей тестовой обвязки, которые содержат тесты. Создание отчетов о покрытии включено с опциями по умолчанию. Вы можете настроить эти параметры, используя Задать опции покрытия (Simulink Coverage).

  • По умолчанию, если вы выбираете Ignore objective based on filter и предоставляете файл фильтра покрытия для Test Unit, файл фильтра покрытия применяется к модели тестовой обвязки. Для получения дополнительной информации смотрите Данные о покрытии.

  • Модель тестовой обвязки генерируется с помощью этого блока Inputs, независимо от заданных вами Harness source:

    • Для моделей, которые используют комплексный тип Inport блок, в качестве источника обвязки используется Signal Editor блок.

    • Для моделей, которые используют массив шин в качестве блока Inport, в качестве источника обвязки используется блок Signal Builder.

Примечание

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

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

Модель тестовой обвязки позволяет вам моделировать копию исходной модели с помощью тестов или контрпримеров, которые генерирует Simulink Design Verifier. Используя модель тестовой обвязки, можно симулировать:

  • Контрпример.

  • Один тест, для которого программное обеспечение Simulink Coverage™ собирает и отображает информацию о покрытии модели.

  • Все тесты, для которых программное обеспечение Simulink Coverage собирает и отображает совокупную информацию о покрытии модели.

Примечание

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

Симулируйте модель тестовой обвязки при помощи исходного блока Signal Builder

Чтобы симулировать один тест или контрпример:

  1. В модели тестовой обвязки дважды кликните блок Inputs.

  2. В диалоговом окне Signal Builder выберите Active Group с конкретным тестом или контрпримером.

    Диалоговое окно Signal Builder отображает сигналы, которые состоят из выбранного теста или контрпримера.

  3. Нажмите кнопку Start simulation.

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

Чтобы симулировать все тесты и измерить их комбинированное покрытие модели:

  1. В модели тестовой обвязки дважды кликните блок Inputs.

  2. В диалоговом окне Signal Builder нажмите кнопку Run all.

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

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

Для получения дополнительной информации смотрите Симуляция с группами сигналов.

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

Чтобы симулировать один тест или контрпример:

  1. В модели тестовой обвязки дважды кликните блок Inputs.

  2. В диалоговом окне Редактор выберите Active scenario с конкретным тестом или контрпримером и нажмите OK.

  3. В редакторе Simulink нажмите кнопку Run.

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

Чтобы симулировать все тесты и измерить их комбинированное покрытие модели, используйте cvsim (Покрытие Simulink) или parsim команда. Для получения примера смотрите Модель тестовой обвязки Simulate with Signal Editor Inputs Block.

См. также

|