DevOps中的项目质量评估方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33633087 阅读:10 留言:0更新日期:2022-06-02 01:40
本发明专利技术提供了一种DevOps中的项目质量评估方法、装置、电子设备及存储介质,属于计算机技术领域,该方法可以根据预设代码规则在目标项目的生产代码中确定核心代码,并采集通过持续集成、持续部署开发目标项目的过程中每一任务节点的研发过程数据和测试结果数据,以及核心代码的代码变更数据,再对研发过程数据、测试结果数据、代码变更数据等进行加权统计,其中,预设代码规则用于评估生产代码的重要性,研发过程数据包括任务节点在研发过程中的特征数据,从而能够从核心代码、研发过程、测试结果等多维度地对目标项目进行更全面、更充分、更准确的质量评估,提高后续运维的执行效率。提高后续运维的执行效率。提高后续运维的执行效率。

【技术实现步骤摘要】
DevOps中的项目质量评估方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,更具体地,涉及一种DevOps中的项目质量评估方法、装置、电子设备及存储介质。

技术介绍

[0002]DevOps是Development(开发)和Operations(运维)的组合,是一组过程、方法与系统的统称,用于促进开发、技术运营和QA(QualityAssurance,质量保障)部门之间的沟通、协作与整合。在DevOps的普及下,基于CI(Continuous Integration,持续集成)和CD(ContinuousDeployment,持续部署)实现了项目的快速开发、迭代、交付。
[0003]但是,在DevOps的快速开发、迭代、交付中很多项目不能得到及时、充分的测试,如测试人员仅能对项目中部分不同节点分别采用不同的指标进行测试,导致难以对项目质量进行全面、充分、准确的评估,影响后续运维执行。

技术实现思路

[0004]本专利技术提供了一种DevOps中的项目质量评估方法、装置、电子设备及存储介质,以解决在DevOps中的项目研发中,对项目的质量评估不够全面、充分、准确的问题,提高后续运维的执行效率。
[0005]本专利技术第一方面提供了一种DevOps中的项目质量评估方法,该方法可以包括:
[0006]根据预设代码规则在目标项目的生产代码中确定核心代码,所述预设代码规则用于评估所述生产代码的重要性;
[0007]采集通过持续集成、持续部署开发目标项目的过程中每一任务节点的研发过程数据和测试结果数据,以及所述核心代码的代码变更数据,所述研发过程数据包括所述任务节点在研发过程中的特征数据;
[0008]对所述研发过程数据、所述测试结果数据、所述代码变更数据进行加权统计,获得所述目标项目的质量评估结果。
[0009]可选地,所述根据预设代码规则在目标项目的生产代码中确定核心代码,包括:
[0010]获取所述生产代码中每一方法的方法调用次数;
[0011]根据所述方法调用次数的大小在所述生产代码中确定核心代码。
[0012]可选地,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:
[0013]根据所述方法调用次数的大小对所述方法进行排序;
[0014]在排序后的所述方法中,将预设位次的所述方法确定为所述核心代码。
[0015]可选地,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:
[0016]获取对所述目标项目的监控数据;
[0017]根据所述监控数据确定所述目标项目的应用调用次数;
[0018]确定每一所述方法对应的所述方法调用次数在所述应用调用次数中的调用占比;
[0019]将所述调用占比大于或等于预设占比阈值的方法确定为所述核心代码。
[0020]可选地,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:
[0021]将所述方法调用次数大于或等于预设调用阈值的方法确定为所述核心代码。
[0022]可选地,所述根据预设代码规则在目标项目的生产代码中确定核心代码,包括:
[0023]获取方法屏蔽名单;
[0024]将所述生产代码中每一所述方法与所述方法屏蔽名单进行匹配;
[0025]在所述方法与所述方法屏蔽名单不匹配的情况下,将所述方法确定为所述核心代码。
[0026]可选地,所述研发过程数据包括构建失败率、部署失败率、单元测试失败率、自动化测试失败率、单元测试用例跳过占比、自动化测试跳过占比中的至少一种。
[0027]可选地,所述测试结果数据包括代码扫描结果、单元测试覆盖率结果、集成测试覆盖率、自动化测试覆盖率中的至少一种。
[0028]可选地,所述代码变更数据包括核心代码发生变更、核心代码变更量、核心代码单元测试覆盖率、核心代码集成测试覆盖率、核心代码自动化测试覆盖率中的至少一种。
[0029]本专利技术第二方面提供了一种DevOps中的项目质量评估装置,该装置可以包括:
[0030]核心代码模块,用于根据预设代码规则在目标项目的生产代码中确定核心代码,所述预设代码规则用于评估所述生产代码的重要性;
[0031]数据采集模块,用于采集通过持续集成、持续部署开发目标项目的过程中每一任务节点的研发过程数据和测试结果数据,以及所述核心代码的代码变更数据,所述研发过程数据包括所述任务节点在研发过程中的特征数据;
[0032]质量评估模块,用于对所述研发过程数据、所述测试结果数据、所述代码变更数据进行加权统计,获得所述目标项目的质量评估结果。
[0033]可选地,所述核心代码模块,包括:
[0034]调用次数获取子模块,用于获取所述生产代码中每一方法的方法调用次数;
[0035]核心代码确定子模块,用于根据所述方法调用次数的大小在所述生产代码中确定核心代码。
[0036]可选地,所述核心代码确定子模块,包括:
[0037]代码排序单元,用于根据所述方法调用次数的大小对所述方法进行排序;
[0038]代码确定单元,用于在排序后的所述方法中,将预设位次的所述方法确定为所述核心代码。
[0039]可选地,所述核心代码确定子模块,还包括:
[0040]项目调用监控单元,用于获取对所述目标项目的监控数据;
[0041]应用调用次数单元,还用于根据所述监控数据确定所述目标项目的应用调用次数;
[0042]调用占比确定单元,用于确定每一所述方法对应的所述方法调用次数在所述应用调用次数中的调用占比;
[0043]所述代码确定单元,还用于将所述调用占比大于或等于预设占比阈值的方法确定
为所述核心代码。
[0044]可选地,所述核心代码确定子模块,还用于将所述方法调用次数大于或等于预设调用阈值的方法确定为所述核心代码。
[0045]可选地,所述核心代码模块,包括:
[0046]屏蔽名单获取子模块,用于获取方法屏蔽名单;
[0047]屏蔽名单匹配子模块,用于将所述生产代码中每一所述方法与所述方法屏蔽名单进行匹配;
[0048]所述核心代码确定子模块,还用于在所述方法与所述方法屏蔽名单不匹配的情况下,将所述方法确定为所述核心代码。
[0049]可选地,所述研发过程数据包括构建失败率、部署失败率、单元测试失败率、自动化测试失败率、单元测试用例跳过占比、自动化测试跳过占比中的至少一种。
[0050]可选地,所述测试结果数据包括代码扫描结果、单元测试覆盖率结果、集成测试覆盖率、自动化测试覆盖率中的至少一种。
[0051]可选地,所述代码变更数据包括核心代码发生变更、核心代码变更量、核心代码单元测试覆盖率、核心代码集成测试覆盖率、核心代码自动化测试覆盖率中的至少一种。
[0052]本专利技术第三方面提供了一种电子设备,该电子设备包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DevOps中的项目质量评估方法,其特征在于,所述方法包括:根据预设代码规则在目标项目的生产代码中确定核心代码,所述预设代码规则用于评估所述生产代码的重要性;采集通过持续集成、持续部署开发目标项目的过程中每一任务节点的研发过程数据和测试结果数据,以及所述核心代码的代码变更数据,所述研发过程数据包括所述任务节点在研发过程中的特征数据;对所述研发过程数据、所述测试结果数据、所述代码变更数据进行加权统计,获得所述目标项目的质量评估结果。2.根据权利要求1所述的方法,其特征在于,所述根据预设代码规则在目标项目的生产代码中确定核心代码,包括:获取所述生产代码中每一方法的方法调用次数;根据所述方法调用次数的大小在所述生产代码中确定核心代码。3.根据权利要求2所述的方法,其特征在于,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:根据所述方法调用次数的大小对所述方法进行排序;在排序后的所述方法中,将预设位次的所述方法确定为所述核心代码。4.根据权利要求2所述的方法,其特征在于,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:获取对所述目标项目的监控数据;根据所述监控数据确定所述目标项目的应用调用次数;确定每一所述方法对应的所述方法调用次数在所述应用调用次数中的调用占比;将所述调用占比大于或等于预设占比阈值的方法确定为所述核心代码。5.根据权利要求2所述的方法,其特征在于,所述根据所述方法调用次数的大小在所述生产代码中确定核心代码,包括:将所述方法调用次数大于或等于预设调用阈值的方法确定为所述核心代码。6.根据权利要求1所述的方法,其特征在于,所述根据预设代码规则在目标项目的生产代码中确定核心代码,包括:获取方法屏蔽名单;将所述生产代码中每一所述方法与所述...

【专利技术属性】
技术研发人员:谢玮玮
申请(专利权)人:杭州博盾习言科技有限公司
类型:发明
国别省市:

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

1