创建用于测试用例的外部数据文件
您可以创建 Microsoft® Excel® 文件、MAT 文件和 MATLAB® 脚本,用于测试用例数据,例如输入数据、基线数据和参数覆盖设置。这些文件使用特定的格式,可以包含多种类型的数据。
注意
您只能为在当前版本中运行的测试创建输入数据文件。要在测试管理器中选择当前版本,请在测试用例的在测系统部分中使用选择仿真版本。
生成一个 Excel 文件
此示例演示了如何为在测系统 (SUT) 生成一个 Excel® 文件。生成的电子表格从模型或测试框架中提取数据。如有需要,您可以编辑电子表格以添加其他数据。然后,您可以将文件中的数据导入到 Simulink® Test™ 中作为测试用例。
要从模型中提取数据,请使用“从电子表格创建测试”向导。向导解析 SUT 以提取测试属性,并生成包含以下类型数据的模板电子表格和测试用例:
- 输入 - 输入以根输入端口为特征 
- 参数 - 模型中的命名参数 
- 比较信号 - 记录信号和输出端口 
该向导允许您过滤和编辑测试所需的属性。生成的电子表格具有针对输入、参数和比较信号的单独列集。如果您的测试需要多次迭代,向导会在同一个文件中为每次迭代创建一个单独的工作表。您可以扩展电子表格以添加基于时间的信号数据、容差和参数覆盖。
打开建模和测试管理器
open_system("coordinate_transform_test")
sltest.testmanager.view打开并使用“从电子表格创建测试”向导
在测试管理器中,选择新建 > 从电子表格测试..
数据页面
选择创建用于指定数据的测试模板文件,然后点击下一步。

系统页面
将 coordinate_transform_test 作为模型,将 None 作为框架。点击下一步。 

属性页面
选择要包含在电子表格中的测试属性类别。对于此示例,请保留选中的选项:输入、参数和是,包含电子表格中的所有属性。点击下一步。

请注意,如果在选择过程中更改了被测系统 (SUT),请点击刷新以同步属性列表与被测系统 (SUT)。
此外,请注意,如果您不想直接使用类别中的所有属性,请选择不,我想过滤并编辑属性。然后,当您点击下一步时,将显示输入和参数选项卡。选择要使用的输入,并清除不需要的参数。如果在属性页面中除了输入和参数外,还选择了比较,则会显示一个比较选项卡。在“比较”选项卡中,选择用于基线比较的信号,并根据需要设置容差。要为每个信号设置不同的容差,请在向导生成电子表格后打开并编辑该电子表格。
场景页面
在场景页面中,将测试场景的数值输入为 1,并将电子表格中工作表的基名保留为 Scenario.点击下一步。

请注意,如果您输入的数值大于 1,向导将为每个场景生成一个单独的表格。测试管理器将每张表作为一次单独的迭代。
生成的测试页面
在生成的测试页面上,将 coordinate_test.mldatx 指定为测试文件名,将 coordinate_test.xlsx 指定为 Excel 电子表格名称。点击完成以创建测试并生成测试文件和 Excel 文件到工作目录中。 

向导创建了两个文件:
- Excel 电子表格 - 该电子表格包含输入、参数和比较信号的列。输入和比较具有不同的时间基准。该向导为每个测试场景生成相同的工作表。使用特定值(例如参数覆盖)填写电子表格,以唯一地定义每个场景。要查看 Excel 文件,请打开 - coordinate_test.xlsx。有关文件格式的更多信息,请参阅 Microsoft Excel 导入、导出和记录格式. 。 。
- 测试文件 - 该测试用例导入 Excel 电子表格并创建测试用例。在测试管理器中生成的测试用例已选中从外部文件创建测试用例选项。参数覆盖和输入部分包含来自文件的数据。 
 
电子表格中的字段在测试管理器中已被锁定。要修改已锁定的字段,请在 Test Manager 之外编辑电子表格并 MATLAB。如果您修改了一个或多个参数并在属性页面中选择了比较,请通过点击基线准则部分中的捕获按钮重新捕获基线。
输入、基线和参数覆盖测试用例数据格式在 Excel
作为使用向导的替代或补充,您可以在 Microsoft Excel 文件中指定与信号相关的信号数据和时间数据,以用作测试用例的输入或基线准则。为了支持一系列模型和配置,您可以指定大多数数据类型的信号数据。您可以指示信号是标量、多维还是复数。您可以选择指定数据类型、模块路径和端口索引、单位、插值类型和函数调用执行时间。您还可以指定参数覆盖的值。如果您的 Excel 文件有多个工作表,则每个工作表上的数据在测试管理器中将作为单独的迭代使用。
有关如何在 Excel 文件中格式化数据的一般信息,请参阅 Microsoft Excel 导入、导出和记录格式。有关如何使用 Excel 和其他外部文件的信息,请参阅 在测试用例中使用外部文件数据。
Excel 文件输入格式
要创建 Excel 文件并查看模型输入数据的格式,点击测试管理器中测试用例的输入部分中的创建。然后,将 Excel 设置为文件格式。输入数据包括每个模型输入端口的时间列和数据值列。请参阅多次运行中的示例电子表格。
您可以在测试用例中添加一个表迭代,并通过点击测试管理器中输入部分的创建将输入文件分配给它.然后,在创建输入数据文件对话框中,点击添加迭代以运行此输入。创建输入文件后,继续指定迭代。有关迭代的更多信息,请参阅 测试迭代。
要使用现有的 Excel 文件作为模型输入数据,点击添加。
Excel 文件基线数据格式
要查看基线数据的 Excel 格式,请先从模型中提取基线。在测试管理器中的某个测试用例的基线准则部分,点击捕获。然后,选择 Excel 作为文件格式。Excel 文件包括模型中标记为记录的每个信号的时间和相关值。有关记录信号的信息包括信号名称、绝对容差、信号来源模块的路径、模块的端口索引和源类型。 

该示例基线电子表格包括唯一命名的信号和信号模块路径。信号定义不明确的原因是:
- 当信号在模型中没有名称时,电子表格中会自动为其分配一个名称。 
- 当您手动创建电子表格且不包含信号名称时,将为该信号分配一个格式为 - block_name: port_index的信号名称。
- 当电子表格中包含的信号名称不能唯一地标识信号时,请添加该信号的模块路径。例如,如果仅指定名称,则模型层次结构中不同级别上具有相同名称的信号无法唯一标识。如果不包含模块路径,则使用具有该名称的第一个信号。 
您可以在同一个 Excel 文件中同时包含基线 (Source:Output) 数据和输入 (Source:Input) 数据。请参阅多次运行中的示例电子表格。
要使用手动创建的 Excel 文件作为预期输出,点击测试管理器中测试用例的基线准则部分中的添加并指定文件名。
要编辑测试管理器中基线准则部分的外部文件,请选择文件并点击编辑。Excel 文件默认在 Excel 中打开,但您也可以在 MATLAB 外部打开并编辑 Excel 文件。
Excel 文件参数覆盖格式
电子表格中的参数分为两列,标记为参数(参数名称)和值(参数值)。请参阅多次运行中的示例电子表格。要覆盖参数,请在将文件添加到测试用例之前在电子表格中更改其值。
对于 Simulink.Parameter、Simulink.DataDictionary 或 Simulink.LookupTable 对象等参数类型,您只能指定要覆盖的值。未指定的值将使用模型中设置的值。覆盖这些参数的 Excel 格式为:

要使用 Excel 文件中的参数覆盖,点击测试管理器中测试用例的参数覆盖部分中的 添加 > 添加文件。
创建用于测试用例输入的 MAT 文件
您不能手动创建用于测试用例的 MAT 文件。按照以下步骤生成 MAT 文件。
- 在测试用例中,在在测系统下,指定要为其输入数据创建 MAT 文件的建模模型。 
- 在测试用例的输入部分中,点击创建。 
- 在对话框中,将文件格式设置为 MAT。指定 MAT 文件的位置,然后点击创建。要编辑现有文件,请选择文件并点击编辑。信号编辑器打开。 
- 在信号编辑器的左窗格中,展开数据节点。然后选择要添加数据的信号。 
- 指定信号数据。在底部窗格中,从列表中选择数据类型,然后输入信号的时间和信号数据。  
- 要更新您的信号数据,点击应用。 
- 添加信号数据后,点击保存。 
MATLAB 测试用例数据的脚本格式
您可以使用 MATLAB 脚本来指定测试用例数据。这些文件包括 MATLAB 语言命令,其格式与您在命令行中编写的代码相同。要编辑脚本文件,请在文本编辑器中打开该文件。例如,设置两个参数值的 MATLAB 脚本文件包含以下代码:
a_min = 1.3; a_max = 22.4;
另请参阅
sltest.testmanager.BaselineCriteria | sltest.testmanager.TestInput