主要内容

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

这个例子展示了如何收集测试覆盖率模型实现需求。覆盖是指确定测试完整性通过分析模型的逻辑是锻炼多少。可以作用域,基于需求的测试覆盖率结果与要求。这个范围可以评估每个模型元素被预定的测试用例覆盖。

的例子显示了如何范围覆盖率结果与需求可以揭示不足连接和测试需求缺口。它还展示了如何增加覆盖范围。

在这个例子中是模型cruiseControlRBTCovExample代表一个巡航控制系统。这个模型实现和有关要求。已经创建一个测试文件对于这个示例。

打开巡航控制模型

cruiseControlRBTCovExample

查看相关的需求

巡航控制系统的要求已经被捕获在仿真软件需求编辑器。金宝app查看需求,使用slreq.open (“cruiseControlRBTCovReqs.slreqx”)

打开测试经理和测试文件

使用sltestmgr打开测试经理。

点击开放并选择cruiseControlRBTCovTests.mldatx。测试已经写入验证模型的行为符合指定的要求。他们也被设置为记录决定和条件覆盖。扩大覆盖范围设置所选指标。

每个测试用例验证和有关要求。例如,油门测试验证油门的要求。这个需求指定应用节流阀顺利如果速度不同于目标。使用逻辑评估测试验证这种行为,检查油门变化率是介于1和1弧度/秒,描述中定义的需求。

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

运行测试。

在结果和工件窗格中单击结果当测试结束运行。注意,测试通过,100%的聚合覆盖率报告。

打开范围测试结果与需求

单击顶级导致结果和工件窗格。然后,在聚合覆盖率结果窗格中,单击范围覆盖率结果与需求复选框。范围意味着每个测试结果只贡献覆盖相应的模型元素,实现要求的试验来验证。范围检查的模型元素都被预定的测试用例覆盖。现在覆盖率结果,自动更新,显示聚合覆盖决策和执行92%和76%,分别。

视图模型中的覆盖率结果

点击分析模型中的模型名称列强调模型的覆盖率结果并显示覆盖率报告细节。

在模型中,如果需求表不是模型所示,打开它,点击右下角的观点看法模型的画布,然后点击需求。

打开控制器子系统。块,没有100%的覆盖率出现在红色。两组常数和块和不与需求和从未执行。

链接块需求

在这种情况下,失踪的报道表明需求不足链接。这些常数和块实现增量和减量需求是必要的,应与适当的需求。

表中要求窗格,扩大cruiseControlRbtCovReqs。右键单击上不断的块和选择要求>链接到浏览器选择需求。然后,单击增量需求在需求表中。重复这个上层和块。

低常数和街区,重复连接的步骤,但链接减量需求。

增加覆盖从特定的测试

打开PI控制器,点击离散集成器。报道显示细节真正的决定上限是由增量执行测试(T4),而非节流测试(T6)。自从块是节流阀的实现要求的一部分,它应该被节流测试,测试验证了节气门的要求。增加测试不验证这个需求,不贡献覆盖这一块的时候模型覆盖范围与要求设置为启用。

解决缺少覆盖这一块,油门测试需要更新离散集成器阻止更多的锻炼。

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

选择cruiseControlRBTCovTests在测试浏览器窗格并重新运行测试。单击范围覆盖率结果与需求复选框。覆盖率结果显示100%的覆盖率,充分表明,测试执行模型。

修改测试揭示了设计中的一个问题

修改后的节流测试现在不能验证。失败是因为油门增加过于积极,不在测试中指定所需的边界。这表明一个问题与模型设计。块的PI控制器实现将需要更新应用节流阀在所需的范围内,包括当目标和实际速度差别很大。

结论

总之,范围覆盖结果与需求能帮助揭示空白测试。范围行使实现通过评估,每一个模型元素的测试,验证相应的要求。

相关的话题