- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
WORD格式.可编辑
技术资料分享
符合ISO26262标准的软件测试解决方案
随着汽车行业的迅速发展,汽车电子电器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标准的组成架构由十个规范和信息指导文件组成,其中ISO 26262—4/5/6阐述的是系统级/硬件级/软件级的产品开发,使用嵌套的V模型定义了每个开发阶段的过程以及相应的工作产品。本解决方案主要阐明了在软件级产品开发阶段如何去理解ISO 26262的要求,并且指出了在实际的软件开发过程中如何结合ISO 26262的软件测试生命周期,通过包括软件测试工作的执行以及过程控制等方面来确保ECU软件质量满足ISO 26262软件级功能安全相应等级的要求。
基于V模式的ISO26262软件测试生命周期
????如图所示,基于V模式的ISO 26262-6软件测试生命周期可以划分为五个阶段:
静态分析需求和功能需求:在软件级产品开发初始化阶段和软件安全需求规范制定阶段确定了一些基本的嵌入式软件静态分析需求和功能需求,这部分内容是以后设计和测试的基础;
架构验证:在软件架构设计阶段,我们可以使用人工分析的方式来验证和测试软件架构层的内容,但是有条件的话最好使用合适的架构设计工具,在设计的过程中同时进行架构验证;
静态测试:在软件单元设计和实现阶段同时进行静态测试,可以使用开发辅助工具来进行静态测试,这样不必因为静态测试的活动而改变开发流程。
动态测试:在软件单元测试阶段以及软件集成和测试阶段,使用合适的动态测试工具进行动态单元和集成测试,
功能验证:在软件安全需求验证阶段,要根据ISO 26262-6的要求进行功能验证,包括进行ECU网络环境测试和实车测试,必要的时候进行HIL测试。
????因为在静态分析需求中所需要满足的方法基本上都是属于静态测试的范畴的,因此我们以ASIL A为例,将软件测试内容分为静态测试、动态测试和功能验证三部分(注:架构验证暂时未包含在内),见下表。
????表中所列举的静态测试内容里面要求采取多种的测试方法,例如‘低复杂度的强制要求’一般需要通过满足一定的度量指标来实现,度量指标包括圈复杂度、嵌套深度等等,而‘使用语言的子集’在汽车行业一般选择MISRA-C,通过强制使用编码规范来排除未定义行为或者实现定义行为等危险用法,除此之外静态测试还要求一些其他的测试方法,例如如果要满足更高的安全完整性等级的话,静态测试内容还需要包括运行时错误检测等,一般需要使用可靠性测试性的测试。
????ASIL A所要求的动态测试要求能够基于需求分析和设计测试用例,因此需要在开发过程中提供对需求管理的支持,同时要求能够针对函数或模块提供覆盖度分析等。如果是更高等级的ASIL的话可能还需要进行不同环境的测试,例如模型在环测试(MIL)和软件在环测试(SIL),并在必要的情况下进行MIL和SIL的对比测试。
??? 软件安全需求的测试环境需要根据ASIL等级来进行选取,并且至少要在一个以上不同环境内执行测试。ASIL A所要求的ECU网络测试包括了网络中各ECU之间的相互作用,目的是确保ECU之间没有引起功能故障的相互干扰,而实车测试则是在真正的ECU软件运行环境中进行测试的方式,根据功能安全需求规范来进行,可以最直观地反映出ECU软件是否能够满足定义的功能安全需求。当然在必要的时
文档评论(0)