<什么是ISO 26262>
国际标准化组织文件第26262号(ISO 26262)为机动车辆开发和测试紧急安全电子系统提供了一个过程框架和程序模型。它是国际电子委员会文件61508(IEC 61508)的派生,其目的是为了适应汽车行业中遇到的挑战。初稿在2009年7月公开刊登,并在2011年发行最终版。标准已经被OEM厂商部分地采用。
VectorCAST符合ISO 26262第六部分软件开发标准规定的软件测试和验证建议。推荐测试包括单元级和系统级测试,如功能测试(以需求为导向的测试和模块测试)和结构覆盖测试。
< VectorCAST如何支持ISO 26262>
VectorCAST系列工具可以用生成和管理的测试用例来验证低级别的软件需求进行了测试,同时也可以用于多种健壮性测试,诸如范围和边界测试。此外,VectorCAST工具捕获和报告的结构覆盖率可以满足ISO 26262中所有级别的要求。
提供所有ISO 26262 ASIL要求的代码覆盖率度量指标:
支持ISO 26262所有级别的代码覆盖率
语句
分支
MC/DC
为单元和集成测试自动生成和编译完整的测试桩和驱动程序
自动回归测试
需求与测试用例映射
健壮性测试
边界值
边界条件测试
在主机,模拟器(simulator)和嵌入式目标板系统运行测试
使用VectorCAST遵循ISO 26262标准的公司简表
> Autoeversystems
> Autoliv
> Beko
> Caterpillar
> Chang’an Automotive
> Delphi
> Dongfeng Automotive
> ENSO
> Fujitsu Semiconductors
> Hyundai
> IAV
> Magna Powertrain
> Magneti Marelli
> MOTONIC
> Robert Bosch
> Siemens
VectorCAST支持符合ISO 26262标准的能力
<VectorCAST如何支持符合ISO 26262标准>
完整地支持所有级别的结构覆盖率
为功能和健壮性测试自动生成和编译测试桩和驱动程序
需求可以映射至测试用例
自动生成类型范围值的测试用例 (最小-中-最大)
基于合理范围数值的测试用例
VectorCAST加速使用户通过ISO26262标准有关的测试工作,具有以下优点:
交互式点击和脚本生成构建测试用例
修改测试用例并重新执行,不需要重新编译
自动回归测试
生成符合标准的测试报告
基础路径分析与圈复杂度
在主机和嵌入式目标板系统执行测试
<工具认证>
为满足ISO 26262,其第11章第8部分推荐。开发安全相关的项目所使用的软件工具(如测试工具)需要符合认证。以便提供软件工具适用性的证明,验证测试执行和任务的正确性可以达到标准。该认证必须表明工具能检测出违反安全要求的错误,而且能预防或检测类似错误。
Vector软件提供了一个现有的工具软件资格证明包,证明了VectorCAST工具在嵌入式开发环境的输出是准确的。
<TÜV SÜD认证工具用于ISO 26262安全相关的开发>
VectorCAST系列产品是一个用于安全相关性开发的TÜV SÜD认证软件工具。TÜV SÜD评估和生成Vector软件产品的工具认证,为开发组织提供必要的证据,以证明遵守符合IEC 61508和ISO26262标准。
Vector软件VectorCAST IEC认证包提供文档、证书和模板,帮助你在遵循IEC 61508标准和ISO 26262标准的项目上使用VectorCAST。
ISO 26262 IEC认证包含证明材料及针对项目使用VectorCAST产品的工作流程指导。
VectorCAST认证文档包含
工具 *** 作需求(TOR):
在可验证的需求上实现VectorCAST的功能
项目的作业环境(编译器、平台、目标等。)
管理流程的配置
实现验证VectorCAST满足特定测试需求的方法
工具认证数据(TQD):
工具认证的测试数据和结果
重新执行的测试脚本
测试开发(SET)是开发测试程序的
如:发送数据的驱动程序
,接收程序的桩程序。
并且需要会使用jmeter等压力测试工具。
它需要你细心,耐心,这个职位如果经验丰富,会很强手的,是越来越吃香的,有经验
阿里的测试都是SET
驱动,计算机软件术语,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到 *** 作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据 *** 作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。
那你还是对这两个概念不清晰。
所谓的测试桩,就是你负责测试的模块/方法所调用的,所以你需要模仿他们做一个返回值(假的,但符合设计)。
所谓驱动测试,就是你负责测试模块/方法是中间的,没有main()入口,怎么编译,怎么启动呢?就需要写一个带main()的方法来调用你的模块/方法,这个就是驱动测试。
public class ddd
{
//Test driver
public static void main(String[] args) {
ddd d = new ddd();
dAdd();
}
//My module
public int Add() {
int output=thisStub1() + thisStub2();
Systemoutprint("My module: return value is "+output+"\n");
return output;
}
//Stub1
public int Stub1() {
int output=3;
Systemoutprint("Stub 1 : return value is "+output+"\n");
return output;
}
//Stub2
public int Stub2() {
int output=7;
Systemoutprint("Stub 2 : return value is "+output+"\n");
return output;
}
}
驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备进行相互通信的特殊程序。相当于硬件的接口, *** 作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、“硬件和系统之间的桥梁”等。
单元测试
单元测试又称模块测试,是针对程序的一种测试。
模块:C函数,JAVA方法
模块的基本属性:名字、明确的功能、与其他模块的关联、算法。
在实际中,很多的单元测试工作都是程序员在做。
实际意义:一开始并不把程序作为一个整体来测,而首先
集中测试最小单元,这样能尽早的发现问题,解决问题。
• 实际演示一个单元测试例子
• 演示完成后,你的技能够做单元测试吗?
集成测试
时常有这样的情况发生,每个模块都能单独工作,但是将这些
模块组装起来之后却不能正常工作。
p A程序员写了代码,这些代码的功能提供给B程序员调用,但是
由于A和B之间在方法的命名,大小写等问题上不一致,所以根
本无法让A的数据给B用。
p 也就是说,在局部上不出问题,整合起来也不出问题吗?这很
难说,因此集成测试就显得非常有必要。
集成测试又称为接口测试,是针对程序接口的一种测试。
• 接口:模块与模块之间的耦合
• 在实际中,很多的集成测试工作都是程序员在做
• 实际意义:单元测试做完后,方法已经没有问题了,局部
不出问题了,程序员之间的各个功能整合起来,集中测试,
要保证整合后的代码和代码实现的功能完全对接,没有问题。
因此集成测试就显得非常有必要
现在问题出来了,我们怎么做集成呢?
• 独立的测试完成后,组合成一个整体测, 非增量式集成
问题:容易出现混乱,因为测试时可能发现一大堆问
题,但每个故障的定位和纠正问题很难。
• 把一个待测模块组合到已经测试过的模块上去,再进行
测试,这种方式称为 增量式集成
自上向下:桩程序
自下向上:驱动程序
p 思考一个问题:清洗一台已经完全装配好的绞肉机容易,还是
清洗一台被完全拆分的绞肉机容易?
确认测试
确认测试:对照软件需求规格说明,对软件产品进行评估以
确定其是否满足需求的过程。主要是对软件需求满足程度的一
种评价和评估。
p 经过确认测试,应该得出的评价无非2种情况:
① 经过检验,软件功能、性能及其他方面的要求都已满足
软件需求规格说明的规定,是一个合格的软件
② 经过检验,发现与软件需求规格说明书有相当的偏离,
得到了一个缺陷清单,这就需要开发部分和用户进行协
调,找出解决的办法。
系统测试
什么是系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。
对象不仅仅报测测试的软件,还包含软件所依赖的硬件,外设甚至包括某些数据、某些支持及接口等。
系统测试范围:功能、性能、界面、强度、容量、安全性、配置、安装、卸载、数据库等。
验收测试
验收测试:验收测试:可以类比为建筑的使用者对建筑进行的检测。
验收形式:
1Alpha;alpha 测试是在用户组织模式软件系统的运行环境下的一种验收测试,有用户第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试。试图发现并修改错误。
2Beta:Beta测试是用户公司组织各方面的典型终端用户在
日常工作中实际使用beta版本,并要求用户报告异常情
况,提出批评意见。
实际过程中:初验、终验
Alpha和Beta的区别
区别:两者的主要区别是测试场所不同。
p Alpha测试是指把用户请到开发方的场所来测试, Alpha测试的环
境是受开发方控制的,用户的数量相对比较少,时间比较集中。
p Beta测试是指在一个或多个用户的场所进行的测试。beta测试的环
境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数
量相对比较多,时间不集中。
p alpha测试先于beta测试执行。
p 通用的软件产品需要较大规模的beta测试,测试周期比较长。如
果产品通过了beta测试,那么就可以正式发行了。
p 一些软件开发公司把Alpha测试后发布的产品定义为:一个早期的、
不稳定的软件版本所进行的验收测试,而Beta测试看成是对一个
晚期的、更加稳定的软件版本所进行的验收测试。
以上就是关于如何让汽车电子系统的开发和测试符合ISO26262标准全部的内容,包括:如何让汽车电子系统的开发和测试符合ISO26262标准、Java测试开发工程师是做什么的、什么是驱动程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)