【技术实现步骤摘要】
模糊测试方法、装置、电子设备及存储介质
[0001]本公开涉及软件测试
,尤其涉及一种模糊测试方法、模糊测试装置、电子设备及存储介质。
技术介绍
[0002]在安卓操作系统中,移动端应用程序是Java编写的。然而,出于性能和兼容性考虑,移动端应用程序往往需要调用C/C++编写的本地库,来完成音视频编解码、数据加解密和网络通信等基础功能。移动端应用程序通过JNI函数(本地库接口函数)来调用本地库提供的接口函数,从而实现Java和C/C++代码之间的相互操作和数据通信。但是,由于Java和C/C++的代码语义和设计机制有着较大差异,因此两种语言代码之间的相互操作容易导致问题。因此,检测本地库的缺陷和漏洞,对提升移动端应用程序的可靠性和安全性是十分重要的。
[0003]相关技术只能测试单个语言编写的程序,且难以有效模拟用户交互操作来全面覆盖JNI函数,故无法有效测试移动端本地库并检测其中的缺陷。
[0004]为了解决上述问题,本公开提供了一种模糊测试方法、模糊测试装置、电子设备及存储介质。
技术实现思路
[0005]本公开提供一种模糊测试方法、模糊测试装置、电子设备及存储介质,以至少解决相关技术中只能测试单个语言编写的程序,且难以有效模拟用户交互操作来全面覆盖JNI函数,故无法有效测试移动端本地库并检测其中的缺陷的问题。本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种模糊测试方法,包括:获取应用程序的运行信息,拦截运行过程中的本地库接口函数调用序列,并记 ...
【技术保护点】
【技术特征摘要】
1.一种模糊测试方法,其特征在于,包括:获取应用程序的运行信息,拦截运行过程中的本地库接口函数调用序列,并记录调用序列中本地库接口函数的数据信息;依据所述运行信息和所述数据信息对所述本地库接口函数执行模糊测试,得到所述本地库接口函数的缺陷报告。2.根据权利要求1所述的模糊测试方法,其特征在于,在所述拦截应用程序运行过程中的本地库接口函数调用序列之前,所述方法还包括:获取用户操作序列,所述用户操作序列为用户与终端设备的一系列交互操作;依据所述用户操作序列运行应用程序并监控运行过程。3.根据权利要求2所述的模糊测试方法,其特征在于,所述获取用户操作序列,包括:确定初始用户操作序列,将所述初始用户操作序列作为当前操作序列,并运行所述应用程序;依据所述当前操作序列在所述应用程序的第一操作界面中点击对应控件,当所述应用程序由所示第一操作界面跳转至第二操作界面时,在所述第二操作界面中随机执行点击操作;收集运行过程所覆盖的所述本地库接口函数及点击操作序列,当运行过程覆盖新的所述本地库接口函数时,将收集到的当前点击操作序列存入种子池;从所述种子池中随机选取一个点击操作序列并进行变异,生成新的点击操作序列,作为新的所述当前操作序列;循环执行所述依据所述当前操作序列在所述应用程序的第一操作界面中点击对应控件至所述从所述种子池中随机选取一个点击操作序列并进行变异,生成新的点击操作序列,作为新的所述当前操作序列,直至达到预设时间;从所述种子池中获取所述点击操作序列作为所述用户操作序列。4.根据权利要求3所述的模糊测试方法,其特征在于,所述从所述种子池中随机选取一个点击操作序列并进行变异,生成新的点击操作序列,包括:从所述种子池中随机选取一个点击操作序列,并对该所述点击操作序列执行增加点击操作、删除点击操作及交换点击操作顺序中的一个或多个,生成新的点击操作序列。5.根据权利要求1所述的模糊测试方式,其特征在于,所述运行信息包括运行时所覆盖的本地库代码分支;所述依据所述运行信息和所述数据信息对所述本地库接口函数执行模糊测试,得到所述本地库接口函数的缺陷报告,包括:当所述运行信息覆盖新的本地库代码分支时,对所述本地库接口函数调用序列的所述数据信息进行组合,并放入种子池;从所述种子池中随机挑选一个所述本地库接口函数调用序列的数据信息组合并进行变异,生成新的本地库接口函数调用序列数据信息组合,作为当前本地库接口函数调用序列数据信息组合;依据所述当前本地库接口函数调用序列数据信息组合拦截并修改所调用的所述本地库接口函数的数据信息,并对所述本地库接口函数执行模糊测试;循环执行所述获取运行信息,拦截运行过程中的本地库接口函数调用序列,并记录调
用序列中本地库接口函数的数据信息至所述依据所述当前本地库接口函数调用序列数据信息组合拦截并修改所调用的所述本地库接口函数的数据信息,并对所述本地库接口函数执行模糊测试,生成所述本地库接口函数的缺陷报告。6.根据权利要求5所述的模糊测试方法,其特征在于,所述数据信息包括所述本地库接口函数的函数参数值及返回值;所述从所述种子池中随机挑选一个所述本地库接口函数调用序列的数据信息组合并进行变异,生成新的本地库接口函数调用序列数据信息组合,包括:从所述种子池中随机挑选一个所述本地库接口函数调用序列的数据信息,...
【专利技术属性】
技术研发人员:白家驹,温瀚翔,李钦,夏天睿,孟令昊,游旺,张皓天,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。