故障注入是什么?

前言

最近组里有个朋友在做这个事情,但是对于这个东西只是听说了,还不知道具体是个什么东西?这里刚刚看到了一篇前辈的文章,正好来学习一下。

原文链接:https://zhuanlan.zhihu.com/p/152595126

故障注入测试(fault injection test),简称FIT,是标准ISO 26262流程模型右侧测试环节的重要部分,分布在

  • 软件单元验证、
  • 软件集成验证、
  • 软件验证、
  • 硬件测试验证、
  • 软硬件集成验证、
  • 系统集成与
  • 测试验证及整车集成与测试验证

共7个开发环节。这段时间正在进行这方便的工作,正好将自己对这块的理解梳理总结下,如有不准确的地方,欢迎交流。

为什么要做故障注入测试

故障注入测试主要目的是验证系统设计、软件设计与硬件设计过程所提出安全机制或安全措施的有效性,包括响应时间、诊断覆盖率等内容,具体的我这边总结成如下一个表格。

在这里插入图片描述

怎么做故障注入测试

故障注入测试对象是安全要求或者是设计阶段提出的安全机制(或安全措施),因此测试的内容也就是针对设计阶段FMEA或FTA过程中分析得出的、违背安全目标的失效模式,通过设计用例来模拟这些失效模式,并注入到软件、硬件或系统运行过程中,然后分析软件、硬件或系统执行过程是否符合预期,也就是安全机制是否按照预期要求被正确的执行,这里正确应该包括功能表现,准确度与时间行为。

举一个示例:高压系统检测到高压回路对底盘地的绝缘阻值低于安全阈值V时,系统应在T时间内断开高压;该示例中为了验证该条安全需求在系统集成过程被正确的执行,需要真实模拟高压回路对底盘地的绝缘故障,如高压线束短路到底盘地,或之间短接一个小于V的电阻,然后运行系统,录取数据分析系统是否在T时间内诊断出绝缘故障并断开高压。

对于每项活动的故障注入测试环境与故障模型的来源总结如下表,供各位参考。

在这里插入图片描述

什么时间做故障注入测试

介绍完了故障注入测试的内容,故障注入测试需要什么时间进行或者说什么阶段完成呢?从整体开发流程看,故障注入测试也是测试环节的一部分,大部分故障注入测试与安全需求验证环节同步进行,也就是可以分为迭代、多轮测试,比如软件阶段的故障注入测试。 但考虑到功能安全的validation对象是量产阶段的产品,因此系统集成与测试验证和整车集成与测试验证阶段的故障注入测试推荐是在量产阶段的产品中进行,至少软件是处于99%或100%状态,硬件如控制器处于C样或D样阶段。

理论理解先写到这里,随着在项目中实操实践故障注入测试,相信会有更深入的理解,到时再继续总结和更新。如上内容仅是个人的一些理解,不准确之处欢迎交流~

猜你喜欢

转载自blog.csdn.net/weixin_45264425/article/details/130835348