021 5783 1113
021 5783 1113

浅谈汽车软件测试

发布日期:2023-08-25 浏览次数:975

在汽车研发过程中,为了保证汽车的技术特性、可靠性、耐久性和环境适应性,需要做大量的试验。比如:车软硬件开发与测试、汽车EMC测试、新能源动力测试、可靠性设计及测试、整车三高测试、以太网开发与测试等。由于汽车需在不同的道路、地理和气候条件下使用,它的性能、效率、可靠性和耐久性等不能只依靠计算,必须经过试验证实。在实际使用环境中、专用试验场中或室内试验台上,按照预定程序对汽车或其零部件、材料等进行的试验。


随着科学技术的进步。造车技术不断提升,汽车测试技术也在飞速发展。这些试验都是保证我们的车能安全、稳定、可靠行驶的必要条件。今天我们聊一下汽车软件测试。


现在大多数人对于汽车测试的第一印象就是碰撞测试、速度测试和其他机械干预的测试。但实际上,大多数的汽车测试早在汽车组装完毕之前就已经完成了。


一辆汽车上的零部件大约有3万个,由数十家合作制造车辆的原始设备制造商提供。无论是硬件还是软件,每个汽车部件在最终组装之前都经过了数十万次测试,在汽车上路之前更是如此。

汽车软件测试

如今上路的车辆,无论是标准轿车还是高性能车辆,都是由软件驱动的。在以往较为原始的市售车型,其车身上至少布置有70至80个电子控制单元,而在发展更深入的智能汽车上,可能甚至配备有多达200至300个电子控制单元。


电子控制单元(ECU)是控制汽车某一特定功能的小型计算机。在ECU出现之前,机械系统利用点火时机、燃料、空气和发动机旋转来运作。而现在,所有的必要步骤都被编程至ECU内部的芯片中。


汽车上一些常见的ECU示例包括关键功能ECU,如发动机控制模块(ECM)和制动控制模块(BCM);或者非关键ECU,如汽车信息导航系统中的ECU,或者控制锁定和解锁门、打开窗户或控制空调等功能的通用电子模块(GEM)。


考虑到每个电子控制单元都在功能上等同于一台微型计算机,这些ECU模块必须经过严格的软件测试,以确保它们的功能性、可用性和安全性符合要求。


现实情况是,传统的汽车测试既昂贵又耗时且不易重复的。多亏了技术的进步,为我们带来了这个问题的解决方案:硬件在环仿真(HIL)和软件在环仿真(SIL)测试。

软件在环仿真(SIL)测试

软件在环测试,也称SIL测试,是指在PC机上测试嵌入式软件、算法或整个控制回路,无论有无环境模型,因此也无需ECU硬件。事实上,SiL测试是汽车软件测试不可分割的一部分。嵌入式系统的源代码在PC机上编译执行,然后在PC机上进行测试。


软件在环测试的最大优势是,可以尽早地识别系统漏洞和错误。这不仅能帮助快速修复系统,而且因此减少了开发时间并将开发成本保持在最低限度。


术语“在环”(“in-the-loop”)是指软件环境的某些部分,即被控制的系统或硬件,是被模拟的。闭环控制回路的模拟并不是必须的,因为一些被测系统,特别是在模块测试中,不需要闭环控制回路。


SIL的优点包括:


软件测试可随每个程序模块完成后定期进行测试,而无需等待最终构建.

测试可以实现自动化并同时运行。

测试结果可共享且易于分析。

它可以将软件开发与硬件开发分离,因此软件制造商可以在不受硬件行业瓶颈制约的情况下持续创新。

无需要专用的测试台(下文中提到的HIL测试则需要此类测试台)。

SIL测试易于扩展、可重复性高并且比手动测试更快。

硬件在环仿真(HIL)测试

硬件在环仿真(Hardware-in-the-Loop,简称HIL)是真的控制器连接假的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与测试技术,通过接入真实的控制器,采用或者部分采用实时仿真模型来模拟被控对象和系统运行环境,实现整个系统的仿真测试。


实时仿真硬件(也称HIL测试机柜)就是要尽可能逼真地模拟真实被控对象,以有效地“欺骗”控制器,让控制器以为它正在控制一个真实的被控对象。


为什么要做HIL测试?开发出车载控制器后,直接把该控制器放到车上进行路试不可以吗?主机厂对控制器做HIL测试的原因如下:


1.安全。试想:在路试过程中,车速180km/h,转向过程中ESP车身电子稳定系统失效,将会发生什么?控制器如果没有经过全面的测试,直接去控制真实被控对象,可能会发生事故。HIL台架能辅助工程师对测试结果分析验证,故障再现,提高测试验证及分析手段。


2.低成本。如果不采取HIL自动化测试,人工路测情况下,需要很大的路测工程师及车辆,在一定程度上大大增加了研发开支及风险,HIL台架在确保测试全面可靠的前提下,能够有效缩短测试周期,降低测试人工及物料成本。


3.测试覆盖度。HiL测试覆盖度越高,后期路试测试项目就越低,HiL 自动化测试服务包括一套完整的 HiL 自动化测试用例、自动化测试程序、自动化测试报告、测试问题记录,进而保证 HiL 测试的高效进行,测试覆盖度越高,控制器在整车测试、路测过程中风险及成本越低。


HIL测试目的是对控制系统进行全面的深入的功能测试、故障测试、总线诊断测试,自动化测试,并辅助工程师对测试结果分析验证,故障再现, 提高测试验证及分析的手段。

汽车软件测试相关法规

当然,针对汽车硬件和软件组件的测试有着非常严格的规定。


《道路车辆功能安全》(ISO 26262)


汽车安全的主要法规是《道路车辆功能安全》(ISO 26262),这一标准适用于量产乘用车,并为公共汽车、卡车、拖车和半挂车的E/E系统提供指导。


《道路车辆网络安全工程》(ISO 21434)


ISO 21434是基于ISO 26262的后续标准,但它主要侧重于汽车软件及子系统设计和开发中的网络安全。该标准涵盖风险管理和缓解措施、风险评估、持续安全、安全管理等多项主题。


AUTOSAR


AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构。AUTOSAR这个架构有利于车辆电子系统软件的交换与更新,并为高效管理愈来愈复杂的车辆电子、软件系统提供了一个基础。此外,AUTOSAR在确保产品及服务质量的同时,提高了成本效率。


MISRA


MISRA--作为工业标准的C编程规范,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。这个组织最出名的成果是所谓的MISRA C Coding Standard,这一标准中包括了127条C语言编码标准,通常认为,如果能够完全遵守这些标准,则你的C代码是易读、可靠、可移植和易于维护的。最近很多嵌入式开发者都以MISRA C来衡量自己的编码风格,比如著名的uC/OS-II就得意地宣称自己99%遵守MISRA标准。

总结

本文对软件测试的两个解决方案和软件测试相关的行业法规进行介绍,希望对大家了解软件测试内容有所帮助。


后续会结合测试的阶段,对测试计划,测试策略,测试环境搭建等方面再做一些讨论。

在线报名