汽车行业的嵌入式软件测试
汽车行业的嵌入式软件测试|  ISO  26262  |  MISRA
服务热线:400-669-0203  020-29178595 QQ2557064750   2649046091   
现在汽车行业的竞争日益激烈,公司要取得成功必须通过引进新型软件,来不断进行创新。在过去的100年里,汽车已经从简单的机械装置发展成为了由引擎控制、传动、悬吊、制动、娱乐等系统组成的集成机器,这些主要系统都应用了嵌入式软件。
对于汽车行业的供应商而言,控制嵌入式系统的成本是极为重要的,因为嵌入式系统在本行业的使用量远远超过其他高安全性的行业。人们一直认为软件测试成本比较高,然而,在产品发布之前找出软件存在的问题却是降低成本的关键,因为这样既能避免产品品牌受损,又能减少产品召回造成的直接损失。因此,持续集成和测试对于汽车行业来说是非常必要的。
 
汽车软件的验证和确认标准
ISO  26262和MISRA是用于验证和确认车载软件的两大标准。
ISO  26262《道路车辆——功能安全》是一个功能安全标准。这一标准是根据汽车电子/电气系统的功能安全标准IEC  61508衍生出来的。该标准的第六部分提出将软件测试和验证作为软件开发标准的一部分。
建议测试既要在单元级别,也要在系统级别进行,如功能测试(以需求为基础的测试和分区测试)和结构覆盖率测试。VectorCAST工具可以获取和报告ISO  26262提出的所有汽车安全完整性等级(ASIL)关于结构代码覆盖率的要求。ASIL是汽车专用的以风险为导向的,判定产品风险等级的方法。风险等级分为从A到D四个等级,D等级代表出现故障可能造成的最高风险。
ISO  26262
VectorCAST如何协助遵循ISO  26262标准
VectorCAST是一个能满足ISO  26262标准的嵌入式测试工具,符合该标准的第6部分关于软件开发的测试和验证的拟议,因为VectorCAST可以通过创建和管理测试用例,来证明已经对等级不高的软件需求进行了测试。
VectorCAST也广泛用在坚固性测试中,如值域和边界测试。此外,VectorCAST工具还可以获取和报告ISO  26262所要求的各个级别的结构代码覆盖率。
VectorCAST/C++是针对C  和  C++  语言进行单元和集成测试的测试工具,它与针对系统级别进行测试验证的VectorCAST/Cover相结合,为主机、模拟器和目标级测试提供了一个完整的动态测试组。
支持ISO  26262所要求的各个级别的代码覆盖率:
.语句
.分支
支持以汽车安全完整性等级(ASIL)为基础的差异测试需求
支持自动生成并完整编译的测试桩,以及单元和集成测试的驱动程序
支持自动化回归测试
支持将测试用例与需求进行映射
支持坚固性测试 
支持数值越界测试
支持边界条件测试
支持在主机、模拟器、嵌入式目标系统上执行测试
 
MISRA
MISRA的集成支持
自从汽车工业软件可靠性联合会(MISRA)出台了C编程规范之后,静态分析便成为汽车应用开发流程的重要组成部分。
《汽车专用软件的C语言编程指南》于1998年首次发行,用以提高汽车工业在C语言方面的使用安全。该指南里包含了定义C语言子集的规则,现在该规则已经被广泛接受,成为良好编程习惯的模板。
《MISRA  C++:2008  C++语言在关键系统标准中的使用指南》发行于2008年,为C++语言制定了相似的规则。
VectorCAST/Lint整合了Gimpel  Software公司的lint分析引擎。VectorCAST/Lint为MISRA  C,MISRA  C  2004,MISRA  C++  2008提供了