覆盖率测试中的插桩方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:37609298 阅读:19 留言:0更新日期:2023-05-18 12:01
本申请涉及一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质。所述覆盖率测试中的插桩方法包括:进行编译打包;通过过滤筛选得到预设组件包;对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;对所述未混淆包进行解压得到文件;对所述文件进行插桩;将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。采用本方法能够解决Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题,从而防止业务组件的逻辑漏测,减小系统事故概率。减小系统事故概率。减小系统事故概率。

【技术实现步骤摘要】
覆盖率测试中的插桩方法、装置、计算机设备和存储介质


[0001]本申请涉及软件测试
,特别是涉及一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质。

技术介绍

[0002]代码覆盖率是指程序中源代码与被测试的比例,用于表示代码在测试中能够被覆盖的程度。一般,在移动应用测试中用到的是安卓(Android)代码覆盖率测试。随着移动端技术的不断发展,Android工程的架构管理模式发生了变化。为了节约编译时间以及组件管理成本,业务组件逐渐以产物形式被主工程依赖。
[0003]然而,Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中。因此,如何解决Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中是本领域技术人员亟需解决的问题。

技术实现思路

[0004]基于此,提供一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质,解决现有技术中Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题。
[0005]一方面,提供一种覆盖率测试中的插桩方法,所述覆盖率测试中的插桩方法包括:进行编译打包;通过过滤筛选得到预设组件包;对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;对所述未混淆包进行解压得到文件;对所述文件进行插桩;将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。
[0006]在其中一个实施例中,所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,包括:将未混淆包放至预设路径;对所述预设组件包进行判断;当所述预设组件包为混淆包时,则将所述预设组件包替换为放至于所述预设路径的所述未混淆包。
[0007]在其中一个实施例中,在所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,还包括:当所述预设组件包为未混淆包时,则对所述未混淆包进行读取。
[0008]在其中一个实施例中,所述通过过滤筛选得到预设组件包,包括:通过预设规则得到过滤方法;根据所述过滤方法和配置文件进行过滤筛选得到所述预设组件包。
[0009]在其中一个实施例中,所述进行编译打包,包括:对预设版本与当前版本进行合并得到合并版本;对所述合并版本进行处理。
[0010]另一方面,提供了一种覆盖率测试中的插桩装置,所述覆盖率测试中的插桩装置包括:过滤模块、判断模块、解压模块、插桩模块以及压缩模块,其中,所述过滤模块与所述判断模块之间存在信息交互,用于通过过滤筛选得到预设组件包,并将所述预设组件包传
输给所述判断模块;所述判断模块与所述解压模块之间存在信息交互,用于对所述过滤模块传输的所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;所述解压模块与所述插桩模块之间存在信息交互,用于对所述未混淆包进行解压得到文件,并将所述文件传输给所述插桩模块;所述插桩模块与所述压缩模块之间存在信息交互,用于对所述解压模块传输的所述文件进行插桩,并将完成插桩的所述文件传输给所述压缩模块;所述压缩模块用于将所述插桩模块传输的完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。
[0011]在其中一个实施例中,所述插桩装置还包括:编译打包模块,与所述过滤模块之间存在信息交互,用于进行编译打包。
[0012]在其中一个实施例中,所述判断模块包括:第一读取单元,当所述预设组件包为混淆包时,用于将所述预设组件包替换为放至于所述预设路径的所述未混淆包,并将所述未混淆包传输给所述解压模块;第二读取单元,当所述预设组件包为未混淆包时,用于对所述未混淆包进行读取,并将读取过后的所述未混淆包传输给所述解压模块。
[0013]再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的覆盖率测试中的插桩方法的步骤。
[0014]又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的覆盖率测试中的插桩方法的步骤。
[0015]上述覆盖率测试中的插桩方法、装置、计算机设备和存储介质,通过进行编译打包,通过过滤筛选得到预设组件包,再对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,对所述未混淆包进行解压得到文件,对所述文件进行插桩,将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置,解决了Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题,从而防止业务组件的逻辑漏测,减小系统事故概率。
附图说明
[0016]图1为一个实施例中覆盖率测试中的插桩方法的应用环境图;
[0017]图2为一个实施例中覆盖率测试中的插桩方法的流程示意图;
[0018]图3为图2所示步骤S10的步骤流程示意图;
[0019]图4为图2所示步骤S20的步骤流程示意图;
[0020]图5为图2所示步骤S30的步骤流程示意图;
[0021]图6为一个实施例中覆盖率测试中的插桩装置的结构示意图;
[0022]图7为一个实施例中计算机设备的内部结构图。
具体实施方式
[0023]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0024]代码覆盖率是指程序中源代码与被测试的比例,用于表示代码在测试中能够被覆
盖的程度。一般,在移动应用测试中用到的是安卓(Android)代码覆盖率测试。随着移动端技术的不断发展,Android工程的架构管理模式发生了变化。为了节约编译时间以及组件管理成本,业务组件逐渐以产物形式被主工程依赖。然而,Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中。因此,如何解决Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中是本领域技术人员亟需解决的问题。
[0025]基于此,本申请希望提供一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质,解决Android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题,从而防止业务组件的逻辑漏测,减小系统事故概率,其详细内容将在后续实施例中得以阐述。本申请方案的详细阐述覆盖率测试中的插桩方法、装置、计算机设备和存储介质。
[0026]本申请提供的覆盖率测试中的插桩方法,可以应用于如图1所示的应用环境中。如图1所示,所述应用环境10包括处理平台100、终端200以及覆盖率平台300。其中,所述处理平台100与所述终端300之间存在信息交互,所述终端200与所述覆盖率平台300之间存在信息交互。
[0027]在本申请实施例中,所述信息交互指的是通过无线传输的方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种覆盖率测试中的插桩方法,其特征在于,所述覆盖率测试中的插桩方法包括:进行编译打包;通过过滤筛选得到预设组件包;对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;对所述未混淆包进行解压得到文件;对所述文件进行插桩;将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。2.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,包括:将未混淆包放至预设路径;对所述预设组件包进行判断;当所述预设组件包为混淆包时,则将所述预设组件包替换为放至于所述预设路径的所述未混淆包。3.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,在所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,还包括:当所述预设组件包为未混淆包时,则对所述未混淆包进行读取。4.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述通过过滤筛选得到预设组件包,包括:通过预设规则得到过滤方法;根据所述过滤方法和配置文件进行过滤筛选得到所述预设组件包。5.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述进行编译打包,包括:对预设版本与当前版本进行合并得到合并版本;对所述合并版本进行处理。6.一种覆盖率测试中的插桩装置,其特征在于,所述覆盖率测试中的插桩装置包括:过滤模块、判断模块、解压模块、插桩模块以及压缩模块,其中,所述过滤模块与所述判断模块之间存在信息交互,用于通过过滤筛选得到预设组件包,并将...

【专利技术属性】
技术研发人员:李国平于树春郑红波李磊张义亮
申请(专利权)人:南京星云数字技术有限公司
类型:发明
国别省市:

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

1