为模型生成测试用例
在 Simulink® Design Verifier™ 中,测试用例是一组输入值及其对应的期望输出,用于验证模型在特定条件下的行为是否符合预期。使用 Simulink Design Verifier,您可以为模型覆盖率和自定义目标生成测试用例。您还可以测量基于需求的现有测试用例的覆盖率,并扩展这些测试用例以增加覆盖率或实现全覆盖率。

在开始分析前,请对模型运行兼容性检查。仅当模型与分析兼容时,Simulink Design Verifier 才进行分析。在执行了兼容性检查后,请在模型上指定测试用例生成设置并运行分析。在测试生成分析完成后,您就可以查看结果了。
有几种方法可以查看分析结果:
通过在模型上突出显示结果,一目了然地查看分析结果。
创建测试框架模型以对测试用例进行仿真或调试反例。
生成模型覆盖率报告。
在仿真数据检查器中查看生成的测试。
生成包含有关分析结果的详细信息的 HTML 或 PDF 报告。
示例模型
本教程使用了一个简化的巡航控制模型 sldvexCruiseControl,该模型通过调整发动机油门保持指定的速度。您将生成满足条件和决策模型覆盖率目标的测试用例,然后对这些测试用例进行仿真以生成模型覆盖率报告。

此巡航控制模型 sldvexCruiseControl 满足以下要求:
当
engage和enable信号为true时,控制系统被激活。此条件由 AND 模块定义。当系统被激活时,Switch 模块将
set speed传递给 PI 控制器。PI 控制器通过对由差值set speed - current speed定义的误差项进行积分来计算throttle。throttle继续增加或减少,直至set speed分别高于current speed或低于current speed。当系统处于非激活状态时,Discrete-Time Integrator 模块会重置。误差项为零,这意味着
throttle处于重置位置。
当您执行测试生成分析时,Simulink Design Verifier 会为与模型中每个模型项目相关联的模型覆盖率目标生成测试用例。下表列出了相关联 Model 模块的条件和决策覆盖率目标。
| 模块 | 模型覆盖率目标 | 生成测试用例的描述 |
|---|---|---|
| AND | 条件 | 每个输入值单独设置为 true 或 false。 |
| NOT | 条件 | 输入单独设置为 true 或 false。 |
| Switch | 决策 | 测试用例验证 Switch 将两个输入信号都传递给输出。 |
| Discrete-Time Integrator | 决策 |
|
在本教程中,您将对 sldvexCruiseControl 模型执行测试生成分析。该分析将生成满足条件和决策模型覆盖率目标的测试用例。
您将学习如何:
配置模型设置以进行 Simulink Design Verifier 分析。
检查模型兼容性以进行测试生成分析。
配置模型以生成测试并执行分析。
查看测试生成分析结果。
创建框架模型并生成覆盖率报告。
要开始学习本教程,请参阅准备模型以进行测试生成分析。