CN117950979A - 模糊测试方法、装置、电子设备和计算机可读存储介质 - Google Patents
模糊测试方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117950979A CN117950979A CN202211288873.8A CN202211288873A CN117950979A CN 117950979 A CN117950979 A CN 117950979A CN 202211288873 A CN202211288873 A CN 202211288873A CN 117950979 A CN117950979 A CN 117950979A
- Authority
- CN
- China
- Prior art keywords
- software
- test
- tested
- current
- fuzzy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010998 test method Methods 0.000 title abstract description 23
- 238000012360 testing method Methods 0.000 claims abstract description 178
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000036961 partial effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 101100348848 Mus musculus Notch4 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种模糊测试方法、装置、电子设备和计算机可读存储介质,其中,该方法包括:在通过模糊测试软件对待测软件进行模糊测试的过程中,获取该待测软件的当前断点位置;判断该当前断点位置是否为预设结束位置,其中,该预设结束位置为该模糊测试软件测试该待测软件的结束位置;若该当前断点位置为该预设结束位置,结束对该待测软件的模糊测试。
Description
技术领域
本申请涉及计算机安全技术领域,具体而言,涉及一种模糊测试方法、装置、电子设备和计算机可读存储介质。
背景技术
在对软件进行模糊化测试时,可能会遇到测试软件无法自行结束,需要手动关闭,或通过设定程序控制测试软件结束。现有技术中一般在指定时长后如果测试软件没有结束测试则自动结束当前的测试软件。但是这种处理方式,如果早早就将测试软件结束,可能会达不到模糊测试的效果,如果将测试软件结束的太晚,可能会浪费时间。
发明内容
有鉴于此,本申请实施例的目的在于提供一种模糊测试方法、装置、电子设备和计算机可读存储介质,以改善现有技术中无法自动结束的测试软件的结束设定过早或过晚所导致的不足。
第一方面,本申请实施例提供了一种模糊测试方法,包括:
在通过模糊测试软件对待测软件进行模糊测试的过程中,获取所述待测软件的当前断点位置;
判断所述当前断点位置是否为预设结束位置,其中,所述预设结束位置为所述模糊测试软件对所述待测软件的当前测试的结束位置;
若所述当前断点位置为所述预设结束位置,结束所述模糊测试软件对所述待测软件的当前测试。
在一可选的实施方式中,所述预设结束位置包括:执行起点和结束位置偏移;所述判断所述当前断点位置是否为所述模糊测试软件对应的预设结束位置,包括:
判断所述当前断点位置是否为执行起点之后的任意位置;
若所述当前断点位置为执行起点之后的任意位置,判断所述当前断点位置与所述执行起点的偏移是否为所述结束位置偏移;
若所述当前断点位置与所述执行起点的偏移为所述结束位置偏移,则确定所述当前断点位置为所述预设结束位置。
在上述实施方式中,可以通过起点位置以及位置偏移两个信息确定出模糊测试需要结束的位置,双重定位,可以更准确地确定出需要结束的点,提高模糊测试的有效性的情况下,降低测试时间的浪费。
在一可选的实施方式中,所述判断所述当前断点位置是否为所述预设结束位置,包括:读取所述模糊测试软件的配置文件,其中,所述配置文件中记录测试所述待测软件的预设结束位置;根据所述配置文件,确定出所述当前断点位置是否到达所述预设结束位置。
在上述实现方式中,可以将需要结束的位置记录在配置文件中,则在测试过程中模糊测试软件可以通过读取配置文件,确定出待测软件对应的各个预设结束位置。
在一可选的实施方式中,所述方法还包括:判断所述模糊测试软件对待测软件进行当前测试持续时长是否大于测试阈值;若所述时间差大于所述测试阈值,结束所述模糊测试软件对所述待测软件的当前测试。
在上述实施方式中,在遇到一些一直不能到达设定的预设结束位置时,也可以通过测试时间的判断,也确定是否结束当前测试,避免一直卡在某一位置,造成时间的浪费。
在一可选的实施方式中,所述方法还包括:若所述时间差大于所述测试阈值,向所述模糊测试软件对应的控制终端发送提示消息,其中,所述提示消息可以包括测试时长、测试异常位置中的一项或多项内容。
在上述实施方式中,还可以就卡顿异常进行提示,可以使用户或涉及人员了解到卡顿原因,以对模糊测试进行改进。
在一可选的实施方式中,所述预设结束位置通过以下方式获得:
在通过所述模糊测试软件对所述待测软件进行模糊测试过程中,当对所述待测软件的待测目标功能测试完成时,获取所述待测软件的运行得到的当前位置,将所述当前位置作为所述模糊测试软件测试所述待测软件的预设结束位置。
在一可选的实施方式中,所述获取所述待测软件的运行得到的当前位置,包括:在所述模糊测试软件的测试界面中显示触发按钮,所述触发按钮用于接收指示结束模糊测试的触发操作;在接收到对所述触发按钮的触发操作后,获取所述待测软件的运行得到的当前位置。
在上述实施方式中,可以预先确定出待测软件的各个需要测试的目标功能的结束位置进行标记,从而可以实现在对待测软件进行测试时,能够准确地获得预设结束位置。
在一可选的实施方式中,在通过模糊测试软件对待测软件进行模糊测试之前,所述方法还包括:
在所述待测软件的原始函数集中每个原始函数的指定位置插入指定标识,得到标识函数集,其中,所述待测软件的标识函数集被执行时,每次执行到所述指定位置时,执行流程中断并记录为所述指定位置为断点位置。
在上述实施方式中,通过提前在待测软件的各个函数的指定位置插入指定标识,从而可以在标识函数被执行到插入有标识的位置时,则由于函数存在不属于该原始函数的标识,函数执行中断,以方便判断当前确定出的断点位置是否为结束位置。
第二方面,本申请实施例提供了一种模糊测试装置,包括:
第一获取模块,用于在通过模糊测试软件对待测软件进行模糊测试的过程中,获取所述待测软件的当前断点位置;
第一判断模块,用于判断所述当前断点位置是否为所述预设结束位置,其中,所述预设结束位置为所述模糊测试软件对所述待测软件的当前测试的结束位置;
结束模块,用于若所述当前断点位置为所述预设结束位置,结束所述模糊测试软件对所述待测软件的当前测试。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的模糊测试方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中模糊测试方法的步骤。
本申请实施例提供的模糊测试方法、装置、电子设备和计算机可读存储介质,采用预设需要结束当前测试的预设结束位置,从而可以实现在测试过程中能够基于获得当前断点位置确定出是否到达了断点来结束当前测试,提高测试效率的同时,还能够完成需要的测试。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的方框示意图;
图2为本申请实施例提供的模糊测试方法的流程图;
图3为本申请实施例提供的模糊测试方法的部分流程图;
图4为本申请实施例提供的模糊测试方法中涉及的操作界面示意图;
图5为本申请实施例提供的模糊测试装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在对软件进行模糊化测试时,如果遇到测试软件无法自行结束(例如,任何有界面的程序都是无法自己结束了,只有需要接收到用户的操作后,得到了结束命令后才能执行结束),由于测试软件当前的测试不结束,就无法进行下一轮的测试,那么通常会通过一些其它办法结束测试软件的当前测试。现有技术中的一些模糊测试所采用的方式是定时结束来解决这个问题,例如,打开测试软件超过30s就结束当前测试,进行下一轮测试。
但是上述现有的处理方式存在一些问题:一、有可能结束当前测试过早,导致还没有测试到软件该有的位置就结束;二、有可能结束当前测试过晚,有可能软件已经运行完成了,但是模糊测试工具还在等待设定的定时时长,从而导致浪费测试时间;三、不方便大面积部署,因为每台计算机的配置以及处理速度都不同,若采用相同的时间等待结束软件,并不适用于所有的计算机设备。
基于上述分析,本申请提供的一种模糊测试方法、装置、电子设备和计算机可读存储介质,可以为不能够自行结束的测试设置结束位置,在测试时,遇到结束位置后就结束当前的测试,可以避免测试等待时长,也能够使需要测试的功能被执行完成。
为便于对本实施例进行理解,首先对执行本申请实施例所公开的模糊测试方法的电子设备进行详细介绍。
如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、处理器113、显示单元115。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、处理器113及显示单元115各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的显示单元115在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述模糊测试方法的实现过程。
请参阅图2,是本申请实施例提供的模糊测试方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤210,在通过模糊测试软件对待测软件进行模糊测试的过程中,获取该待测软件的当前断点位置。
示例性地,该当前断点位置可以是对待测软件的当前测试的起始位置至当前位置的偏移量,该偏移量可以通过执行代码行数表示。
示例性地,该当前断点位置也可以是预先埋设在待测软件的各个函数中的断点中的任意一个断点位置。
步骤230,判断该当前断点位置是否为预设结束位置。
其中,该预设结束位置为该模糊测试软件对该待测软件的当前测试的结束位置。
若该当前断点位置为该预设结束位置,则执行步骤230。
示例性地,当前断点位置可以通过当前执行了待测软件的函数执行量表征,通过将当前的函数执行量与预设执行量进行对比,确定当前断点位置是否为预设结束位置。例如,预设执行量可以用来表示当前测试的预设结束位置,可以通过执行函数的行数表示,在待测软件执行了预设执行量的函数行数后,可以表示需要对待测软件进行测试的功能单元已经完成,在此位置结束测试,能够确保得到相对完整的测试结果。相反,如果当前断点位置并非预设结束位置,会继续执行测试,直至达到预设结束位置时,再结束测试。
可选地,步骤230可以包括:读取该模糊测试软件的配置文件,根据该配置文件,确定出该当前断点位置是否到达该预设结束位置。
其中,该配置文件中记录测试该待测软件的预设结束位置。如果需要对待测软件中的多个功能单元进行测试,则该配置文件中记录测试该待测软件所有的功能单元的预设结束位置。
在一种实施方式中,该预设结束位置包括:执行起点和结束位置偏移。上述的步骤230可以包括:步骤231和步骤232。
步骤231,判断该当前断点位置是否为执行起点之后的任意位置。
若该当前断点位置为执行起点之后的任意位置,则执行步骤232。
步骤232,判断该当前断点位置与该执行起点的偏移是否等于该结束位置偏移。
若该当前断点位置与该执行起点的偏移等于该结束位置偏移,则确定该当前断点位置为该预设结束位置。
在一个实例中,若预设结束位置为AcroRd32.DLL文件的0x10fb0f位置,则该执行起点则为该AcroRd32.DLL文件的起始位置,该结束位置偏移则为0x10fb0f位置处。
步骤250,结束该模糊测试软件对该待测软件的当前测试。
示例性地,若该待测软件存在多个需要测试的功能单元时,则可以结束对待测软件的当前功能单元的当前测试,然后继续对待测软件的后续需要测试的功能单元进行测试。
在上述各步骤中,采用预设需要结束当前测试的预设结束位置,从而可以实现在测试过程中能够基于获得当前断点位置确定出是否到达了断点来结束当前测试,提高测试效率的同时,还能够完成需要的测试。
为了避免一直不能够执行到预设结束位置,而导致模糊测试一直卡住不能够进行后续的测试,因此,本申请实施例的模糊测试方法还可以包括步骤241。
步骤241,判断该模糊测试软件对待测软件进行当前测试持续时长是否大于测试阈值。
若该时间差大于该测试阈值,执行步骤250。
可选地,该测试阈值可以设置为一个较长的时间,例如,该测试阈值可以为8分钟、9分钟、10分钟、20分钟等值。
通过将上述的测试阈值设置为一个较长的时间,可以降低因为在启动该测试阈值后还没完成需要测试的功能。
示例性地,当前测试可以是对待测软件的完整模糊测试。示例性地,当前测试也可以是对待测软件的部分功能单元进行测试。该部分功能单元可以是待测软件中的任意功能单元。例如,该待测软件为一个即时通信工具,该部分功能单元可以是该即时通信工具的登录功能单元、信息传输功能单元等。例如,该待测软件为一个邮箱客户端,该部分功能单元可以是该邮箱客户端发送邮件的功能、邮件的接收功能。再例如,该待测软件为办公软件,该部分功能单元可以是文字编辑功能。
若当前测试是对待测试软件的完整模糊测试,则该测试阈值可以设置为一个较长的时间,例如,该测试阈值可以为20分钟、25分钟等时长。
若当前测试是对待测试软件的部分功能单元,则该测试阈值可以设置为一个相较于完整模糊测试的时间,例如,该测试阈值可以为9分钟、10分钟等时长。
若该时间差大于该测试阈值,本申请实施例的模糊测试方法还可以包括步骤242。
步骤242,向该模糊测试软件对应的控制终端发送提示消息。
其中,该提示消息可以包括测试时长、测试异常位置中的一项或多项内容。
示例性地,该提示消息还可以包括测试的功能单元。
示例性地,该控制终端可以是模糊测试软件的后台服务器,该控制终端也可以是开发该模糊测试软件的开发人员的账号登录终端设备。
通过设置测试阈值,可以在测试过程异常卡住时也能够及时结束当前测试,避免测试时间太长,耽误后续的测试。进一步地,还可以输出提示消息,也能够使相关用户能够获知异常情况。
本实施例中,如图3所示,可以通过以下步骤310和步骤320确定出待测软件的预设结束位置。
步骤310,通过该模糊测试软件对该待测软件进行模糊测试。
步骤320,当对该待测软件的待测目标功能测试完成时,获取该待测软件的运行得到的当前位置,将该当前位置作为该模糊测试软件测试该待测软件的结束位置。
本实施例中,在步骤310的执行过程中,可以确定出模糊测试软件测试该待测软件的结束位置。
在一个实例中,如果需要测试待测软件的登录功能,可以在获得用户输入的登录账号和登录密码后,中断当前的模糊测试,得到该待测软件运行的偏移量。
示例性地,步骤320可以包括:在该模糊测试软件的测试界面中显示触发按钮,该触发按钮用于接收指示结束模糊测试的触发操作;在接收到对该触发按钮的触发操作后,获取该待测软件的运行得到的当前位置。
如图4所示,该测试界面中可以包括多个按钮,包括:“中断开始”按钮,“中断结束”按钮。
示例性地,步骤310需要对待测软件的登录功能单元进行模糊测试,则在完成登录后,用户可以触发“中断开始”按钮,以获得该登录功能单元对应的结束位置。示例性地,该结束位置可以包括该登录功能单元的dll文件以及该登录功能单元在dll文件的结束位置的标记。可选地,还可以获取该登录功能单元对应的结束位置与dll文件的起始位置的偏移。
例如,该部分功能单元的结束位置包括:AcroRd32.DLL、0x10fb0f。其中,该部分功能单元的结束位置在AcroRd32.DLL文件的0x10fb0f位置。
在上述的实例中,待测软件的部分功能单元对应的配置文件可以包括:EndPointModuleName=AcroRd32.DLL;EndPointModuleOffset=0x10fb0f。
在步骤320之后,在中断结束按钮被触发后,可以再次启动步骤310,可以继续对待测软件的后续功能单元进行模糊测试。
本实施例中,可以将通过上述步骤310和步骤320确定的待测软件的结束位置配置至待测软件的配置文件中。
示例性地,该步骤310和步骤320与上述的步骤210至步骤250可以由不同的终端设备执行,例如,步骤210至步骤250可以由运行待测软件的终端设备执行,步骤310和步骤320可以由设计模糊测试软件的终端设备执行。示例性地,该步骤310和步骤320与上述的步骤210至步骤250可以由相同的终端设备执行,例如,步骤210至步骤250与步骤310至步骤320可以由运行待测软件的终端设备执行。
通过上述手动或者自动的方式确定出待测软件的结束位置,或待测软件的部分功能模块的结束位置,可以在后续测试时,直接使用该提前获得的结束位置,提高测试效率的同时,还能够对准确完成需要测试的功能。
为了更准确地判断待测软件是否需要结束当前测试,以及降低为测试流程的打扰,还可以对待测软件的原始函数进行预处理,以使测试过程中可以在每个函数执行完成后能够自动中断,形成可预见的多个断点位置,以判断各个断点位置是不是当前测试的结束位置。基于此,本申请实施例还可以包括:在所述待测软件的原始函数集中每个原始函数的指定位置插入指定标识,得到标识函数集。
由于原始函数中插入了不属于原始函数的指定标识,因此,在对标识函数被执行指定位置时,会出现异常被迫中断。
其中,需要对该待测软件进行测试时,可以执行该待测软件的标识函数集,每次执行到各个标识函数带有标识的指定位置时,执行流程会被动中断,并记录为所述指定位置为断点位置。
可以在每次记录断点位置时,判断该断点位置是否为当前测试对应的预设结束位置。
如果当前断点位置是当前测试的结束位置,则结束当前测试;如果当前断点位置不是当前测试的结束位置,则可以用对应的原始函数替换标识函数,以继续对待测软件进行测试。
示例性地,该指定位置可以是每个原始函数的函数头部位置。
示例性地,该指定标识可以是数值、字符、符号等标识。例如,该指定标识可以是整型数值3,如,int 3。
在本申请实施例中,采用预设需要结束当前测试的预设结束位置,从而可以实现在测试过程中能够基于获得当前断点位置确定出是否到达了断点来结束当前测试,提高测试效率的同时,还能够完成需要的测试。进一步地,还可以基于预插入的标识,可以在待测软件中形成多个断点,可以将每个断点位置与预设结束位置进行对比,以更好地定位结束位置。
基于同一申请构思,本申请实施例中还提供了与模糊测试方法对应的模糊测试装置,由于本申请实施例中的装置解决问题的原理与前述的模糊测试方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图5,是本申请实施例提供的模糊测试装置的功能模块示意图。本实施例中的模糊测试装置中的各个模块用于执行上述方法实施例中的各个步骤。模糊测试装置包括:第一获取模块410、第一判断模块420以及结束模块430;其中各个模块的内容如下所示:
第一获取模块410,用于在通过模糊测试软件对待测软件进行模糊测试的过程中,获取该待测软件的当前断点位置;
第一判断模块420,用于判断该当前断点位置是否为该预设结束位置,其中,该预设结束位置为该模糊测试软件对该待测软件的当前测试的结束位置;
结束模块430,用于若该当前断点位置为该预设结束位置,结束该模糊测试软件对该待测软件的当前测试。
一种可能的实施方式中,该预设结束位置包括:执行起点和结束位置偏移;第一判断模块420,用于判断该当前断点位置是否为执行起点之后的任意位置;若该当前断点位置为执行起点之后的任意位置,判断该当前断点位置与该执行起点的偏移是否等于该结束位置偏移;若该当前断点位置与该执行起点的偏移等于该结束位置偏移,则确定该当前断点位置为该预设结束位置。
一种可能的实施方式中,第一判断模块420,用于读取该模糊测试软件的配置文件;根据该配置文件,确定出该当前断点位置是否到达该预设结束位置,其中,该配置文件中记录测试该待测软件的预设结束位置。
一种可能的实施方式中,本实施例的模糊测试方法还可以包括:第二判断模块,用于判断该模糊测试软件对待测软件进行当前测试持续时长是否大于测试阈值;若该时间差大于该测试阈值,结束该模糊测试软件对该待测软件的当前测试。
一种可能的实施方式中,本实施例的模糊测试方法还可以包括:发送模块,用于若该时间差大于该测试阈值,向该模糊测试软件对应的控制终端发送提示消息,其中,该提示消息可以包括测试时长、测试异常位置中的一项或多项内容。
一种可能的实施方式中,该预设结束位置通过以下方式获得:
第二获取模块,用于在通过该模糊测试软件对该待测软件进行模糊测试过程中,当对该待测软件的待测目标功能测试完成时,获取该待测软件的运行得到的当前位置,将该当前位置作为该模糊测试软件测试该待测软件的预设结束位置。
一种可能的实施方式中,第二获取模块,用于在该模糊测试软件的测试界面中显示触发按钮,该触发按钮用于接收指示结束模糊测试的触发操作;在接收到对该触发按钮的触发操作后,获取该待测软件的运行得到的当前位置。
一种可能的实施方式中,模糊测试装置还可以包括:插入模块,用于在所述待测软件的原始函数集中每个原始函数的指定位置插入指定标识,得到标识函数集,其中,所述待测软件的标识函数集被执行时,每次执行到所述指定位置时,执行流程中断并记录为所述指定位置为断点位置。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的模糊测试方法的步骤。
本申请实施例所提供的模糊测试方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的模糊测试方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种模糊测试方法,其特征在于,包括:
在通过模糊测试软件对待测软件进行模糊测试的过程中,获取所述待测软件的当前断点位置;
判断所述当前断点位置是否为预设结束位置,其中,所述预设结束位置为所述模糊测试软件对所述待测软件的当前测试的结束位置;
若所述当前断点位置为所述预设结束位置,结束所述模糊测试软件对所述待测软件的当前测试。
2.根据权利要求1所述的方法,其特征在于,所述预设结束位置包括:执行起点和结束位置偏移;所述判断所述当前断点位置是否为所述模糊测试软件对应的预设结束位置,包括:
判断所述当前断点位置是否为执行起点之后的任意位置;
若所述当前断点位置为执行起点之后的任意位置,判断所述当前断点位置与所述执行起点的偏移是否等于所述结束位置偏移;
若所述当前断点位置与所述执行起点的偏移等于所述结束位置偏移,则确定所述当前断点位置为所述预设结束位置。
3.根据权利要求1所述的方法,其特征在于,所述判断所述当前断点位置是否为所述预设结束位置,包括:
读取所述模糊测试软件的配置文件,其中,所述配置文件中记录测试所述待测软件的预设结束位置;
根据所述配置文件,确定出所述当前断点位置是否到达所述预设结束位置。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述模糊测试软件对待测软件进行当前测试持续时长是否大于测试阈值;
若所述时间差大于所述测试阈值,结束所述模糊测试软件对所述待测软件的当前测试。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述时间差大于所述测试阈值,向所述模糊测试软件对应的控制终端发送提示消息,其中,所述提示消息包括测试时长、测试异常位置中的一项或多项内容。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述预设结束位置通过以下方式获得:
在通过所述模糊测试软件对所述待测软件进行模糊测试过程中,当对所述待测软件的待测目标功能测试完成时,获取所述待测软件的运行得到的当前位置,将所述当前位置作为所述模糊测试软件测试所述待测软件的预设结束位置。
7.根据权利要求6所述的方法,其特征在于,所述获取所述待测软件的运行得到的当前位置,包括:
在所述模糊测试软件的测试界面中显示触发按钮,所述触发按钮用于接收指示结束模糊测试的触发操作;
在接收到对所述触发按钮的触发操作后,获取所述待测软件的运行得到的当前位置。
8.根据权利要求1所述的方法,其特征在于,在通过模糊测试软件对待测软件进行模糊测试之前,所述方法还包括:
在所述待测软件的原始函数集中每个原始函数的指定位置插入指定标识,得到标识函数集,其中,所述待测软件的标识函数集被执行时,每次执行到所述指定位置时,流程中断并记录所述指定位置为断点位置。
9.一种模糊测试装置,其特征在于,包括:
第一获取模块,用于在通过模糊测试软件对待测软件进行模糊测试的过程中,获取所述待测软件的当前断点位置;
第一判断模块,用于判断所述当前断点位置是否为所述预设结束位置,其中,所述预设结束位置为所述模糊测试软件对所述待测软件的当前测试的结束位置;
结束模块,用于若所述当前断点位置为所述预设结束位置,结束所述模糊测试软件对所述待测软件的当前测试。
10.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至8任一所述的方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211288873.8A CN117950979A (zh) | 2022-10-20 | 2022-10-20 | 模糊测试方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211288873.8A CN117950979A (zh) | 2022-10-20 | 2022-10-20 | 模糊测试方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117950979A true CN117950979A (zh) | 2024-04-30 |
Family
ID=90796828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211288873.8A Pending CN117950979A (zh) | 2022-10-20 | 2022-10-20 | 模糊测试方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950979A (zh) |
-
2022
- 2022-10-20 CN CN202211288873.8A patent/CN117950979A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391379B (zh) | 接口自动测试方法及装置 | |
CN109062809B (zh) | 一种线上测试用例生成方法、装置及电子设备 | |
CN105573911B (zh) | 一种应用弹窗的处理方法和装置 | |
CN110704304B (zh) | 一种应用程序测试方法、装置、存储介质和服务器 | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN107223257B (zh) | 测试方法、测试服务器及系统 | |
CN107329659B (zh) | 一种权限设置方法、装置、电子设备及存储介质 | |
CN110196801B (zh) | 一种基于代码覆盖率的测试方法及装置 | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
CN108399125B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN112054822A (zh) | 蓝牙测试方法及装置、电子设备、存储介质 | |
CN109189677B (zh) | 一种针对变量数值更新状态的测试方法及装置 | |
CN117950979A (zh) | 模糊测试方法、装置、电子设备和计算机可读存储介质 | |
CN112631891A (zh) | 性能剖析方法及装置、电子设备、存储介质 | |
CN116860552A (zh) | 应用程序运行监测方法、装置、电子设备及存储介质 | |
CN109815083B (zh) | 一种应用崩溃的监控方法、装置、电子设备及介质 | |
CN116756037A (zh) | 异常代码定位系统、方法、设备及计算机可读存储介质 | |
US11914466B2 (en) | Systems and methods for pause-correct-replay workflow customization | |
CN109800146B (zh) | 应用程序启动时间测试方法、装置、计算机设备及存储介质 | |
CN115659345A (zh) | 一种代码漏洞的修复方法、装置、可读介质及电子设备 | |
CN111123744B (zh) | 菜谱的录制方法和装置、存储介质、电子设备 | |
CN110896540A (zh) | 移动互联网客户端安全评估工具、方法、计算机设备及存储介质 | |
CN114048147B (zh) | 测试用例生成方法、装置、存储介质和电子设备 | |
CN114448848B (zh) | 一种交换机的测试方法、装置、电子设备及存储介质 | |
CN112506736B (zh) | office文件打开状态监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |