APP下载

新能源商用车控制软件质量提升研究

2020-06-23彭再武马超文刘昆朋

客车技术与研究 2020年3期
关键词:测试用例功能模块度量

李 勇,汪 伟,彭再武,马超文,刘昆朋,文 多

(1.中车时代电动汽车股份有限公司,湖南 株洲 412000; 2.长沙中车智驭新能源科技有限公司,长沙 410000)

随着新能源城市客车等商用车在我国逐渐普及,以及新能源车“新四化”的发展,软件产品在新能源汽车领域占比呈急剧上升趋势。更加复杂的电子电气架构、频繁的需求变更、愈加严格的安全要求以及小批量周期短的开发环境,不仅增加了商用车软件开发的难度,而且对商用车软件质量的保证提出了更高的要求。针对商用车车型多、批量小、周期短的特点,如何实现软件快速迭代的同时保证软件质量,已成为商用车软件产品开发必须重视和面对的课题。为此,本文从建立软件开发流程体系、自动化测试及软件质量度量3个方面进行研究。

1 建立软件开发流程体系

建立软件的开发流程体系就是建立软件的质量门。按照新版IATF16949标准要求[1],软件开发流程必须符合ASPICE或CMMI标准要求。软件开发活动过程中的每个步骤缺一不可,且开发周期相对于商用车产品开发周期过长,无法满足商用车车型多、需求变更频繁、周期短的要求。因此,为了实现软件快速迭代的同时保证软件质量,必须根据商用车软件产品的特点,对软件开发“V”流程进行裁剪。

在获取到车型订单的软件产品需求后(一般包括配置和控制平台信息),开始进行软件开发需求的定义。通过控制平台信息可以确定此车型订单的基版软件,通过配置信息与基版软件的匹配可以获取此车型订单的软件开发需求。通常情况下,经过与基版软件的匹配后,可以将此车型订单的软件开发需求归纳为3种类型:功能新增、功能优化以及配置变更。根据这3种类型的开发需求对软件开发“V”流程进行裁剪,裁剪表见表1。其中有关裁剪说明如下:

1) 软件集成及测试。新增功能模块可能会在架构设计上进行调整,比如新增接口,此时软件集成及测试必须进行且不可裁剪;优化功能模块只是算法或参数的优化,不涉及架构的改变,做完单元测试后可酌情不进行软件集成及测试。

2) 系统测试(HIL测试用例库测试)。商用车车型配置虽然变更很大,但是控制平台是相对稳定的。因此,通过建立平台化的HIL测试用例库,对3种类型的软件开发质量有极大的保证。通过新增HIL测试用例库,不仅可以验证新增功能模块的正确性,也可以快速验证其架构设计有没有影响其他功能实现;通过优化HIL测试库中对应的优化功能模块的测试,快速验证优化功能模块的正确性和独立性;通过配置变更选用不同的HIL测试用例库,可以快速验证配置参数的正确性。

3) 相关功能实车测试。通过系统测试(HIL测试用例库测试),新增功能模块和优化功能模块在实车测试时进行有针对性的测试,不仅可以保证测试质量,还可以缩短测试周期;在实车资源紧张的情况下,配置变更的软件开发活动在经过系统测试(HIL测试用例库测试)后,可以酌情裁剪相关功能实车测试。

软件产品开发活动过程中重视“上游工序”是构成软件质量保证的核心思路。为保证上述软件开发活动有效实施,针对软件开发活动过程特别制定了软件质量门管理程序,包括软件产品分类要求、软件质量门清单、软件产品质量门分级决策及职责定义、软件质量门评审内容定义等。对于软件开发过程,需要注重的是过程质量,为此,制定了软件开发过程质量指标,主要包括客户需求变更次数、配置点检准确率、评审缺陷覆盖率、测试需求覆盖率及订单车辆软件变更率这5大指标,涵盖了开发过程和运维过程的软件质量度量。

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

注:++不可裁剪,+ 酌情裁剪,o可裁剪。

2 软件开发及自动化测试

针对商用车软件产品需求变更频繁、周期短的特点,为了让所开发的软件产品更加易于变更、维护和管理,必须采用更加高效的分布式开发方式[2]。规范的软件开发环境是软件开发高效高质的前提,主要包括以下几个方面:

1) 按照ASPICE或ISO26262标准要求[3],在开发阶段配置相应的软件开发工具链,搭建一体化的开发、仿真、测试平台,如图1举例所示方案,主要包括虚拟仿真测试能力和硬件在环测试能力两个部分。硬件在环测试将控制器总成与被控对象模型进行集成,完成部件级、系统级以及整车级的功能测试、故障注入测试以及复杂工况循环测试等,如图2所示。

图1 一体化仿真测试平台方案

图2 硬件在环测试能力

2)建立统一的软件开发规范、测试环境及测试用例库,以保证软件产品开发质量[4-6]。软件开发规范包括控制算法建模规范、控制算法模型参数配置规范、控制算法编码裁剪规范、控制算法模型命名规范以及软件测试流程规范。测试用例库(部分)见表2。

表2 测试用例库

3) 控制软件持续集成平台。持续集成是指软件开发成员经常性(每天)的工作集成。每次集成都通过自动化的测试来验证,从而尽快地发现软件中的错误和问题[7]。控制软件持续集成平台按照持续集成思想对仿真测试平台所涉及的相关工具链和测试项目进行无缝集成、自动化调用和管理。持续集成平台建设的主要目标包括:

① 实现后台自动化测试功能。针对甲方现有控制软件开发测试工具,实现后台人工或自动定时触发调用相关测试软件进行自动化测试[8]。

② 实现测试需求及问题管理功能。针对控制软件开发测试过程中需求和问题的记录、追溯、提交及汇报,包括MIL、SIL和HIL等过程迭代开发中的历史问题管理以及产品售后现场的问题管理。

控制软件持续集成平台界面功能模块如图3所示。

图3 控制软件持续集成平台界面功能模块

4) 建成后的控制软件持续集成平台主要有以下功能:

① 平台管理。主要包括软件持续集成项目管理、人员及权限管理和邮件设置等。

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

③ 测试配置管理。包括创建、修改和删除测试配置,保存后生成测试配置文件。平台允许有多个测试配置文件,但仅有一个全局测试配置文件[9]。

④ 需求管理。包括需求收集、需求转化、需求变更、需求状态管理、需求关联关系管理、需求导入导出及需求报表生成等。

⑤ 测试管理。包括测试用例管理、测试知识库管理、测试问题管理、漏测分析、关联关系管理、测试报表生成等。

⑥ 自动测试。图4为自动化测试的典型功能。

图4 自动化测试典型功能

通过上述一体化开发平台的建立,能够实现软件高效开发,提升软件产品快速响应市场的能力。

3 控制软件质量度量

软件质量直接影响软件的使用与维护,对软件质量进行客观、科学地评价贯穿于软件整个生命周期,与软件开发过程并行实施,对软件开发过程中的质量进行持续测量,揭示软件质量的当前状态,估计软件质量的后续走势,是为企业、需方和评价方提供量化的软件质量管理的有力手段,从而精确地控制软件产品的质量[10]。目前车辆软件质量度量多利用实车验证及工程师主观评价的方法进行,尚无独立的客观评价方法。

基于长期的软件开发实践,本文提出了车用控制软件质量客观度量的方法[11],如图5所示。质量客观度量系统所包括的4个单元简要介绍如下:

图5 控制软件质量客观度量系统原理图

1) 用户接口单元。主要为软件开发工程师、软件测试工程师、大数据分析工程师和软件质量度量工程师提供接口,是软件测试管理单元、车辆大数据管理单元和软件质量度量单元的统一接口,分别执行软件上传、测试请求发起、测试用例编写、测试触发、大数据管理与分析、软件质量度量模型设计[12]等工作。

2) 软件测试管理单元。该单元即是第2部分所述的软件测试管理单元,主要用于生成软件开发过程质量数据。

3) 车辆大数据管理单元。通过车载终端采集到的车辆控制单元发出的车辆运行数据上传到大数据管理单元,由大数据分析工程师进行分析,获得结构化的软件运维过程质量数据。典型数据如订单车辆软件变更次数/率。

4) 软件质量度量单元。该单元与软件测试管理单元和车辆大数据管理单元部署在同一以太网络内。软件质量度量单元通过网络获取上述软件开发过程质量数据和软件运维过程质量数据,采用质量数据处理函数处理后,分配到标准符合性、功能符合性、性能符合性、可靠性、可维护性等5个质量度量属性中[13],并采用特定的质量度量算法和质量度量权重对软件从上述5个维度进行质量度量,形成最终的软件质量度量结果,并自动生成软件质量度量报告,通过邮件或网页形式向相关用户进行展示。

典型的软件质量度量流程图如图6所示。选取标准符合性、可靠性、功能性以及维护性作为软件质量度量特性;分配相应的权重都为25%。如通过获取开发过程质量数据和软件运维过程质量数据计算出当前轮次的标准符合性、可靠性、功能性、维护性分别得100分、50分、88分、94分;则得出当前轮次的软件质量综合得分为100×25%+50×25%+88×25%+94×25%=83分。

图6 软件质量度量流程图

4 结束语

在实际项目中应用上述方法进行相关软件产品的开发,一定程度上可以辅助企业对车用软件产品全生命周期的质量进行全面客观把握,提升软件质量,减少批量问题。但由于上述方法涉及的面非常广,所搭建的自动化测试平台以及质量度量系统在通用化和全面推广方面还有一定局限性,后续将继续优化方案设计和平台搭建,实现其通用化以便推广。

猜你喜欢

测试用例功能模块度量
鲍文慧《度量空间之一》
基于关键点的混合式漏洞挖掘测试用例同步方法
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力
三参数射影平坦芬斯勒度量的构造
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究
面向多目标测试用例优先排序的蚁群算法信息素更新策略
高校二手交易网络平台功能及技术框架分析与设计
测试用例集的优化技术分析与改进