Создайте тест и тестовую обвязку для компонента модели или компонента модели
создает тест в заданном тестовом файле или тестовом наборе для заданного компонента модели. Тестовый файл должен уже существовать если tc
= sltest.testmanager.createTestForComponent('TestFile',tf
,'Component',componentName
)CreateTestFile
установлен в true
.
создает тест с дополнительными опциями, заданными одним или несколькими tc
= sltest.testmanager.createTestForComponent(___,Name,Value
)Name,Value
парные аргументы. Задайте аргументы пары "имя-значение" после тестового файла и входных параметров компонента.
В этом примере показано, как создать базовый тест для модели и сохранить входные параметры в файле Excel. Тестовая обвязка автоматически создана.
Обратите внимание на то, что этот код использует текущую папку в качестве ExcelFileLocation
. Чтобы сохранить файл Excel к другому местоположению, может изменить ExcelFileLocation
значение к различной перезаписываемой папке.
load_system('vdp'); tf = sltest.testmanager.TestFile('MyBaselineTestFile'); sltest.testmanager.createTestForComponent('TestFile',tf,... 'Component','vdp',... 'TestType','baseline',... 'ExcelFileLocation','mybaseline_inputdata.xlsx');
Создайте эквивалентный (компенсационный) тест для Controller
компонент sltestNormalSILEquivalenceExample
модель.
load_system('sltestNormalSILEquivalenceExample'); tf = sltest.testmanager.TestFile('MyB2BTestFile'); sltest.testmanager.createTestForComponent("TestFile",tf,... "Component","sltestNormalSILEquivalenceExample/Controller",... "TestType","equivalence",... "Simulation1Mode","Normal",... "Simulation2Mode","Software-in-the-Loop (SIL)");
### Starting build procedure for: Controller ### Successful completion of build procedure for: Controller ### Creating SIL block ... Building with 'gcc'. MEX completed successfully. Build Summary Top model targets built: Model Action Rebuild Reason =========================================================================================== Controller Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 34.901s
В этом примере показано, как создать тест и тестовую обвязку для компонента модели. Это также показывает, как использовать HarnessOptions
свойство. Тест использует только обвязку компонента и настраивается без входных параметров или базовой стратегии. Использовать эту стратегию создания теста, UseComponentInputs
свойство createTestForComponent
функция должна быть ложной, и SLDVTestGeneration
свойством должен быть off
. HarnessSource
свойство проигнорировано и FunctionInterfaceName
выведен из аргумента, переданного createTestForComponent
.
Если тест настраивается, можно задать стратегию верификации компонента, такого как импортирование данных о тестовом воздействии для компонента в созданный тест.
Этот код создает тестовый файл и обвязку для Contoller
компонент f14
модель. HarnessOptions указывают, что именем обвязки является myHarness
, Редактор Сигнала используется в качестве источника обвязки и синхронизаций обвязки с моделью, когда обвязка открыта.
load_system('f14'); tcObj = sltest.testmanager.createTestForComponent(... 'CreateTestFile',true,'TestFile','MyHarnessTest', ... 'Component','f14/Controller','UseComponentInputs', ... false,'HarnessOptions',{'Name','myHarness', ... 'Source','Signal Editor','SynchronizationMode', ... 'SyncOnOpen'});
tf
— Тестовый файл или набор, в который можно добавить тестsltest.testmanager.TestFile
возразите | sltest.testmanager.TestSuite
возразите | строка | вектор символовТестовый файл или тестовый набор, в который можно добавить тест в виде sltest.testmanager.TestFile
или sltest.testmanager.TestSuite
объект, строка или вектор символов. Если CreateTestFile
является ложным, объект тестового файла должен существовать. Если CreateTestFile
true
, TestFile
путь нового тестового файла в виде строки или вектора символов.
C
Пример: 'TestFile','myTestFile'
componentName
— Модель или компонент, чтобы протестироватьSimulink.BlockPath
объектМодель или компонент, чтобы протестировать в виде строки или вектора символов полного пути или как Simulink.BlockPath
объект. Можно задать любую модель или блок, который поддерживается для генерации тестовой обвязки. Смотрите Тестовую обвязку и Отношение Модели для списка компонентов, для которых можно создать тестовые обвязки.
Пример: 'Component','sf_car/shift_logic'
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'CreateTestFile',true
CreateTestFile
— Создать ли новый тестовый файлfalse
(значение по умолчанию) | true
Создать ли новый тестовый файл в виде заданного как разделенная запятой пара, состоящая из 'CreateTestFile'
и true
или false
.
Пример: 'CreateTestFile',true
TopModel
— Имя модели наверху иерархииИмя модели наверху иерархии, если компонент, чтобы протестировать находится в модели, на которую ссылаются, в виде разделенной запятой пары, состоящей из 'TopModel'
и как строка или вектор символов. Если componentName
топ-модель, не используйте TopModel
свойство.
Пример: 'TopModel','Plant'
TestType
— Тип теста'baseline'
(значение по умолчанию) | 'equivalence'
| 'simulation'
Тип теста в виде разделенной запятой пары, состоящей из 'TestType'
и 'baseline'
, 'equivalence'
, или 'simulation'
.
Пример: 'TestType','equivalence'
CreateHarness
— Создать ли тестовую обвязкуtrue
(значение по умолчанию) | false
Создать ли тестовую обвязку для модели в виде разделенной запятой пары, состоящей из 'CreateHarness'
и true
или false
. Когда Component
не модель верхнего уровня или когда вы генерируете тесты с помощью Simulink® Design Verifier™, эта опция установлена в true
автоматически и тестовая обвязка всегда создается. Если протестированная модель является моделью экспорта функций, Тестовый блок планировщика Последовательности автоматически создан в тестовой обвязке.
Чтобы сгенерировать только тестовую обвязку, установите SLDVTestGeneration на off
и UseComponentInputs к false
. Опционально укажите, что любой желал HarnessOptions.
Пример: 'CreateHarness',false
UseComponentInputs
— Опция, чтобы симулировать модель, чтобы получить входные параметрыtrue
(значение по умолчанию) | false
Опция, чтобы симулировать модель, чтобы получить входные параметры компонента для созданной тестовой обвязки в виде true
или false
. Если этим свойством является true
, тестовая обвязка использует входные параметры от симуляции модели. Если этим свойством является false
, тестовая обвязка не использует входные параметры компонента от симуляции.
Пример: 'UseComponentInputs',false
FunctionInterface
— Функциональный интерфейс для допускающей повторное использование подсистемы библиотекиФункциональный интерфейс в виде разделенной запятой пары, состоящей из 'FunctionInterface'
и строка или вектор символов. Задайте FunctionInterface
создать тесты для допускающей повторное использование подсистемы библиотеки. Подсистема должна быть в верхнем уровне библиотеки подсистемы и должна иметь функциональный интерфейс.
Пример: 'FunctionInterface','single'
Simulation1Mode
— Режим Simulation для симуляции 1 из эквивалентного теста'Normal'
| 'Accelerator'
Режим Simulation для симуляции 1 из эквивалентного теста в виде разделенной запятой пары, состоящей из 'Simulation1Mode'
и любой 'Normal'
или 'Accelerator'
. Если вы не задаете режим симуляции, режим системы под тестом используется. Необходимая тестовая обвязка автоматически создана для режима симуляции.
Пример: 'Simulation1Mode','Normal'
Simulation2Mode
— Режим Simulation для симуляции 2 из эквивалентного теста'Normal'
| 'Accelerator'
| 'Rapid Accelerator'
| 'Software-in-the-Loop (SIL)'
| 'Processor-in-the-Loop (PIL)'
Режим Simulation для симуляции 2 из эквивалентного теста в виде разделенной запятой пары, состоящей из 'Simulation2Mode'
и 'Normal'
, 'Accelerator'
, 'Rapid Accelerator'
, 'Software-in-the-Loop (SIL)'
, или 'Processor-in-the-Loop (PIL)'
.. Если вы не задаете режим симуляции, режим системы под тестом используется. Если TestType
'equivalence'
и Simulation2Mode
'Software-in-the-Loop (SIL)'
, дополнительная тестовая обвязка создается в дополнение к тесту и тестовой обвязке, если компонент под тестом не является атомарной подсистемой. Когда эквивалентность, тестирующая атомарную подсистему, использующую нормальный и режимы SIL или PIL, одна тестовая обвязка создается и используется для обоих режимов.
Пример: 'Simulation2Mode','Software-in-the-Loop (SIL)'
InputsLocation
— Путь к файлу для хранения регистрируемых входных параметров в MAT-файлеПуть к файлу для хранения регистрируемых входных параметров в MAT-файле в виде разделенной запятой пары, состоящей из 'InputsLocation'
и вектор символов или массив строк. Включайте расширение файла .mat
. Если вы не задаете InputsLocation
, местоположение по умолчанию используется.
Пример: 'InputsLocation','C:\MATLAB\inputs_data.mat'
BaselineLocation
— Путь к файлу для хранения базовой линии регистрировал выходные параметры в MAT-файлеПуть к файлу для хранения базовой линии регистрировал выходные данные в MAT-файле в виде разделенной запятой пары, состоящей из 'BaselineLocation'
и вектор символов или строка. Включайте расширение файла .mat
. Если вы не задаете BaselineLocation
, местоположение по умолчанию используется.
Пример: 'BaselineLocation','C:\MATLAB\baseline_data.mat'
CreateExcelFile
— Использовать ли формат Excel для вводов и выводовfalse
(значение по умолчанию) | true
Использовать ли Excel® формат для входных параметров и, для базовых тестов только, выходных параметров в виде разделенной запятой пары, состоящей из 'CreateExcelFile'
и любой true
или false
. Если вы используете 'ExcelFileLocation'
аргумент, чтобы задать имя файла и местоположение, вы не должны также использовать 'CreateExcelFile'
.
Пример: 'CreateExcelFile',true
ExcelFileLocation
— Путь к файлу для файла ExcelПуть к файлу для файла Excel в виде разделенной запятой пары, состоящей из 'ExcelFileLocation'
и вектор символов или массив строк. Включайте дополнительный .xlsx
. Если вы задаете местоположение, вы не должны также использовать 'CreateExcelFile'
опция. Если вы не задаете ExcelFileLocation
, текущая рабочая папка используется.
Примечание
Если SLDVTestGeneration
true
и HarnessSource
'Signal Editor'
, вы не можете сохранить данные к файлу Excel.
Пример: 'ExcelFileLocation','C:\MATLAB\baseline_data.xlsx'
Sheet
— Имя Excel покрывает, чтобы сохранить данные кИмя Excel покрывает, в котором можно сохранить данные в виде разделенной запятой пары, состоящей из 'Sheet'
и вектор символов или строка. Если вы не задаете Sheet
, текущая рабочая папка используется.
Пример: 'Sheet','MySubsysTest'
SLDVTestGeneration
— Сгенерировать ли тесты с помощью Simulink Design Verifier'off'
(значение по умолчанию) | 'on'
| 'EnhancedMCDC'
Сгенерировать ли тесты с помощью Simulink Design Verifier в виде:
'off'
— Не используйте Simulink Design Verifier, чтобы сгенерировать тесты.
'on'
— Используйте Simulink Design Verifier, чтобы сгенерировать тесты и использовать опции Simulink Design Verifier от настройки модели.
'EnhancedMCDC'
— Используйте Simulink Design Verifier, чтобы сгенерировать тесты с целями покрытия модели, как улучшено MCDC. EnhancedMCDC
опция допустима только если TestType
'equivalence'
и Simulation2Mode
'Software-in-the-Loop (SIL)'
или 'Processor-in-the-Loop (PIL)'
.
Примечание
Чтобы сгенерировать тесты из Simulink Design Verifier, система под тестом должна быть атомарной подсистемой.
Пример: 'SLDVTestGeneration','on'
SimulateModelForSLDVTestGeneration
— Симулировать ли топ-модель во время генерации тестовfalse
(значение по умолчанию) | true
Симулировать ли топ-модель во время генерации тестов Simulink Design Verifier в виде логического значения. Когда возвращенные тесты имеют покрытие модели ниже, чем ожидалось, после того, как вы будете анализировать возможные причины и реконфигурируете симуляцию по умолчанию, установите это свойство на true
. Затем повторно выполните генерацию тестов Simulink Design Verifier. Если результаты покрытия еще ниже, чем ожидалось, можно выполнить итерации анализа, реконфигурирования симуляции и генерации тестов.
Пример: 'SimulateModelForSLDVTestGeneration','true'
HarnessSource
— Введите исходный блок для обвязки'Inport'
(значение по умолчанию) | 'Signal Editor'
Введите исходный блок для тестовой обвязки в виде разделенной запятой пары, состоящей из 'HarnessSource'
и любой 'Inport'
или 'Signal Editor'
.
Пример: 'HarnessSource','Signal Editor'
HarnessOptions
— Опции создания тестовой обвязкиОпции создания тестовой обвязки в виде массива ячеек разделенных от запятой пар "имя-значение". Смотрите sltest.harness.create
для допустимых опций. Не включайте harnessOwner
обработайте в качестве первого аргумента в массиве ячеек. Первый аргумент установлен автоматически в Component
значение.
Используйте HarnessOptions
только, когда вы создаете обвязку для своего компонента и настраиваете тест для обвязки без любого добавленного входа, то есть, UseComponentInputs
false
. HarnessOptions
значения только, когда вы не используете симуляцию топ-модели или рабочий процесс Simulink Design Verifier.
Пример: 'HarnessOptions',{'SynchronizationMode','SyncOnOpen','SeparateAssessment',true}
tc
— Тестsltest.testmanager.TestCase
объектТест, возвращенный как sltest.testmanager.TestCase
объект.
sltest.harness.create
| sltest.testmanager.TestCase
| sltest.testmanager.TestFile
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.