背景介绍

随着汽车行业的迅速发展,汽车的复杂程度不断增加,越来越多的汽车电子控制系统具有与安全相关的功能,因此对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)的测试的更多相关文章

  1. 功能更新 | medini analyze — 符合ISO 26262的功能安全平台工具

            汽车电子电气系统的功能安全随着智能驾驶.新能源等新兴技术的发展而愈发受到重视.在国际功能安全标准ISO 26262的落地过程中遇到了很多的棘手问题:如何正确而有效地实施HARA以得到合 ...

  2. 汽车芯片如何高效符合ISO 26262功能安全标准

      汽车芯片和集成电路(IC)是高级驾驶员辅助系统(advanced driver assistance systems-ADAS)和联网自动驾驶汽车(connected autonomous veh ...

  3. 保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤

    保证软件开发过程遵循ISO 26262功能安全标准的十个主要进阶步骤 为保障汽车软件质量,使软件开发符合ISO 26262功能安全标准,需要我们对开发流程做出改进,并与2018年的更新同步. 本视频课 ...

  4. 基于soapUI构建WebService测试框架

    基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html

  5. 强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017

    v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchhiker的2017. 先还是说v0.9, ...

  6. ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu

    %ELM:ELM基于近红外光谱的汽油测试集辛烷值含量预测结果对比—Jason niu load spectra_data.mat temp = randperm(size(NIR,1)); P_tra ...

  7. 转:基于Jmeter的MQTT测试插件

    基于Jmeter的MQTT测试插件-上 1. Jmeter插件简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.下载 用于对软件做压力测试,它最初被设计用于Web应用 ...

  8. 《软件测试自动化之道》读书笔记 之 基于反射的UI测试

    <软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序  启动待测程序  设置窗体的属性  获取窗体的属性  设置控件的属性  ...

  9. 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试

    <软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序  启动待测程序  获得待测程序主窗体的句柄  获得有名字控件的 ...

随机推荐

  1. buu misc 1-32 wp

    buuCTFwp(1~32) 1.签到题 题里就有flag flag{buu_ctf} 2.二维码 1.题目是一个二维码,用010发现提示四位数字,想到应该是暗藏压缩包 2.虚拟机foremost分离 ...

  2. 卸载.net 5.0后使用dotnet提示Found .NET Core SDK

    之前安装了预览版本的vs2019后试了下,然后卸载了.但发现控制台执行dotnet相关命令提示Found .NET Core SDK, but did not find dotnet.dll at [ ...

  3. 贪心/构造/DP 杂题选做

    本博客将会收录一些贪心/构造的我认为较有价值的题目,这样可以有效的避免日后碰到 P7115 或者 P7915 这样的题就束手无策进而垫底的情况/dk 某些题目虽然跟贪心关系不大,但是在 CF 上有个 ...

  4. Codeforces 718E - Matvey's Birthday(思维题)

    Codeforces 题面传送门 & 洛谷题面传送门 首先注意到这个图的特殊性:我们对于所有 \(s_i=s_j\)​ 的 \((i,j)\)​ 之间都连了条边,而字符集大小顶多只有 \(8\ ...

  5. Atcoder Grand Contest 005 E - Sugigma: The Showdown(思维题)

    洛谷题面传送门 & Atcoder 题面传送门 记先手移动棋子的树为红树,后手移动棋子的树为蓝树. 首先考虑一个性质,就是如果与当前红色棋子所在的点相连的边中存在一条边,满足这条边的两个端点在 ...

  6. Atcoder Grand Contest 032 E - Modulo Pairing(乱搞+二分)

    Atcoder 题面传送门 & 洛谷题面传送门 神仙调整+乱搞题. 首先某些人(including me)一看到最大值最小就二分答案,事实上二分答案对这题正解没有任何启发. 首先将 \(a_i ...

  7. DTOJ 3987: 数学课

    题目描述 wzy又来上数学课了-- 虽然他很菜,但是数学还是懂一丢丢的.老师出了一道题,给定一个包含$n$个元素的集合$P=1,2,3--n$求有多少集合$A \subseteq P$,满足$x \i ...

  8. python爬虫采集

    python爬虫采集 最近有个项目需要采集一些网站网页,以前都是用php来做,但现在十分流行用python做采集,研究了一些做一下记录. 采集数据的根本是要获取一个网页的内容,再根据内容筛选出需要的数 ...

  9. 10.Power of Two-Leetcode

    Given an integer, write a function to determine if it is a power of two. class Solution { public: bo ...

  10. 【模板】网络最大流(EK、Dinic、ISAP)(网络流)/洛谷P3376

    题目链接 https://www.luogu.com.cn/problem/P3376 题目大意 输入格式 第一行包含四个正整数 \(n,m,s,t\),分别表示点的个数.有向边的个数.源点序号.汇点 ...