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

    文章

    246

    浏览量

    19898
  • 零部件
    +关注

    关注

    0

    文章

    453

    浏览量

    15841
  • ISO26262
    +关注

    关注

    3

    文章

    42

    浏览量

    14774
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于零部件清洗机工艺流程的详细介绍

    零部件清洗机在工艺选择合适的碱性清洗液,利用50℃-90℃的热水进行清洗,之后还需要将零部件进行干燥的处理,主要是利用热压缩的空气进行吹干,这种方式比较适合优质的
    的头像 发表于 08-07 17:24 1022次阅读
    关于<b class='flag-5'>零部件</b>清洗机工艺流程的详细介绍

    微电机关键零部件制造误差对其质量的影响权重分析

    摘 要:研究了微电机中不存在尺寸链关系的关键零部件的制造误差对微电机质量影响权值的计算方法。首先利用神经网络方法计算关键零部件尺寸偏差对性能影响的权值,然后再利用二元排序法计算每个性能指标对微电机
    发表于 06-23 07:16

    汽车零部件的MES系统解决方案:实现智能制造转型的核心利器

    迫使传统制造模式亟需突破。制造执行系统(MES)作为连接计划层与控制层的核心枢纽,已成为汽车零部件企业实现智能制造转型的战略工具,通过构建全流程数字主线,推动生
    的头像 发表于 06-18 14:28 677次阅读
    汽车<b class='flag-5'>零部件</b>的MES系统<b class='flag-5'>解决方案</b>:实现智能制造转型的核心利器

    如何给汽车零部件进行疲劳耐久测试

    汽车零部件的疲劳耐久测试是保障整车可靠性的核心环节,其通过模拟复杂工况下的交变载荷、环境因素等,验证零部件在全生命周期内的抗疲劳破坏能力。本文从测试对象分类、典型
    的头像 发表于 06-17 09:12 1886次阅读
    如何给汽车<b class='flag-5'>零部件</b>进行疲劳耐久<b class='flag-5'>测试</b>?

    寻迹智行亮相2025汽车零部件物流大会,共探智慧物流新思路

    近日,一场聚焦汽车零部件物流领域的前沿盛会——“2025汽车零部件物流大会”在西安盛大召开。
    的头像 发表于 06-09 17:27 833次阅读

    汽车零部件开发项目管理

    汽车零部件开发项目管理是一个涉及多环节、多部门协作的复杂过程,需从项目启动到交付全流程进行科学规划与管控。以下从 核心流程 、 关键要素 、 管理工具 及 挑战与应对策略 四方面展开说明: 一、核心
    的头像 发表于 06-09 13:26 1140次阅读

    汽车零部件检测功能性测试技术

    汽车零部件检测技术涵盖了从材料性能到功能特性等多个关键维度,每种检测技术都在保障汽车零部件质量与可靠性方面发挥着独特作用。随着汽车技术的不断发展,如新能源汽车的兴起、汽车智能化程度的提高,对汽车
    的头像 发表于 06-05 09:21 519次阅读
    汽车<b class='flag-5'>零部件</b>检测功能性<b class='flag-5'>测试</b>技术

    汽车零部件可靠性测试项目

    汽车作为复杂的机械系统,其零部件的可靠性直接决定整车的性能、安全性和使用寿命。为确保汽车零部件在各种工况下都能稳定运行,行业内建立了一系列严格的可靠性测试标准和流程。
    的头像 发表于 05-06 14:30 1667次阅读
    汽车<b class='flag-5'>零部件</b>可靠性<b class='flag-5'>测试</b>项目

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

    在汽车产业蓬勃发展、技术日新月异的当下,汽车已成为人们日常生活中不可或缺的交通工具。从城市街道的穿梭到长途跋涉的跨越,汽车的安全性、可靠性与舒适性备受关注。而这一切的基础,皆源于每一个精密汽车零部件
    的头像 发表于 04-28 10:26 1102次阅读
    汽车<b class='flag-5'>零部件</b>需要做哪些试验?

    汽车零部件厂如何用MES制造解决方案减少30%废品率?

    MES(制造执行系统)制造解决方案。本文将探讨MES如何助力汽车零部件厂减少30%的废品率。一、实时数据监控与分析MES系统通过实时采集生产线上的数据,包括设备状态
    的头像 发表于 04-03 10:23 592次阅读
    汽车<b class='flag-5'>零部件</b>厂如何用MES制造<b class='flag-5'>解决方案</b>减少30%废品率?

    射频RFID读写器应用案例:汽车零部件无人搬运的自动化改造

    晨控提供的解决方案在每一个物料台的表面粘贴超高频标签,标签内包含零部件的规格、序列号等详细信息。当物料台进入生产线或存储区域时,RFID读写器可以自动读取标签上的信息,实现对零部件的信息内容识别。
    的头像 发表于 04-02 15:47 529次阅读

    智能零部件管理助力中电思仪的标准化管理

    零件级别的重用率。 为了统筹管理大量的零部件数据,有效整合各系统资源,中电思仪引进SPM系统,将其应用到电子测试仪器的设计及制造过程中,为企业三维设计软件和PDM系统各终端提供所
    发表于 02-14 14:03

    汽车零部件EMC测试模版

    关于汽车零部件EMC测试的标准文本,主要涉及低压器件。
    发表于 02-10 13:55 1次下载

    AIM有限公司有效控制零部件的野蛮增长并优化企业流程

    和自制件,AIM有限公司自 2009 年以来一直使用CADENAS软件公司的三维战略性零部件数据资源管理系统PARTsolutions。该软件解决方案是由在产品开发和产品数据管理方面领
    发表于 02-08 10:46

    汽车零部件企业设备互联互通解决方案的设计实施

    一、企业背景与需求 该企业是一家专注于汽车零部件生产的传统制造企业,拥有多条自动化生产线,主要生产汽车发动机零部件。近年来,随着市场需求的不断变化和消费者个性化需求的增加,企业面临着生产效率低、质量
    的头像 发表于 01-20 17:53 795次阅读