根据需求测试自动驾驶仪子系统。
此示例演示了使用测试管理器、测试线束、测试序列块和测试评估块根据需求测试子系统验证
声明评估被测部件。
在构建模型时,可以添加测试用例以根据需求验证模型。后续用户可以运行相同的测试用例,然后添加测试用例以实现进一步的验证目标,例如实现100%覆盖率或验证生成的代码。
此示例测试滚动参考
子系统根据需求使用三种场景。测试序列块提供输入,测试评估块评估组件滚动参考
子系统是自动驾驶仪控制系统的一个组成部分。滚动参考
控制飞机侧倾控制系统的参考角度。子系统未通过一次评估,导致设计变更,从而限制了高输入角度下的子系统输出。
输入以下内容以存储示例的路径和文件名:
顶级模特=“测试和验证自动驾驶样本”; 滚动模型=“RollAutopilotMdlRef”;测试线束=“RollReference\u要求1\u 3”; 测试文件='自动驾驶仪文件.mldatx'; reqDoc='RollAutopilotRequirements.txt';
打开RollAutopilotMdlRef
模型全控系统测试和验证自动驾驶样本
引用此模型。
开放式系统(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度限制。
测试用例创建三个场景来测试需求中的正常条件和异常。
需求文档使用映射到测试序列块和测试步骤的URL跟踪测试线束。打开测试线束并突出显示与参考要求1.3相关的部件。
sltest.线束打开([rollModel“/滚动参考”],测试线束)rmi(“highlightModel”,“RollReference\u要求1\u 3”)
测试序列块、测试评估块和测试下的组件链接到需求文档。通过选择来突出显示需求链接应用程序>需求管理器然后,单击高亮显示测试线束模型中的链接。也可以通过单击高亮显示测试序列编辑器中的链接切换需求链接高亮显示在工具条中。
打开测试序列块。
开放式系统(“滚动参考要求1\u 3/测试顺序”)
测试序列块为三种场景创建测试输入:
在每次测试中,测试序列设置一个信号电平,然后接通自动驾驶仪。测试序列检查菲里夫
在最短时间内保持稳定持续时间限制
在转换到下一个信号电平之前。对于前两个场景,测试序列设置结束测试
局部变量到1.
,触发到下一个场景的转换。
这些场景检查基本组件功能,但不一定实现100%覆盖率等目标。
打开测试评估块。
开放式系统(“参考要求/测试评估”)
测试评估块评估滚动参考
. 评估块是一个与库链接的子系统,它促进了多个测试线束之间的测试评估重用。该块包含验证
声明包括:
要求菲里夫
=Phi
什么时候Phi
在下限和上限范围内运行。
要求PhiRef=0
什么时候φ<6
度。
要求PhiRef=30
什么时候φ>30
度。
要求旋钮
订婚了,,PhiRef=旋钮
如果旋钮>=3
度。
要运行测试,请在测试管理器中单击鼠标右键要求1.3试验在测试浏览器窗格中,单击跑.
模拟返回验证
测试管理器中的语句结果和模拟输出。这个验证\u高\u位置
语句失败。
点击结果和伪影在测试管理器中。
在结果树中,展开验证语句. 点击金宝app模拟链接:验证\u高\u位置。该跟踪在语句失败时显示。
点击子地块在toolstrip中,选择两个垂直排列的绘图。在可视化窗玻璃
在结果树中,展开后果,要求1.3试验和模拟输出.
选择菲里夫
和Phi
.输出轨迹与输出轨迹对齐验证
结果如上图所示。观察菲里夫
当温度超过30度时Phi
超过30度。
使现代化滚动参考
限制菲里夫
信号
闭合测试线束。
将饱和度块添加到模型中,如图所示。
将下限设置为-30
上限是30
.
将块链接到其需求。从需求浏览器中,将需求1.1.2拖动到饱和块。块上会出现一个图标,并高亮显示需求。
再次运行测试。将验证
语句传递,测试管理器中的输出显示菲里夫
不超过30度。
关闭系统(rollModel,0);关闭系统(topModel,0);封闭系统(“RollRefAssessLib”,0); sltest.testmanager.clear;sltest.testmanager.clearResults;sltest.testmanager.close;清楚的顶级模特reqDoc滚动模型测试线束测试文件治理链