测试覆盖了基于需求的测试

这个例子说明了如何收集测试覆盖的模型实现的要求。覆盖是指通过分析确定该测试完整性多模型的逻辑是如何行使。对于基于需求的测试,覆盖效果可以作用域为链接的需求。与此作用域如果每个模型元素是由既定测试覆盖的情况下,你可以评估。

该示例说明如何覆盖范围界定结果链接的需求可以揭示不足,都需要连接和测试的空白。这也显示了如何增加覆盖。

在这个例子中的模型cruiseControlRBTCovExample,其表示巡航控制系统。该模型实现,并链接到需求。测试文件已经为这个例子创建的。

打开巡航控制模型

cruiseControlRBTCovExample

查看链接的需求

此巡航控制系统的要求已经在Simulink要求编辑器被抓获。万博1manbetx要查看要求,使用slreq.open( 'cruiseControlRBTCovReqs.slreqx')

打开测试管理器和测试文件

sltestmgr打开测试管理器。

请点击打开并选择cruiseControlRBTCovTests.mldatx。测试已被写入验证模型的行为符合规定的要求。他们还成立了以创纪录的决策和条件覆盖。扩大覆盖范围设置,查看所选择的指标。

每个测试用例验证,并链接到需求。例如,油门测试验证油门要求。为节气门,如果从目标速度不同平滑地施加此要求指定。该测试验证此行为使用逻辑评估,检查这种变化的节气门速率是每秒-1和1之间的弧度,如在要求所定义。

运行测试,并查看覆盖率结果

运行测试。

点击结果中的结果,当测试完成运行文物窗格中。请注意,测试通过,并且100%的覆盖率汇总报告。

打开划定范围的测试结果链接的需求

在聚合覆盖率结果窗格中,单击范围覆盖结果链接的需求复选框。划定范围的结果意味着,每个测试不仅有助于覆盖实现通过试验验证的要求相应的模型元素。划定范围检查该模型的元件由预定测试用例覆盖。覆盖的结果,其自动更新,现在示出了用于在分别为92%和76%,决定和执行聚集的覆盖范围。

查看模型中的覆盖率结果

在分析模型列点击型号,以高亮显示模型覆盖率结果并显示覆盖率报告细节。

在模型中,如果模型下方没有显示要求表,通过单击模式画布的右下角方面的观点,然后,单击需求打开它。

打开控制器子系统。没有100%的覆盖率块呈红色。两组恒和点心块是没有关系的要求,而且从来没有执行。

链接块到需求

在这种情况下,缺少的覆盖率表示需求不足的链接。这些常数和点心块是必要的实现增量和减量要求,并应与相应的要求。

在要求窗格中的表,展开cruiseControlRbtCovReqs。上恒块上单击鼠标右键,并选择要求>链接到选定的要求浏览器。然后,点击在需求表中的增量要求。重复此为上算块。

对于较低常数和点心块,重复连接步骤,但链接到递减的要求。

从一个特定的测试覆盖率提高

打开PI控制器,然后单击离散时间积分器块上。覆盖范围细节显示,真正为上限决定是由增量试验(T4),而不是节气门测试(T6)执行。由于该块是节流的要求实施的一部分,它应该被油门测试,验证了油门要求进行测试。增量测试不验证这一要求,并在不对该块覆盖做出贡献范围模型覆盖链接的需求设置启用。

要解决此块丢失覆盖,油门测试需要更新行使离散时间积分块多。

在测试管理器的测试浏览器窗格中,选择油门测试。在输入选择td_throttle_updated.mat作为外部输入文件。此更新的输入油门数据文件有测试数据的一些额外秒,这增加了目标速度更积极,同时保持实际速度。

选择cruiseControlRBTCovTests在测试浏览器窗格并重新测试。点击范围覆盖结果链接的需求复选框。覆盖率结果表明,覆盖率达100%,这表明测试充分执行模型。

修订后的测试显示在设计问题

修订后的油门测试现在验证失败。故障的发生是因为油门增大太积极并且在测试中指定所需的边界之外。这表明与模型设计的问题。PI控制器块执行将需要被更新,以所要求的范围内,适用的节流阀,包括当目标和实际速度显著不同。

结论

综上所述,覆盖范围界定结果链接的需求可以帮助揭示测试的空白。作用域通过评估每个模型元素被测试用于验证对应的要求行使实现这一目的。