泛亚汽车软件开发及质量管理体系数字化技术研究与实践

2019-01-11 12:19李鹤群王丹邓凯
上海质量 2018年12期
关键词:测试用例项目管理数字化

◆李鹤群 王丹 邓凯 / 文

编者按“2018年全国质量标杆”名单新鲜出炉!38家单位获封年度全国质量标杆。其中,上海4家,分别是泛亚汽车技术中心有限公司、上海无线电设备研究所、沃尔沃建筑设备(中国)有限公司、上海燃气(集团)有限公司。为发挥优秀企业的标杆引领作用,促进“质量标杆”经验交流借鉴,推动企业实现质量提升,本刊自本期起将陆续刊登获奖企业最佳质量实践和经验,敬请关注。

1 引 言

随着物联网、大数据、无人驾驶、智能出行等技术的普及,汽车行业正发生着一场势不可挡的数字革命,整个产业正在发生翻天覆地的变化。互联网企业和新势力企业凭借自身的优势纷纷快速进入汽车行业,并引领汽车市场的数字革命。面对竞争,传统汽车企业亟需网联化、电动化、智能化、数字化转型。其中,数字化更是汽车研发实现转型的必由之路。

与此同时,未来定义汽车价值的不再是传统的技术与性能指标,而是以人工智能为核心的软件技术。汽车电子电气软件质量将成为未来汽车的生命活力所在。为此,泛亚汽车技术中心(以下简称“泛亚”)在软件质量提升方面做了大量的工作,于2014年构建了满足CMMI Level3要求的软件开发过程体系(以下简称SWDP,Software Development and management Process)并在各个自主软件开发项目中得到了部署和应用。然而,随着团队复杂度的提高,SWDP运行的困难日益凸现。主要体现在:

(1)系统实施依托大量工程开发文档和管理文档,增加了工程师的负担;

(2)项目团队大多跨职能组,各组之间的沟通存在职能墙,影响了开发效率;

(3)基于文档的开发方式导致了需求追溯困难、测试完整性难以确定等问题,从而影响项目的质量;

(4)基于文档的项目管理和质量管理方式使得信息的沟通不及时、不透明。

本文将以泛亚的实践为例,介绍软件开发及质量管理体系数字化技术的研究与实践。

图1 三层功能体系

2 软件开发及质量管理体系数字化技术实践概述

软件开发及质量管理体系数字化技术将公司SWDP从系统运行角度进行转化,通过纵、横双向集成两个维度开发需求解决方案,从而建立软件开发和质量管理数字化平台。平台纵向打通全生命周期开发工具链路,实现软件持续集成、测试、需求开发和管理等功能;横向贯穿跨职能协作开发功能,实现共平台的软件项目管理、问题管理、过程管理、度量管理。同时,平台涵盖软件持续集成、自动化测试、需求管理、自动度量管理、项目管理等功能,打通工程开发过程之间的沟通壁垒,实现了SWDP的系统化运转,减少了线下文档的管理,实现自动化、跨团队的线上协作开发。此外,通过流程的自动化、度量数据的自动化收集,实时监控和分析数据背后的问题,持续改进开发流程和产品质量,从而实现软件开发的全面质量管理。

3 软件开发及质量管理体系数字化技术实践具体做法

3.1顶层设计及组织保障

软件开发及质量管理体系数字化技术实践是一项系统工程,基础工作尤为艰巨。做好顶层设计,自上而下稳步推进,才能搭建好整个体系并为后续的精益化提升奠定坚实的基础。公司于2014年成立了CMMI软件过程改善组,导入了软件开发行业普及的CMMI3模型。2015年初,又在CMMI软件过程改善组下特设软件开发和质量管理数字化研发团队,着手构建汽车电子软件开发和管理协同平台,实现SWDP数字化的系统目标。团队成员收集了多个项目的软件开发及质量数据,从工程开发、质量管理、项目管理几大领域入手,着重分析了影响开发效率及质量的问题原因,设计了如图1所示的三层功能体系,从而最终明确了软件开发及质量管理体系数字化技术实践的目标:通过构建互联互通的协同开发管理平台,实现工程开发智能化、质量管理透明化及项目管理高效化。

图2 需求、设计、实现、测试及任务的链接创建和管理示意图

3.2结合项目特点打造软件开发及质量管理数字化平台

根据梳理出的过往项目的痛点难点,团队结合软件项目特点打造软件开发及质量管理数字化平台。该平台打破传统的独立开发模式,提出了点线面的软件开发和质量管理数字化平台设计思路,实现了电子电控软件研发数字化管理。点,即产品数字化,通过工具实现各领域自动化。线,即业务数字化,通过工具链集成实现业务链自动化。面,即过程数字化,实现SWDP全程管理在系统的落地。通过横向管理链交织纵向工具链的双向集成,最终形成了点线面一体的软硬件协同开发管理系统解决方案。

3.2.1实现软件开发过程数字化

(1)实现软件开发工具链互通互联

平台应用开放式生命周期协作服务,为软件工程中的需求、设计、实现、测试交付物提供了互通互联的实现方案。图2显示了从架构需求到功能需求到软件需求的分解链路,以及需求到软件代码或模型、测试用例、开发任务的关联,通过互通互联的协作开发,提高了团队生产率。

图3 需求交换场景示意图

(2)应用ReqIF技术,实现软件需求管理智能化

需求管理是工程开发中重要的组成部分,在众多不成功项目中,有很大比例的失败是源自需求问题。平台创新引入了ReqIF技术,开发ReqIF引擎作为一种标准的需求交换格式,并通过定义和传输符合ReqIF格式的XML文件来实现整车厂和各个供应商的需求协同管理。图3显示了不同类型的需求是如何在整车厂和供应商之间实现无缝的信息交换和传递。

(3)数字化、自动化系统测试

平台通过建立测试用例库,实现系统测试的数字化,创新地在测试用例与需求、任务、测试台架之间打通链路,实行了系统测试的数字化。

·测试用例数字化

基于系统创新实现测试用例库的多元应用,从而实现了测试用例管理的数字化。主要体现在:支持excel文件的测试用例导入导出应用,利于存储和分发;条目化管理测试用例,利于维护和追溯,如图4所示;支持自动测试、手动测试的多维度筛选,强化定制化操作;支持用户筛选某特定平台下的测试用例,利于测试用例的复用管理;多角度统计应用,指导测试实施活动改进等。

图4 测试用例管理

·测试追溯数字化

测试用例到需求之间通过建立验证的链接关系,平台可以自动统计出测试用例对需求的覆盖率,确保需求测试无遗漏,创新解决了通过文档管理测试用例时,测试用例对需求的统计依靠人工点数,不仅容易遗漏,准确性也存在一定风险的问题。另一方面,测试用例与执行结果关联,通过系统可以自动统计出测试用例的执行覆盖率,从而可以计算出需求的测试执行率,从而判断测试的充分性,以便作出决策。

HIL(Hardware In Loop)硬件在环测试已经成为ECU开发流程中非常重要的一环。它不仅减少了实车路试的次数,缩短了开发时间和降低成本,而且大大提高了ECU的软件质量,降低车厂的质量风险。平台充分考虑了HIL自动化测试的可能性,如何将平台中的集成产物(软件包)与自动化测试台架、自动化测试用例相结合,是平台开发的主要创新思路之一。持续集成工作后,将集成打包好的软件包自动部署到自动化测试台架上,同时筛选出自动化测试脚本发送到自动化测试台架上,并启动自动化测试。自动化测试台架将运行的结果、测试的统计数据以报告的形式反馈给测试用例管理模块,完成一次自动测试任务,从而建立了持续集成、构建、自动化测试的流水线作业模式,大幅缩短了软件的开发验证进程,提升了软件的可靠性。

·测试缺陷智能化

当某条测试用例的执行结果不通过时,可以在平台中一键提交到缺陷管理模块,同时基于平台实现的测试用例与需求追溯的数字化,平台提供了从需求→实现→测试→缺陷的追溯关系图,为缺陷原因分析提供了快速的分析路径。

3.2.2实现项目管理数字化

(1)以工作项驱动软件全过程开发及部署

针对软件项目管理中常见的沟通协作问题,系统搭建了一套以工作项驱动的全过程开发方法,以提高项目管理效率,帮助项目团队达成目标。

图5 项目计划动态调整

图6 跨项目人力资源配置

图7 项目关注的多功能仪表盘

·打造动态项目计划

但是,与此同时,还需要注意随时监测办公室工作人员的同理心是否使恰当,因为过度使用同理心会导致道德判断失当,从而使得办事突破底线,置制度于不顾,将服务对象的利益当作自己的利益,最后导致对他人的错误视而不见,甚至自身行为失当。

在平台的计划功能中,项目经理可以新建工作包,将工作包直接分派给相关技术负责人,由负责人进行具体的细化。同一个子系统的开发任务或是具有相关逻辑性的工作项,可以放在同一个工作包中。工作项之间通过系统建立前置、后继关系。如图5所示,当各工作项的人力资源投入发生变化时,系统的甘特图会自动进行更新。

·合理利用资源池

为了防止部分身兼数个项目的开发人员对各项目的资源投入进行过度承诺。系统引入了资源池概念。如图6所示,系统制定每位开发人员可支配的工作总量,一般情况下不超过100%。同时支持配置非工作日的加班工作量。当人力资源发生冲突时,由系统驱动各项目经理完成资源的协调,确保所有排入计划的资源都是可获取的。

(2)数字化仪表盘的开发与应用

软件项目开发过程中,要客观地反映项目质量、进度状况,就必须要用数据来说话。平台基于OSLC技术提供了多功能仪表盘以及创新的组织级综合仪表盘,如图7及图8所示。

图8 组织级综合仪表盘

创新的数字化仪表盘开发,大大减少了项目经理制作项目数据的工作量。以图表的形式向各相关人展示项目状态,是本系统的一大亮点。

图9 平台状态迁徙图

3.3 软件开发及质量管理体系数字化技术实践的保障与推广

3.3.1系统保障

在系统部署数字化构架的同时,公司也多管齐下,多角度完善各项架构运行保障工作,并不断对流程进行优化,最终形成当前的数字化管理体系,实现了软件开发及质量管理的飞跃。

(1)组织制度保障

在组织制度及政策方面,一方面通过专门成立CMMI软件过程改善组保证此项工作的权责到人,另一方面通过公司决议实施公告流程正式通告该平台在公司管理系统上的正式启用,从公司流程上保证平台的广泛使用;

(2)技术保障

公司采用将管理技术及流程嵌套在平台内的运行模式,确保开发及质量管理工作的即时推进,通过状态迁徙图明确任务的当前结点和相关责任人,如图9所示;

(3)培训实施保障

在提升全员相应技能方面,CMMI软件过程改善组通过公司在线学习平台E-Learning系统展开全员培训,详细解读系统各功能块,让全员熟悉各功能块具体操作步骤,让系统的使用更清晰、更高效。

3.3.2领域间横向推广

2014年起至今,本平台已从车身电子及电气化领域陆续推广应用到娱乐信息系统、驾驶辅助、动力总成、电气化、底盘等各个领域的数十个项目开发中。通过自主软硬件体系标准和平台的部署,大幅提升了产品的开发质量,提高了开发效率,成功支持了多款量产车的开发。此外,该标准体系以及根据体系梳理的最佳实践及相关模板、Checklist等已经推广和部署到公司实施软硬件开发的各个部门应用,实现了由车身领域到汽车电子全领域的全面横向推广。

3.3.3工程开发过程纵向推广

本平台已广泛应用在如上各个项目中,由软件开发本身推广到架构设计、系统验证、标定等多个工程开发领域。截至目前,平台中涉及到需求开发、软件建模及集成、系统测试、质量保证等角色的用户(包括供应商)已有700多人,部署的需求工件超过5万条,测试用例超过1.3万条;平台中技术维度的需求开发、持续集成、系统测试等多个开发工具的部署,不仅建立了互联互通的开发环境,提高了工程师的开发效率,而且大幅减少了人工出错的机会;平台还支持可定制的评审流程及评审类型,将评审活动贯穿整个开发过程,通过尽早发现问题,不断提升产品质量;平台在管理纬度上为项目经理及管理者提供了多角度、全过程的仪表盘,以便精确、实时展示项目状态,指导项目管理活动开展;此外,平台通过自动收集工程开发中的各项数据,支持精细化的数据分析及预测功能,目前应用的功能又通过对需求测试覆盖率自动统计分析,识别测试短板;通过预测产品质量,识别测试的退出时机,协助项目经理做出科学决策。

4 结语

软件开发及质量管理体系数字化技术实践从项目管理、工程开发、质量管理三大领域入手,针对十一大系统功能,由点及线,构建工程开发纵向集成、项目管理及质量管理横向集成的两条工具链,并由线及面,建立互联互通、充分协同的软件开发和管理平台,从而实现了产品、业务及过程的数字化管理,为整车软件开发的高效高质量运行提供了强有力的保障,也为车企数字化建设提供了知识储备和技术基础。

猜你喜欢
测试用例项目管理数字化
装配式EPC总承包项目管理
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
项目管理在科研项目管理中的应用
家纺业亟待数字化赋能
基于SmartUnit的安全通信系统单元测试用例自动生成
高中数学“一对一”数字化学习实践探索
未来如何更高效地进行工程项目管理
高中数学“一对一”数字化学习实践探索
基于混合遗传算法的回归测试用例集最小化研究
数字化制胜