覆盖率的获取方法、装置、计算机存储介质及电子装置制造方法及图纸

技术编号:37448217 阅读:12 留言:0更新日期:2023-05-06 09:20
本申请公开了一种覆盖率的获取方法、装置、计算机存储介质及电子装置,涉及应用测试领域,该方法包括:获取操作系统的源码以及第一目标应用的源码,并利用操作系统中的目标类触发类加载进程;在类加载进程运行至链接阶段的情况下,将探针数组注入到操作系统的源码中,得到修改后的操作系统,其中,修改后的操作系统包含修改后的目标类;利用探针数组获取第一目标应用在修改后的操作系统中的覆盖率,并将覆盖率传递至远程服务器。通过本申请,解决了相关技术中难以采集加壳应用在操作系统中的覆盖率的问题。的覆盖率的问题。的覆盖率的问题。

【技术实现步骤摘要】
覆盖率的获取方法、装置、计算机存储介质及电子装置


[0001]本申请涉及应用测试领域,具体而言,涉及一种覆盖率的获取方法、装置、计算机存储介质及电子装置。

技术介绍

[0002]在应用开发阶段,需要对应用进行不断测试才可以供用户使用,而应用的完整性测试则需要应用的源代码才可以进行。但是在测试过程中,由于代码的数量庞大,哪些代码被测试过,而哪些代码没有被测试,则需要测试人员重点关注,因此,覆盖率这一概念应运而生,覆盖率是衡量软件测试工作充分性和完整性的指标,是已被执行的代码占总体待测试代码的比例,所以覆盖率数据的采集是测试环节必不可少的一步。
[0003]另一方面,应用的源代码是一个应用的核心,源码的泄露则是非常严重的危机,为了保护源码,大多会采用加壳策略,而测试时,测试人员使用的应用程序包也是采用加壳技术的,以此来保证最小代码泄露范围。此时会面临由于加壳,无法采集应用中的覆盖率,进而分析应用的多个文件是否存在异常。
[0004]针对相关技术中难以采集加壳应用在操作系统中的覆盖率的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本申请提供一种覆盖率的获取方法、装置、计算机存储介质及电子装置,以解决相关技术中难以采集加壳应用在操作系统中的覆盖率的问题。
[0006]根据本申请的一个方面,提供了一种覆盖率的获取方法。该方法包括:获取操作系统的源码以及第一目标应用的源码,并利用操作系统中的目标类触发类加载进程;在类加载进程运行至链接阶段的情况下,将探针数组注入到操作系统的源码中,得到修改后的操作系统,其中,修改后的操作系统包含修改后的目标类;利用探针数组获取第一目标应用在修改后的操作系统中的覆盖率,并将覆盖率传递至远程服务器,其中,覆盖率是指已经运行代码与待运行代码的比值数据,远程服务器与第一目标应用所在的服务器相连,由远程服务器对覆盖率进行数据格式的解析,得到第一目标应用的代码覆盖情况。
[0007]可选地,在类加载进程运行至链接阶段的情况下,将探针数组注入到操作系统的源码中,得到修改后的操作系统包括:获取预设探针数组,初始化预设探针数组的数值,得到探针数组;将探针数组写入到操作系统的源码中待执行的方法的代码中,得到修改后的操作系统,其中,在第一目标应用运行后,修改探针数组的数值赋值。
[0008]可选地,初始化后的预设探针数组的数值为0,利用探针数组获得第一目标应用在修改后的操作系统中的覆盖率包括:在修改后的操作系统中运行第一目标应用时,获取各个分支代码在探针数组中对应的数值的赋值结果;在各个分支代码在探针数组中对应的数值均为1的情况下,进行覆盖率的采集,得到第一目标应用在修改后的操作系统中的覆盖率。
[0009]可选地,将覆盖率传递至远程服务器包括:在第一目标应用启动时,获取目标线程,其中,目标线程用于传输覆盖率;将目标线程与远程服务器建立长连接;通过目标线程将获取到的覆盖率发送给远程服务器。
[0010]可选地,获取操作系统的源码包括:在操作系统中运行第一目标应用以及脱壳程序;利用脱壳程序对操作系统中的加密字节码进行获取与解码,得到解码后的加密字节码;将解码后的加密字节码确定为操作系统的源码。
[0011]可选地,将覆盖率传递至与远程服务器之后,该方法还包括:运行修改后的操作系统,直至类加载进程结束。
[0012]可选地,通过目标线程,将获取到的覆盖率发送给远程服务器之后,该方法还包括:将修改后的操作系统的源码进行重新编译,得到操作系统镜像,并将操作系统镜像烧录至测试机中;在第二目标应用需要进行覆盖率的采集,或者在预设时间段之后第一目标应用需要进行覆盖率的采集的情况下,将需要进行覆盖率采集的应用运行于操作系统镜像中,得到覆盖率。
[0013]根据本申请的另一方面,提供了一种覆盖率的获取装置。该装置包括:第一获取单元,用于获取操作系统的源码以及第一目标应用的源码,并利用操作系统中的目标类触发类加载进程;注入单元,用于在类加载进程运行至链接阶段的情况下,将探针数组注入到操作系统的源码中,得到修改后的操作系统,其中,修改后的操作系统包含修改后的目标类;第二获取单元,用于利用探针数组获取第一目标应用在修改后的操作系统中的覆盖率,并将覆盖率传递至远程服务器,其中,覆盖率是指已经运行代码与待运行代码的比值数据,远程服务器与第一目标应用所在的服务器相连,由远程服务器对覆盖率进行数据格式的解析,得到第一目标应用的代码覆盖情况。
[0014]根据本专利技术实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质用于存储程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种覆盖率的获取方法。
[0015]根据本专利技术实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种覆盖率的获取方法。
[0016]通过本申请,采用以下步骤:获取操作系统的源码以及第一目标应用的源码,并利用操作系统中的目标类触发类加载进程;在类加载进程运行至链接阶段的情况下,将探针数组注入到操作系统的源码中,得到修改后的操作系统,其中,修改后的操作系统包含修改后的目标类;利用探针数组获取第一目标应用在修改后的操作系统中的覆盖率,并将覆盖率传递至远程服务器,其中,覆盖率是指已经运行代码与待运行代码的比值数据,远程服务器与第一目标应用所在的服务器相连,由远程服务器对覆盖率进行数据格式的解析,得到第一目标应用的代码覆盖情况,解决了相关技术中难以采集加壳应用在操作系统中的覆盖率的问题,通过对加壳应用运行的操作系统进行修改,在操作系统源码中加入探针数组,以此完成应用在操作系统中的覆盖率的采集,进而达到了无需运行应用源码即可获得应用覆盖率的效果。
附图说明
[0017]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1是根据本申请实施例提供的覆盖率的获取方法的流程图;
[0019]图2是根据本申请实施例提供的可选的覆盖率的获取方法的流程图;
[0020]图3是根据本申请实施例提供的覆盖率的获取装置的示意图;
[0021]图4是根据本申请实施例提供的电子装置的示意图。
具体实施方式
[0022]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0023]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0024]需要说明的是,本申请的说明书和权利要求书及上述附图中的术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种覆盖率的获取方法,其特征在于,包括:获取操作系统的源码以及第一目标应用的源码,并利用所述操作系统中的目标类触发类加载进程;在所述类加载进程运行至链接阶段的情况下,将探针数组注入到所述操作系统的源码中,得到修改后的操作系统,其中,所述修改后的操作系统包含修改后的目标类;利用所述探针数组获取所述第一目标应用在所述修改后的操作系统中的覆盖率,并将所述覆盖率传递至远程服务器,其中,所述覆盖率是指已经运行代码与待运行代码的比值数据,所述远程服务器与所述第一目标应用所在的服务器相连,由所述远程服务器对所述覆盖率进行数据格式的解析,得到所述第一目标应用的代码覆盖情况。2.根据权利要求1所述的方法,其特征在于,在所述类加载进程运行至链接阶段的情况下,将探针数组注入到所述操作系统的源码中,得到修改后的操作系统包括:获取预设探针数组,初始化所述预设探针数组的数值,得到所述探针数组;将所述探针数组写入到所述操作系统的源码中待执行的方法的代码中,得到所述修改后的操作系统,其中,在所述第一目标应用运行后,修改所述探针数组的数值赋值。3.根据权利要求2所述的方法,其特征在于,初始化后的所述预设探针数组的数值为0,利用所述探针数组获得所述第一目标应用在所述修改后的操作系统中的覆盖率包括:在所述修改后的操作系统中运行所述第一目标应用时,获取各个分支代码在所述探针数组中对应的数值的赋值结果;在各个分支代码在所述探针数组中对应的数值均为1的情况下,进行所述覆盖率的采集,得到所述第一目标应用在所述修改后的操作系统中的覆盖率。4.根据权利要求1所述的方法,其特征在于,将所述覆盖率传递至远程服务器包括:在所述第一目标应用启动时,获取目标线程,其中,所述目标线程用于传输所述覆盖率;将所述目标线程与所述远程服务器建立长连接;通过所述目标线程将获取到的所述覆盖率发送给所述远程服务器。5.根据权利要求1所述的方法,其特征在于,获取操作系统的源码包括:在所述操作系统中运行所述第一目标应用以及脱壳程序;...

【专利技术属性】
技术研发人员:周朝信苏静黄震人熊小庆
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1