如何完成符合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
如何完成符合ISO 26262要求的基于模型设计(MBD)的测试的更多相关文章
- 功能更新 | medini analyze — 符合ISO 26262的功能安全平台工具
汽车电子电气系统的功能安全随着智能驾驶.新能源等新兴技术的发展而愈发受到重视.在国际功能安全标准ISO 26262的落地过程中遇到了很多的棘手问题:如何正确而有效地实施HARA以得到合 ...
- 汽车芯片如何高效符合ISO 26262功能安全标准
汽车芯片和集成电路(IC)是高级驾驶员辅助系统(advanced driver assistance systems-ADAS)和联网自动驾驶汽车(connected autonomous veh ...
- 保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤
保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤 为保障汽车软件质量,使软件开发符合ISO 26262功能安全标准,需要我们对开发流程做出改进,并与2018年的更新同步. 本视频课 ...
- 基于soapUI构建WebService测试框架
基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html
- 强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017
v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchhiker的2017. 先还是说v0.9, ...
- ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu
%ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu load spectra_data.mat temp = randperm(size(NIR,1)); P_tra ...
- 转:基于Jmeter的MQTT测试插件
基于Jmeter的MQTT测试插件-上 1. Jmeter插件简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.下载 用于对软件做压力测试,它最初被设计用于Web应用 ...
- 《软件测试自动化之道》读书笔记 之 基于反射的UI测试
<软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序 启动待测程序 设置窗体的属性 获取窗体的属性 设置控件的属性 ...
- 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试
<软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序 启动待测程序 获得待测程序主窗体的句柄 获得有名字控件的 ...
随机推荐
- [bzoj1391]order
考虑最小割,即最少要去掉多少收益先S向所有机器连边,流量为购买费用:所有机器向工作连边,流量为租借费用:工作向T连边,流量为收益那么对于每一个工作,要么割掉连向T的边,要么购买/租借所有机器,同时由于 ...
- 【k8s】在AWS EKS部署并通过ALB访问k8s Dashboard保姆级教程
本教程适用范围 在AWS上使用EKS服务部署k8s Dashboard,并通过ALB访问 EKS集群计算节点采用托管EC2,并使用启动模板. 使用AWS海外账号,us-west-2区域 使用账号默认v ...
- C# Pechkin初始化一次后被锁住的问题
Pechkin.dll可用于pdf的生成,常规用法网上都有介绍:https://www.cnblogs.com/felixnet/p/5143934.html 但是当在一个页面上执行过一次之后,再次就 ...
- 记一次 .NET 某智能服装智造系统 内存泄漏分析
一:背景 1. 讲故事 上个月有位朋友找到我,说他的程序出现了内存泄漏,不知道如何进一步分析,截图如下: 朋友这段话已经说的非常言简意赅了,那就上 windbg 说话吧. 二:Windbg 分析 1. ...
- Codeforces 547D - Mike and Fish(欧拉回路)
Codeforces 题目传送门 & 洛谷题目传送门 首先考虑将题目中的条件转化为图论的语言.看到"行""列",我们很自然地想到二分图中行.列转点,点转 ...
- 【豆科基因组】木豆Pigeonpea (Cajanus cajan) 292个自然群体重测序2017NG
目录 一.来源 二.结果 一.来源 Whole-genome resequencing of 292 pigeonpea accessions identifies genomic regions a ...
- oracle中char],varchar,varchar2
VARCHAR.VARCHAR2.CHAR的区别 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储 ...
- TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉
摘要:如果你的开发过程涉及数据传输,一直在重传.超时之类的方案里有困惑的话,不妨重新学一学可靠性最精致的TCP协议. 本文分享自华为云社区<TCP的慢启动.拥塞避免.重传.快恢复乱七八糟总是记不 ...
- 如果通过 IP 判断是否是爬虫
通过 IP 判断爬虫 如果你查看服务器日志,看到密密麻麻的 IP 地址,你一眼可以看出来那些 IP 是爬虫,那些 IP 是正常的爬虫,就像这样: 在这密密麻麻的日志里面,我们不仅要分辨出真正的爬虫 I ...
- 2021广东工业大学新生赛决赛 L-歪脖子树下的灯
题目:L-歪脖子树下的灯_2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛) (nowcoder.com) 比赛的时候没往dp这方面想(因为之前初赛和月赛数学题太多了啊),因此只往组合数学 ...