0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

符合ISO 26262的零部件级的软件测试解决方案

北汇信息POLELINK 2024-11-07 08:05 次阅读

作者 |浩瀚


小编 | 不吃猪头肉

05f156b0-9c9c-11ef-8084-92fbcf53809c.png

引言
在功能安全的开发、测试过程中概念阶段的活动一般都是由主机厂负责,而从系统开发到单元实现则是由供应商负责,对于供应商所做的一系列测试通常称为零部件级测试。根据ISO 26262功能安全标准的划分,功能安全在零部件阶段的测试包括:软件单元测试、软件集成测试、硬件集成测试、嵌入式软件测试、软硬件集成测试。本次主要探讨软件在零部件级的软件测试

0602db24-9c9c-11ef-8084-92fbcf53809c.png

目前功能安全零部件测试的困难

1.来自OEM的认可压力:随着主机厂对功能安全的重视和投入,主机厂越来越专业,审核要求也越来越严格,不仅要求过ISO 26262产品认证和流程认证,并且亲自下场对各输入物及详细内容进行审查。

2.技术储备不足:大多数零部件供应商没有专门的功能安全团队,缺少功能安全开发能力和测试能力。

3.资源不足:大部分零部件供应商缺少完整的测试工具链,各阶段测试人员配备不齐。目前国内的功能安全标准正处于由国家推荐性标准逐渐向强制性标准过渡的时期,加之在新能源汽车出海的大趋势下,功能安全标准也正在加速与国际接轨。未来功能安全标准将成为汽车供应链厂商的准入门槛之一。那么执行满足功能安全标准要求的测试已是刻不容缓且必须解决的问题,下面将依据功能安全标准和公司在软件测试方面的积累提供满足功能安全测试的解决方案。

0624f4c0-9c9c-11ef-8084-92fbcf53809c.png

软件单元、集成测试
2.1软件单元、集成的静态测试
静态测试是指在不运行软件的情况下,检查软件是否符合业内通用的编码规范/建模规范,像MISRA、MAB等,尽早发现软件的数据流/控制流问题,以及选用一些代码度量的约束,来提高软件质量。

基于MBD的静态分析
模型的静态分析主要是通过选择合适的建模标准和模型度量指标来进行验证,它的分析原理就是利用模型的一些属性和结构信息来推断代码的行为和可能存在的问题。对于模型生成的代码也需要做代码静态分析。

建模规范选择

在进行代码静态分析时,通常依据使用的语言和遵循的规则来选用编码规范。在进行模型静态分析时,依据使用的建模工具和要求来选择建模规则。1)所有基于MBD的开发都需要选择MAB建模规范;2)使用了Simulink 和 Stateflow 的模型工具需要选择MISRA SLSF;3)使用了TargetLink的模型工具需要选择MISRA TL;4)如果需要符合ISO 26262对于模型的标准要求,需要选择定制的功能安全规范。工具选择:对于模型的静态测试通常选用MES的MXAM工具MXAM是一款高度自动化的静态分析工具,可支持多种模型类型的检查,并且提供了符合ISO 26262标准的检查规范。手写代码的静态分析
代码的静态分析主要从编码规范的检查、程序流和数据流的分析、代码度量分析等三个维度展开。它的分析原理是对编写的代码进行逐行检查,寻找潜在的错误、漏洞和不符合规范的代码结构。

编码规范选择

在进行代码静态分析时,通常依据使用的语言和遵循的规则来选用编码规范。1)C代码:通常选用最新的MISRA编码标准MISRA C 2023;2)C++代码:a.基于C++98/03开发选用MISRA C++ 2008b.基于C++11及C++14标准选用AUTOSARC.基于C++17的标准选用MISRA C++ 20233)考虑信息安全时需要遵循CERT和CWE规范。工具选择:对于代码的静态测试通常选用Helix QAC,它支持多种编码标准,以及拥有业界领先的编码规范覆盖度,拥有丰富的命令行,更容易实现自动化,方便与持续集成系统进行融合。

2.2软件单元、集成的动态测试
动态测试通过实际执行代码来验证软件的行为和性能是否符合预期,动态测试可以发现静态测试中未被检测到的缺陷,确保软件安全需求及安全机制执行正确,无非预期的输出,并为软件接口的一致性和完整性提供证据。软件单元的动态测试测试范围:软件单元详细设计规范、软件单元接口文档。测试方法

基于需求的测试:使用不同输入来激发软件单元代码中的各种执行路径,验证输出符合预期,从而验证软件单元设计规范和分配的软件安全要求满足设计要求。

接口测试:考虑软件单元输入信号的无效/有效等价类和边界值,模拟输入检测输出的正确性,从而验证软件单元与接口文档的一致性、输出的正确性。

故障注入测试:故障注入测试一般要修改被测的软件单元(比如改变变量的值,引入代码突变或破坏CPU寄存器的值),主要用来验证软件单元的“故障检测及处理”功能的正确性,以及软件的鲁棒性。

软件集成的动态测试测试范围:软件架构设计文档、细化的软硬件接口规范。测试方法

基于需求的测试:验证多个单元或组件集成后的软件功能,正向、反向的功能验证。用来验证分配给软件架构的软件要求,确保软件架构能够满足系统级别的需求。

接口测试:考虑集成的组件、模块输入信号的有效/无效等价类和边界值,模拟输入检测输出的正确性,以检查单元和单元或组件和组件之间数据的一致性和完整性。

故障注入测试:注入任意的接口故障以测试安全机制(例如通过损坏软件接口),以测试与安全机制相关的软硬件接口的正确性。

资源使用测试的目的是确认在最坏的情况下,资源CPU、ROMRAM等的使用情况。只有在目标硬件上执行软件测试或目标处理器仿真器支持资源占用测试时,才能正确评估软件资源占用情况,一般可以在PiL和HiL测试阶段进行验证。背靠背测试针对于基于MBD的开发,要求对模型生成的代码和模型进行等效性验证。软件动态测试环境模型动态测试环境MIL:TPT + MATLAB/Simulink模型的动态测试主要是对模型的功能和接口进行测试,在TPT中选择平台和被测模型,工具可以自动获取接口信息并生成测试框架。测试框架中包含test driver和被测模型,test driver在测试执行期间与被测系统(SUT)进行交互,通过测试框架将测试用例定义的输入信号激励给到被测系统(SUT),再回采被测模型的输出结果并对其进行评估。

0634681a-9c9c-11ef-8084-92fbcf53809c.png

代码动态测试环境SiL:PC端+交叉编译链将模型生成的代码或手写代码编译成能在目标机上运行的代码,在PC端进行验证。

a.模型生成的代码:TPT/FUSION + MATLAB/Simulink

用于对模型生成的代码进行背靠背测试,使用TPT的FUSION DLL调用Simulink生成的代码,对模型和模型生成的代码进行相同的输入,对比测试输出结果。


0652cbe8-9c9c-11ef-8084-92fbcf53809c.png


b.手写代码:VectorCAST + 交叉编译链

VectorCAST支持300+种交叉编译链,它可以调用交叉编译工具将源码编译成目标机上的可执行代码,可以自动解析源代码生成测试套件,测试人员能够根据测试套件使用工具提供的测试用例生成方法或手动创建测试用例,然后测试套件和测试用例会被传输到模拟器或者目标板执行测试,最终将执行的结果返回到上位机界面以供查看。


067ac328-9c9c-11ef-8084-92fbcf53809c.png

069bc7b2-9c9c-11ef-8084-92fbcf53809c.png嵌入式软件测试
嵌入式软件测试主要是验证在目标环境执行时满足软件安全需求(SSR),以及不包含与功能安全相关的非预期功能和特性。测试范围:软件安全需求(SSR)。嵌入式软件测试环境a.目标板+调试器 + TPT:TPT用来集成调试器,作为上位机可以进行测试用例设计及测试执行;调试器可直接访问内存,读取或修改寄存器、变量数值,以达到对软件内部输入输出参数的修改及监控,另外调试器还可以读取MCU中资源占用情况及各个函数的运行时间。

06aa71a4-9c9c-11ef-8084-92fbcf53809c.png

在嵌入式软件测试阶段,使用“目标板+调试器+TPT”的测试方案可以验证:

①对接收到的外部故障反馈、输入信息进行处理;

②与外部模块的数据通讯校验;

③可以验证芯片的内置安全机制,比例处理器、内存、看门狗、程序流的监控等;

④资源使用测试


06bf1406-9c9c-11ef-8084-92fbcf53809c.png软硬件集成测试

软硬件集成测试旨在证明所集成控制器的软件和硬件正确的交互。测试范围:技术安全需求(TSR)、软硬件接口规范(HSI)。软硬件集成测试环境

a.控制器 + CANoe + VT System

在软硬件集成测试阶段,“控制器 + CANoe + VT System”可以被用来测试技术安全需求(TSR)的相关要求,包括:技术安全需求的验证、安全机制的验证、内部接口验证和外部接口验证等。

另外,该测试方案还可以用来补充嵌入式软件阶段的测试,使用“目标板+调试器 + TPT”的测试方案一般不能完全覆盖软件安全需求的测试,比如一些涉及到电压采集、外部通讯的收发和外部模块对自身故障的检测处理等,可以使用HiL的方案辅助验证。

b.控制器 + TPT + CANoe + VT System + 调试器

该测试方案主要是在普通的HiL环境下集成了调试器,可以用来测试软硬件接口(HSI)。软硬件接口的测试主要是依据接口的描述和功能进行验证,已确认硬件可以被软件正确的控制和使用。

06ce296e-9c9c-11ef-8084-92fbcf53809c.png


06df183c-9c9c-11ef-8084-92fbcf53809c.png

总结
ISO 26262标准对零部件阶段的测试从模型、代码到最后的ECU都提出了要求,每个阶段的测试重点各不相同,主要目的就是为了更快更好的查出软件问题,保证质量。北汇信息除了能够提供上述的测试解决方案,还可以提供对应的测试服务。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件测试
    +关注

    关注

    2

    文章

    228

    浏览量

    18565
  • 零部件
    +关注

    关注

    0

    文章

    373

    浏览量

    15008
  • ISO26262
    +关注

    关注

    3

    文章

    31

    浏览量

    14348
收藏 人收藏

    评论

    相关推荐

    三品PLM系统在汽车零部件行业的解决方案及应用

    生命周期管理)正是为此而生的强大工具。本文将深入探讨三品PLM系统在汽车零部件行业的解决方案及应用,帮助企业更好地利用PLM系统提升竞争力。
    的头像 发表于 11-18 11:46 149次阅读
    三品PLM系统在汽车<b class='flag-5'>零部件</b>行业的<b class='flag-5'>解决方案</b>及应用

    虹科方案 | 精准零部件测试!多路汽车开关按键功能检测系统

    在汽车制造业中,零部件的安全性、功能性和可靠性是确保车辆整体性能的关键。虹科针对车辆零部件的LIN/CAN总线仿真测试,提出了基于虹科Baby-LIN系列产品的多路汽车开关按键功能检测方案
    的头像 发表于 11-01 11:04 125次阅读
    虹科<b class='flag-5'>方案</b> | 精准<b class='flag-5'>零部件</b><b class='flag-5'>测试</b>!多路汽车开关按键功能检测系统

    如何解决汽车零部件清洁度问题

    在汽车行业,清洁度的概念最早由罗伯特·博世公司(Robert Bosch)在1996年提出,旨在提高柴油汽车发动机共轨喷射系统的生产质量。这一创新观念的提出,不仅提升了生产质量,也催生了零部件清洁度测试的诞生。
    的头像 发表于 09-26 09:41 347次阅读
    如何解决汽车<b class='flag-5'>零部件</b>清洁度问题

    LIMS实验室管理软件在汽车零部件行业的应用

    LIMS实验室管理软件在汽车零部件行业的应用不仅提高了生产效率和产品质量,还促进了企业的可持续发展和合规性管理。随着技术的不断进步和汽车行业对质量管理的日益重视,LIMS实验室管理软件的应用前景将更加广阔。
    的头像 发表于 08-20 14:58 384次阅读

    激光淬火技术在淬火发动机零部件的工艺应用

    发动机是汽车的核心部件之一,其性能对整个汽车的性能和寿命都有着重要的影响。因此,在发动机零部件制造中应用激光淬火技术,对于提高发动机的性能和寿命,具有非常重要的意义。比如,利用激光淬火技术处
    的头像 发表于 07-30 14:59 255次阅读

    什么是汽车ISO 26262功能安全标准?

    随着各行业引进一系列产品设计和测试的标准化流程,安全保障也日益规范化。ISO26262是针对汽车零部件中的关键电气和电子(E/E)系统的功能安全标准。ISO26262基于IEC6150
    的头像 发表于 07-23 08:28 3876次阅读
    什么是汽车<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>功能安全标准?

    万界星空科技汽车零部件行业MES介绍

    ​汽车零部件MES系统功能介绍: 汽车零部件MES系统集成车间多重生产执行管理功能模块,向上集成工厂管理层(ERP系统),向下对接生产控制层,实现汽车配件生产管理集成化。
    的头像 发表于 07-08 10:04 267次阅读
    万界星空科技汽车<b class='flag-5'>零部件</b>行业MES介绍

    飞机零部件环境可靠性试验的具体实施过程_环境模拟试验设备

    为了确保飞机的飞行安全,飞机零部件需要经过严格的环境可靠性试验。这些试验通过模拟飞机在各种极端环境下的工作条件,全面评估零部件的性能和可靠性。下面将详细介绍飞机零部件环境可靠性试验的具体实施过程
    的头像 发表于 06-21 17:37 437次阅读
    飞机<b class='flag-5'>零部件</b>环境可靠性试验的具体实施过程_环境模拟试验设备

    三坐标CMM三次元用于测量电子零部件

    在电子制造领域,对零部件的精确测量至关重要,它直接关系到产品的性能、质量和可靠性。而蔡司三坐标CMM三次元测量机,凭借其卓越的性能和广泛的应用领域,成为了电子零部件测量的卓越之选。蔡司三坐标CMM
    的头像 发表于 06-04 14:19 374次阅读
    三坐标CMM三次元用于测量电子<b class='flag-5'>零部件</b>

    如何验证飞机零部件的环境可靠性?

    飞机零部件在面临极端温度、湿度、压力等环境变化时,必须保持稳定性和功能性。环境适应性测试就是通过在实验室内模拟这些极端环境,来检验零部件的性能表现。例如,在温度控制方面,实验室可以模拟从-XX℃到+XX℃的极端温度变化,以
    的头像 发表于 04-27 10:08 368次阅读
    如何验证飞机<b class='flag-5'>零部件</b>的环境可靠性?

    半导体设备中的“精密工匠”:核心零部件的特点与功能

    半导体设备作为支撑现代电子信息产业的基础,其核心零部件的种类和特点直接关系到设备的性能、稳定性和可靠性。本文将详细介绍半导体设备核心零部件的主要分类及其特点,以期为读者提供一个全面而深入的了解。
    的头像 发表于 04-11 10:23 2718次阅读
    半导体设备中的“精密工匠”:核心<b class='flag-5'>零部件</b>的特点与功能

    AI视觉检测在汽车零部件制造中的应用

    ,阿丘科技AI检测方案,速度快、精度高、指标优,有效解决汽车零部件表面缺陷检测、装配位置验证、字符识别等问题,促进产品质量稳定可靠。✦✦✦缺陷检测准确识别零部件
    的头像 发表于 03-08 08:23 1053次阅读
    AI视觉检测在汽车<b class='flag-5'>零部件</b>制造中的应用

    汽车零部件需要做哪些环境试验?

    高温测试用于模拟零部件在极端炎热环境下的工作状态,如沙漠或夏季高温天气。这种测试可以检测零部件在高温下的热稳定性、材料变形和电气性能变化。相对地,低温
    的头像 发表于 02-24 09:25 971次阅读
    汽车<b class='flag-5'>零部件</b>需要做哪些环境试验?

    半导体设备零部件国产化加速,开启千亿新蓝海

      零部件是半导体设备行业的支撑,市场规模近600亿美元,中国大陆市场超千亿人民币:半导体行业遵循“一代技术、一代工艺、一代设备”的产业规律,而半导体设备的升级迭代,在很大程度上有赖于精密零部件
    发表于 11-28 14:15 2次下载