【技术实现步骤摘要】
代码增量覆盖信息的展示方法及其装置、电子设备
[0001]本专利技术涉及金融科技领域或其他相关领域,具体而言,涉及一种代码增量覆盖信息的展示方法及其装置
、
电子设备
。
技术介绍
[0002]当前,在
JAVA
的项目开源代码测试方面,需要测试代码覆盖率,测试覆盖率尤其是增量代码的测试覆盖率采集是衡量测试效果,保证项目质量的重要手段
。
[0003]相关技术中,在测试新开发代码,得到代码覆盖率时,主要通过
jacoco(
面向
JAVA
的开源代码覆盖率统计
)
进行测试覆盖率的统计
。
但是这种测试方式,只能针对项目开源代码中的某一封装类进行增量覆盖率统计,在进行代码增量覆盖率测试时,精确度较低,缺乏精确到具体代码行的增量测试覆盖率统计手段
。
[0004]针对上述的问题,目前尚未提出有效的解决方案
。
技术实现思路
[0005]本专利技术实施例提供了一种代码增量覆盖信息的展示方法及其装置
、
电子设备,以至少解决相关技术中在进行代码增量覆盖率测试时,精确度较低的技术问题
。
[0006]根据本专利技术实施例的一个方面,提供了一种代码增量覆盖信息的展示方法,包括:获取软件测试环境中的代码覆盖信息,其中,所述代码覆盖信息至少包括:代码测试覆盖率
、
目标程序的
N
个封装类
、
...
【技术保护点】
【技术特征摘要】
1.
一种代码增量覆盖信息的展示方法,其特征在于,包括:获取软件测试环境中的代码覆盖信息,其中,所述代码覆盖信息至少包括:代码测试覆盖率
、
目标程序的
N
个封装类
、
包含所述封装类的类文件的哈希值,
N
为正整数;对于每个所述封装类,比较最新采集的类文件的哈希值与历史过程采集的类文件的哈希值,得到比较结果;在所述比较结果指示哈希值不一致的情况下,生成版本号计算指令;响应所述版本号计算指令,获取与所述类文件匹配的最新
git
文件以及与所述最新
git
文件对应的新版本标签,基于所述新版本标签定义所述目标程序的新版本号;基于所述目标程序的新版本号更新所述代码覆盖信息,得到所述目标程序的代码增量覆盖信息,并展示所述代码增量覆盖信息,其中,所述代码增量覆盖信息包括:截止测试时间点在所述软件测试环境部署的最新
git
文件以及所述最新
git
文件相对于历史版本的
git
文件的代码增量信息
。2.
根据权利要求1所述的展示方法,其特征在于,所述代码覆盖信息是预先采集的,在采集所述代码覆盖信息时,包括:在目标程序各版本的程序代码提交至所述软件测试环境后,在所述软件测试环境中采集所述目标程序各版本已测试的程序代码的代码行,得到测试覆盖行明细;获取所述软件测试环境的
IP
地址以及测试端口;获取所述目标程序的
N
个封装类以及包含所述封装类的类文件的哈希值;基于所述测试覆盖行明细
、
所述软件测试环境的
IP
地址以及测试端口
、
类文件的哈希值,得到所述代码覆盖信息
。3.
根据权利要求1所述的展示方法,其特征在于,获取与所述类文件匹配的最新
git
文件以及与所述最新
git
文件对应的新版本标签的步骤,包括:调取代码覆盖率报表,查询所述代码覆盖率报表中与所述类文件匹配的最新
git
文件;在查询到所述最新
git
文件的情况下,获取所述最新
git
文件的文件信息
、
当前发布分支和程序执行时间点;在所述当前发布分支下,基于所述文件信息查询所述最新
git
文件在所述程序执行时间点之前已产生的最新版本标签,将该最新版本标签定义为所述最新
git
文件对应的新版本标签
。4.
根据权利要求3所述的展示方法,其特征在于,在查询所述最新
git
文件在所述程序执行时间点之前已产生的最新版本标签之前,还包括:在接收到所述最新
git
文件的情况下,获取所述最新
git
文件进行首次安装时产生的
git
标签;将所述首次安装时产生的
git
标签标记为所述目标程序的最新版本标签
。5.
根据权利要求3所述的展示方法,其特征在于,还包括:获取
git
版本库中存储的全量文件清单以及文件提交记录,其中,所述全量文件清单包括:所述目标程序在不同版本的
git
文件对应的文件标识,所述文件提交记录包含将所述目标程序在不同版本的程序代码提交至所述软件测试环境的提交时间以及提交次数;基于所述全量文件清单以及所述文件提交记录,生成所述
git
版本库的文件记录
。6.
...
【专利技术属性】
技术研发人员:李成,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。