一种自动搜索方法和设备的制作方法

文档序号:6487235阅读:178来源:国知局
一种自动搜索方法和设备的制作方法
【专利摘要】本申请公开了一种自动搜索方法和设备,该方法包括:当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行;当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行。通过本申请,提高了自动化搜索的效率。
【专利说明】一种自动搜索方法和设备
【技术领域】
[0001]本申请涉及互联网【技术领域】,特别是涉及一种自动搜索方法和设备。
【背景技术】
[0002]现有Automan自动化脚本已经在非异步的业务逻辑中使用的很成熟了,很多应用都已经实现了自动化。搜索引擎技术也已经被广泛的应用到了各个领域,搜索测试频率越来越高,测试成本也越来越大,搜索自动化迫在眉睫。
[0003]现有Automan自动化脚本执行数据初始化、功能操作、结果校验是连续的一次性执行完成,即脚本的功能操作部分运行后可以直接校验结果。而脚本中功能操作部分运行后需要等待一段时间才能出来结果,即异常校验则无法验证处理,校验搜索引擎转存(dump)结果就是如此。
[0004]现有Automan自动化方案中会把该脚本的测试数据、验证数据都准备好,根据页面原型编写的脚本中通常都会进行一些功能操作,操作后就可以校验结果了。放在自动化管理平台上的脚本被打包成测试集批量运行,一个脚本运行后,该脚本的数据初始化、功能操作、结果校验依次串行运行完成。而对于数据初始化、功能操作、结果校验之间不能连续执行的搜索业务,Automan自动化方案不能在同一个脚本中异步执行。搜索业务中全量、增量dump的完成时间不可控,功能操作后要等待下次全量、增量成功后,才能校验结果,在此过程中,脚本需要一直处于等待状态,效率低下。

【发明内容】

[0005]本申请的目的在于提供一种自动搜索方法和设备,以提高自动化搜索的效率。为了达到以上目的,本中请采用如下技术方案:
[0006]本申请提出一种自动搜索方法,包括:
[0007]当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行;
[0008]当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行。
[0009]本申请还提供一种自动搜索设备,包括:
[0010]监控模块,用于当所述自动测试设备接收到全量dump监控触发消息时,对全量dump状态进行监控;当所述自动测试设备接收到增量dump监控触发消息时,对增量dump进行监控;
[0011]第一触发模块,用于当所述监控模块监控到所述全量dump完成时,触发增量dump运行;
[0012]第二触发模块,用于当所述监控模块监控到所述增量dump完成时,触发下一个测试集运行;
[0013]处理模块,用于运行全量/增量dump。[0014]本申请的实施例包括以下优点,通过设置在自动搜索系统中设置监控引擎对全量/增量dump进行监控,当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行;当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行,这种方式提高了自动化搜索的效率。
【专利附图】

【附图说明】
[0015]为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请实施例提供的一种自动搜索方法的流程示意图;
[0017]图2为本申请实施例提供的一种具体应用场景下的自动搜索方法的流程示意图;
[0018]图3为本申请实施例提供的一种监控程序流程图;
[0019]图4为本申请实施例提供的一种代码段划分示意图;
[0020]图5为本申请实施例提供的一种自动搜索设备的结构示意图。
【具体实施方式】
[0021]由于搜索引擎在测试环境中,等待一次增量的时间在20?40分钟,等待一次全量的时间在40?75分钟,每次全量、增量的完成时间是不可控的。测试过程中测试同学耗在等待全量、增量dump上,测试效率低,发现问题慢。
[0022]Automan自动化脚本中,数据准备、功能操作、结果校验是一体化的,在功能操作完成后,最新的校验结果就出来了,不需要等待,脚本一步到位执行完成。而搜索脚本中数据准备、功能操作后要等待全量、增量完成后才能校验结果,在等待全量、增量dump时,脚本则一直处于休眠(sleep)状态。即数据准备与结果校验之间存在时间差,脚本执行不能一气呵成。
[0023]为了改变测试过程中等待全量、增量dump,结果校验存在时间差等等一系列的问题,本申请提供搜索自动化解决方案,简化前端与搜索中心的联调测试,搜索引擎版本升级时的回归测试,从而保证产品质量。
[0024]具体的,针对现有技术中存在的问题,本申请实施例中,通过编写监控程序用来监控全量、增量dump的完成状态,当监控到全量、增量dump完成后,才会调用相应的测试集进行校验;当全量、增量dump超时后,则不调用测试集,直接提交环境BUG或发送邮件通知接口人。另外,搜索自动化脚本中把一个脚本拆分成多个代码段,每个代码段用代码标签值唯一标识,测试集中的所有脚本通过读取服务器中的代码标签值来运行脚本中对应代码标签值的代码段,从而达到批量脚本并行异步运行的效果。每当测试集中本批次代码标签值的代码段分时块被运行完成后,脚本又重新调用监控程序去监控下一个增量dump的完成时间,直至所有的增量dump做完为止后脚本也就运行完成了。
[0025]下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]如图1所示,其为本申请实施例提供的一种自动搜索方法的流程示意图,可以包括以下步骤:
[0027]步骤101、当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行。
[0028]具体的,在接收到全量dump监控触发消息之前,执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控。
[0029]其中,在本申请实施例中,一个测试集中包括多个脚本,所述多个脚本中包括一个数据准备脚本、一个监控脚本以及至少一个业务脚本,所述脚本中的各脚本分别被划分为多个分时块,同一个脚本的不同分时块对应不同的代码标签值。
[0030]相应地,执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控,具体为:
[0031]按照预设的顺序获取服务器中对应最先执行的分时块的代码标签值,并执行测试集中对应该代码标签值的分时块。
[0032]例如,可以预先将各脚本划分为分时块1、分时块2、...、分时块N,相应地,在执行测试集时,依次执行分时块1、分时块2、...、分时块N ;此外,也可以将各脚本划分为分时块A、分时块B、...、分时块Z,相应地,在执行测试集时,依次执行分时块A、分时块B、...、分时块Z。
[0033]当全量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行全量数据校验、增量数据准备。
[0034]步骤202、当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行。
[0035]具体的,当所述增量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行增量结果校验。
[0036]其中,当所述测试集中包括多个增量时,依次对各增量dump进行监控,并当所有增量dump完成后,触发下一个测试集运行。
[0037]需要注意的是,在本申请实施例提供的技术方案中,当在预设时间内所述全量或增量dump未完成,则确定全量或增量dump超时,提交错误报告。
[0038]为了更加清楚地理解本申请实施例提供的技术方案,以下结合附图和具体的应用场景对本申请实施例提供的技术方案进行更加详细地描述。
[0039]如图2所示,其为本申请实施例提供的一种具体应用场景下的自动搜索方法的流程示意图,可以包括以下步骤:
[0040]步骤201、数据准备。
[0041]具体的,在本申请实施例提供的技术方案中,搜索自动化中的数据准备部分单独抽出来到一个脚本中处理。
[0042]步骤202、当数据准备完成后,传递全量监控开始时间。
[0043]具体的,当数据准备完成后,可以向监控程序发送监控全量dump状态的触发消息,以使监控程序对全量dump进行监控。
[0044]步骤203、监听全量dump状态。[0045]步骤204、运行全量dump。
[0046]步骤205、当全量dump完成时,向监控程序发送全量dump完成消息。
[0047]步骤206、触发下一个增量测试集运行。
[0048]具体的,在申请实施例提供的技术方案中,通过监控程序监控全量dump完成状态,更新服务器中代码标签值后,触发搜索自动化脚本进行全量dump数据校验、增量dump数据准备。
[0049]步骤207、校验全量dump结果。
[0050]步骤208、增量dump数据准备。
[0051]步骤209、向监控程序传递增量dump监控开始时间。
[0052]具体的,在本申请实施例提供的技术方案中,在对全量dump结果校验完成,并完成增量dump数据准备之后,可以向监控程序发送增量dump监控触发消息,以使监控程序对增量dump进行监控。
[0053]步骤210、监控增量dump状态。
[0054]步骤211、运行增量dump。
[0055]步骤212、当增量dump完成时,向监控程序返回增量dump完成消息。
[0056]步骤213、触发下一个测试集运行。
[0057]步骤214、校验增量dump结果。
[0058]具体的,在本申请实施例提供的技术方案中,搜索自动化脚本通过监控程序监控增量dump完成状态,更新服务器中代码标签值后,触发搜索自动化脚本,进行增量结果校验。
[0059]需要注意的是,在本申请实施例提供的技术方案中,当存在多个增量dump时,只需要相应地多次执行步骤210-212即可,其具体的实现流程在此不再赘述。
[0060]其中,在本申请实施例提供的技术方案中,监控程序通过解析搜索中心提供的dump日志,判断全量dump、增量dump是否完成。若全量dump、增量dump未完成,则继续监控;若全量dump、增量dump完成,则更新代码标签值直接调用下一个要被执行的测试集执行。其中,若在预设时间内,全量dump、增量dump未完成,则确定全量dump或增量dump超时,提交错误报告,并且还可发邮件通知接口人环境异常。
[0061]参见图3,其为本申请实施例提供的一种监控程序流程图,可以包括以下步骤:
[0062]步骤301、判断监控程序是否运行,若判断为是,则转至步骤302 ;否则,结束流程。
[0063]步骤302、标注监控程序开始运行。
[0064]步骤303、解析dump日志。
[0065]步骤304、判断全量/增量dump是否在预设时间内完成,若判断为是,则转至步骤305 ;否则,转至步骤308。
[0066]具体的,在本申请实施例提供的技术方案中,可以预先设定一个时间阈值(如一分钟),并判断在该预设时间内,全量/增量dump是否完成,若完成,则更新服务器中代码标签值;否则,确定全量/增量dump超时,发送邮件超时提示,并提交dump失败bug(如向kelude平台提交错误报告)。
[0067]步骤305、更新服务器中代码标签值。
[0068]步骤306、调用下一个测试集。[0069]步骤307、标注监控程序结束运行,并结束流程。
[0070]步骤308、发送超时提示,提交dump失败错误报告,并结束流程。
[0071]在本申请实施例提供的技术方案中,提出了一种对批量脚本分时块运行的机制,以提高脚本运行效率,其具体实现方式如下:
[0072]通过分别对多个脚本(包括一个数据准备脚本、一个监控脚本以及至少一个业务脚本)进行时块划分(其中,各脚本可以划分为一个时块,也可以划分为多个时块,且不同脚本划分的时块数量可以不同),并分别对不同时块的脚本设置对应的代码标签值(其中,同一个脚本的不同分时块对应的代码标签值不同。)
[0073]其中,在本申请实施例提供的技术方案中,分时块由所有脚本中相同代码标签值对应的代码段组成。其具体实现可以参见图4。相应地,在该情况下,一个完整的业务逻辑脚本可以由“分时I代码段”+ “分时2代码段”+ “分时3代码段”等组成,如图4中粗边框所对应的“脚本3”。其中,对于某一个脚本,其某一个分时代码段可以为空(null)。例如,“脚本2”中分时I代码段和分时2代码段为空,“脚本3”中分时I代码段为空。
[0074]基于上述分时块划分机制,在本申请实施例提供的技术方案中,当需要运行脚本时,可以从服务器中获取代码标签值,并根据获取到的代码标签值一次执行测试集中对应该代码标签值的分时块,来完成整个脚本的操作、校验。即同一个测试集中的脚本会因为代码标签值不同被多次调用执行。
[0075]通过以上流程可以得出,在本申请实施例提供的技术方案中,当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行;当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行,在充分应用现有automan自动化框架的基础了,增强了数据实现性,节约了回归时间,并能够提前发现搜索环境的异常,从而根据相应的问题,采取相应的解决措施,提高了数据的可靠性。
[0076]基于上述方法实施例相同的技术构思,本申请实施例还提供一种自动搜索设备,可以应用于上述方法实施例中。
[0077]如图5所示,其为本申请实施例提供的一种自动测试设备的结构示意图,可以包括:
[0078]监控模块51,用于当所述自动测试设备接收到全量dump监控触发消息时,对全量dump状态进行监控;当所述自动测试设备接收到增量dump监控触发消息时,对增量dump进行监控;
[0079]第一触发模块52,用于当所述监控模块监控到所述全量dump完成时,触发增量dump运行;
[0080]第二触发模块53,用于当所述监控模块监控到所述增量dump完成时,触发下一个测试集运行;
[0081]处理模块54,用于运行全量/增量dump。
[0082]其中,本申请实施例提供的自动搜索设备还可以包括:
[0083]数据准备模块55,用于执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控。
[0084]其中,一个测试集中包括多个脚本,所述多个脚本中包括一个数据准备脚本、一个监控脚本以及至少一个业务脚本,所述脚本中的各脚本分别被划分为多个分时块,同一个脚本的不同分时块对应不同的代码标签值;
[0085]所述数据准备模块55具体用于,按照预设顺序获取服务器中对应最先执行的分时块的代码标签值,并执行测试集中对应该代码标签值的分时块。
[0086]其中,所述第一触发模块52具体用于,当全量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行全量数据校验、增量数据准备。
[0087]其中,所述第二触发模块53具体用于,当所述增量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行增量结果校验。
[0088]其中,所述监控模块51具体用于,当所述测试集中包括多个增量时,依次对各增量dump进行监控;
[0089]所述第二触发模块53具体用于,当所有增量dump完成后,触发下一个测试集运行。
[0090]其中,所述监控模块53还用于,当在预设时间内所述全量或增量dump未完成,则确定全量或增量dump超时,并提交错误报告。
[0091 ] 本领域技术人员可以理解,本装置实施例中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化而位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0092]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0093]以上所述仅是本申请的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
【权利要求】
1.一种自动搜索方法,其特征在于,包括: 当接收到全量dump监控触发消息时,对全量dump状态进行监控,并在所述全量dump完成后,触发增量dump运行; 当接收到增量dump监控触发消息时,对增量dump状态进行监控,并在所述增量dump完成后,触发下一个测试集运行。
2.如权利要求1所述的方法,其特征在于,所述当接收到全量dump监控触发消息之前,还包括: 执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控。
3.如权利要求2所述的方法,其特征在于,所述测试集中包括多个脚本,所述多个脚本中包括一个数据准备脚本、一个监控脚本以及至少一个业务脚本,所述脚本中的各脚本分别被划分为多个分时块,同一个脚本的不同分时块对应不同的代码标签值; 所述执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控,具体为: 按照预设顺序获取服务器中对应最先执行的分时块的代码标签值,并执行测试集中对应该代码标签值的分时块。
4.如权利要求3所述的方法,其特征在于,所述在所述全量dump完成后,触发增量dump运行,具体为: 当全量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行全量数据校验、增量数据准备。
5.如权利要求3所述的方法,其特征在于,所述在所述增量dump完成后,触发下一个测试集运行,具体为: 当所述增量dump完成后,更新服务器中代码标签值,触发搜索自动化脚本进行增量结果校验。
6.如权利要求5所述的方法。其特征在于,当所述测试集中包括多个增量时,依次对各增量dump进行监控,并当所有增量dump完成后,触发下一个测试集运行。
7.如权利要求1-6任一项所述的方法,其特征在于,还包括: 当在预设时间内所述全量或增量dump未完成,则确定全量或增量dump超时,并提交错误?艮告。
8.一种自动搜索设备,其特征在于,包括: 监控模块,用于当所述自动测试设备接收到全量dump监控触发消息时,对全量dump状态进行监控;当所述自动测试设备接收到增量dump监控触发消息时,对增量dump进行监控; 第一触发模块,用于当所述监控模块监控到所述全量dump完成时,触发增量dump运行; 第二触发模块,用于当所述监控模块监控到所述增量dump完成时,触发下一个测试集运行; 处理模块,用于运行全量/增量dump。
9.如权利要求8所述的自动搜索设备,其特征在于,还包括: 数据准备模块,用于执行数据准备脚本,以进行数据准备,并当数据准备完成后触发全量dump监控。
10.如权利要求9所述的自动搜索设备,其特征在于,一个测试集中包括多个脚本,所述多个脚本中包括一个数据准备脚本、一个监控脚本以及至少一个业务脚本,所述脚本中的各脚本分别被划分为多个分时块,同一个脚本的不同分时决对应不同的代码标签值;所述数据准备模块具体用于,按照预设顺序获取服务器中对应最先执行的分时块的代码标签值,并执行测试集·中对应该代码标签值的分时块。
【文档编号】G06F11/30GK103577297SQ201210260880
【公开日】2014年2月12日 申请日期:2012年7月26日 优先权日:2012年7月26日
【发明者】华丹萍, 陈新丽, 杨加枫, 汪桂林 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1