CN112363928A - 测试用例的处理方法、装置、处理器及电子装置 - Google Patents
测试用例的处理方法、装置、处理器及电子装置 Download PDFInfo
- Publication number
- CN112363928A CN112363928A CN202011247876.8A CN202011247876A CN112363928A CN 112363928 A CN112363928 A CN 112363928A CN 202011247876 A CN202011247876 A CN 202011247876A CN 112363928 A CN112363928 A CN 112363928A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- probability
- cases
- type
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试用例的处理方法、装置、处理器及电子装置。该方法包括:获取当前采集到的测试数据,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;基于测试数据计算得到每个第一测试用例的实测概率;构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。本发明解决了相关技术中单纯依靠人工测试经验所生成的测试用例需要耗费高昂的人力成本,由此难以符合敏捷开发需求的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种测试用例的处理方法、装置、处理器及电子装置。
背景技术
目前,在快速迭代、敏捷开发的背景下,无论是过分依赖白盒测试,还是过分依赖黑盒测试,都是会测试结果产生不利影响。每个成功的测试活动通过依赖于对待测对象的先验理解,并在此基础上生成测试用例。然而,单纯依靠人工测试经验所生成的测试用例需要耗费高昂的人力成本,由此难以符合敏捷开发的需求。在进行新特性迭代时,如何设计全新、有效的测试用例进行测试,以及在进行发散测试时,如何在现有测试用例中选择发散基准,均已成为亟待解决的技术难题。
相关技术在开发调试程序的过程中,通常可以使用调试器在软件执行过程中能够记录待测软件已执行过的部分代码。但是,针对测试环节却缺少相应的解决方案。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种测试用例的处理方法、装置、处理器及电子装置,以至少解决相关技术中单纯依靠人工测试经验所生成的测试用例需要耗费高昂的人力成本,由此难以符合敏捷开发需求的技术问题。
根据本发明其中一实施例,提供了一种测试用例的处理方法,包括:
获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;基于测试数据计算得到每个第一测试用例的实测概率;构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
可选地,上述方法还包括:对待测软件中的代码进行分块处理,得到多个代码块。
可选地,基于测试数据计算得到每个第一测试用例的实测概率包括:获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率;获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率;基于第一命中频率、出现频率和个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的实测概率。
可选地,获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率包括:获取多个代码块中每个代码块在多个第一测试用例中的第一命中次数;获取多个代码块在多个第一测试用例中的第二命中次数;计算第一命中次数与第二命中次数的比值,得到第一命中频率。
可选地,获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率包括:从多个第一测试用例中分别筛选出检测到每种类型漏洞的第一测试用例;统计每个代码块在筛选得到的第一测试用例中的出现频率。
可选地,获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率包括:获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;获取多个第一测试用例的第二用例个数;计算第一用例个数与第二用例个数的比值,得到个数比率。
可选地,基于实测概率获取第二测试用例的预测概率包括:获取多个代码块中每个代码块在第二测试用例中的第二命中频率;获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;基于第二命中频率和条件概率计算得到第二测试用例对发生每种类型漏洞的预测概率。
可选地,利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据包括:基于多个第一测试用例的当前用例个数设置判定条件;当比较结果满足判定条件时,确定将第二测试用例加入测试数据;当比较结果未满足判定条件时,对第二测试用例进行迭代处理,直至比较结果满足判定条件。
根据本发明其中一实施例,还提供了一种测试用例的处理装置,包括:
获取模块,用于获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;计算模块,用于基于测试数据计算得到每个第一测试用例的实测概率;处理模块,用于构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;比较模块,用于利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
可选地,上述装置还包括:划分模块,用于对待测软件中的代码进行分块处理,得到多个代码块。
可选地,计算模块,用于获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率;获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率;基于第一命中频率、出现频率和个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的实测概率。
可选地,计算模块,用于获取多个代码块中每个代码块在多个第一测试用例中的第一命中次数;获取多个代码块在多个第一测试用例中的第二命中次数;计算第一命中次数与第二命中次数的比值,得到第一命中频率。
可选地,计算模块,用于从多个第一测试用例中分别筛选出检测到每种类型漏洞的第一测试用例;统计每个代码块在筛选得到的第一测试用例中的出现频率。
可选地,计算模块,用于获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;获取多个第一测试用例的第二用例个数;计算第一用例个数与第二用例个数的比值,得到个数比率。
可选地,处理模块,用于获取多个代码块中每个代码块在第二测试用例中的第二命中频率;获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;基于第二命中频率和条件概率计算得到第二测试用例对发生每种类型漏洞的预测概率。
可选地,比较模块,用于基于多个第一测试用例的当前用例个数设置判定条件;当比较结果满足判定条件时,确定将第二测试用例加入测试数据;当比较结果未满足判定条件时,对第二测试用例进行迭代处理,直至比较结果满足判定条件。
根据本发明其中一实施例,还提供了一种非易失性存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的测试用例的处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的测试用例的处理方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的测试用例的处理方法。
在本发明至少部分实施例中,采用获取当前采集到的测试数据,该测试数据包括多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞的方式,通过测试数据计算得到每个第一测试用例的实测概率,构造第二测试用例并基于实测概率获取第二测试用例的预测概率,以及利用预测概率与实测概率的比较结果以确定是否将第二测试用例加入测试数据,达到了利用已经采集的测试数据来获得新测试用例对不同类型漏洞检测的预测概率,判断该新测试用例是否能够加入至测试数据,以便对测试数据中包含的测试用例进行持续更新的目的,从而实现了降低生成新测试用例对人工测试经验的依赖,在软件迭代新特性时,通过测试用例不断更新确保测试过程可持续进行的技术效果,进而解决了相关技术中单纯依靠人工测试经验所生成的测试用例需要耗费高昂的人力成本,由此难以符合敏捷开发需求的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的测试用例的处理方法流程图;
图2是根据本发明其中一可选实施例的统计多个测试用例与不同类型漏洞之间映射关系的示意图;
图3是根据本发明其中一可选实施例的预测特定类型漏洞发生概率的示意图;
图4是根据本发明其中一实施例的测试用例的处理装置的结构框图;
图5是根据本发明其中一可选实施例的测试用例的处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种测试用例的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的测试用例的处理方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的测试用例的处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述移动终端的测试用例的处理方法,图1是根据本发明其中一实施例的测试用例的处理方法流程图,如图1所示,该方法包括如下步骤:
步骤S12,获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;
在软件工程中,需要不断新增软件特性,逐渐迭代出最终的软件应用。例如,一个软件的开发过程中需要经历10次开发迭代,那么该软件同样需要经历10次测试。而且测试难度会随着迭代次数的提升而逐渐加大。以第10次开发迭代测试为例,此处测试过程不但需要确保第10次开发迭代本身不会出现质量问题,同时还需要确保在将第10次开发迭代与前9次开发迭代合并之后,不会导致前9次开发迭代的代码出现质量问题。那么对于第10次测试而言,前9次测试所使用的多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果(包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞)便为上述测试数据。
步骤S14,基于测试数据计算得到每个第一测试用例的实测概率;
步骤S16,构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;
在每次开发迭代过程中,既可以全部使用已有的第一测试用例来完成本次测试过程,还可以从测试用例数据库中选择部分测试用例,同时再新增部分测试用例,来共同完成本次测试过程。
步骤S18,利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
通过上述步骤,可以采用获取当前采集到的测试数据,该测试数据包括多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞的方式,通过测试数据计算得到每个第一测试用例的实测概率,构造第二测试用例并基于实测概率获取第二测试用例的预测概率,以及利用预测概率与实测概率的比较结果以确定是否将第二测试用例加入测试数据,达到了利用已经采集的测试数据来获得新测试用例对不同类型漏洞检测的预测概率,判断该新测试用例是否能够加入至测试数据,以便对测试数据中包含的测试用例进行持续更新的目的,从而实现了降低生成新测试用例对人工测试经验的依赖,在软件迭代新特性时,通过测试用例不断更新确保测试过程可持续进行的技术效果,进而解决了相关技术中单纯依靠人工测试经验所生成的测试用例需要耗费高昂的人力成本,由此难以符合敏捷开发需求的技术问题。
可选地,上述方法还可以包括以下执行步骤:
步骤S10,对待测软件中的代码进行分块处理,得到多个代码块。
在一个可选实施例中,可以对待测软件中的代码进行分块处理。例如:按照待测软件的子模块功能级别进行分块处理。具体地,将待测软件A按照待测软件的子模块功能级别进行分块处理,得到代码块A1、代码块A2、代码块A3、代码块A4……代码块An。在软件测试执行多个测试用例的过程中,可以实时记录多个测试用例对上述各个代码块的命中情况。例如:命中代码块A1总计10次,命中代码块A2总计0次,命中代码块A3总计2次……以此类推,由此统计多个测试用例中每个测试用例对各个代码块的命中情况。
可选地,在步骤S14中,基于测试数据计算得到每个第一测试用例的实测概率可以包括以下执行步骤:
步骤S141,获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率;
步骤S142,获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;
步骤S143,获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率;
步骤S144,基于第一命中频率、出现频率和个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的实测概率。
在基于测试数据计算得到每个第一测试用例的实测概率的过程中,首先,可以获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率;其次,可以获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;然后,可以获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率;最后,再基于第一命中频率、出现频率和个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的实测概率。
可选地,在步骤S141中,获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率可以包括以下执行步骤:
步骤S1411,获取多个代码块中每个代码块在多个第一测试用例中的第一命中次数;
步骤S1412,获取多个代码块在多个第一测试用例中的第二命中次数;
步骤S1413,计算第一命中次数与第二命中次数的比值,得到第一命中频率。
统计每个代码块Ai在多个测试用例中的第一命中频率,记为P(Ai)。首先,获取多个代码块中每个代码块在多个第一测试用例中的第一命中次数;其次,获取多个代码块在多个第一测试用例中的第二命中次数(即全部测试用例命中各个代码块的总次数);然后,再计算第一命中次数与第二命中次数的比值以得到第一命中频率。
假设当前存在2个测试用例,其分别为测试用例1和测试用例2,当前还存在3个代码块,其分别为代码块A1、代码块A2和代码块A3。测试用例1命中代码块A1总计2次,命中代码块A2总计0次以及命中代码块A3总计1次;而测试用例2命中代码块A1总计1次,命中代码块A2总计2次以及命中代码块A3总计3次,由此可以统计每个代码块Ai在多个测试用例中的第一命中频率:
P(A1)=(2+1)/(2+1+1+2+3)=3/9;
P(A2)=2/(2+1+1+2+3)=2/9;
P(A3)=(1+3)/(2+1+1+2+3)=4/9。
可选地,在步骤S142中,获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率可以包括以下执行步骤:
步骤S1421,从多个第一测试用例中分别筛选出检测到每种类型漏洞的第一测试用例;
步骤S1422,统计每个代码块在筛选得到的第一测试用例中的出现频率。
在检测到漏洞(bug)之后,需要对bug进行分类,例如:逻辑类bug、渲染类bug、用户界面(UI)元素类bug等。图2是根据本发明其中一可选实施例的统计多个测试用例与不同类型漏洞之间映射关系的示意图,如图2所示,逻辑漏洞可以包括:角色扣血错误、金币计算错误等,渲染漏洞可以包括:角色边框错误、物品材质错误等。通过测试用例1检测到角色扣血错误,通过测试用例2检测到物品材质错误,通过测试用例3检测到金币计算错误,以及通过测试用例5检测到角色边框错误和物品材质错误,由此便可统计多个测试用例中所发生的bug类型(记为bugX、bugY、bugZ……)并在不同bug类型与多个测试用例之间建立映射关系。然后,再从多个测试用例中筛选出发生bugX的测试用例,由此统计在检测到bugX的至少一个测试用例中,代码块Ai在这些测试用例中的出现频率,记为P(Ai|X);从多个测试用例中筛选出发生bugY的测试用例,由此统计在检测到bugY的至少一个测试用例中,代码块Ai在这些测试用例中的出现频率,记为P(Ai|Y);从多个测试用例中筛选出发生bugZ的测试用例,由此统计在检测到bugZ的至少一个测试用例中,代码块Ai在这些测试用例中的出现频率,记为P(Ai|Z)…以此类推,直至完全统计出每个代码块在筛选得到的第一测试用例中的出现频率。
可选地,在步骤S143中,获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率可以包括以下执行步骤:
步骤S1431,获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;
步骤S1432,获取多个第一测试用例的第二用例个数;
步骤S1433,计算第一用例个数与第二用例个数的比值,得到个数比率。
为了获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率,首先,可以获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;其次,可以获取多个第一测试用例的第二用例个数;然后,再计算第一用例个数与第二用例个数的比值,得到个数比率。
在一个可选实施例中,发生bugX的至少一个测试用例占多个测试用例的比率可以记为P(X),发生bugY的至少一个测试用例占多个测试用例的比率可以记为P(Y),发生bugZ的至少一个测试用例占多个测试用例的比率可以记为P(Z)…以此类推。最终,根据贝叶斯定理计算在多个测试用例命中Ai代码块的条件下发生bugX的条件概率P(X|Ai)=P(Ai|X)*P(X)/P(Ai)。同理,还可以计算得到命中其他代码块Ai时,发生bugY、bugZ等其他类型bug时的条件概率P(Y|Ai)、P(Z|Ai)。通过上述计算得到的条件概率不仅能够为后续计算测试用例的bug预测概率提供条件,而且这种预先计算模式还能够提高后续实时结算概率的处理速度。
可选地,在步骤S16中,基于实测概率获取第二测试用例的预测概率可以包括以下执行步骤:
步骤S161,获取多个代码块中每个代码块在第二测试用例中的第二命中频率;
步骤S162,获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;
步骤S163,基于第二命中频率和条件概率计算得到第二测试用例对发生每种类型漏洞的预测概率。
在构造新的第二测试用例之后,首先,可以获取多个代码块中每个代码块在第二测试用例中的第二命中频率;其次,可以获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;然后,再基于第二命中频率和条件概率计算得到第二测试用例对发生每种类型漏洞的预测概率。
图3是根据本发明其中一可选实施例的预测特定类型漏洞发生概率的示意图,如图3所示,可以实时获取该第二测试用例(即临时测试用例)命中各个代码块A1、A2……An的概率,并由上文计算得到的条件概率确定发生特定类型bug的概率。例如:对于一个新测试用例,可以根据Ai在该测试用例中出现的频率计算得到发生bugX的预测概率为P(A1)*P(X|A1)+P(A2)*P(X|A2)+……+P(An)*P(X|An)。同理,还可以计算得到发生bugY、bugZ等其他类型bug时的预测概率。
可选地,在步骤S18中,利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据可以包括以下执行步骤:
步骤S181,基于多个第一测试用例的当前用例个数设置判定条件;
步骤S182,当比较结果满足判定条件时,确定将第二测试用例加入测试数据;
步骤S183,当比较结果未满足判定条件时,对第二测试用例进行迭代处理,直至比较结果满足判定条件。
在利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据的过程中,首先,基于多个第一测试用例的当前用例个数设置判定条件;然后,当比较结果满足判定条件时,确定将第二测试用例加入测试数据;而当比较结果未满足判定条件时,对第二测试用例进行迭代处理,直至比较结果满足判定条件。
具体地,当测试用例数据库中存在的第一测试用例数量较多时,为了防止测试用例冗余,可以设置如下判定条件:如果第二测试用例发现全部bug类型的预测概率均高于已有的第一测试用例的实测概率,则可以对第二测试用例执行入库操作。如果第二测试用例发现部分bug类型的预测概率低于已有的第一测试用例的实测概率,则需要对第二测试用例自身进行迭代操作,以提高预测发生概率,直至发现全部bug类型的预测概率均高于已有的第一测试用例的实测概率,则可以对第二测试用例执行入库操作。在对第二测试用例自身进行迭代操作的过程中,可以对第二测试用例所执行的部分操作进行修改。例如:第二测试用例原先包含操作a、操作b和操作c,而在修改后包含操作a、操作b、操作d和操作e,进而提高第二测试用例的预测概率,直至发现全部bug类型的预测概率均高于已有的第一测试用例的实测概率。
由此可见,在检验新的第二测试用例时,能够获得特定类型bug的预测概率,用于判断该第二测试用例的预测价值,从而为后续测试用例数据库中测试用例的精简、有效奠定基础。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种测试用例的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明其中一实施例的测试用例的处理装置的结构框图,如图4所示,该装置包括:获取模块10,用于获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;计算模块20,用于基于测试数据计算得到每个第一测试用例的实测概率;处理模块30,用于构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;比较模块40,用于利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
可选地,图5是根据本发明其中一可选实施例的测试用例的处理装置的结构框图,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:划分模块50,用于对待测软件中的代码进行分块处理,得到多个代码块。
可选地,计算模块20,用于获取多个代码块中每个代码块在多个第一测试用例中的第一命中频率;获取多个代码块中每个代码块在检测到至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例相对于多个第一测试用例的个数比率;基于第一命中频率、出现频率和个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的实测概率。
可选地,计算模块20,用于获取多个代码块中每个代码块在多个第一测试用例中的第一命中次数;获取多个代码块在多个第一测试用例中的第二命中次数;计算第一命中次数与第二命中次数的比值,得到第一命中频率。
可选地,计算模块20,用于从多个第一测试用例中分别筛选出检测到每种类型漏洞的第一测试用例;统计每个代码块在筛选得到的第一测试用例中的出现频率。
可选地,计算模块20,用于获取发生至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;获取多个第一测试用例的第二用例个数;计算第一用例个数与第二用例个数的比值,得到个数比率。
可选地,处理模块30,用于获取多个代码块中每个代码块在第二测试用例中的第二命中频率;获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;基于第二命中频率和条件概率计算得到第二测试用例对发生每种类型漏洞的预测概率。
可选地,比较模块40,用于基于多个第一测试用例的当前用例个数设置判定条件;当比较结果满足判定条件时,确定将第二测试用例加入测试数据;当比较结果未满足判定条件时,对第二测试用例进行迭代处理,直至比较结果满足判定条件。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种非易失性存储介质,该非易失性存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述非易失性存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;
S2,基于测试数据计算得到每个第一测试用例的实测概率;
S3,构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;
S4,利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
可选地,在本实施例中,上述非易失性存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取当前采集到的测试数据,其中,测试数据包括:多个第一测试用例以及多个第一测试用例中每个第一测试用例对应的测试结果,测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;
S2,基于测试数据计算得到每个第一测试用例的实测概率;
S3,构造第二测试用例,并基于实测概率获取第二测试用例的预测概率;
S4,利用预测概率与实测概率的比较结果,确定是否将第二测试用例加入测试数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种测试用例的处理方法,其特征在于,包括:
获取当前采集到的测试数据,其中,所述测试数据包括:多个第一测试用例以及所述多个第一测试用例中每个第一测试用例对应的测试结果,所述测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;
基于所述测试数据计算得到每个第一测试用例的实测概率;
构造第二测试用例,并基于所述实测概率获取所述第二测试用例的预测概率;
利用所述预测概率与所述实测概率的比较结果,确定是否将所述第二测试用例加入所述测试数据。
2.根据权利要求1所述的处理方法,其特征在于,所述方法还包括:
对所述待测软件中的代码进行分块处理,得到多个代码块。
3.根据权利要求1或2所述的处理方法,其特征在于,基于所述测试数据计算得到每个第一测试用例的所述实测概率包括:
获取多个代码块中每个代码块在所述多个第一测试用例中的第一命中频率;
获取所述多个代码块中每个代码块在检测到所述至少一种类型漏洞中每种类型漏洞的第一测试用例中的出现频率;
获取发生所述至少一种类型漏洞中每种类型漏洞的第一测试用例相对于所述多个第一测试用例的个数比率;
基于所述第一命中频率、所述出现频率和所述个数比率,计算每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率,得到每个第一测试用例的所述实测概率。
4.根据权利要求3所述的处理方法,其特征在于,获取所述多个代码块中每个代码块在所述多个第一测试用例中的所述第一命中频率包括:
获取所述多个代码块中每个代码块在所述多个第一测试用例中的第一命中次数;
获取所述多个代码块在所述多个第一测试用例中的第二命中次数;
计算所述第一命中次数与所述第二命中次数的比值,得到所述第一命中频率。
5.根据权利要求3所述的处理方法,其特征在于,获取所述多个代码块中每个代码块在检测到所述至少一种类型漏洞中每种类型漏洞的第一测试用例中的所述出现频率包括:
从所述多个第一测试用例中分别筛选出检测到每种类型漏洞的第一测试用例;
统计每个代码块在筛选得到的第一测试用例中的所述出现频率。
6.根据权利要求3所述的处理方法,其特征在于,获取发生所述至少一种类型漏洞中每种类型漏洞的第一测试用例相对于所述多个第一测试用例的所述个数比率包括:
获取发生所述至少一种类型漏洞中每种类型漏洞的第一测试用例的第一用例个数;
获取所述多个第一测试用例的第二用例个数;
计算所述第一用例个数与所述第二用例个数的比值,得到所述个数比率。
7.根据权利要求1所述的处理方法,其特征在于,基于所述实测概率获取所述第二测试用例的所述预测概率包括:
获取多个代码块中每个代码块在所述第二测试用例中的第二命中频率;
获取每个第一测试用例在命中每个代码块的条件下发生每种类型漏洞的条件概率;
基于所述第二命中频率和所述条件概率计算得到所述第二测试用例对发生每种类型漏洞的所述预测概率。
8.根据权利要求1所述的处理方法,其特征在于,利用所述预测概率与所述实测概率的比较结果,确定是否将所述第二测试用例加入所述测试数据包括:
基于所述多个第一测试用例的当前用例个数设置判定条件;
当所述比较结果满足所述判定条件时,确定将所述第二测试用例加入所述测试数据;当所述比较结果未满足所述判定条件时,对所述第二测试用例进行迭代处理,直至所述比较结果满足所述判定条件。
9.一种测试用例的处理装置,其特征在于,包括:
获取模块,用于获取当前采集到的测试数据,其中,所述测试数据包括:多个第一测试用例以及所述多个第一测试用例中每个第一测试用例对应的测试结果,所述测试结果包括:每个第一测试用例在执行过程中命中的待测软件的代码块和每个第一测试用例在执行过程中检测到的至少一种类型漏洞;
计算模块,用于基于所述测试数据计算得到每个第一测试用例的实测概率;
处理模块,用于构造第二测试用例,并基于所述实测概率获取所述第二测试用例的预测概率;
比较模块,用于利用所述预测概率与所述实测概率的比较结果,确定是否将所述第二测试用例加入所述测试数据。
10.一种非易失性存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的测试用例的处理方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至8任一项中所述的测试用例的处理方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的测试用例的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247876.8A CN112363928B (zh) | 2020-11-10 | 2020-11-10 | 测试用例的处理方法、装置、处理器及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011247876.8A CN112363928B (zh) | 2020-11-10 | 2020-11-10 | 测试用例的处理方法、装置、处理器及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363928A true CN112363928A (zh) | 2021-02-12 |
CN112363928B CN112363928B (zh) | 2023-08-22 |
Family
ID=74508671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011247876.8A Active CN112363928B (zh) | 2020-11-10 | 2020-11-10 | 测试用例的处理方法、装置、处理器及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363928B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208039A (zh) * | 2012-01-13 | 2013-07-17 | 株式会社日立制作所 | 软件项目风险评价方法及装置 |
US20140033174A1 (en) * | 2012-07-29 | 2014-01-30 | International Business Machines Corporation | Software bug predicting |
CN105243014A (zh) * | 2015-09-18 | 2016-01-13 | 北京金山安全软件有限公司 | 一种对应用程序的测试方法及装置 |
CN106021115A (zh) * | 2016-06-06 | 2016-10-12 | 重庆大学 | 基于概率的无监督缺陷预测方法 |
JP2017224185A (ja) * | 2016-06-16 | 2017-12-21 | 日本電信電話株式会社 | バグ混入確率計算プログラム及びバグ混入確率計算方法 |
CN108268373A (zh) * | 2017-09-21 | 2018-07-10 | 平安科技(深圳)有限公司 | 自动化测试用例管理方法、装置、设备及存储介质 |
US20180285186A1 (en) * | 2017-03-31 | 2018-10-04 | Microsoft Technology Licensing, Llc | Machine learning for input fuzzing |
CN109062794A (zh) * | 2018-07-24 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种软件测评结果的确定方法、装置及电子设备 |
US20190146755A1 (en) * | 2017-11-15 | 2019-05-16 | Accenture Global Solutions Limited | Test case and data selection using a sampling methodology |
US20190243743A1 (en) * | 2018-02-07 | 2019-08-08 | Apple Inc. | Unsupervised anomaly detection |
CN110297764A (zh) * | 2019-05-30 | 2019-10-01 | 北京百度网讯科技有限公司 | 漏洞测试模型训练方法和装置 |
CN110826071A (zh) * | 2019-09-24 | 2020-02-21 | 平安科技(深圳)有限公司 | 软件漏洞风险预测方法、装置、设备及存储介质 |
CN111274126A (zh) * | 2020-01-14 | 2020-06-12 | 华为技术有限公司 | 测试用例筛选方法、装置及介质 |
WO2020151344A1 (zh) * | 2019-01-22 | 2020-07-30 | 平安科技(深圳)有限公司 | 针对迭代子版本的软件开发测试方法及相关装置 |
-
2020
- 2020-11-10 CN CN202011247876.8A patent/CN112363928B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208039A (zh) * | 2012-01-13 | 2013-07-17 | 株式会社日立制作所 | 软件项目风险评价方法及装置 |
US20140033174A1 (en) * | 2012-07-29 | 2014-01-30 | International Business Machines Corporation | Software bug predicting |
CN105243014A (zh) * | 2015-09-18 | 2016-01-13 | 北京金山安全软件有限公司 | 一种对应用程序的测试方法及装置 |
CN106021115A (zh) * | 2016-06-06 | 2016-10-12 | 重庆大学 | 基于概率的无监督缺陷预测方法 |
JP2017224185A (ja) * | 2016-06-16 | 2017-12-21 | 日本電信電話株式会社 | バグ混入確率計算プログラム及びバグ混入確率計算方法 |
US20180285186A1 (en) * | 2017-03-31 | 2018-10-04 | Microsoft Technology Licensing, Llc | Machine learning for input fuzzing |
CN108268373A (zh) * | 2017-09-21 | 2018-07-10 | 平安科技(深圳)有限公司 | 自动化测试用例管理方法、装置、设备及存储介质 |
US20190146755A1 (en) * | 2017-11-15 | 2019-05-16 | Accenture Global Solutions Limited | Test case and data selection using a sampling methodology |
US20190243743A1 (en) * | 2018-02-07 | 2019-08-08 | Apple Inc. | Unsupervised anomaly detection |
CN109062794A (zh) * | 2018-07-24 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种软件测评结果的确定方法、装置及电子设备 |
WO2020151344A1 (zh) * | 2019-01-22 | 2020-07-30 | 平安科技(深圳)有限公司 | 针对迭代子版本的软件开发测试方法及相关装置 |
CN110297764A (zh) * | 2019-05-30 | 2019-10-01 | 北京百度网讯科技有限公司 | 漏洞测试模型训练方法和装置 |
CN110826071A (zh) * | 2019-09-24 | 2020-02-21 | 平安科技(深圳)有限公司 | 软件漏洞风险预测方法、装置、设备及存储介质 |
CN111274126A (zh) * | 2020-01-14 | 2020-06-12 | 华为技术有限公司 | 测试用例筛选方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112363928B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI688917B (zh) | 風險識別模型構建和風險識別方法、裝置及設備 | |
EP3874372B1 (en) | Automatically performing and evaluating pilot testing of software | |
Liang et al. | Caiipa: Automated large-scale mobile app testing through contextual fuzzing | |
Oliner et al. | Carat: Collaborative energy diagnosis for mobile devices | |
CN109062809B (zh) | 一种线上测试用例生成方法、装置及电子设备 | |
EP3149590B1 (en) | Performance optimization tip presentation during debugging | |
US9454454B2 (en) | Memory leak analysis by usage trends correlation | |
US9038027B2 (en) | Systems and methods for identifying software performance influencers | |
TW201939379A (zh) | 資訊轉化率的預測、資訊推薦方法和裝置 | |
Oliner et al. | Collaborative energy debugging for mobile devices | |
CN111124926A (zh) | 模糊测试方法、装置、电子设备及存储介质 | |
CN103984626A (zh) | 一种生成测试用例脚本的方法及装置 | |
CN113268243B (zh) | 内存预测方法及装置、存储介质、电子设备 | |
CN111078579A (zh) | 一种Monkey测试方法、装置及终端设备 | |
CN113378067B (zh) | 基于用户挖掘的消息推荐方法、设备、介质 | |
CN110825303A (zh) | 一种交互方法、装置、终端及计算机可读介质 | |
US20240086310A1 (en) | What-if analysis for notebooks | |
CN112363928B (zh) | 测试用例的处理方法、装置、处理器及电子装置 | |
CN106034150B (zh) | 应用程序动态推送方法、装置及*** | |
CN108984386A (zh) | 应用程序搜索的测试方法、装置及存储介质 | |
CN114969759A (zh) | 工业机器人***的资产安全评估方法、装置、终端及介质 | |
CN113343189A (zh) | 防止恶意刷取短信验证码的方法及装置 | |
CN113849812A (zh) | 应用程序检测方法、装置以及电子设备 | |
CN109189827B (zh) | 时间序列处理方法和装置、电子设备 | |
CN111641643A (zh) | 网络爬虫检测方法、网络爬虫检测装置及终端设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |