一种模糊测试方法、装置及计算机可读存储介质制造方法及图纸

技术编号:28558453 阅读:23 留言:0更新日期:2021-05-25 17:52
本发明专利技术提供一种模糊测试方法、装置、设备及计算机可读存储介质,其中,模糊测试方法应用于软件或系统的异常测试,包括:对软件或系统执行n轮测试,其中,n为大于或等于1的正整数,每一轮测试均包括至少一个测试用例,每一测试用例均具有随机生成的用例标识,同一轮测试中各测试用例均具有相同的迭代号码,且第i轮测试中各测试用例的迭代号码为i,i为大于或等于1且小于或等于n的正整数;当软件或系统出现异常时,根据异常、迭代号码及用例标识,确定导致异常的测试用例。本发明专利技术能够在避免降低测试出软件或系统所存在的缺陷的概率的同时,大幅度提升模糊测试对于导致软件或系统出现缺陷的测试用例的定位能力。

【技术实现步骤摘要】
一种模糊测试方法、装置及计算机可读存储介质
本专利技术涉及模糊测试
,尤其涉及一种模糊测试方法、装置、设备及计算机可读存储介质。
技术介绍
模糊测试(Fuzzing)是一种通过向目标软件或系统提供非预期的输入并监视异常结果以发现目标软件或系统的漏洞的方法。在利用模糊测试对软件或系统进行测试时,需要用到大量的测试用例(TestCase),以找出软件或系统所存在的缺陷,此处的测试用例是指对一项特定的软件产品或系统产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成测试用例文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件或系统的需求。现有技术中,在利用模糊测试对软件或系统进行测试时,通常需要进行多轮测试,每一轮测试一般包括至少一个测试用例,各轮测试中的测试用例可以重复。为了大幅度提升测试出软件或系统所存在的缺陷的概率,每一轮所测试的测试用例均是随机的,那么当测试出软件或系统所存在的缺陷时,测试人员无法清楚地知道是那一轮测试中的哪一个测试用例导致的这个缺陷,使得模糊测试对于导致软件或系统出现缺陷的测试用例的定位能力较差。因此,有必要对上述模糊测试的方法进行改进。
技术实现思路
本专利技术所要解决的技术问题是:提供一种模糊测试方法、装置、设备及计算机可读存储介质,解决现有技术中模糊测试对于导致软件或系统出现缺陷的测试用例的定位能力较差的问题。为了解决上述技术问题,本专利技术采用的技术方案为:本专利技术实施例第一方面提供一种模糊测试方法,应用于软件或系统的异常测试,包括:对所述软件或系统执行n轮测试,其中,n为大于或等于1的正整数,每一轮测试均包括至少一个测试用例,每一所述测试用例均具有随机生成的用例标识,同一轮测试中各所述测试用例均具有相同的迭代号码,且第i轮测试中各所述测试用例的迭代号码为i,i为大于或等于1且小于或等于n的正整数;当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。在一些实施例中,所述当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例,包括:当对所述软件或系统执行完成n轮测试后,或当对所述软件或系统执行n轮测试中,判断所述软件或系统是否出现异常;若所述软件或系统出现异常,则根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。在一些实施例中,所述若所述软件或系统出现异常,则根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例之前,还包括:若所述软件或系统出现异常,则标记与所述异常对应的迭代号码和用例标识;或若所述软件或系统出现异常,则将所述异常和与所述异常对应的迭代号码及用例标识存储至预置的异常数据库。在一些实施例中,所述根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例,包括:根据所述异常数据库,确定导致所述异常的测试用例;或根据被标记的与所述异常对应的迭代号码和用例标识,确定导致所述异常的测试用例。在一些实施例中,所述对所述软件或系统执行n轮测试,包括:为第一轮测试中各所述测试用例随机生成不同的用例标识,同时以1为迭代号码赋予各所述测试用例,并执行各所述测试用例;为第i轮测试中各所述测试用例随机生成不同的用例标识,同时以i为迭代号码赋予各所述测试用例,并执行各所述测试用例,直至第n轮测试执行完成为止。在一些实施例中,所述模糊测试方法还包括:当对所述软件或系统执行n轮测试暂停于第j轮测试时,对暂停时的所述迭代号码和用例标识进行标记,其中,j为大于或等于1且小于或等于n的正整数;当需要继续对所述软件或系统执行测试时,根据暂停时的所述迭代号码和用例标识继续对所述软件或系统执行测试。在一些实施例中,任意两轮测试中某一或某些所述测试用例相同;或任意两轮测试中的测试用例均相同;或任意两轮测试中的测试用例均不同。本专利技术实施例第二方面提供一种模糊测试装置,应用于软件或系统的异常测试,包括:执行模块,用于对所述软件或系统执行n轮测试,其中,n为大于或等于1的正整数,每一轮测试均包括至少一个测试用例,每一所述测试用例均具有随机生成的用例标识,同一轮测试中各所述测试用例均具有相同的迭代号码,且第i轮测试中各所述测试用例的迭代号码为i,i为大于或等于1且小于或等于n的正整数;确定模块,用于当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。本专利技术实施例第三方面提供一种模糊测试设备,包括:存储装置及一个或多个处理器,所述存储装置用于存储一个或多个程序,其中,当一个或多个所述程序被一个或多个处理器执行时,使得一个或多个所述处理器执行如本专利技术实施例第一方面所述的方法。本专利技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,所述可执行指令被执行时执行如本专利技术实施例第一方面所述的方法。从上述描述可知,与现有技术相比,本专利技术的有益效果在于:在对软件或系统执行n轮测试(n为大于或等于1的正整数)时,每一轮测试均包括至少一个测试用例,每一测试用例均具有随机生成的用例标识,同一轮测试中各测试用例均具有相同的迭代号码,且第i轮测试中各测试用例的迭代号码为i(i为大于或等于1且小于或等于n的正整数)。在此过程中,由于每一测试用例的用例标识均是随机生成的,故能够保证对软件或系统执行各轮测试时的随机性,避免降低测试出软件或系统所存在的缺陷的概率,与此同时,当软件或系统出现异常时,可以根据异常、迭代号码及用例标识间的关联,确定导致异常的测试用例,大幅度提升了模糊测试对于导致软件或系统出现缺陷的测试用例的定位能力。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的模糊测试方法的流程示意图;图2为本专利技术实施例提供的图1中步骤S11的流程示意图;图3为本专利技术实施例提供的图1中步骤S12的流程示意图;图4为本专利技术实施例提供的模糊测试方法的附加流程示意图;图5为本专利技术实施例提供的模糊测试装置的模块方框图;图6为本专利技术实施例提供的模糊测试设备的模块方框图;图7为本专利技术实施例提供的计算机可读存储介质的模块方框图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明,其中自始至终相同或类似的标本文档来自技高网...

【技术保护点】
1.一种模糊测试方法,其特征在于,应用于软件或系统的异常测试,包括:/n对所述软件或系统执行n轮测试,其中,n为大于或等于1的正整数,每一轮测试均包括至少一个测试用例,每一所述测试用例均具有随机生成的用例标识,同一轮测试中各所述测试用例均具有相同的迭代号码,且第i轮测试中各所述测试用例的迭代号码为i,i为大于或等于1且小于或等于n的正整数;/n当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。/n

【技术特征摘要】
1.一种模糊测试方法,其特征在于,应用于软件或系统的异常测试,包括:
对所述软件或系统执行n轮测试,其中,n为大于或等于1的正整数,每一轮测试均包括至少一个测试用例,每一所述测试用例均具有随机生成的用例标识,同一轮测试中各所述测试用例均具有相同的迭代号码,且第i轮测试中各所述测试用例的迭代号码为i,i为大于或等于1且小于或等于n的正整数;
当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。


2.如权利要求1所述的模糊测试方法,其特征在于,所述当所述软件或系统出现异常时,根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例,包括:
当对所述软件或系统执行完成n轮测试后,或当对所述软件或系统执行n轮测试中,判断所述软件或系统是否出现异常;
若所述软件或系统出现异常,则根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例。


3.如权利要求2所述的模糊测试方法,其特征在于,所述若所述软件或系统出现异常,则根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例之前,还包括:
若所述软件或系统出现异常,则标记与所述异常对应的迭代号码和用例标识;或
若所述软件或系统出现异常,则将所述异常和与所述异常对应的迭代号码及用例标识存储至预置的异常数据库。


4.如权利要求3所述的模糊测试方法,其特征在于,所述根据所述异常、迭代号码及用例标识,确定导致所述异常的测试用例,包括:
根据所述异常数据库,确定导致所述异常的测试用例;或
根据被标记的与所述异常对应的迭代号码和用例标识,确定导致所述异常的测试用例。


5.如权利要求1所述的模糊测试方法,其特征在于,所述对所述软件或系统执行n轮测试,包括:
为第一轮测试中各所述测试用例随机生成不同的用例标识,...

【专利技术属性】
技术研发人员:宁玉桥万振华张亚楠马超赵莹
申请(专利权)人:中汽数据天津有限公司深圳开源互联网安全技术有限公司开源网安深圳技术有限公司
类型:发明
国别省市:天津;12

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

1