如何完成符合ISO 26262要求的基于模型设计(MBD)的测试
背景介绍
随着汽车行业的迅速发展,汽车的复杂程度不断增加,越来越多的汽车电子控制系统具有与安全相关的功能,因此对ECU的安全要求也越来越高。复杂的软件功能,将会带来大量的软件风险问题,如何保证软件的安全,保证软件做正确的事情,已经成为汽车行业迫切需要解决的问题。
ISO 26262(道路车辆功能安全标准)是以IEC 61508(电气/电子/可编程电子安全系统功能安全标准)为基础,为满足道路车辆上电子电气系统的特定需求而编写,发布于2011年。ISO 26262能够在管理、开发(软、硬件)、生产、运行、服务、报废等阶段,保证整个生命周期内的安全性。与此同时,ISO 26262也在不断地完善和发展。2018年12月,第二版的ISO 26262也已经对外发布,覆盖范围也已经从3.5吨以下的乘用车扩展到所有的车型,包括商用车和摩托车。
GB/T 34590(道路车辆功能安全国家标准)修改采用ISO 26262,适用于道路车辆上由电子、电气和软件组件组成的安全相关系统在安全生命周期内的所有活动,发布于2017年。目前,功能安全在中国已经得到普遍认可,并逐步进入大规模使用阶段。
本文旨在说明,如何使用TPT完成符合ISO 26262要求的基于模型设计(MBD,Model based Design)的测试。TPT可以支持主流的MBD开发工具Simulink、Targetlink、ASCET。
基于需求的测试
按照ISO 26262推荐的测试方法,基于需求的测试是ASIL-A到ASIL-D高度推荐的测试方法。并且在软件测试阶段,需要实现测试和需求的双向追溯。
TPT-Requirement能够通过简单的操作完成需求、测试用例、测试评估之间的追溯,并能够在报告中体现。
目前TPT-Requirement支持IBM DOORS、Polarion、EXCEL等需求工具。
图1 需求-测试用例链接关系
MiL测试
针对ISO 26262和MBD开发的流程,首先需要完成模型测试。TPT-MATLAB Platform、TPT-ASCET Platform可以通过加载被测模型,自动读取模型的接口和参数,自动生成模型测试环境。
测试用例生成
测试环境搭建完成之后,需要设计测试用例来对模型功能进行测试。ISO 26262推荐了下图2所示的测试用例生成方法。用户需要根据不同的ASIL等级,来明确需要采用的测试用例生成方法。
针对1b基于等价类测试用例生成和1c基于边界值测试用例生成,TPT提供自动化工具箱,可以根据用户设定,自动生成测试用例。
针对1d基于猜错的测试用例,需要结合企业的测试积累和工程师的测试经验,具体情况具体分析,编写测试用例。
图2 ISO26262测试用例生成方法
针对1a基于需求的测试用例生成方法是目前最常用也是最重要的测试用例生成方法。TPT提供了基于图形化的测试用例搭建方法,用以帮助用户实现复杂的测试场景,同时,也方便测试工程师之间互相评审测试用例。
图3 图形化测试用例
便捷的测试评估
在测试用例搭建完成之后,需要添加评估条件来对测试结果进行评估,TPT提供了GUI、python-script、m-script等手段来降低测试评估的难度,实现复杂测试要求下的评估,实现测试过程的自动化。
图4 测试评估界面
可自定义测试报告
TPT生成的报告中,包括了整个测试过程的所有信息,例如测试结果、覆盖度报告、需求报告等。同时,TPT提供可自定义的测试报告,用户可以将测试数据、图片、测试用例说明、测试数据曲线显示在测试报告之中,满足项目的实际需求。
图5 测试报告概览
覆盖度
需求覆盖度
在功能测试中,往往需要根据功能需求来设计测试用例。TPT提供了Requirement Coverage Report,涵盖需求的覆盖情况以及每条需求的测试结果。在测试过程中,需要保证需求覆盖度为100%。
图6 测试需求报告
结构覆盖度
在ISO 26262中,提到了结构覆盖度的概念,并通过覆盖度来评定测试完成度和未测试的功能。针对模型测试,在ISO 26262中列举了如下三种结构覆盖度标准,不同的ASIL等级对覆盖度有不同的要求,ASIL-C、ASIL-D高度推荐MC/DC覆盖度标准。
- Statement coverage
- Branch coverage
- MC/DC coverage
在TPT-MATLAB Platform可以统计测试用例所能达到的覆盖度,借助生成的报告,可以直观地发现未覆盖的路径,从而可以补充测试用例,来提升覆盖度指标。
针对模型的结构覆盖度,TPT提供TASMO工具箱,能够分析模型结构,自动生成结构化的测试用例,来测试模型是否存在不可达分支,帮助开发人员在早期发现问题。
Back-to-Back Testing
因为软件在不同的运行环境当中,会存在因为运行环境或者数据类型定义而引起的软件运行错误。因此,ISO 26262罗列了如下的几种不同测试阶段:
MiL ➔ SiL ➔ PiL ➔ HiL
ISO 26262高度推荐在ASIL-C、ASIL-D,采用Back-to-Back测试。
- 针对SiL测试,TPT可以调用Simulink来根据客户配置生成代码,然后将其封装成dll文件,进行测试。运行时,首先运行MiL阶段的测试用例,记录测试结果,再运行SiL阶段的测试用例,将SiL的执行结果与MiL阶段进行对比。
图7 背靠背测试评估对比
- 针对PiL测试,TPT目前支持Lauterbach和PLS UDE两款调试器,可以对软件的执行时间和资源占用情况进行测试。
- 针对HiL测试,TPT支持目前主流的HiL平台,比如dSPACE、ETAS、Speedgoat、NI Veristand、Concurrent等平台。
Tool Qualification
ISO 26262-8指定了支持过程的需求,包括配置管理、版本管理、报告等,TPT可以通过对于SVN的支持和自身的管理功能,来帮助实现如上要求。
这一部分也规定了需要对项目使用工具进行置信度等级评定。这里需要强调的是,用户需要结合自己的具体项目来对工具的置信度等级进行评定,而非软件提供商。
TPT提供了Qualification Kit,里面包括TPT典型使用,验证方法,置信度等级的确认方法等。目前,TPT通过了TÜV 的认证,可以满足ASIL A到ASIL-D等级对软件的测试要求。
正如上文所述,TPT的使用者需要在具体的项目中来确定工具的置信度等级,鉴于TPT强大的功能,典型的使用方法仅仅是TPT部分功能。如果用户的使用超出了常规使用,PikeTec也会提供额外的支持来帮助用户确定实际项目的置信度等级,协助出具Qualification报告。
图8 项目认证流程
目前,已经有全球领先的汽车整车厂和零部件供应商,利用TPT Qualification Kit完成了项目的ISO 26262认证工作。
图9 TPT Qualification Kit客户
关于PikeTec
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户提升嵌入式控制系统的开发效率。
参考文献
[1] [ISO 26262] ISO 26262:2011-11: Road vehicles - Functional safety. International Standard, Part 1-9, 15.11.2011
[2] [TPT Qualification] TPT - Qualification in accordance with ISO 26262, Analysis and Qualification measures. Version 1.6, PikeTec, March 2017
本文来自博客园,作者:{北汇信息},转载请注明原文链接:{https://www.cnblogs.com/polelink/}