创建用于测试用例的外部数据文件
您可以创建 Microsoft® Excel® 文件、MAT 文件和 MATLAB® 脚本来用于测试用例数据,例如输入、基线数据和参数覆盖。这些文件使用特定的格式,可以包含多种类型的数据。请参阅Excel 中的输入、基线和其他测试用例数据格式 和 为测试用例输入创建 MAT 文件 了解信息。MATLAB 脚本(.m
文件)使用 MATLAB 命令语法。
您只能为在当前版本中运行的测试创建输入数据文件。要在测试管理器中选择当前版本,请在测试用例的在测系统部分中使用选择仿真版本。
您可以通过点击输入部分中的创建将表迭代添加到测试用例并将输入文件分配给它。然后,在创建输入数据文件对话框中,点击添加迭代以运行此输入。创建输入文件后,继续指定迭代。有关迭代的更多信息,请参阅 测试迭代。
要编辑输入或基线准则部分中的外部文件,请选择该文件并点击编辑。MAT 文件在信号编辑器中打开。Excel 文件默认在 Excel 中打开,但您也可以在 MATLAB 之外打开和编辑 Excel 文件。要编辑 MATLAB 脚本文件),请在文本编辑器中打开该文件。
生成 Excel 文件模板
您可以从在测系统(SUT) 的模型或框架生成 Excel 电子表格模板。生成的电子表格从模型中提取数据。您可以将其他数据添加到电子表格中,然后将其导入 Simulink® Test™ 作为测试用例。
使用新建 > 从电子表格创建测试打开从电子表格创建测试向导。该向导将解析 SUT 的测试属性,并生成一个模板电子表格和一个测试用例,其中包含:
输入 - 输入以根输入端口为特征
参数 - 模型中的命名参数
比较信号 - 记录信号和输出端口
该向导允许您过滤和编辑测试所需的属性。生成的电子表格具有针对输入、参数和比较信号的单独列集。如果您的测试需要多次迭代,向导会在同一个文件中为每次迭代创建一个单独的工作表。您可以扩展电子表格以添加基于时间的信号数据、容差和参数覆盖。有关 Simulink Test 可读格式的描述,请参阅 Microsoft Excel 导入、导出和记录格式 和 Excel 中的输入、基线和其他测试用例数据格式。
使用 coordinate_transform_test
模型作为该过程的示例。其关联的 Excel 文件(您可以打开以查看其格式)是 coordinate_test.xlsx
。
输入
openExample("coordinate_transform_test")
打开模型。在 App 选项卡上,点击 Simulink Test,然后在测试选项卡上,点击 Simulink 测试管理器。
在测试管理器中,选择新建 > 从电子表格创建测试。选择创建用于指定数据的测试模板文件并按照提示进行操作。
在属性页面上,选择要包含在电子表格中的属性类别。例如,如果测试不需要参数覆盖,请清除参数。页面上显示的属性类别源自 SUT。如果您选择比较信号,向导将在生成电子表格之前运行模型并捕获基线。通过在 Simulink 中设置有限的停止时间,确保模型不会无限期运行。
如果在选择过程中更改了 SUT,点击刷新将属性列表与 SUT 同步。
如果测试需要某个类别中的所有属性,请选择是,包括电子表格中的所有属性。如果没有,请选择否,我要过滤并编辑属性。点击下一步。
如果您正在过滤属性,请在参数和比较选项卡中清除不需要的属性。例如,如果不要在测试中比较某个记录的信号,则可以将其从此列表中删除。
可选择在比较页面中更改容差。容差设置适用于列表中的所有信号。
要为每个信号指定不同的容差,请在向导生成电子表格后打开并编辑电子表格。
在场景页面中,指定测试场景的数量和电子表格中工作表的基本名称。该向导将每个场景生成为电子表格中的单独工作表。测试管理器将每张表作为一次单独的迭代。
在生成的测试页面中,指定保存 MLDATX 测试文件和 XLSX 电子表格的位置。点击完成生成文件。
该向导创建两个文件:
Excel 电子表格 - 电子表格包括输入、参数和比较信号的列。输入和比较具有不同的时间基准。该向导为每个测试场景生成相同的工作表。使用特定值(例如参数覆盖)填写电子表格,以唯一地定义每个场景。请参阅Excel 中的输入、基线和其他测试用例数据格式。
测试文件 - 测试用例导入 Excel 电子表格。电子表格中的字段已锁定到电子表格,无法在测试管理器中进行编辑。
测试管理器中生成的测试用例已选择从外部文件创建测试用例选项。参数覆盖和基线准则部分包含来自文件的数据。
要更改锁定的字段,请在 MATLAB 之外编辑电子表格。如果您更改一个或多个参数,请点击基线准则部分中的捕获再次捕获基线。
Excel 中的输入、基线和其他测试用例数据格式
作为使用向导的替代或补充,您可以在 Microsoft Excel 文件中指定与信号相关的信号数据和时间数据,以用作测试用例的输入或基线准则。为了支持一系列模型和配置,您可以指定大多数数据类型的信号数据。您可以指示信号是标量、多维还是复数。您可以选择指定数据类型、模块路径和端口索引、单位、插值类型和函数调用执行时间。您还可以指定参数覆盖的值。如果您的 Excel 文件有多个工作表,则每个工作表上的数据在测试管理器中将作为单独的迭代使用。
有关如何在 Excel 文件中格式化数据的一般信息,请参阅 Microsoft Excel 导入、导出和记录格式。有关如何使用 Excel 和其他外部文件的信息,请参阅 在测试用例中使用外部文件数据。
输入格式
要创建 Excel 文件并查看模型输入数据的格式,点击测试管理器中测试用例的输入部分中的创建。然后,将 Excel
设置为文件格式。输入数据包括每个模型输入的时间列和数据值列。请参阅多次运行中的示例电子表格。
要使用现有的 Excel 文件作为模型输入数据,点击添加。
基线数据格式
要查看基线数据的 Excel 格式,请从模型中捕获基线。如果您尚未打开 Excel 文件,点击测试管理器中测试用例的基线准则部分中的捕获。然后,选择 Excel
作为文件格式。Excel 文件包括模型中标记为记录的每个信号的时间和相关值。有关记录信号的信息包括信号名称、绝对容差、信号来源模块的路径、模块的端口索引和源类型。
该示例基线电子表格包括唯一命名的信号和信号模块路径。信号定义不明确的原因是:
当信号在模型中没有名称时,电子表格中会自动为其分配一个名称。
当您手动创建电子表格且不包含信号名称时,将为该信号分配一个格式为
block_name: port_index
的信号名称。当电子表格中包含的信号名称不能唯一地标识信号时,请添加该信号的模块路径。例如,如果仅指定名称,则模型层次结构中不同级别上具有相同名称的信号无法唯一标识。如果不包含模块路径,则使用具有该名称的第一个信号。
您可以在同一个 Excel 文件中同时包含基线(Source:Output
)数据和输入(Source:Input
)数据。请参阅多次运行中的示例电子表格。
要使用手动创建的 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