扩大测试范围为模型

通过产生测试输入增加测试覆盖率。

如果你的测试实现不完整模型覆盖,你可以通过生成使用的Simulink设计验证器™测试输入覆盖率提高。万博1manbetx这个例子说明了如何提高测试覆盖率超过初始测试案例。你衡量一个测试用例首次覆盖。然后,您生成新的测试用例,将它们添加到测试套件,运行测试,并查看总覆盖面。

要测试的模型必须是MATLAB的路径或在当前工作文件夹。

本例使用Simulink设计验证和覆万博1manbetx盖的Simulink™。

工作流程

本示例测试使用的测试工具的自动驾驶系统的一个组成部分。从基部的工作区的时间序列数据被映射到在测试工具根inports。测试文件被配置为收集覆盖。

该示例工作流程是:

  1. 测定初期测试用例模型覆盖。

  2. 产生额外的测试,以实现更大的覆盖范围。

  3. 新的测试用例添加到测试文件。

  4. 运行所有测试案例和审查汇总覆盖。

路径和示例文件

设置路径和文件名的例子。

文件路径=完整文件(matlabroot,'工具箱''万博1manbetxsimulinktest''万博1manbetxsimulinktestdemos');rollModel ='RollAutopilotRevised';testHarness ='RollReference_LoggedDataTest';TESTFILE ='RollRefTest.mldatx';

运行初始测试和审查范围

1.确保工作文件夹是可写的。

2.打开测试文件。

sltest.testmanager.view;sltest.testmanager.load(完整文件(文件路径,TESTFILE));

3.运行测试。在里面测试浏览器,突出记录的数据和覆盖面测试套件。请点击

4.测试完成后,在测试结果中,展开覆盖结果部分。测试实现了部分覆盖卷参考子系统。

  • 判定覆盖:80%

  • 条件覆盖:70%

  • MCDC 25%

生成测试以提高模型覆盖

生成缺少覆盖额外的测试。

1.下面覆盖率结果,点击添加测试失踪覆盖

2.在添加测试失踪覆盖对话框,设置这些选项:

  • 马具:RollReference_LoggedDataTest。这种新的测试输入映射到现有的测试工具。

  • 测试用例创建一个新的测试用例。这将创建一个新的测试用例与所生成的测试输入。

  • 测试类型:基准测试。这使得从模型生成的测试选项来捕获基线数据输出。

  • 测试文件:RollRefTest。这将重新使用现有的测试文件。

3.点击。一个对话框显示进度的测试用例生成。当测试用例生成完毕后,一个新的测试情况出现在测试管理器。

运行新测试用例

1.剪切和粘贴新的测试用例到记录的数据和覆盖面测试套件。

2.运行记录的数据和覆盖面再次测试套件。

3.当模拟完成,在结果与文物部分中,选择结果集并扩大汇总覆盖率结果。测试套件实现了全覆盖:

  • 决定:100%

  • 条件:100%

  • MCDC:100%

清理

清除变量和测试结果,并关闭模型。

明确文件路径reqDocrollModelTESTFILEtestHarness超模;sltest.testmanager.clearResults;sltest.testmanager.close;close_system('RollAutopilotRevised',0);