汽车测试领域,在模型测试阶段进行故障注入,是保障汽车安全性、可靠性的关键手段。如何提高故障注入测试的效率呢?
若需对模型中间层元素注入故障,典型实施步骤如下:
步骤一,在测试框架(testharness)中选择需要进行故障注入的模型中间元素;
步骤二,在GUI窗口中选择故障内容和故障触发方式;
步骤三,将测试用例与故障相关联;
步骤四,运行测试,查看结果。
通过上述步骤才能在用例执行期间注入故障。尽管一个模型元素可以创建多个故障,但一次仿真只能有一个故障处于激活状态,并且想要自定义故障内容还需要手动搭建故障模型,这就需要测试人员具有一定模型开发能力。
如此一来不仅影响效率,并且无法灵活应对复杂多变的测试需求,在一定程度上限制了故障注入的广度和深度。
难道就没有更高效、更灵活的方式吗?当然有!TPT新增模型故障注入功能,能够很好地提高测试效率。那TPT是如何进行故障注入的呢?
在测试框架中选定目标模型中间元素,以Server Function形式导入至TPT平台,即可在测试用例中直接调用。该方法无需额外关联操作或搭建故障模型,且支持单次仿真中对同一元素注入多类故障。

图1 TPT Server function
下面就以灯控模型为例,介绍TPT是如何进行故障注入测试的。

图2 模型以及信号位置
故障场景:在light_intensity信号在6.99s时数值出现卡滞。
用例如下:

图3 用例内容
功能需求要求当light_switch为自动(2),并且light_intensity>70并持续3s时,头灯关闭。在运行结果中可以看到,光强数值在第6.99s时出现卡滞,未满足light_intensity>70的条件,因此在3s后headlight没有关闭。

图4 运行结果
故障场景:筛选后的光照强度在故障触发信号light_switch_isAuto为true时出现异常值120。
用例如下:

图5 用例内容
在运行结果中可以看到,检测到信号light_switch_isAuto为true时,light_intensity数值发生了跳变,导致提前计时,并且在3s后headlight关闭。

图6 运行结果
故障场景:模拟数据噪声影响。在TPT中添加Script,引入Python库,自定义函数加入高斯噪声。用例如下:

图7 用例内容
在运行结果中可以看到,当light_switch数值发生变化时,由于引入了噪声,light_intensity的数值>70,headlight关闭,功能正常。

图8 运行结果
通常情况下,由于引入噪声的不确定性,需要多次运行验证软件的一致性。如图所示,该测试用例运行5次仅有一次通过,且多次运行通过率并不相同。可在模型中更改阈值或加入滞回结构规避此类问题。

图9 多次运行结果
TPT灵活多样的激励方法为故障注入测试提供了新的选择。对于汽车软件来说,TPT 无疑是一个强大的 “利器”,让故障注入不再是负担,而是保障安全的有力手段。
故障注入测试前移不仅是测试效率的提升,更是平衡研发成本与周期的重要保证。北汇信息作为新思科技国内合作伙伴,始终以专业的 TPT 技术支持经验,为国内客户提供贴合行业需求的测试解决方案。我们将与您携手,共同推动汽车电子测试工作提质增效,为行业发展注入新的活力。
全部0条评论
快来发表一下你的评论吧 !