主要内容

模型开发的基于需求的测试

根据需求测试自动驾驶子系统。

这个示例演示了根据需求测试子系统,使用测试管理器、测试工具、测试序列块和测试评估块。需求文档链接到测试用例和测试工具,并且验证语句评估被测组件。

当您构建模型时,您可以添加测试用例来根据需求验证模型。后续用户可以运行相同的测试用例,然后添加测试用例来完成进一步的验证目标,例如实现100%的覆盖率或验证生成的代码。

此示例测试卷参考子系统与使用三个场景的需求。测试序列块提供输入,测试评估块评估组件。的卷参考子系统是自动驾驶仪控制系统的一个组成部分。卷参考控制飞机滚转控制系统的参考角度。子系统在一次评估中失败,导致设计上的改变限制了子系统在高输入角度下的输出。

路径和示例文件

输入以下命令保存路径和文件名:

topModel =“TestAndVerificationAutopilotExample”;rollModel =“RollAutopilotMdlRef”;testHarness =“RollReference_Requirement1_3”;测试文件=“AutopilotTestFile.mldatx”;reqDoc =“RollAutopilotRequirements.txt”

打开测试文件和模型

打开RollAutopilotMdlRef模型。全控制系统TestAndVerificationAutopilotExample这个模型的引用。

open_system (rollModel)

在测试管理器中打开测试文件。

tf = sltest.testmanager.load(测试文件);sltest.testmanager.view;

打开需求文档。在测试浏览器中,展开AutopilotTestFile基本设计测试用例在树中,单击1.3测试要求.在需求1.3测试选项卡中展开需求.双击任何需求链接,打开需求编辑器,在那里您可以查看需求。

在文档中,要求1.3.1规定:当保持滚转模式变为主动模式时,保持滚转参考应设置为飞机的实际滚转角度,但子要求中描述的条件除外。

  • 儿童要求1.3.1.1规定:在辊保持啮合时,如果实际辊倾角在任何方向上小于6度,则辊保持参考应设置为零。

  • 儿童要求1.3.1.2规定:当抱辊啮合时,实际抱辊角度大于30°时,应将抱辊基准设置为与实际抱辊角度同方向30°。

  • 儿童要求1.3.1.3规定:如果旋转旋钮在两个方向上都要求3度或以上,则应将滚动参考设置为座舱旋转旋钮命令的最高30度限制。

测试用例创建三个场景来测试需求中的正常条件和异常。

需求文档使用映射到test Sequence块和测试步骤的url跟踪到测试工具。打开测试工具并突出显示与参考需求1.3相关的组件。

sltest.harness.open ([rollModel/卷参考的), testHarness) rmi (“highlightModel”“RollReference_Requirement1_3”

测试序列块、测试评估块和测试下的组件链接到需求文档。通过选择突出显示需求链接应用程序>需求管理器然后,单击测试工具模型中的高亮链接。您还可以通过单击突出显示测试序列编辑器中的链接切换需求链接突出显示在将来发布。

测试序列

打开Test Sequence块。

open_system (“RollReference_Requirement1_3 /测试序列”

Test Sequence块为三个场景创建测试输入:

在每个测试中,测试序列设置一个信号电平,然后使用自动驾驶仪。测试序列检查这一点PhiRef在最短时间内是稳定的DurationLimit在它过渡到下一个信号级别之前。对于前两个场景,测试序列设置EndTest局部变量,1,触发到下一个场景的转换。

这些场景检查基本组件功能,但不一定达到100%覆盖率等目标。

测试评估

打开测试评估块。

open_system (“RollReference_Requirement1_3 /测试评估”

测试评估块进行评估卷参考.评估块是一个与库链接的子系统,它促进了多个测试利用之间的测试评估重用。块包含验证语句覆盖:

  • 的要求PhiRefφφ在下限和上限内操作。

  • 的要求PhiRef = 0φ< 6度。

  • 的要求PhiRef = 30φ> 30度。

  • 要求当TurnKnob订婚了,PhiRef = TurnKnob如果TurnKnob > = 3度。

验证子系统

要运行测试,请在测试管理器中右键单击1.3测试要求在Test Browser窗格中,然后单击运行

仿真的回报验证语句结果和测试管理器中的模拟输出。的verify_high_pos语句失败。

  1. 点击结果和工件在测试管理器中。

  2. 在结果树中展开验证语句.点击金宝app仿真软件:verify_high_pos.跟踪会显示语句失败的时间。

  1. 点击次要情节在工具条中选择两个垂直排列的图形。中较低的图形可视化窗格。

  2. 在结果树中展开结果1.3测试要求,模拟输出

  3. 选择PhiRefφ.输出跟踪与验证结果如下图所示。观察到PhiRef超过30度时φ超过30度。

更新RollReference限制PhiRef信号。

  1. 关闭测试装置。

  2. 如图所示,添加一个饱和度块到模型中。

  3. 设置下限为-30上限是30.

  4. 将块链接到它的需求。从Requirements浏览器中,将Requirements 1.1.2拖到Saturation块。块上出现一个图标,需求被高亮显示。

再次运行测试。的验证语句通过,测试管理器中的输出显示了这一点PhiRef不超过30度。

close_system (rollModel 0);close_system (topModel, 0);close_system (“RollRefAssessLib”, 0);sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;清晰的topModelreqDocrollModeltestHarness测试文件harnessLink