通过产生测试输入增加测试覆盖率。
如果你的测试实现不完整模型覆盖,你可以通过生成使用的Simulink设计验证器™测试输入覆盖率提高。万博1manbetx这个例子说明了如何提高测试覆盖率超过初始测试案例。你衡量一个测试用例首次覆盖。然后,您生成新的测试用例,将它们添加到测试套件,运行测试,并查看总覆盖面。
要测试的模型必须是MATLAB的路径或在当前工作文件夹。
本例使用Simulink设计验证和覆万博1manbetx盖的Simulink™。
本示例测试使用的测试工具的自动驾驶系统的一个组成部分。从基部的工作区的时间序列数据被映射到在测试工具根inports。测试文件被配置为收集覆盖。
该示例工作流程是:
测定初期测试用例模型覆盖。
产生额外的测试,以实现更大的覆盖范围。
新的测试用例添加到测试文件。
运行所有测试案例和审查汇总覆盖。
设置路径和文件名的例子。
文件路径=完整文件(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);