管理测试线束
内部和外部测试装置
您可以在内部将测试控制作为模型SLX文件的一部分保存,或者在外部将测试控制保存在单独的SLX文件中。一个模型存储内部或外部的所有测试工具;在一个模型中同时使用两种类型的线束存储是不可能的。在创建第一个测试集时,您可以选择内部或外部测试集存储。如果您的模型已经有了测试控制,您可以在控制存储类型之间进行转换。
如果您将模型存储在配置管理系统中,请考虑使用外部测试工具。外部测试工具使您能够在不更改模型文件的情况下创建或更改工具。如果您计划经常共享您的模型,可以考虑使用内部测试工具来简化文件管理。创建或更改内部测试工具将更改模型SLX文件。内部和外部测试工具都提供了相同的同步、推送、重建和徽章接口功能。
看到创建测试装置并选择属性.
管理外部测试装置
存储在外部的线束为每个线束使用单独的SLX文件< modelName > _harnessInfo.xml
文件,该文件包含链接模型和设备的元数据。改变测试装置可以改变harnessInfo.xml
文件。元数据和模型使用模型的唯一ID进行链接。测试控制元数据XML文件在默认情况下被创建并存储在与模型相同的文件夹中。如果需要,可以将元数据XML文件移动到MATLAB路径上的另一个文件夹。只要线束元数据文件、模型和线束都在MATLAB路径上,模型和线束之间的链接就会持续存在。
对于外部测试装置,请遵循以下指南:
警告
不删除或手动更改harnessInfo.xml
文件。删除harnessInfo.xml
文件可能会切断模型和控制之间的关系,而控制不能从模型中重新生成。
的
harnessInfo.xml
文件必须是可写的,以保存对测试工具或主要模型的更改。包含测试线束SLX文件的文件夹必须在MATLAB上®路径。
如果测试装置
harnessInfo.xml
如果XML文件与模型不在同一个文件夹中,则XML文件或其文件夹必须在MATLAB路径上。如果您将内部测试工具转换为外部测试工具,新的SLX文件将保存到当前的工作文件夹中。
如果您将外部测试工具转换为内部测试工具,则外部SLX文件可以位于MATLAB路径上的任何位置。
如果您的模型使用外部测试工具,只需使用创建模型的副本保存>另存为.使用另存为将外部测试集束复制到新模型的目标文件夹,重命名集束,并保持集束信息的最新状态。
在磁盘上复制模型文件不会复制与模型相关的外部控制。
仅使用Simulink更改或删除测试控制万博1manbetx®用户界面或命令:
要删除测试控制,请使用缩略图UI或
sltest.harness.delete
命令。要重命名测试套件,请使用套件属性UI或
sltest.harness.set
命令。要制作外部保存的测试工具的副本,请使用
sltest.harness.clone
命令或将测试工具保存到一个新名称保存>另存为.
在Simulink外部删除或重命名线束文件会导致错误万博1manbetx
harnessInfo.xml
加载测试线束的文件和问题。
内部和外部测试工具之间的转换
您可以在模型生命周期的不同阶段更改模型存储测试工具的方式。例如:
使用内部测试工具开发您的模型,以便您可以更容易地共享模型以供审查。当您完成您的设计并将模型置于变更控制之下时,转换到外部控制。
使用配置管理模型作为新设计的起点。使用外部设备测试现有模型以避免修改它。然后,创建现有模型的副本。转换为新的开发阶段的内部控制。
要将测试束存储更改为外部(或内部):
导航到主模型的顶部。
在应用程序页,在模型验证、验证和测试下,单击万博1manbetx仿真软件测试.然后,在测试选项卡上,单击管理测试线束>转换为外部设备或转换为内部设备.
一个对话框提供了转换过程和受影响的测试工具的信息。点击是的继续。
挽具是转换的。
到外部测试装置的转换为每个测试装置创建一个SLX文件和一个装置信息XML文件
< modelName > _harnessInfo.xml
.相反,转换到内部测试工具将移动测试工具SLX文件和
harnessInfo.xml
文件。
预览和打开测试工具
当一个模型组件有一个测试装置时,一个标记出现在块的右下方。要查看测试装置,请单击徽章。要打开测试装备,单击一个贴图。
要查看模型框图的测试工具,单击模型画布中的拉出图标。要打开测试装备,单击一个贴图。
模型和测试线束锁定
模型和测试束锁定特定于每种类型的同步。有关信息,请参见同步模式.
查找与测试工具相关联的测试用例
要列出引用测试工具的开放测试用例,请单击徽章在测试装备画布中。您可以单击一个测试用例名称,并在test Manager中导航到测试用例。
将测试控制导出到独立模型
您可以将测试工具导出到独立的模型,这对于存档测试工具或在不共享模型的情况下共享测试工具设计非常有用。
要导出一个单独的测试工具:
从个人的挽具模型,对应用程序选项卡,在模型验证、验证和测试,点击万博1manbetx仿真软件测试.
在利用选项卡上,单击分离和导出.
在“导出测试工具到独立模型”对话框中,单击好吧.
在“另存为”对话框中,输入独立控制模型的文件名并单击好吧.
线束转换为独立模型。
转换将从主模型中移除线束,并打破与主模型的关系。如果一个模型只有一个挽具,它的
harnessInfo.xml
文件被删除。如果一个模型有多个线束,而您删除了其中一个,则harnessInfo.xml
文件更新完成。
导出模型中所有的挽具:
导航到模型的顶层。不要选择任何块。
在应用程序选项卡,在模型验证、验证和测试,点击万博1manbetx仿真软件测试.
在利用选项卡上,单击分离和导出.
在“导出测试工具到独立模型”对话框中,单击好吧.
在“另存为”对话框中,输入单独模型的文件名并单击好吧.
所有的测试装置都被导出并转换成独立的模型。
导出将从主模型中移除线束,删除
harnessInfo.xml
文件,并打破与主模型的关系。
移动和克隆测试背带
万博1manbetx仿真软件测试™为您提供了将测试工具从源所有者移动或克隆到目标所有者的能力,而不必编译模型。您可以移动或克隆:
跨子系统的子系统利用。目标子系统也可以在不同的模型中。
跨库的库组件的利用。
子系统引用块集成到其他子系统引用块集成。
子系统参考块控制子系统模型控制。
要移动或克隆线束,右键单击Simulink画布并选择万博1manbetx测试工具>管理测试线束.“管理测试装置”对话框打开并列出与中指定的子系统或块相关联的测试装置由线束所有者过滤.点击行动以访问移动和克隆选项。
选择目标路径并命名您的测试工具。
当将子系统转换为模型引用时,测试线束转换
当你转换子系统或子系统的参考块到模型块,测试控制被转移到被引用的模型。吊带子系统块被转换为块图线束。中嵌套的子系统中的线束被复制到相同的块中模型块。在模型参考中,所有转移的线束都是内部线束。当它们被转移时,可能会被重命名。你可以看到关于挽具转移的反馈完成转换窗格或MATLAB命令行。
这些限制适用于转换子系统或子系统的参考块到模型布洛克:
SIL和PIL挽具不转移。
子系统的测试集束中的需求不会被转移。您必须手动复制它们。
克隆并导出一个测试线束到一个单独的模型
这个例子演示了克隆一个现有的测试套件并将克隆的套件导出到一个单独的模型。如果您想要创建一个测试装置的副本作为一个单独的模型,但是让测试装置与模型组件相关联,这可能是有用的。
高层工作流
如果您不知道想要克隆的测试套件的确切属性,请使用它们
sltest.harness.find
.您需要套具所有者ID和套具名称。使用sltest.harness.clone克隆测试工具。
使用将测试线束导出到单独的模型
sltest.harness.export
.注意,导出的模型和原始模型之间没有关联。导出的模型是独立的。
打开模型并保存一个本地副本
模型=“sltestTestSequenceExample”;open_system(模型)
将本地副本保存在MATLAB路径的可写位置。
获取源测试工具的属性
属性= sltest.harness.find([模型' / shift_controller '])
properties = struct with fields: model:“sltestTestSequenceExample”名称:“controller_harness”描述:“type:“Testing”ownerHandle: 10.0706 ownerFullPath:“sltestTestSequenceExample/shift_controller”ownerType:“Simulink. properties”万博1manbetxSubSystem' isOpen: 0 canBeOpened: 1 verificationMode: 0 saveexternal: 0 rebuildOnOpen: 0 rebuildModelData: 0 postRebuildCallback: " graphical: 0 origSrc: 'Test Sequence' origSink: 'Test Assessment' synchronizationMode: 0 existingBuildFolder: " functionInterfaceName: "
克隆测试装备
使用sltest.harness克隆测试套件。克隆,ownerFullPath
和的名字
线束属性结构的字段。
sltest.harness.clone (properties.ownerFullPath properties.name,“ControllerHarness2”)
保存模型
在导出管理之前,保存对模型的更改。
save_system(模型)
将测试线束导出到一个单独的模型
使用sltest.harness.export导出测试工具。导出的模型名称为ControllerTestModel
.
sltest.harness.export([模型' / shift_controller '),“ControllerHarness2”,...“名字”,“ControllerTestModel”)
清楚(“模型”)明确(“属性”) close_system (“sltestTestSequenceExample”,0)
以编程方式删除测试工具
这个例子展示了如何以编程的方式删除测试工具。当您的模型在不同的层次结构级别上有多个测试利用时,使用编程接口进行删除是有用的。这个例子演示了如何创建四个测试工具,然后删除它们。
1.打开模型
open_system (“sltestCar”);
2.创建两个挽具传输
子系统,和两个挽具为传动比
子系统。
sltest.harness.create (“sltestCar /传播”);sltest.harness.create (“sltestCar /传播”);sltest.harness.create (“sltestCar /传输/传动比”);sltest.harness.create (“sltestCar /传输/传动比”);
3.找到模型中的安全带。
Test_harness_list = sltest.harness.find(“sltestCar”)
test_harness_list =带字段的1x5结构数组:模型名称描述类型ownerHandle ownerFullPath ownerType isOpen canBeOpened verificationMode saveexternal rebuildOnOpen rebuildModelData postRebuildCallback图形化origSrc origSink synchronizationMode existingBuildFolder functionInterfaceName
4.删除安全带。
为k = 1:length(test_harness_list) sltest.harness.delete(test_harness_list(k).ownerFullPath)...test_harness_list (k) . name)结束
close_system (“sltestCar”, 0);
将测试工具导出到以前的版本
当您将具有一个或多个测试控制的Sim万博1manbetxulink模型导出到以前的MATLAB版本时,对控制的影响取决于它们是内部的还是外部的。
对于具有内部线束的模型,线束保持在内部,并与模型一起导出。
对于带有外部线束的模型,导出模型中的线束将转换为内部线束。要将内部安全带改回外部,请参见内部和外部测试工具之间的转换.
如果不将它们的父模型导出到以前的版本,就不能导出内部或外部控制。要绕过这个限制,可以将集束导出到独立模型,将集束模型导出到以前的版本,然后将它导入到主模型。导入线束后,检查线束设置。您可能需要重置一些属性,例如同步模式和重新构建。看到将测试控制导出到独立模型而且更改测试线束属性.
另请参阅
sltest.harness.create
|sltest.harness.clone
|sltest.harness.delete
|sltest.harness.export
|sltest.harness.find
|sltest.harness.load
|sltest.harness.open
|sltest.harness.move
|模型引用转换顾问