模糊测试方法、装置、介质、电子设备及计算机程序产品制造方法及图纸

技术编号:38883126 阅读:12 留言:0更新日期:2023-09-22 14:12
本申请的实施例提供了一种云原生平台中虚拟机的模糊测试方法、装置、计算机可读介质、电子设备及计算机程序产品,该方法包括:运行云原生平台中由虚拟机模拟得到的待测试设备;获取待测试设备的目标设备标识信息和目标内存空间信息;根据目标设备标识信息获取待测试设备的设备结构体,并根据设备结构体中的可操作属性构造目标结构体;其中,设备结构体为属性集合,属性集合包括至少一个可操作属性;在目标内存空间信息指示的目标内存空间中对虚拟机执行模糊测试流程。本申请可对由虚拟机模拟的单个设备进行针对性地测试,提高了测试数据的有效性和模糊测试的效率。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。各种场景。各种场景。

【技术实现步骤摘要】
模糊测试方法、装置、介质、电子设备及计算机程序产品


[0001]本申请涉及软件测试
,具体而言,涉及一种云原生平台中虚拟机的模糊测试方法、装置、计算机可读介质、电子设备及计算机程序产品。

技术介绍

[0002]随着虚拟化技术的发展,虚拟机的应用越来越广泛。以QEMU为代表的虚拟机已经普遍应用于云计算领域中,因此,对虚拟机进行测试来挖掘虚拟机的漏洞是保证云安全的重要手段之一。
[0003]然而,虚拟机通常能够同时模拟多个设备,现有的测试方案只能实现通用测试,无法对虚拟机模拟的单个设备进行针对性地测试,这会导致测试过程中无法及时触发某个设备的代码,这就导致了测试效率十分低下。

技术实现思路

[0004]本申请的实施例提供了一种云原生平台中虚拟机的模糊测试方法、装置、计算机可读介质、电子设备及计算机程序产品,进而至少在一定程度上可以对由虚拟机模拟的设备进行针对性地测试,并提高模糊测试的效率。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请实施例的一个方面,提供了一种云原生平台中虚拟机的模糊测试方法,所述方法包括:运行云原生平台中由虚拟机模拟得到的待测试设备;获取所述待测试设备的目标设备标识信息和目标内存空间信息;根据所述目标设备标识信息获取所述待测试设备的设备结构体,并根据所述设备结构体中的可操作属性构造目标结构体;其中,所述设备结构体为属性集合,所述属性集合包括至少一个可操作属性;在所述待测试设备的目标内存空间信息指示的目标内存空间中对所述虚拟机执行模糊测试流程;其中,所述模糊测试流程包括:获取随机种子数据;基于所述随机种子数据对所述目标结构体进行赋值来得到赋值后目标结构体;根据所述赋值后目标结构体随机执行所述待测试设备的设备处理流程。
[0007]根据本申请实施例的一个方面,提供了一种云原生平台中虚拟机的模糊测试装置,所述装置包括:运行单元,用于运行云原生平台中由虚拟机模拟得到的待测试设备;信息获取单元,用于获取所述待测试设备的目标设备标识信息和目标内存空间信息;获取和构造单元,用于根据所述目标设备标识信息获取所述待测试设备的设备结构体,并根据所述设备结构体中的可操作属性构造目标结构体;其中,所述设备结构体为属性集合,所述属性集合包括至少一个可操作属性;执行单元,用于在所述待测试设备的目标内存空间信息指示的目标内存空间中对所述虚拟机执行模糊测试流程;其中,所述模糊测试流程包括:获取随机种子数据;基于所述随机种子数据对所述目标结构体进行赋值来得到赋值后目标结构体;根据所述赋值后目标结构体随机执行所述待测试设备的设备处理流程。
[0008]在本申请的一些实施例中,基于前述方案,所述执行单元配置为:获取与当前模糊测试流程中待执行的设备处理流程匹配的随机种子数据。
[0009]在本申请的一些实施例中,基于前述方案,所述模糊测试流程是重复执行的,所述执行单元配置为:对目标随机种子数据进行随机变异,得到新随机种子数据,其中,所述目标随机种子数据是在目标模糊测试流程中获取到的随机种子数据,所述目标模糊测试流程是已经执行完成的模糊测试流程;基于所述新随机种子数据对所述目标结构体进行赋值,得到赋值后目标结构体。
[0010]在本申请的一些实施例中,基于前述方案,所述执行单元配置为:若在执行所述目标模糊测试流程时覆盖到的代码为首次覆盖到的代码,则对所述目标随机种子数据中的目标部分进行随机变异,其中,所述目标部分是所述目标随机种子数据中对所述目标结构体进行赋值的部分。
[0011]在本申请的一些实施例中,基于前述方案,所述执行单元还用于:在所述模糊测试流程的执行时长达到预定最大等待时间时,若所述虚拟机仍未发生崩溃,则重新执行所述模糊测试流程。
[0012]在本申请的一些实施例中,基于前述方案,在获取所述待测试设备的目标设备标识信息和目标内存空间信息之前,所述信息获取单元还用于:判断系统环境参数的参数值中是否包括所述预定最大等待时间,其中,获取所述待测试设备的目标设备标识信息和目标内存空间信息是在所述系统环境参数的参数值中包括所述预定最大等待时间的情况下进行的。
[0013]在本申请的一些实施例中,基于前述方案,所述执行单元还用于:获取随机种子数据,并确定所述随机种子数据的数据长度;若所述随机种子数据的数据长度未达到预定最小数据长度,则重新获取随机种子数据,直至获取到的随机种子数据的数据长度达到所述预定最小数据长度。
[0014]在本申请的一些实施例中,基于前述方案,所述信息获取单元配置为:获取测试设备标识信息和与所述测试设备标识信息对应的内存空间标识信息;通过将所述测试设备标识信息与由所述虚拟机模拟而成的设备的标识信息进行对比,得到目标设备标识信息;根据所述内存空间标识信息获取所述待测试设备的内存空间信息,并从所述内存空间信息中获取目标内存空间信息。
[0015]在本申请的一些实施例中,基于前述方案,在获取所述待测试设备的目标设备标识信息和目标内存空间信息之前,所述信息获取单元还用于:判断系统环境参数的参数值中是否包括测试设备标识信息,其中,通过将所述测试设备标识信息与由所述虚拟机模拟而成的设备的标识信息进行对比,得到目标设备标识信息是在所述系统环境参数的参数值中包括测试设备标识信息的情况下进行的。
[0016]在本申请的一些实施例中,基于前述方案,在执行模糊测试流程之前,所述信息获取单元还用于:获取直接存储器访问读写空间的基地址,所述直接存储器访问读写空间用于存储随机种子数据;所述执行单元配置为:根据所述基地址从所述直接存储器访问读写空间获取随机种子数据。
[0017]在本申请的一些实施例中,基于前述方案,所述执行单元配置为:获取随机数;根据所述随机数随机进入所述待测试设备的设备处理流程,并根据所述赋值后目标结构体执
行所述设备处理流程。
[0018]根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。
[0019]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。
[0020]根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述实施例中所述的云原生平台中虚拟机的模糊测试方法。
[0021]在本申请的一些实施例所提供的技术方案中,通过先获取由云原生平台中虚拟机模拟而成的待测试设备的目标设备标识信息和目标内存空间信息,从而能够根据目标设备标识本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云原生平台中虚拟机的模糊测试方法,其特征在于,所述方法包括:运行云原生平台中由虚拟机模拟得到的待测试设备;获取所述待测试设备的目标设备标识信息和目标内存空间信息;根据所述目标设备标识信息获取所述待测试设备的设备结构体,并根据所述设备结构体中的可操作属性构造目标结构体;其中,所述设备结构体为属性集合,所述属性集合包括至少一个可操作属性;在所述待测试设备的目标内存空间信息指示的目标内存空间中对所述虚拟机执行模糊测试流程;其中,所述模糊测试流程包括:获取随机种子数据;基于所述随机种子数据对所述目标结构体进行赋值来得到赋值后目标结构体;根据所述赋值后目标结构体随机执行所述待测试设备的设备处理流程。2.根据权利要求1所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述获取随机种子数据,包括:获取与当前模糊测试流程中待执行的设备处理流程匹配的随机种子数据。3.根据权利要求1所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述模糊测试流程是重复执行的,所述获取随机种子数据,包括:对目标随机种子数据进行随机变异,得到新随机种子数据,其中,所述目标随机种子数据是在目标模糊测试流程中获取到的随机种子数据,所述目标模糊测试流程是已经执行完成的模糊测试流程;基于所述新随机种子数据对所述目标结构体进行赋值,得到赋值后目标结构体。4.根据权利要求3所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述对目标随机种子数据进行随机变异,包括:若在执行所述目标模糊测试流程时覆盖到的代码为首次覆盖到的代码,则对所述目标随机种子数据中的目标部分进行随机变异,其中,所述目标部分是所述目标随机种子数据中对所述目标结构体进行赋值的部分。5.根据权利要求3所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述方法还包括:在所述模糊测试流程的执行时长达到预定最大等待时间时,若所述虚拟机仍未发生崩溃,则重新执行所述模糊测试流程。6.根据权利要求5所述的云原生平台中虚拟机的模糊测试方法,其特征在于,在获取所述待测试设备的目标设备标识信息和目标内存空间信息之前,所述方法还包括:判断系统环境参数的参数值中是否包括所述预定最大等待时间,其中,获取所述待测试设备的目标设备标识信息和目标内存空间信息是在所述系统环境参数的参数值中包括所述预定最大等待时间的情况下进行的。7.根据权利要求1所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述获取随机种子数据,包括:获取随机种子数据,并确定所述随机种子数据的数据长度;若所述随机种子数据的数据长度未达到预定最小数据长度,则重新获取随机种子数据,直至获取到的随机种子数据的数据长度达到所述预定最小数据长度。
8.根据权利要求1所述的云原生平台中虚拟机的模糊测试方法,其特征在于,所述获取所述待测试设备的目标设备标识信息和目标内存空间信息,包括:获取测试设备标识信息和与所述测试设备标识信息对应的内存空间标识信息;通过将所述测...

【专利技术属性】
技术研发人员:颜志强董志强
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1