一种软件质量预测持续集成方法技术

技术编号:34737664 阅读:49 留言:0更新日期:2022-08-31 18:28
本发明专利技术公开了汽车软件定义领域内的一种软件质量预测持续集成方法,步骤1,选择适用于汽车电子领域研发环境的软件质量关联模型;步骤2,使用持续集成方法实现软件质量参数数据的自动化采集及管理;步骤3,使用软件架构性能的评估方法,并将其纳入软件质量关联模型;步骤4,通过BP神经网络训练预测模型,实现软件质量预测,并在此基础上基于模拟数据反向推导并优化质量改善策略;并基于模拟数据,反向推导出质量改善手段搭配或权重分配的最优解,为研发团队调整质量改善策略、降低软件成本,提供有价值的指导意见或整改方案。有价值的指导意见或整改方案。有价值的指导意见或整改方案。

【技术实现步骤摘要】
一种软件质量预测持续集成方法


[0001]本专利技术涉及汽车软件定义领域内的软件质量预测持续集成方法。

技术介绍

[0002]自2018年起,全球汽车产业便掀起了关于“软件定义汽车”的风潮,软件及软件迭代所带来的功能和性能变化,决定了未来汽车的差异性。因此在近几年,软件及汽车电子占整车的研发成本逐步提高,据测算,预计到2030年软件成本占整车BOM的比重将从目前不到10%增长到50%。在这个背景下,汽车软件的规模及复杂度均急速攀升,而相应的,汽车软件的质量也面临着巨大的挑战,尤其在安全性、实时性、可靠性等方面。
[0003]在传统的软件工程领域,有很多方法或工具,对于软件质量目标改善具备理论上的促进作用,诸如:使用较成熟的框架或模型、引入特定的编码规范、组织专家实施设计审查、使用工具实施静态分析、提高单元测试覆盖率、甚至直接增加高水平的人力资源投入等。
[0004]但是问题在于:上述的各种质量改善手段,或单独、或综合使用,都难以准确地量化出它们与最终软件质量改善程度的映射关系。软件质量的改善并非是做简单的加减法,软件工程的目标也本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种软件质量预测持续集成方法,其特征在于:包括以下步骤,步骤1,选择适用于汽车电子领域研发环境的软件质量关联模型;步骤2,使用持续集成方法实现软件质量参数数据的自动化采集及管理;步骤3,使用软件架构性能的评估方法,并将其纳入软件质量关联模型;步骤4,通过BP神经网络训练预测模型,实现软件质量预测,并在此基础上基于模拟数据反向推导并优化质量改善策略。2.根据权利要求1所述的一种软件质量预测持续集成方法,其特征在于:步骤1的具体内容如下,软件质量关联模型包括代码提交,静态分析,单元测试,接口测试,专家评审,人力资源,架构设计;代码提交具体内容如下:代码行变更数量:即软件当前提交版本与上一版本之间,发生的代码变更的行数统计,尤其是新增的行数统计;类/函数变更数量:即软件当前版本与上一版本之间,发生的类或函数变更的数量统计;数据结构变更数量:即软件当前版本与上一版本之间,发生的关键数据结构变更的数量统计,包括数据库表/字段;静态分析具体内容如下:静态规则覆盖率:即软件当前版本所选用的静态规则集,在各类标准规则集中的占比,该比率体现出静态检查要求的严格程度;静态检查覆盖率:即软件当前版本所接受了静态检查的代码,在全部代码中的占比;静态检查违规数量:即软件当前版本的代码经过静态检查,且被判定为违规项的数量;偏差判定通过率:即软件当前版本的偏差判定通过项,在全部违规项中的占比;单元测试具体内容如下:语句覆盖率:即软件当前版本在单元测试中被至少执行过一次的代码语句,在全部语句中的占比;分支覆盖率:即软件当前版本在单元测试中被至少执行过一次的代码分支,在全部代码分支中的占比;圈复杂度均值:即软件当前版本的代码段或函数中控制流语句嵌套层数的平均值;单元测试用例通过率:即软件当前版本执行单元测试用例的通过率;接口测试具体内容如下:接口测试规范执行率:即软件执行接口测试所应用的规范及其执行率;接口测试覆盖率:即软件当前版本的受测接口数量,在全部接口中的占比;接口测试用例通过率:即软件当前版本执行接口测试用例的通过率;专家评审具体内容如下:评审专家参与人次:即软件当前版本所组织的设计评审的专家参与人次;设计评审阶段达成率:即软件当前版本所组织且实际达成的评审课题数,在全部需要组织评审课题中的占比;设计评审通过率:即软件当前版本所组织且实际达成的评审课题中,确认通过设计评
审或后续确认整改达成的课题占比;人力资源具体内容如下:高级工程师投入达成率:即软件当前版本所实际投入的高级工程师人力工时,在预估应投入工时中的占比;工程师投入达成率:即软件当前版本所实际投入的普通工程师人力工时,在预估应投入工时中的占比;助理工程师投入达成率:即软件当前版本所实际投入的助理工程师人力工时,在预估应投入工时中的占比;架构设计具体内容如下:软件性能参数<

>:专指软件当前版本的各项性能指标数据,通常由软件非功能性需求所定义,由系统的硬件平台及软件架构设计所实现。3.根据权利要求2所述的一种软件质量预测持续集成方法,其特征在于:步骤2具体内容如下,持续集成方法,是在源代码变更后自动检测、拉取、构建和进行单元测试的过程;持续集成的基本思想是让一个自动化过程监测一个或多个源代码仓库是否有变更;当变更被推送到仓库时,它会监测到更改、下载副本、构建并运行任何相关的单元测试。4.根据权利要求3所述的一种软件质量预测持续集成方法,其特征在于:步骤2中的持续集成方法是基于以下工具链实现,持续集成工具:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成;版本控制器及托管平台:版本控制器采用SVN或者Git;其中SVN是Subversion的简称,是一个开放源代码的集中式版本控制系统;Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件,是一款进阶的代码控制器;托管平台采用Gerrit,是一个web代码评审工具,它基于Git版本控制系统;Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅;Gerrit会记录每一次提交的代码修改,但只有它们被审阅和接收后才能合入成为项目的一部分;静态代码检查工具:静态代码检查工具包括SonarQube、Cppcheck和PC

...

【专利技术属性】
技术研发人员:赵宣金庭瑶胡静叶军
申请(专利权)人:扬州航盛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1