重复使用桌面测试用例进行实时测试
将桌面测试用例转换为实时测试用例
在测试管理器中,您可以通过将桌面测试用例转换为实时测试用例来重用测试用例进行实时测试用例。为了方便起见,数据可以存储在外部,以便每个测试用例都可以访问通用输入和基线数据。总体工作流程如下:
使用外部输入创建基线、等效性或仿真测试用例。对于基线测试,从外部文件添加基线数据。
在测试管理器中,选择测试浏览器中的测试用例。
复制测试用例。右键单击测试用例并选择复制。
将新的测试用例粘贴到测试套件中。
重命名新的测试用例。
右键单击新的测试用例,然后选择转换为 > 实时测试。对于等效性检验,选择要实时运行的仿真(仿真 1 或仿真 2)。
选择目标计算机和从以下位置加载应用程序选项。
确保模型设置与实时测试执行兼容。有关更多信息,请参阅 Development Computer Requirements (Simulink Real-Time)。
使用外部数据进行实时测试
您可以通过在外部 MAT 或 Excel® 文件中定义输入数据来简化测试输入数据管理。将数据映射到模型中的根输入端口或测试框架以进行桌面仿真。当将桌面仿真测试用例转换为实时测试时,测试用例使用相同的输入端口映射。
使用外部数据取决于您的测试用例如何加载实时应用程序:
从模型加载实时应用程序
如果您使用外部数据进行实时测试,则从模型加载实时应用程序时可以选择使用 Excel 文件、MAT 文件或 CSV 文件。外部数据内置于应用程序中,您可以从目标应用程序或目标计算机重新运行该应用程序。
在在测系统部分中,将应用程序设置为从模型加载。在测试用例的输入部分中,点击添加,然后选择一个 Excel 文件、MAT 文件或 CSV 文件。将数据映射到模型输入端。有关输入映射的更多信息,请参阅 在测试用例中使用外部文件数据。
从目标应用程序或目标计算机加载实时应用程序
从模型运行测试后,您可以从目标应用程序或目标计算机运行测试,而无需重新编译。应用程序使用从模型运行测试时的输入映射。
您可以将外部数据映射到从目标应用程序或目标计算机加载的测试用例,而无需先从模型运行。外部数据必须是 MAT 文件中的格式,与从模型加载测试时使用的格式相同。在在测系统部分中,选择从目标应用程序或目标计算机加载应用程序。在输入部分,点击添加并选择一个 MAT 文件。输入字符串不可编辑。
重复使用桌面测试用例进行实时测试
此示例展示了使用 Excel 文件中定义的外部输入数据的基本桌面测试用例重用工作流程。您在桌面上运行基线测试用例,更新基线数据,将测试用例的副本转换为实时测试,然后在目标计算机上运行该测试用例。提供了测试文件、基线数据和 Excel 输入数据文件。此示例仅在 Windows 系统上运行。
打开测试管理器和测试文件
测试文件通过四次迭代运行变速器换档控制器算法,每次迭代对应不同的测试场景:超车、逐渐加速、紧急制动和滑行。与信号 vehicle speed
和 output torque
的每个场景相关的基线数据。
tf = sltest.testmanager.TestFile('sltestTestCaseRealTimeReuseExample.mldatx');
sltest.testmanager.load(tf.Name);
sltest.testmanager.view;
运行基线测试并查看结果
点击工具栏中的运行。
当测试运行完成后,选择基线准则结果下的输出扭矩查看比较结果。由于瞬态信号超出相对容差,导致通过结果失败。
更新基线
假设瞬态信号不显著,并更新基线数据:
单击下一次失败。第一个故障区域以数据游标为界。
单击工具条中的更新基线 > 替换基线文件中的信号段,并确认您要覆盖数据。
对另外两个故障区域重复此过程。
将基线测试转换为实时测试
在测试浏览器中,右键单击基线测试并选择复制。
将新的测试用例粘贴到测试套件下。
将新的测试用例重命名为
RT Baseline Test
。右键单击 RT Baseline Test 并选择转换为 > 实时测试。
运行实时测试用例
设置目标计算机。
将在测系统设置为从
Model
加载。运行
RT Baseline Test
测试用例。
检查并解决测试失败
在这个例子中,由于时间对数据输出的影响,几种场景都失败了。例如,在 HardBrake
迭代中,应用制动后 vehicle speed
输出超出了相对容差。要解决此失败,您可以:
增加实时测试的相对容差。
为实时测试创建一组单独的基线数据。
相关主题
- Use Simulink Real-Time UI to Create and Execute a Real-Time Application (Simulink Real-Time)