软件质量预测方法、装置、终端和计算机可读存储介质制造方法及图纸

技术编号:20160244 阅读:21 留言:0更新日期:2019-01-19 00:12
本发明专利技术实施例提出一种软件质量预测方法、装置、终端和计算机可读存储介质,方法包括:获取待预测软件在软件开发流程中的多个类别的特征数据;将各类别的特征数据进行预处理,并输入到质量预测模型中;质量预测模型是根据反向传播神经网络和多个类别的历史特征数据构建的模型;质量预测模型对各类别的特征数据进行处理,并输出待预测软件的预测结果。本发明专利技术实施例根据影响软件质量的相关指标,综合软件开发流程中的各个类别的特征数据,快速且全面的进行软件质量预测,保证预测准确度。

【技术实现步骤摘要】
软件质量预测方法、装置、终端和计算机可读存储介质
本专利技术涉及信息安全
,尤其涉及一种软件质量预测方法、装置、终端和计算机可读存储介质。
技术介绍
在现有技术中,没有综合各类指标因素进行软件质量预测的方法。均是采用简单的指标因素或人为干预的方式进行软件质量预测。由于影响软件质量的因素是多方面的,仅仅把软件质量的预测精简为代码修改行数或代码覆盖率等直接量化的指标是不太合理的,因为这些因素都无法体现真是的软件质量,判断误差较大。而依赖于软件测试员测试的方法可操作性差,不同经验的人员测试的结果存在很大差别。而随着互联网产品的极大丰富,面对海量数据,单纯由人来进行测试是不现实的。在
技术介绍
中公开的上述信息仅用于加强对本专利技术的背景的理解,因此其可能包含没有形成为本领域普通技术人员所知晓的现有技术的信息。
技术实现思路
本专利技术实施例提供一种软件质量预测方法、装置、终端和计算机可读存储介质,以解决现有技术中的一个或多个技术问题。第一方面,本专利技术实施例提供了一种软件质量预测方法,包括:获取待预测软件在软件开发流程中的多个类别的特征数据;将各所述类别的特征数据进行预处理,并输入到质量预测模型中;所述质量预测模型是根据反向传播神经网络和多个所述类别的历史特征数据构建的模型;所述质量预测模型对各所述类别的特征数据进行处理,并输出所述待预测软件的预测结果。结合第一方面,本专利技术实施例在第一方面的第一种实现方式中,所述特征数据的类别包含模块特征、需求特征、开发特征、测试特征、发布上线特征以及线上运维特征中的至少一项。结合第一方面,本专利技术实施例在第一方面的第二种实现方式中,还包括:从若干个软件在软件开发过程的历史数据中,获取多个所述类别的历史特征数据;对各所述类别的历史特征数据进行预处理;将预处理后的各所述类别的历史特征数据作为训练样本,基于所述反向传播神经网络进行模型训练,得到所述质量预测模型。结合第一方面,本专利技术实施例在第一方面的第三种实现方式中,获取待预测软件在软件开发流程中的多个类别的特征数据,包括:获取所述待预测软件在软件开发流程中的多个所述类别的原始数据;各所述类别的原始数据分别通过对应的随机森林模型进行筛选,以获取各所述类别的特征数据。结合第一方面,本专利技术实施例在第一方面的第四种实现方式中,还包括:获取各所述类别最新的历史特征数据;所述质量预测模型根据所述最新的历史特征数据进行自学习,以优化更新所述质量预测模型。结合第一方面的第一种实现方式,本专利技术实施例在第一方面的第五种实现方式中,各所述类别的特征数据包括动态特征和静态特征,具体包括以下至少一项:模块特征包括模块动态特征和模块静态特征;其中,模块动态特征包括:模块升级迭代频次、模块故障、模块效率以及质量比中的至少一个;模块静态特征包括:模块重要程度评分、模块被依赖程度评分以及模块依赖程度评分中的至少一个;需求特征包括需求动态特征和需求静态特征;其中,需求动态特征包括:需求的复杂程度、需求文档的完善程度以及需求评审次数中的至少一个;需求静态特征包括:需求讨论的有效时间以及需求提出人的指标中的至少一个;开发特征包括开发动态特征和开发静态特征;其中,开发动态特征包括:代码评审次数以及持续集成次数中的至少一个;开发静态特征包括:程序语言、开发时间、开发人员指标、变更代码行数、代码注释行数以及自测覆盖率中的至少一个;测试特征包括测试动态特征和测试静态特征;其中,测试动态特征包括:测试性价比;测试静态特征包括:自动化测试用例通过率、代码行数覆盖率以及静态代码扫描问题数中的至少一个;发布上线特征包括发布上线动态特征和发布上线静态特征;其中,发布上线动态特征包括:以往问题拦截率;发布上线静态特征包括:分级发布级数和分级发布验证测试用例中的至少一个;线上运维特征包括线上运维动态特征和线上运维静态特征;其中,线上运维动态特征包括:线上监控成熟度、线上问题召回率以及线上自动止损成熟度中的至少一个;线上运维静态特征包括:容器化部署以及自动化运维成熟度中的至少一个。第二方面,本专利技术实施例提供了一种软件质量预测装置,包括:特征数据获取模块,用于获取待预测软件在软件开发流程中的多个类别的特征数据;第一预处理模块,用于将各所述类别的特征数据进行预处理,并输入到质量预测模型中;所述质量预测模型是根据反向传播神经网络和多个所述类别的历史特征数据构建的模型;预测模块,用于通过所述质量预测模型对各所述类别的特征数据进行处理,并输出所述待预测软件的预测结果。在一个可能的设计中,还包括:历史特征数据获取模块,用于从若干个软件在软件开发过程的历史数据中,获取多个所述类别的历史特征数据;第二预处理模块,用于对各所述类别的历史特征数据进行预处理;模型构建模块,用于将预处理后的各所述类别的历史特征数据作为训练样本,基于所述反向传播神经网络进行模型训练,得到所述质量预测模型。在一个可能的设计中,所述特征数据获取模块包括:获取子模块,用于获取所述待预测软件在软件开发流程中的多个所述类别的原始数据;筛选子模块,用于将各所述类别的原始数据分别通过对应的随机森林模型进行筛选,以获取各所述类别的特征数据。在一个可能的设计中,还包括:获取模块,用于获取各所述类别最新的历史特征数据;更新模块,用于所述质量预测模型根据所述最新的历史特征数据进行自学习,以优化更新所述质量预测模型。第三方面,本专利技术实施例提供了一种软件质量预测的终端,包括:所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,软件质量预测的终端的结构中包括处理器和存储器,所述存储器用于存储支持软件质量预测的终端执行上述第一方面中软件质量预测的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。软件质量预测的终端还可以包括通信接口,用于软件质量预测的终端与其他设备或通信网络通信。第四方面,本专利技术实施例提供了一种计算机可读存储介质,用于存储软件质量预测的终端所用的计算机软件指令,其包括用于执行上述第一方面中软件质量预测的方法为软件质量预测的终端所涉及的程序。上述技术方案中的一个技术方案具有如下优点或有益效果:根据影响软件质量的相关指标,综合软件开发流程中的各个类别的特征数据,快速且全面的进行软件质量预测,保证预测准确度。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本专利技术进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本专利技术公开的一些实施方式,而不应将其视为是对本专利技术范围的限制。图1为本专利技术实施方式提供的软件质量预测方法的流程图。图2为本专利技术实施方式提供的获取特征数据的流程图。图3为本专利技术实施方式提供的构建随机森林模型的流程图。图4为本专利技术实施方式提供的特征数据获取的结构框图。图5为本专利技术实施方式提供的软件质量预测方法的结构框图。图6为本专利技术实施方式提供的构建质量预测模型的流程图。图7为本专利技术实施方式提供的质量预测模型优化的流程图。图8为本本文档来自技高网...

【技术保护点】
1.一种软件质量预测方法,其特征在于,包括:获取待预测软件在软件开发流程中的多个类别的特征数据;将各所述类别的特征数据进行预处理,并输入到质量预测模型中;所述质量预测模型是根据反向传播神经网络和多个所述类别的历史特征数据构建的模型;所述质量预测模型对各所述类别的特征数据进行处理,并输出所述待预测软件的预测结果。

【技术特征摘要】
1.一种软件质量预测方法,其特征在于,包括:获取待预测软件在软件开发流程中的多个类别的特征数据;将各所述类别的特征数据进行预处理,并输入到质量预测模型中;所述质量预测模型是根据反向传播神经网络和多个所述类别的历史特征数据构建的模型;所述质量预测模型对各所述类别的特征数据进行处理,并输出所述待预测软件的预测结果。2.如权利要求1所述的方法,其特征在于,所述特征数据的类别包含模块特征、需求特征、开发特征、测试特征、发布上线特征以及线上运维特征中的至少一项。3.如权利要求1所述的方法,其特征在于,还包括:从若干个软件在软件开发过程的历史数据中,获取多个所述类别的历史特征数据;对各所述类别的历史特征数据进行预处理;将预处理后的各所述类别的历史特征数据作为训练样本,基于所述反向传播神经网络进行模型训练,得到所述质量预测模型。4.如权利要求1所述的方法,其特征在于,获取待预测软件在软件开发流程中的多个类别的特征数据,包括:获取所述待预测软件在软件开发流程中的多个所述类别的原始数据;各所述类别的原始数据分别通过对应的随机森林模型进行筛选,以获取各所述类别的特征数据。5.如权利要求1所述的方法,其特征在于,还包括:获取各所述类别最新的历史特征数据;所述质量预测模型根据所述最新的历史特征数据进行自学习,以优化更新所述质量预测模型。6.如权利要求2所述的方法,其特征在于,各所述类别的特征数据包括动态特征和静态特征,具体包括以下至少一项:模块特征包括模块动态特征和模块静态特征;其中,模块动态特征包括:模块升级迭代频次、模块故障、模块效率以及质量比中的至少一个;模块静态特征包括:模块重要程度评分、模块被依赖程度评分以及模块依赖程度评分中的至少一个;需求特征包括需求动态特征和需求静态特征;其中,需求动态特征包括:需求的复杂程度、需求文档的完善程度以及需求评审次数中的至少一个;需求静态特征包括:需求讨论的有效时间以及需求提出人的指标中的至少一个;开发特征包括开发动态特征和开发静态特征;其中,开发动态特征包括:代码评审次数以及持续集成次数中的至少一个;开发静态特征包括:程序语言、开发时间、开发人员指标、变更代码行数、代码注释行数以及自测覆盖率中的至少一个;测试特征包括测试动态特征和测试静态特征;其中,测试动态特征包括:测试性价比;测试...

【专利技术属性】
技术研发人员:任家栋杨德宽
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1