随着汽车行业的迅速发展,汽车电子电器E/E系统在汽车中的作用不断提高,ECU开发所占用的时间和成本也越来越高。与此同时,越来越多的电子控制系统(例如车身稳定控制系统ESP,防抱死制动系统ABS,自适应前照明系统AFS等)具有与安全相关的功能,因此对ECU的安全要求也越来越高。为了减少产品的开发时间和成本,降低由于安全问题而导致的维护甚至召回的风险,越来越多的整车厂和供应商开始重视汽车领域的功能安全问题 ,ECU软件功能安全的问题也成为汽车行业迫切需要解决的问题,车辆功能安全标准ISO 26262就在这样的环境和需求下应运而生,并于2011年11月正式发布第一版本,该标准是当前汽车业中最流行、最复杂、也是最重要的一份标准。
ISO 26262的目标是通过避免汽车E/E 系统故障行为可能导致的危害来提高E/E系统的功能安全。ISO 26262采用车辆安全完整性等级(ASIL)来判断系统的功能安全程度,ASIL由ASIL A(最低)、ASIL B、ASIL C及ASIL D(最高)四个等级组成,ASIL等级越高表示系统的功能安全评估越严格,相应的表示系统正确执行安全功能,或者说的避免该功能出错的概率越高,即系统的安全可靠性越高。
什么是ISO 26262
国际标准化组织文件第26262号(ISO 26262)为机动车辆开发和测试紧急安全电子系统提供了一个过程框架和程序模型。它是国际电子委员会文件61508(IEC 61508)的派生,其目的是为了适应汽车行业中遇到的挑战。初稿在2009年7月公开刊登,并在2011年发行最终版。标准已经被OEM厂商部分地采用。
基于V模式的ISO26262软件测试生命周期
如图所示,基于V模式的ISO 26262-6软件测试生命周期可以划分为五个阶段:
静态分析需求和功能需求:在软件级产品开发初始化阶段和软件安全需求规范制定阶段确定了一些基本的嵌入式软件静态分析需求和功能需求,这部分内容是以后设计和测试的基础;
架构验证:在软件架构设计阶段,我们可以使用人工分析的方式来验证和测试软件架构层的内容,但是有条件的话最好使用合适的架构设计工具,在设计的过程中同时进行架构验证;
静态测试:在软件单元设计和实现阶段同时进行静态测试,可以使用开发辅助工具来进行静态测试,这样不必因为静态测试的活动而改变开发流程。
动态测试:在软件单元测试阶段以及软件集成和测试阶段,使用合适的动态测试工具进行动态单元和集成测试,
功能验证:在软件安全需求验证阶段,要根据ISO 26262-6的要求进行功能验证,包括进行ECU网络环境测试和实车测试,必要的时候进行HIL测试。
因为在静态分析需求中所需要满足的方法基本上都是属于静态测试的范畴的,因此我们以ASIL A为例,将软件测试内容分为静态测试、动态测试和功能验证三部分(注:架构验证暂时未包含在内),见下表。
ThreadingTest测试工具介绍
ThreadingTest(简称“TT”)是创新型的系统级白盒测试工具和数字化软件测试装置,它的设计基于融合了4项国家发明专利而打造成的软件测试行业的革新性测试理念-“穿线测试”。TT首次将黑盒测试与白盒测试过程以及方法进行完美的融合,采用ISO26262标准的打桩方式(保证打桩的代码和正常的代码的执行功能是一致的),以黑盒的测试过程及方法,产生白盒测试的数据,真正将软件测试带入数字化测试时代。除了支持传统的JavaEE应用,同时TT也是全球首款商用级别的移动端白盒测试工具,可以对各种类型的移动类应用进行测试。
TT的所有特性基于对代码、测试等的深度量化分析和智能计算,TT除了可以进行白盒测试外,也可以为软件的安全性测试提供全过程、系统性的方法支持,TT可以在安全性测试黑盒方法的过程中,从辅助分析,自动诊断ÿ