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

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

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

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

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

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

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

2

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

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

3

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

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

4

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

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

5

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

Моделируйте тесты

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

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

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

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

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

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

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

    • От библиотеки Signal Routing: Многопортовый блок switch, чтобы обеспечить простую логику

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

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

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

  5. Выберите Simulation> Model Configuration Parameters.

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

  7. В дереве Select выберите узел 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, чтобы применить ваше изменение и закрыть диалоговое окно параметров блоков Константа.

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

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

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

  1. Выберите File> Model Properties> Model Properties.

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

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

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

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

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

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

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

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

  1. В Редакторе Simulink выберите Analysis> Design Verifier> Options.

  2. В диалоговом окне Configuration Parameters, от дерева Select под Design Verifier, выбирают Parameters.

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

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

  5. В нижней части Таблицы параметров нажмите Find in Model.

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. В Редакторе Simulink выберите Analysis> Design Verifier> Generate Tests> Model.

    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 кликните по Тестовой Модульной подсистеме.

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

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