Задайте ограничительные значения параметра для полного охвата

Об этом примере

Этот пример описывает, как создать и анализировать простую модель Simulink®, для которой вы генерируете тесты, которые достигают Decision Coverage. Однако в этом примере, достигая полного Decision Coverage возможно только, когда Simulink Design Verifier™ обрабатывает конкретные параметры блоков как переменную во время ее анализа. Этот пример объясняет, как задать настройки параметра для использования с анализом.

Следующий рабочий процесс проводит вас по процессу завершения этого примера.

ЗадачаОписаниеСмотрите...
1

Создайте модель в качестве примера.

Создайте модель в качестве примера

2

Задайте переменную как значение параметров блоков Constant.

Параметризуйте постоянный блок

3

Ограничьте значение переменной, которую задает блок Constant.

Автоматически сгенерируйте ограничение параметра

4

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

Анализируйте модель в качестве примера

5

Симулируйте тесты и измерьте получившийся Decision Coverage.

Симулируйте тесты

Создайте модель в качестве примера

Создайте простую модель Simulink, чтобы использовать в этом примере:

  1. Создайте пустую модель Simulink.

  2. Скопируйте следующие блоки в пустой Редактор Simulink:

    • От библиотеки Sources:

      • Два блока Inport, чтобы инициировать входные сигналы

      • Блок Constant, чтобы управлять переключателем

    • От библиотеки Signal Routing: блок Multiport Switch, чтобы обеспечить простую логику

    • От библиотеки Sinks: блок Outport, чтобы получить выходной сигнал

  3. Дважды кликните блок Multiport Switch, чтобы получить доступ к его диалоговому окну и задать его опцию Number of data ports как 2.

  4. Соедините блоки так, чтобы ваша модель была похожа на следующее.

  5. На вкладке Simulation кликните по стреле справа от раздела Prepare и нажмите Model Settings.

  6. В диалоговом окне Configuration Parameters выберите Solver. Под Solver selection, набор опция Type к Fixed-step, и затем набор опция Solver к discrete (no continuous states).

  7. В панели Diagnostics, набор Automatic solver parameter selection к none.

  8. Нажмите OK, чтобы применить ваши изменения и закрыть диалоговое окно Configuration Parameters.

  9. Сохраните свою модель как ex_defining_params_example для использования в следующей процедуре.

Параметризуйте постоянный блок

Параметризуйте блок Constant в своей модели путем определения переменной как значения блока Constant параметр Constant value:

  1. Дважды кликните блок Constant.

  2. В поле Constant value введите A.

  3. Нажмите OK, чтобы применить ваше изменение и закрыть диалоговое окно параметров блоков Constant.

  4. Сохраните свою модель.

Предварительно загрузите переменную рабочей области

Предварительно загрузите значение переменной A рабочей области MATLAB® ссылаемый блоком Constant:

  1. На вкладке Modeling выберите Model Settings> Model Properties.

  2. Кликните по вкладке Callbacks.

  3. В PreLoadFcn, Введите:

    A = int8(1);
  4. Нажмите OK, чтобы закрыть диалоговое окно Model Properties и сохранить ваши изменения.

  5. Закройте свою модель.

  6. Откройте свою модель.

    Когда вы открываете модель, PreLoadFcn задает переменную A из типа int8 чье значение равняется 1.

Автоматически сгенерируйте ограничение параметра

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

  1. На вкладке Apps кликните по стреле справа от раздела Apps.

    Под Model Verification, Validation, and Test нажмите Design Verifier.

  2. На вкладке Design Verifier, в разделе Prepare, в выпадающем меню для настроек режима, нажимают Settings.

  3. В диалоговом окне Configuration Parameters выберите Design Verifier> Parameters.

  4. Выберите Enable parameter configuration.

  5. Выберите Use parameter table.

  6. Нажмите Find in Model.

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

    В этом случае строка появляется для параметра A то, что вы задали. Строка таблицы для A отображения следующая информация:

    • В столбце Name, название параметра (A).

    • В столбце Constraint ограничение задало на параметре A. Таблица параметров автоматически генерирует ограничительные значения {1, 2}.

    • В столбце Value, значении A в базовом рабочем пространстве. Это значение равняется 1.

    • В столбце Model Element, компоненте модели, в который A находится (ex_defining_params_example/Constant).

    • В столбце Use, флажок, указывающий, сконфигурированы ли заданные ограничительные значения в таблице для анализа.

  7. В Таблице параметров, в строке для параметра A, убедитесь, что вы устанавливаете флажок Use.

    Когда вы включаете эту настройку параметра, во время анализа Simulink Design Verifier, параметр A берет только int8 значения 1 и 2.

  8. В диалоговом окне Configuration Parameters нажмите OK.

  9. Сохраните свою модель.

Анализируйте модель в качестве примера

Анализируйте модель с помощью настройки параметра, которую вы только создали, и сгенерируйте аналитический отчет:

  1. На вкладке Design Verifier, в разделе Mode, выбирают Test Generation. Нажмите Generate Tests.

    Simulink Design Verifier анализирует вашу модель, чтобы сгенерировать тесты.

  2. Когда программное обеспечение завершит свой анализ в окне Simulink Design Verifier Results Summary, выберите Generate detailed analysis report.

    Программное обеспечение отображает отчет HTML под названием ex_defining_params_example_report.html.

    Сохраните окно Results Summary открытым для следующей процедуры.

  3. В Simulink Design Verifier сообщают о Table of Contents, нажимают Test Cases.

  4. Нажмите Test Case 1 отобразить подраздел для того теста.

    Этот раздел предоставляет подробную информацию о Тесте 1, который Simulink Design Verifier сгенерировал, чтобы удовлетворить цели покрытия в модели. В этом тесте, значении 1 для параметра A удовлетворяет цели.

  5. Прокрутите вниз к разделу Test Case 2 в главе Test Cases.

    Этот раздел предоставляет подробную информацию о Тесте 2, который удовлетворяет другой цели покрытия в модели. В этом тесте, значении 2 для параметра A удовлетворяет цели.

Симулируйте тесты

Симулируйте сгенерированные тесты и рассмотрите покрытие, сообщают, что следует из симуляции:

  1. В окне Simulink Design Verifier Results Summary выберите Create harness model.

    Программное обеспечение создает и открывает модель тестовой обвязки под названием ex_defining_params_example_harness.

  2. Блок пометил Inputs в модели тестовой обвязки, блок Signal Builder, который содержит сигналы теста. Дважды кликните блок Inputs, чтобы просмотреть сигналы теста в блоке Signal Builder.

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

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

  4. В отчете покрытия модели рассмотрите раздел Summary:

    Этот раздел обобщает результаты покрытия для модели тестовой обвязки и ее Тестовой Модульной подсистемы. Заметьте, что подсистема достигает 100% Decision Coverage.

  5. В разделе Summary кликните по Тестовой Модульной подсистеме.

    Отчет отображает подробные результаты покрытия для Тестовой Модульной подсистемы.

    Этот раздел показывает, что блок Multiport Switch достигает 100% Decision Coverage, потому что тесты осуществляют каждую из трасс переключателя.

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