Проверьте и подтвердите различные модели со временем активации компиляции кода

В этом примере показано, как проверить и подтвердить различные модели с code compile различное время активации с помощью Simulink® Design Verifier™ и Simulink Test™.

Обзор Simulink Design Verifier и Simulink Test

Simulink Design Verifier идентифицирует скрытые ошибки проектирования и обнаруживает построения модели, которые приводят к целочисленному переполнению, мертвой логике, нарушениям доступа к массиву и делению на нуль. Это также генерирует тесты для покрытия модели. Для получения дополнительной информации займитесь Систематическим Model Verification Используя Simulink Design Verifier (Simulink Design Verifier).

Simulink Test обеспечивает инструменты для авторской разработки, управления и выполнения систематических, основанных на симуляции тестов моделей, сгенерированного кода и симулированного или физического оборудования. Можно создать ненавязчивые тестовые обвязки, чтобы изолировать компонент под тестом и использовать менеджера по Тесту, чтобы управлять и выполнить пользовательские тесты. Для получения дополнительной информации смотрите Функциональное Тестирование на Верификацию (Simulink Test).

ПРИМЕЧАНИЕ: различная модель slexVariantVnVWorkflow используемый в этом примере использует code compile различное время активации. Для таких моделей Simulink Test анализирует только активный вариант по умолчанию. Необходимо переключить активный вариант и повторно выполнить тесты, чтобы анализировать весь выбор. Чтобы сделать рабочий процесс Simulink Test итеративным, можно использовать startup различное время активации и запуск тестовые итерации в быстром перезапуске. startup вариант с быстрым рабочим процессом перезапуска позволяет вам переключать активный вариант в каждую итерацию без потребности перекомпилировать модель, чтобы изменить активный вариант. Для примера, который показывает рабочий процесс Simulink Test с вариантами запуска и быстро перезапускает, смотрите, Проверяют и Подтверждают Различные Модели со Временем Активации Запуска.

Исследуйте модель

Откройте модель, slexVariantVnVWorkflow.

open_system('slexVariantVnVWorkflow');

Модель содержит Различный блок Subsystem, ComputeTargetSpeed, с двумя вариантами, ComputeTargetSpeed_Config1 и ComputeTargetSpeed_Config2. В этом примере мы используем Simulink Design Verifier, чтобы сгенерировать тесты, которые удовлетворяют цели Decision Coverage и условие. Модель использует тестовую обвязку, slexVariantVnVWorkflow_mdlHarness, созданное использование Simulink Test и содержит основанные на требованиях тесты для каждого варианта. Обвязка сохранена с моделью.

  • Чтобы запустить Simulink Design Verifier и автоматически сгенерировать тесты для вариантов в модели, дважды кликните кнопку Run SLDV.

  • Запустить менеджера по Simulink Test и просмотреть тестовые наборы в тестовой обвязке, slexVariantVnVWorkflow_mdlHarness, дважды кликните кнопку Open Simulink Test Manager.

Используйте Simulink Design Verifier, чтобы сгенерировать тесты

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

Просмотреть параметры конфигурации, сопоставленные с Simulink Design Verifier для этой модели:

  • В Редакторе Simulink, на вкладке Modeling, нажимают Model Settings.

  • В диалоговом окне Configuration Parameters нажмите Design Verifier в панели левой стороны. В разделе Опций анализа Режим установлен в Test Generation. В категории Генерации тестов цели Покрытия модели установлены в Condition Decision.

В командном окне MATLAB запустите скрипт, соответствующий каждому из этих шагов. Кнопка Run SLDV в модели автоматизирует тот же скрипт.

Шаг 1: Установите необходимые опции Simulink Design Verifier. Для получения информации об опциях смотрите sldvoptions (Simulink Design Verifier).

modelName='slexVariantVnVWorkflow';
open_system(modelName);
%Create a design verification options object for the model.
opts = sldvoptions(modelName);
%Specify the optimization strategy to use when generating test cases.
opts.TestSuiteOptimization = 'Auto';
%Generate and save a Simulink Design Verifier report.
opts.SaveReport='on';
%Create unique reports for each variant choice.
opts.MakeOutputFilesUnique ='on';
%Create a harness model generated by the Simulink Design Verifier analysis.
opts.SaveHarnessModel ='off';
%Specify the analysis mode.
opts.Mode = 'TestGeneration';

Шаг 2: Установите вариант, для которого тесты должны быть сгенерированы, затем анализировать модель.

%Set the active variant choice to ComputeTargetSpeed_Config1 in the base workspace.
assignin('base','speedConfig',1);
%Specify a file name for the analysis report to indicate the variant choice being analyzed.
opts.ReportFileName = ([modelName 'report_speedConfig1']);
%Track the execution progress from MATLAB command prompt.
disp([newline 'Performing SLDV Run for Model ' modelName ' with variant choice : SpeedConfig 1']);
%Invoke the model update command to activate the variant choice.
set_param(modelName, 'SimulationCommand', 'Update');
%Analyze the model to generate test cases and display messages in the log window.
[status,fileNames] = sldvrun(modelName, opts, true);

Шаг 3: Повторите Шаг 2 для варианта ComputeTargetSpeed_Config2.

assignin('base','speedConfig',2);
opts.ReportFileName = ([modelName 'report_speedConfig2']);
disp([newline 'Performing SLDV Run for Model ' modelName ' with variant choice : SpeedConfig 2']);
set_param(modelName, 'SimulationCommand', 'Update');
[status1,fileNames] = sldvrun(modelName, opts, true);

Шаг 4: Отобразите состояние генерации тестов.

if status & status1
disp('Simulink Design Verifier test generation completed.');
end

После того, как анализ завершен, окно Simulink Design Verifier Results Summary открывает и показывает различные способы, которыми можно использовать результаты. Смотрите Результаты анализа Анализа (Simulink Design Verifier). Чтобы экспортировать сгенерированные тесты в Simulink Test, нажмите тесты Export к Simulink Test.

Используйте Simulink Test, чтобы выполнить тесты

Можно использовать Simulink Test, чтобы выполнить пользовательские тесты или тесты, импортированные из Simulink Design Verifier. Чтобы выполнить тесты и анализировать результаты, используйте менеджера по Тесту. Simulink Test анализирует только активный вариант по умолчанию для различных моделей, которые используют code compile различное время активации. Анализировать все варианты в таких моделях:

1. На вкладке Apps, в Model Verification, Валидация и Экспериментальный участок, нажимают Simulink Test.

2. На вкладке Tests нажмите Simulink Test Manager.

3. Создайте тестовую обвязку с необходимыми тестами и выберите модель тестовой обвязки в менеджере по Тесту.

4. Добавьте различные контрольные переменные в набор параметров в разделе Parameter Overrides.

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

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

Видеть тестовые наборы в модели тестовой обвязки, slexVariantVnVWorkflow_mdlHarness, дважды кликните кнопку Open Simulink Test Manager в модели.

  • В тестовом наборе CruiseControl_SpeedConfig_1, активный вариант установлен в ComputeTargetSpeed_Config1. В CruiseControl_SpeedConfig_2, активный выбор установлен в ComputeTargetSpeed_Config2.

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

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