APP下载

一种适用于新能源商用车嵌入式控制软件产品的质量保障体系

2024-03-05郑志敏文健峰刘逸群张利新

客车技术与研究 2024年1期
关键词:嵌入式软件测试用例保障体系

郑志敏, 文健峰, 刘逸群, 孙 炜, 张利新

(中车时代电动汽车股份有限公司, 湖南 株洲 412007)

随着汽车电动化、智能化、网联化的快速推进,汽车产业进入了新的技术变革时期。在软件定义汽车背景下,汽车中的软件越来越多,如何提高汽车软件研发的效率和质量,已成为亟须解决的问题。

智能网联嵌入式软件产品为搭载嵌入式软件的控制器,随着嵌入式软件产品集成度大幅升高,其复杂程度也呈几何倍数增长[1],常规质量管理体系已无法满足IATF 16949体系对软件产品提出的质量管理要求及企业自身对产品质量的追求[2]。当前“通过管理人员维护文档来实现软件产品数据追溯”、“依赖实车装配好后验证软件产品质量”的传统模式无法高效率、低成本地研发出新产品,故无法参与激烈的市场竞争。

针对上述问题,本文提出新能源商用车嵌入式软件产品的质量保障体系,通过梳理适用于新能源商用车的软件产品质量保障流程,开发信息化、数字化、智能化管理平台来实现对嵌入式软件产品的需求、开发、测试、缺陷及回归的管理,以有效保证嵌入式软件产品质量。

1 嵌入式软件产品质量保障流程

软件开发质量保障体系即软件全生命周期管理体系,包括了软件开发及软件管理的流程规范。通过对IATF 16949质量管理体系、ISO 26262功能安全等理念与模式进行充分研究,建立完整的嵌入式软件产品质量保障体系,提高开发效率的同时保证了软件质量,全面提升了新能源商用车品质。

1.1 软件开发流程

按照新版IATF 16949标准要求,软件开发流程必须符合ASPICE或CMMI标准要求。软件开发过程中的步骤缺一不可,且商用车产品开发周期相对较长,传统的开发流程无法满足商用车车型多、需求变更频繁、周期短的要求。本文研究了一套适用于新能源商用车的软件开发“V模型”流程[3-4]。

1) 软件开发“V模型”流程。为了在软件快速迭代的同时保证软件质量,制定了适应新能源商用车软件产品开发的“V模型”流程,如图1所示。通过对用户需求分析、软件架构设计、软件单元设计、自动代码生成、软件单元测试、软件集成测试、系统集成测试全过程的数据进行追溯和管理,确保开发全过程可控。同时,为保证订单响应的及时性,开发流程设置为灵活配置流程,将软件产品分为新型软件产品、升级软件产品及为适配定制化需求进行的配置变更软件产品,可根据软件产品类型进行特定的裁剪(详见表1),以缩短产品开发周期,在提高开发效率的同时保证了软件质量。

表1 软件开发“V”流程裁剪表

图1 软件“V模型”开发流程

2) 建立软件产品“V模型”开发流程的测试能力。开发流程按项目类型进行特定的裁剪后,在开发阶段配置相应的开发测试工具链。硬件在环仿真测试是其中的重要环节,将被测控制器与被控对象仿真模型进行集成,完成部件级、系统级以及整车级的功能测试、故障注入测试以及复杂工况循环测试等。图2为硬件在环测试架构,其中,仿真模型与上位机试验软件进行实时数据交互,实现在线调参和监控,通过各类IO板卡输出控制器所需信号,并采集控制器发出的所有信号,从而实现硬件在环仿真测试。

图2 硬件在环测试架构

3) 建立软件“V模型”开发、测试规范。建立软件开发、测试规范在保证软件产品质量上也极为重要。软件开发规范包括了控制算法建模规范、控制算法架构规范、控制算法编码规范、控制算法模型参数配置规范、模型命名规范;软件测试规范包括软件虚拟测试规范、测试用例编制规范、单元测试用例编制模板、集成测试用例编制模板、实车测试大纲等。

1.2 软件管理流程

软件管理主要为嵌入式软件版本管理及变更管理。主要内容为软件版本编码、版本测试、版本发布及刷写、版本校验、版本变更流程。

软件管理流程的建立不仅可以实现整车软件版本的自动化复查和校验,还可以及时发现因程序不匹配导致的问题,从而提高现场支持效率;而且通过建立分类别的变更处理流程,可有效地实现软件版本闭环管理,便于质量追溯、质量跟踪,确保因变更引发的风险被评估和管理。另外,基于变更建立防再发处理机制,指导后续软硬件开发,从而进一步保证了软件产品质量。

2 嵌入式软件质量保障平台

嵌入式软件产品质量保障平台具有全生命周期、信息化、智能化、数字化等特点,是基于ISO 26262标准及软件开发“V模型”理论[5-9],结合我司产品特点及软件产品质量保障体系思路自主开发的平台,能够有效地解决软件开发中的以下问题:①需求及需求分析管理,软件及测试开发、测试执行,缺陷处理及回归,软件变更等活动流程的执行和结果无法呈现和协同及易于丢失;②无法实现需求-用例-问题的追踪;③无法保证软件产品质量管控效率。

2.1 嵌入式软件产品质量保障平台架构

本平台涵盖了人员管理、项目管理、需求管理、开发软件管理、测试用例管理、测试问题管理、测试报表生成以及项目任务的分配和提示等数字化、信息化功能,并实现了测试工具链自动调用等智能化功能,是一款集成度高、支持多人协同的实用型软件质量管控平台。开发平台的建立保证了软件高效开发,保证软件质量的同时提升了软件产品快速响应市场能力。平台架构如图3所示。

图3 平台架构

2.2 平台管理信息化及数字化

本平台实现了软件产品质量管理的信息化及数字化,提升了软件产品质量管控效率[10],其具备以下特点:

1) 集成度高。将项目需求、项目模型代码、项目管理、测试、缺陷跟踪等集成,以满足测试管理、测试开发、测试执行、测试总结等活动的嵌入式软件测试协同工作平台。

2) 支持多人协同工作。通过SVN等工具,可以支持多人协同合作完成测试工作。统一上传SVN服务器,不必担心个人电脑数据丢失。

3) 实现需求-用例-问题的追踪。建立测试需求与测试用例、测试用例与测试问题之间的关联,提供图形化界面显示需求-用例-问题之间的追踪关系,通过设计测试用例,将其验证的测试需求、关联的测试模型/测试代码、发现的测试缺陷关联起来,以实现软件的闭环管理。

2.3 平台管理智能化

本质量保障平台为智能化平台,可以提升软件产品开发效率。平台将测试工具链进行了集成,主要包括自动调用已有的仿真测试平台工具链,执行软件的代码生成、编译、下载、静态检查、动态测试、HIL测试等工作。对于自动调用的测试工具,提供配置界面,方便配置测试工具的功能特性参数。同时,根据工具链license数量和应用场景,提供合理的license管理策略,包括人工申请(SVN触发)优先、闲时全负荷运行、用即分配、不用即释放等,避免license被过度占用。

3 软件产品保障体系的应用

面对当下竞争激烈的市场,智能网联产品不断地快速推进,从而导致其软硬件集成度、复杂度变高,依赖实车验证的传统软件开发方法已经力不从心,嵌入式软件产品质量保障体系是解决智能网联技术安全落地问题的唯一路径。

在智能网联产品开发项目中,按照软件产品质量保障体系对开发全过程进行管理,形成了高效的管理闭环,取代了堆人或堆车的方式,极大程度上缩短开发周期,同时有效地保证了软件产品的质量。

目前,应用此软件产品质量保障体系的智能网联产品已有15 000多套。据统计,单个功能模块开发中软件开发效率提升了88%,BUG数减少了83%。

4 结束语

本文基于ISO 26262标准及软件开发“V模型”理论,结合新能源商用车产品特点及软件产品质量保障思路,自主开发了嵌入式软件质量保障体系,该体系具备项目管理、用户及权限管理、测试需求管理、测试模型/代码管理、测试用例设计管理、工具链自动调用等功能,更适应企业实际管控需求。实现了整车软件开发过程的全流程化管理,保证了软件开发过程文件及程序的可追溯性和一致性,提升了软件维护效率,从而提升了研发流程成熟度及产品成熟度,保证了产品稳定且高质量地输出。

猜你喜欢

嵌入式软件测试用例保障体系
基于SmartUnit的安全通信系统单元测试用例自动生成
ETC关键设备准入标准及运行保障体系构建
基于混合遗传算法的回归测试用例集最小化研究
实时嵌入式软件的测试技术
关于构建战区联合作战后勤聚合保障体系的思考
全景相机遥控器嵌入式软件V1.0 相关操作分析
构建更安全可靠的机房电源保障体系
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制
基于依赖结构的测试用例优先级技术