一、汽车软件测试理论
随着汽车电动化、智能化的发展,汽车电子软件的快速迭代与更新,对软件测试人员的要求也越来越高。大多数软件开发基本都遵循了几个不同的阶段:设计、开发、测试、发布、维护。软件测试的含义:《软件测试的艺术》的作者梅耶的定义是“软件测试就是为了发现缺陷而运行程序的过程”。所以软件测试的目的,是由软件测试工程师(6)在项目开发的早期(1)进入到测试环节中去,通过对软件的特性分析(3),依据最佳的测试用例组合(4),按照最佳的测试流程(7),寻找尽可能多的软件缺陷,但是并不是所有的软件问题都能够被发现(5),因为软件的测试不可能穷尽所有运行情况(2),是软件开发的本质决定的。
以上的一段话,囊括了测试的所有原则:
1、要尽可能早地测试。
2、不可能进行穷举式测试。
3、关注缺陷群集效应。
4、杀虫剂悖论。
5、测试只能证明存在缺陷,而无法证明不存在缺陷。
6、测试最好由非软件开发人员担任。
7、测试顺序。
二、汽车软件测试流程
汽车功能越来越多的功能都是由软件来实现的,为了保障汽车系统的软件质量,软件测试成为一项极为重要的工作,直接关系到项目的最终成败,不仅是嵌入式开发的一个重要环节,而且还能保障开发过程是高质量的。汽车软件的测试流程是保证软件质量的重要支撑,优秀的团队都必须拥有规范的流程体系支撑,它能够约束测试人员的测试行为,能够约束测试环境的测试精度,能够提升测试的覆盖度,能够保证团队成员工作的协调性。因此,建立了一个符合汽车软件测试的测试流程,与行业同仁一起分享。
该测试流程建立的依据:
1、与ISO29119计算机行业的软件测试标准流程进行了对标。
2、汽车软件测试行业的工作经验。
3、符合MIL/HIL/VIL总体测试流程架构。
4、对标《新能源汽车车载控制器软件功能测试标准》
5、针对ISO26262以及ASPICE进行了对照检查。
标准的总体描述:分为四个主要流程范围,主要包括测试规程、测试准备、测试执行、测试反馈。下面对一些子流程进行解释:
测试方针:在团队内部的顶层文件,用以描述测试目的、目标、原则和范围的文档。测试方针规定了测试执行的内容以及测试预计将达到的结果的总体描述性文件,该文件能够提供一个建立、评审和持续改进测试效果的架构。
测试策略:规定测试准备,测试执行,测试反馈阶段的实现方法,比如规定测试用例的设计技术,测试入口准则和出口准则,测试工具的要求,测试的输出物等等。
测试计划:用于协调整个测试项目工作进度的文件,比如测试的周期,测试的人员,使用的测试设备的安排等等。一般由测试负责人编写。
测试环境需求:能够满足测试执行的要求的环境,主要包括软件、硬件、测试用例、测试需求文档等等。
三、汽车软件测试工程师重点关注流程
测试计划:通过测试需求规范以及项目的总体开发进度进行测试计划的编制,明确测哪些需求、测试的时间、测试人员。
测试设计:主要通过功能需求开发测试用例,并与开发人员进行评审,通过后定版。并通过功能需求创建测试环境,并与被测件进行联合调试。
测试执行:根据测试环境、测试用例进行测试,首先进行冒烟测试,判定当前软件状态,测试过程中发现问题,记录问题,并追踪问题。
测试报告:针对测试的过程和软件的质量输出总结性测试报告,并由开发人员确定是否可以发布。
版权归原作者 车载控制器开发与测试 所有, 如有侵权,请联系我们删除。