帕特坎尼,MathWorks公司
在R2020a开始,您可以覆盖范围结果链接利用Simulink覆盖™基于需求的测试。万博1manbetx此设置作用域聚集的覆盖效果,使得每个测试不仅有助于覆盖实现的要求验证通过测试相应的模型元素。这提高了信心,模型元素被预期测试用例覆盖。这部影片将告诉你如何使用这个新的设置。
在执行基于需求的测试,您可以使用Simulink的覆盖范围,以确定有多少你的设计仿真过程中进行了测试测量你的模型测试覆盖率。万博1manbetx
为简单起见,我们姑且称之为设计元素,并链接到同一个要求的测试案例“兄弟姐妹”。
模型覆盖率结果应该根据需求进行分析。如果设计元素的某些部分从未被同级测试执行过呢?这可能是测试不完整、不正确的可追溯性或缺少需求的迹象。
使用Sim万博1manbetxulink覆盖在MATLAB发布2020A,你可以专注覆盖率结果显示只有兄弟接受测试的覆盖范围。我们称之为“作用域”的覆盖要求。
让我们通过一个示例来进行演示。
这个模型是为一个简单的巡航控制部分设计的。该模型计算了发动机控制器的油门需求以及目标速度。该模型使用几个布尔输入从方向盘巡航控制开关,布尔刹车输入,和车辆的速度。
我们对这个设计有几个要求,这些要求使用Simulink需求进行管理。万博1manbetx
我们也有链接到其利用Simulink测试管理的要求六个测试案例。万博1manbetx
让我们来运行测试套件在Simulink测试。万博1manbetx
让我们来看看结果。
我们测试的所有六个过去了,我们已经实现了100%覆盖决策,条件和执行。这很棒!我们现在做了什么?
不完全的。
让我们确保我们从测试的情况下实现的覆盖率与兄弟要求相关。
我们可以通过点击“范围覆盖结果链接的需求”,在测试管理做到这一点。
万博1manbetxSimulink覆盖使用需求、设计和测试用例之间的可跟踪性数据来相应地过滤覆盖。
看起来我们失去了一些信号!让我们打开模型以了解更多信息。
缺少覆盖的模型元素以红色突出显示。
它看起来像对增量和减量逻辑缺失覆盖率不断与和块。让我们去和块点击了解详情。
该块缺少执行覆盖率。这是因为这个块没有实现链接。我们可以通过打开需求透视图来确认这一点。
这两个区块应与增量要求。我们可以通过在浏览器的要求选择增量要求,然后右键单击块,添加链接做到这一点。一旦我们保存模型,让我们回到测试管理器并重新运行测试套件,看看如何改善我们的覆盖面。
那很简单!
现在让我们看看PI控制器,它现在只有83%的决策覆盖率。
它看起来像PI控制器子系统可以追溯到一个需求和一个测试用例标记T6。
离散时间积分器块缺少一个决策目标。
积分结果是从来没有等于或高于上限,这意味着我们从未测试的全部范围的积分器输出的。
但是,等等——看起来测试用例T4达到了上限。让我们单击T4了解更多信息。
测试用例T4是增量测试,这是与增量要求。
我们可以解决这个矛盾几种不同的方式:
1)我们可以通过增量的测试用例连接到油门要求。这并不让在这种情况下意义上说,作为递增测试用例的预期结果什么都没有做的油门要求。
2)我们可以创建一个定义是达到积分极限时的预期行为的要求。这可能是太多的设计细节。
3)最后,我们可以修改油门测试输入更积极地行使控制器。在这种情况下,我们可以通过简单地扩展现有的油门测试用例,并在测试结束时递增设定的速度做到这一点。这是最好的选择,因为预期的结果不应该改变;我们还在验证由油门要求定义的行为。
当我们重新运行油门测试时,测试失败,因为油门变化率超过了要求。这是由于设计上的缺陷造成的。
这个例子说明了如何使用范围限定在需求覆盖结果显示不完整的需求可追溯性和一个不完整的测试用例。
点击下面的链接,您可以自己运行这个例子,或者访问mathworks.com上的Simulink覆盖产品页面,请求试用。万博1manbetx
你的意思是“与需求相关联的测试用例”吗?
我对如何思考缺失的cov的框架有点不同,所以我们见面时再来研究这部分。
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。