本申请涉及软件测试,特别是涉及一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质。
背景技术:
1、代码覆盖率是指程序中源代码与被测试的比例,用于表示代码在测试中能够被覆盖的程度。一般,在移动应用测试中用到的是安卓(android)代码覆盖率测试。随着移动端技术的不断发展,android工程的架构管理模式发生了变化。为了节约编译时间以及组件管理成本,业务组件逐渐以产物形式被主工程依赖。
2、然而,android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中。因此,如何解决android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中是本领域技术人员亟需解决的问题。
技术实现思路
1、基于此,提供一种覆盖率测试中的插桩方法、装置、计算机设备和存储介质,解决现有技术中android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题。
2、一方面,提供一种覆盖率测试中的插桩方法,所述覆盖率测试中的插桩方法包括:进行编译打包;通过过滤筛选得到预设组件包;对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;对所述未混淆包进行解压得到文件;对所述文件进行插桩;将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。
3、在其中一个实施例中,所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,包括:将未混淆包放至预设路径;对所述预设组件包进行判断;当所述预设组件包为混淆包时,则将所述预设组件包替换为放至于所述预设路径的所述未混淆包。
4、在其中一个实施例中,在所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,还包括:当所述预设组件包为未混淆包时,则对所述未混淆包进行读取。
5、在其中一个实施例中,所述通过过滤筛选得到预设组件包,包括:通过预设规则得到过滤方法;根据所述过滤方法和配置文件进行过滤筛选得到所述预设组件包。
6、在其中一个实施例中,所述进行编译打包,包括:对预设版本与当前版本进行合并得到合并版本;对所述合并版本进行处理。
7、另一方面,提供了一种覆盖率测试中的插桩装置,所述覆盖率测试中的插桩装置包括:过滤模块、判断模块、解压模块、插桩模块以及压缩模块,其中,所述过滤模块与所述判断模块之间存在信息交互,用于通过过滤筛选得到预设组件包,并将所述预设组件包传输给所述判断模块;所述判断模块与所述解压模块之间存在信息交互,用于对所述过滤模块传输的所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包;所述解压模块与所述插桩模块之间存在信息交互,用于对所述未混淆包进行解压得到文件,并将所述文件传输给所述插桩模块;所述插桩模块与所述压缩模块之间存在信息交互,用于对所述解压模块传输的所述文件进行插桩,并将完成插桩的所述文件传输给所述压缩模块;所述压缩模块用于将所述插桩模块传输的完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置。
8、在其中一个实施例中,所述插桩装置还包括:编译打包模块,与所述过滤模块之间存在信息交互,用于进行编译打包。
9、在其中一个实施例中,所述判断模块包括:第一读取单元,当所述预设组件包为混淆包时,用于将所述预设组件包替换为放至于所述预设路径的所述未混淆包,并将所述未混淆包传输给所述解压模块;第二读取单元,当所述预设组件包为未混淆包时,用于对所述未混淆包进行读取,并将读取过后的所述未混淆包传输给所述解压模块。
10、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的覆盖率测试中的插桩方法的步骤。
11、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的覆盖率测试中的插桩方法的步骤。
12、上述覆盖率测试中的插桩方法、装置、计算机设备和存储介质,通过进行编译打包,通过过滤筛选得到预设组件包,再对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,对所述未混淆包进行解压得到文件,对所述文件进行插桩,将完成插桩的所述文件进行压缩得到文件包,并将所述文件包传输至预设位置,解决了android编译插件所带的覆盖率测试功能无法覆盖到产物包的业务组件中的问题,从而防止业务组件的逻辑漏测,减小系统事故概率。
1.一种覆盖率测试中的插桩方法,其特征在于,所述覆盖率测试中的插桩方法包括:
2.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,包括:
3.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,在所述对所述预设组件包进行判断,当所述预设组件包为混淆包时,则将所述预设组件包替换为未混淆包,还包括:
4.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述通过过滤筛选得到预设组件包,包括:
5.如权利要求1所述的覆盖率测试中的插桩方法,其特征在于,所述进行编译打包,包括:
6.一种覆盖率测试中的插桩装置,其特征在于,所述覆盖率测试中的插桩装置包括:过滤模块、判断模块、解压模块、插桩模块以及压缩模块,其中,
7.如权利要求6所述的覆盖率测试中的插桩装置,其特征在于,所述插桩装置还包括:
8.如权利要求6所述的覆盖率测试中的插桩装置,其特征在于,所述判断模块包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的覆盖率测试中的插桩方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的覆盖率测试中的插桩方法的步骤。