主要内容

基于需求的模型开发测试

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

此示例演示了使用测试管理器、测试线束、测试序列块和测试评估块根据需求测试子系统验证语句评估被测组件。

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

此示例测试滚动参考子系统根据需求使用三种场景。测试序列块提供输入,测试评估块评估组件滚动参考分系统是自动驾驶仪控制系统的一个组成部分。滚动参考控制飞机滚转控制系统的参考角度。子系统未能通过一次评估,导致设计更改,限制子系统在高输入角度的输出。

路径和示例文件

以输入以下路径和文件名为例:

topModel =“测试和验证自动驾驶样本”; 滚动模型=“RollAutopilotMdlRef”;测试线束=“RollReference_Requirement1_3”;测试文件='自动驾驶仪文件.mldatx';reqDoc =“RollAutopilotRequirements.txt”

打开测试文件和模型

打开RollAutopilotMdlRef模型。全控系统TestAndVerificationAutopilotExample引用此模型。

开放式系统(rollModel)

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

tf=sltest.testmanager.load(testFile);sltest.testmanager.view;

打开需求文档。在测试浏览器中,展开自动驾驶仪文件基本设计测试用例在树中,单击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/卷参考的],测试线束)rmi(“highlightModel”“RollReference_Requirement1_3”

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

测试序列

打开Test Sequence块。

开放式系统(“RollReference_Requirement1_3 /测试序列”

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

在每次测试中,测试序列设置一个信号电平,然后接通自动驾驶仪。测试序列检查菲里夫在最短时间内保持稳定DurationLimit在它转换到下一个信号级别之前。对于前两个场景,测试序列设置EndTest局部变量,1,触发到下一个场景的转换。

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

测试评估

打开测试评估块。

开放式系统(“参考要求/测试评估”

测试评估块评估滚动参考.评估块是一个库链接的子系统,它有助于在多个测试工具之间进行测试评估重用。块包含验证声明包括:

  • 要求菲里夫PhiPhi在下限和上限范围内运行。

  • 要求PhiRef = 0φ<6度。

  • 要求PhiRef = 30φ> 30度。

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

验证子系统

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

仿真的回报验证测试管理器中的语句结果和模拟输出。这个验证\u高\u位置语句失败。

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

  2. 在结果树中,展开验证语句. 点击万博1manbetx模拟链接:验证\u高\u位置。该跟踪在语句失败时显示。

  1. 点击子地块在工具条中选择两个垂直排列的图。中选择较低的plot可视化窗格。

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

  3. 选择菲里夫Phi.输出轨迹与输出轨迹对齐验证结果如上图所示。观察菲里夫当温度超过30度时Phi超过30度。

更新RollReference限制菲里夫信号。

  1. 关闭测试装置。

  2. 向模型添加饱和度块,如图所示。

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

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

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

关闭系统(rollModel,0);关闭系统(topModel,0);封闭系统(“RollRefAssessLib”, 0);sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;清晰的顶级模特reqDocrollModel测试线束测试文件harnessLink