一种基于多参数输入的模糊测试方法及装置制造方法及图纸

技术编号:36830805 阅读:19 留言:0更新日期:2023-03-12 01:49
本发明专利技术提供一种基于多参数输入的模糊测试方法及装置,包括:获取多参数语料,对所述多参数语料进行检测;检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数;对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料;使用所述测试语料对被测程序进行运行测试,获得反馈的覆盖率与异常数据。本发明专利技术提供的基于多参数输入的模糊测试方法及装置,可以支持多个参数同时进行模糊测试,对测试效率有显著的提升。升。升。

【技术实现步骤摘要】
一种基于多参数输入的模糊测试方法及装置


[0001]本专利技术实施例涉及模糊测试
,特别是涉及一种基于多参数输入的模糊测试方法及装置。

技术介绍

[0002]模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。申请号为CN201810082824.6,名称为“一种用于灰盒模糊测试的样本格式保护方法及装置”的专利技术专利,公开了一种用于灰盒模糊测试的样本格式保护方法及装置,包括:训练机器学习模型以使该模型可以识别测试语料的格式的正确性;对程序进行模糊测试时,从语料集中获取初始语料,对初始语料变异得到测试语料;应用测试语料对程序进行模糊测试,在模糊测试的过程中通过该模型确定测试语料的格式是否正确。当测试语料的格式正确且覆盖了已有测试语料没有覆盖的程序代码时,将该测试语料添加到语料集中,并重复这个过程。然而这种模糊测试方法只能通过对单一输入参数变异进行模糊测试,测试效率不高。
[0003]因此,有必要提供一种基于多参数输入的模糊测试方法及装置,可以有效解决上述问题。

技术实现思路

[0004]本专利技术提供一种基于多参数输入的模糊测试方法,可以支持多个参数同时进行模糊测试,对测试效率有显著的提升。
[0005]本专利技术实施例提供一种基于多参数输入的模糊测试方法,包括:
[0006]获取多参数语料,对所述多参数语料进行检测;
[0007]检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数;
[0008]对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料;
[0009]使用所述测试语料对被测程序进行运行测试,获得反馈的覆盖率与异常数据。
[0010]优选地,所述对所述多参数语料进行检测包括判断所述多参数语料是否满足标准语料格式,若满足所述标准语料格式则检测通过,若不满足所述标准语料格式则检测不通过,丢弃所述多参数语料;
[0011]所述标准语料格式包括语料头部和语料参数,所述语料头部包括参数个数,所述语料参数包括参数类型、参数值、依赖参数、是否保留以及取值范围,所述参数类型包括定长、不定长、结构体。
[0012]优选地,所述检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数包括:
[0013]如所述语料参数中存在结构体,则将所述结构体中的所有参数提取至第一层;
[0014]如所述语料参数中存在多个名字相同的参数,则将所述多个名字相同的参数名称
后增加本次操作序号;
[0015]如所述语料参数中无结构体,则完成所述语料解析,得到所述解析出的多个参数。
[0016]优选地,所述对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料包括:
[0017]读取所述解析出的多个参数、用户保留项和变异保留项,所述用户保留项为所述语料参数中的是否保留字段标记为式是的语料参数,所述变异保留项为进入当前路径的保留参数;
[0018]读取当前的测试进度以及当前的测试阶段,所述测试阶段包括第一测试阶段、第二测试阶段和第三测试阶段。
[0019]优选地,所述第一测试阶段、第二测试阶段和第三测试阶段包括:
[0020]所述第一测试阶段为普通阶段,用于当前代码块的错误探索。
[0021]所述第二测试阶段为拓展保留阶段,针对新路径的条件参数侦测,通过对所述多个参数进行变异,从而探索新路径的变异保留项;
[0022]所述第三测试阶段为拓展挖掘阶段,针对变异保留项变异阶段,用于新路径的分支探索。
[0023]优选地,所述第一测试阶段对所述用户保留项以及所述变异保留项以外的所述多个参数进行全部或部分随机变异;所述第二测试阶段根据所述当前的测试进度与当前的变异保留项,依次对所述用户保留项以及所述变异保留项以外的所述多个参数进行随机变异;所述第三测试阶段对当前的变异保留参数进行全部或部分随机变异。
[0024]优选地,根据调度器给定的参数群,依据参数类型、依赖参数、取值范围的要求,对参数群中的每个参数进行变异,在全部参数变异完成后将变异后的参数写入测试参数中。
[0025]本专利技术实施例还提供一种基于多参数输入的模糊测试装置,包括:
[0026]多参数语料获取模块,其用于获取多参数语料,对所述多参数语料进行检测;
[0027]语料解析模块,其用于检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数;
[0028]参数变异调度模块,其用于对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料;
[0029]运行测试模块,其用于使用所述测试语料对被测程序进行运行测试,获得反馈的覆盖率与异常数据。
[0030]优选地,所述多参数语料获取模块包括标准语料检测单元,其用于判断所述多参数语料是否满足标准语料格式,若满足所述标准语料格式则检测通过,若不满足所述标准语料格式则检测不通过,丢弃所述多参数语料;
[0031]所述标准语料格式包括语料头部和语料参数,所述语料头部包括参数个数,所述语料参数包括参数类型、参数值、依赖参数、是否保留以及取值范围,所述参数类型包括定长、不定长、结构体。
[0032]优选地,所述语料解析模块包括语料参数检测单元,其用于判断如所述语料参数中存在结构体,则将所述结构体中的所有参数提取至第一层;如所述语料参数中存在多个名字相同的参数,则将所述多个名字相同的参数名称后增加本次操作序号;如所述语料参数中无结构体,则完成所述语料解析,得到所述解析出的多个参数。
[0033]与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:
[0034]本专利技术实施例的基于多参数输入的模糊测试方法及装置,获取多参数语料,对所述多参数语料进行检测;检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数;对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料;使用所述测试语料对被测程序进行运行测试,获得反馈的覆盖率与异常数据,从而可以支持多个参数同时进行模糊测试,对测试效率有显著的提升。
附图说明
[0035]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本专利技术的一个实施例提供的基于多参数输入的模糊测试方法的流程示意图;
[0037]图2为本专利技术的另一个实施例提供的基于多参数输入的模糊测试方法的流程示意图;
[0038]图3为本专利技术的一个实施例提供的基于多参数输入的模糊测试装置的模块示意图;
[0039]图4为本专利技术的另一个实施例提供的基于多参数输入的模糊测试装置的模块示意图。...

【技术保护点】

【技术特征摘要】
1.一种基于多参数输入的模糊测试方法,其特征在于,包括:获取多参数语料,对所述多参数语料进行检测;检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数;对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料;使用所述测试语料对被测程序进行运行测试,获得反馈的覆盖率与异常数据。2.根据权利要求1所述的基于多参数输入的模糊测试方法,其特征在于,所述对所述多参数语料进行检测包括判断所述多参数语料是否满足标准语料格式,若满足所述标准语料格式则检测通过,若不满足所述标准语料格式则检测不通过,丢弃所述多参数语料;所述标准语料格式包括语料头部和语料参数,所述语料头部包括参数个数,所述语料参数包括参数类型、参数值、依赖参数、是否保留以及取值范围,所述参数类型包括定长、不定长、结构体。3.根据权利要求2所述的基于多参数输入的模糊测试方法,其特征在于,所述检测通过后对所述多参数语料进行语料解析,得到解析出的多个参数包括:如所述语料参数中存在结构体,则将所述结构体中的所有参数提取至第一层;如所述语料参数中存在多个名字相同的参数,则将所述多个名字相同的参数名称后增加本次操作序号;如所述语料参数中无结构体,则完成所述语料解析,得到所述解析出的多个参数。4.根据权利要求2所述的基于多参数输入的模糊测试方法,其特征在于,所述对所述解析出的多个参数进行参数变异调度,对所述解析出的多个参数进行变异,得到测试语料包括:读取所述解析出的多个参数、用户保留项和变异保留项,所述用户保留项为所述语料参数中的是否保留字段标记为式是的语料参数,所述变异保留项为进入当前路径的保留参数;读取当前的测试进度以及当前的测试阶段,所述测试阶段包括第一测试阶段、第二测试阶段和第三测试阶段。5.根据权利要求4所述的基于多参数输入的模糊测试方法,其特征在于,所述第一测试阶段、第二测试阶段和第三测试阶段包括:所述第一测试阶段为普通阶段,用于当前代码块的错误探索。所述第二测试阶段为拓展保留阶段,针对新路径的条件参数侦测,通过对所述多个参数进行变异,从而探索新路径的变异保留项;所述第三测试阶段为拓展挖掘...

【专利技术属性】
技术研发人员:汪毅贾鹏周金良强恺旻
申请(专利权)人:上海安般信息科技有限公司
类型:发明
国别省市:

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

1