扩展修改模型的测试用例
假设您有一个已经使用 Simulink® Design Verifier™ 分析过的模型,并且您修改了该模型。原始测试套件可能无法记录修改后的模型的 100%覆盖率。重新分析修改后的模型,以确保它满足所有新的测试目标。您无需重新分析整个模型,只需将新的分析重点放在模型已修改的部分上。通过这种方式,您可以利用为原始模型创建的测试用例,并扩展它们以满足任何新的目标。
本例使用 sldvdemo_cruise_control 模型。您分析模型并生成测试用例。然后,分析该模型的修改版本 sldvdemo_cruise_control_mod,扩展原始分析的测试用例。分析为新模型返回了完整的测试套件。
创建起始测试用例
分析 sldvdemo_cruise_control 模型并生成实现 100%覆盖率的测试用例。
1.打开示例模型:
open_system('sldvdemo_cruise_control')2.要对 sldvdemo_cruise_control 模型开始 Simulink® Design Verifier™ 分析,点击生成测试。
该分析满足 sldvdemo_cruise_control 模型的 34 个测试目标。软件将结果数据文件存储在 MATLAB® 当前文件夹 sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat 的子文件夹中
在下一部分中,当您分析修改后的模型时,此数据文件指定您扩展的起始测试用例。
3.关闭 sldvdemo_cruise_control 模型和分析创建的所有文件。如果被询问,请不要保存对模型所做的任何更改。
扩展现有测试用例
sldvdemo_cruise_control_mod 模型是 sldvdemo_cruise_control 的修改版本。控制器子系统包含一个 Saturation 模块,它指定目标速度不能超过 70。
打开修改后的模型并进行分析,扩展您在分析 sldvdemo_cruise_control 模型时生成的测试用例:
1.打开示例模型,sldvdemo_cruise_control 的修改版本:
open_system('sldvdemo_cruise_control_mod')2.双击控制器子系统查看原始模型的变化,即指定最大速度的 Saturation 模块:

3.关闭控制器子系统。
4.在 Design Verifier 选项卡上,点击测试生成设置。
5.在“配置参数”对话框的测试生成窗格中,在现有测试用例下,选择扩展现有测试用例。
6.在数据文件字段中,点击浏览并导航到在分析原始模型时在 MATLAB® 当前文件夹中创建的 MAT 文件 sldv_output\sldvdemo_cruise_control\sldvdemo_cruise_control_sldvdata.mat
7. 清除报告中现有测试/覆盖率数据所满足的单独目标。
当您清除此选项时,分析将包括最终测试套件中文件 sldvdemo_cruise_control_sldvdata.mat 中记录的测试用例。
8.点击应用保存这些设置。
9.要开始分析,点击生成测试。
分析首先加载初始测试用例满足的 34 个目标。然后,它会为这些测试用例添加额外的时间步并尝试满足任何缺失的目标。
10.在“结果摘要”窗口中,点击生成详细分析报告。
该分析满足了 sldvdemo_cruise_control_mod 模型的总共 38 个满足条件的目标。该分析满足了与 Saturation 模块相对应的另外四个目标。
