搜索引擎的测试方法、装置及计算机可读存储介质与流程

文档序号:16207944发布日期:2018-12-08 07:21阅读:142来源:国知局
搜索引擎的测试方法、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种搜索引擎的测试方法、装置及计算机可读存储介质。

背景技术

搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统,其所实现的功能概括来说就是数据预处理、建立索引和接受查询请求并返回结果。其中,数据预处理是指根据搜索引擎要求,把经各种渠道获得的数据转化为结构化数据;建立索引是指根据结构化数据中的各种字段建立相应的索引;接受查询请求并返回结果是指使用查询关键词对建立的索引进行检索,并返回检索到的索引所指向的结构化数据。

一般来说,搜索引擎版本的更新是很频繁的,而在每次更新完毕后都要对更新后的搜索引擎进行功能测试以判断其是否满足要求。但是现有的测试方法一般采用人工方式对待测试的搜索引擎进行测试。即测试人员将预先确定的多个搜索管检测输入到待测试的搜索引擎中,获取搜索结果,由测试人员对搜索结果进行评估,测试效率低下。



技术实现要素:

本发明提供一种搜索引擎的测试方法、装置及计算机可读存储介质,其主要目的在于现有技术中对搜索引擎的测试效率低下的技术问题。

为实现上述目的,本发明还提供一种搜索引擎的测试方法,该方法包括:

确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本;

基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果;

确定与所述测试用例数据对应的预期数据;

执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比;

重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。

可选地,所述测试用例数据中包含有搜索关键词、搜索规则和排序规则,所述确定与所述测试用例数据对应的预期数据的步骤包括:

确定所述测试用例数据中的搜索关键词、搜索规则和排序规则,基于所述搜索关键词、搜索规则、排序规则以及所述搜索引擎的索引库确定所述预期数据。

可选地,在所述确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本的步骤之前,所述方法还包括步骤:

对当前时间距离上次测试的时间间隔进行实时监控;

当时间间隔达到预设时间间隔时,启动测试任务,执行所述确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本的步骤。

可选地,所述方法还包括步骤:

获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本,以更新所述数据库,其中,所述搜索引擎在判定所述数据库有数据更新操作时,按照数据抽取逻辑从所述数据库抽取更新的数据至索引库;

在检测到所述被测搜索引擎对所述数据库执行数据抽取操作后,确定抽取到索引库中的更新数据;

根据所述第二测试脚本确定预期抽取数据,并将确定的更新数据与所述预期抽取数据进行对比,以判断所述数据抽取逻辑是否有误;

若所述更新数据与所述预期抽取数据一致,则判定所述数据抽取逻辑正确;

若所述更新数据与所述预期抽取数据不一致,则判定所述数据抽取逻辑有误,输出错误提示信息。

可选地,所述获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本的步骤之后,所述方法还包括步骤:

向所述被测搜索引擎发送数据变更的提示信息,以供所述搜索引擎根据所述提示信息判断所述数据库是否有数据更新操作,其中,当所述搜索引擎在接收到所述提示信息时,判定所述数据库中有数据更新操作。

此外,为实现上述目的,本发明还提供一种搜索引擎的测试装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的搜索引擎的测试程序,所述搜索引擎的测试程序被所述处理器执行时实现如下步骤:

确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本;

基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果;

确定与所述测试用例数据对应的预期数据;

执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比;

重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。

可选地,所述搜索引擎的测试程序还可被所述处理器执行,以在所述确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本的步骤之前,还实现如下步骤:

对当前时间距离上次测试的时间间隔进行实时监控;

当时间间隔达到预设时间间隔时,启动测试任务,执行所述确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本的步骤。

可选地,所述搜索引擎的测试程序还可被所述处理器执行,以实现如下步骤:

获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本,以更新所述数据库,其中,所述搜索引擎在判定所述数据库有数据更新操作时,按照数据抽取逻辑从所述数据库抽取更新的数据至索引库;

在检测到所述被测搜索引擎对所述数据库执行数据抽取操作后,确定抽取到索引库中的更新数据;

根据所述第二测试脚本确定预期抽取数据,并将确定的更新数据与所述预期抽取数据进行对比,以判断所述数据抽取逻辑是否有误;

若所述更新数据与所述预期抽取数据一致,则判定所述数据抽取逻辑正确;

若所述更新数据与所述预期抽取数据不一致,则判定所述数据抽取逻辑有误,输出错误提示信息。

可选地,所述搜索引擎的测试程序还可被所述处理器执行,以在所述获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本的步骤之后,还实现如下步骤:

向所述被测搜索引擎发送数据变更的提示信息,以供所述搜索引擎根据所述提示信息判断所述数据库是否有数据更新操作,其中,当所述搜索引擎在接收到所述提示信息时,判定所述数据库中有数据更新操作。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有搜索引擎的测试程序,所述搜索引擎的测试程序可被一个或者多个处理器执行,以实现如上所述的搜索引擎的测试方法的步骤。

本发明提出的搜索引擎的测试方法、装置及计算机可读存储介质,确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与测试用例数据对应的第一测试脚本;基于待测试接口,执行与待测试接口对应的测试用例数据以获取搜索结果;确定与测试用例数据对应的预期数据;执行与测试用例数据对应的第一测试脚本,以将搜索结果与预期数据进行断言对比;重复执行上述步骤,直至测试脚本库中的测试用例数据和第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。本方案中,通过测试用例数据获取搜索结果,基于第一测试脚本将实际搜索结果与预期数据进行断言对比并生成测试报告,实现了全自动化的测试过程,无需测试人员人工输入关键词,也无需人工对比结果,提高了搜索引擎的测试效率。

附图说明

图1为本发明一实施例提供的搜索引擎的测试方法的流程示意图;

图2为本发明一实施例提供的搜索引擎的测试装置的内部结构示意图;

图3为本发明一实施例提供的搜索引擎的测试装置中搜索引擎的测试程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种搜索引擎的测试方法。参照图1所示,为本发明一实施例提供的搜索引擎的测试方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,搜索引擎的测试方法包括:

步骤s10,确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本。

步骤s20,基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果。

本实施例的方法中,搜索引擎的后台有多个需要测试的api(applicationprogramminginterface,应用程序编程接口),对于每一个待测试的api,测试人员可以为其编写一个或者多个第一测试脚本,其中,一个第一测试脚本对应于一个或者多个测试用例数据,所述测试用例数据中包含有搜索关键词、搜索规则和排序规则。将针对搜索引擎的所有api创建的第一测试脚本以及关联的测试用例数据存储至测试脚本库。

本实施例的方法中,将第一测试脚本与测试用例数据解耦,先执行测试用例数据从待测试的搜索引擎中获取搜索结果,再使用第一测试脚本将实际搜索结果与预期搜索结果进行对比。

预先设置的多个搜索关键词、多个搜索规则、多个排序方式;从中选择合适的搜索关键词、搜索规则、排序方式编写一个测试用例数据。同时,测试人员需要预先根据各个测试用例数据,构建好每一个测试用例数据对应的预期搜索结果。具体地,由于所述测试用例数据中包含有搜索关键词、搜索规则和排序规则,测试人员可以根据搜索关键词、搜索规则和排序规则从索引库中确定预期数据,预期数据为使用按照搜索关键词、搜索规则和排序规则在索引库中进行搜索,预期应该获取到的数据。

确定被测搜索引擎的待测试api,从预设测试脚本库获取与待测试接口对应的测试用例数据和与测试用例数据对应的第一测试脚本。先基于待测试api执行测试用例数据,即基于该api访问搜索引擎,获取到与测试用例数据中的搜索关键词、搜索规则和排序规则对应的搜索结果。

步骤s30,确定与所述测试用例数据对应的预期数据。

步骤s40,执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比。

步骤s50,重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。

测试人员预先根据测试用例数据中的搜索关键词、搜索规则、排序方式确定对应的预期数据。在测试用例执行完成后,执行第一测试脚本。可以理解的是,由于测试脚本库中有多个第一测试脚本,每个第一测试脚本又对应于多个测试用例数据,因此,可以在多个测试用例数据全部执行完成之后,执行第一测试脚本。执行第一测试脚本以将搜索结果与对应的预期数据进行断言对比。重复上述过程,直至测试脚本库中的测试用例数据和第一测试脚本全部执行完毕,根据脚本的执行结果和测试覆盖率情况生成测试报告。

可选地,作为一种实施方式,预先创建定时测试任务,可以是每间隔预设时间启动一次测试任务,例如:每日8点启动测试任务,执行测试脚本库中的测试用例数据和第一测试脚本。在到达设定的时间时,或者,在两次测试的时间间隔达到预设的时间间隔时,启动测试任务使用预先创建好的第一测试脚本以及对应的测试用例数据对待测试的搜索引擎的api进行测试。

此外,关于第一测试脚本的编写,测试人员可以基于预先引入的自动化测试框架、以及预先封装的通用方法库编写第一测试脚本。第一测试脚本的执行也要基于上述自动化测试框架,并且在脚本的执行过程中,需要调用方法库中的方法。

本实施例提出的搜索引擎的测试方法,确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与测试用例数据对应的第一测试脚本;基于待测试接口,执行与待测试接口对应的测试用例数据以获取搜索结果;确定与测试用例数据对应的预期数据;执行与测试用例数据对应的第一测试脚本,以将搜索结果与预期数据进行断言对比;重复执行上述步骤,直至测试脚本库中的测试用例数据和第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。本方案中,通过测试用例数据获取搜索结果,基于第一测试脚本将实际搜索结果与预期数据进行断言对比并生成测试报告,实现了全自动化的测试过程,无需测试人员人工输入关键词,也无需人工对比结果,提高了搜索引擎的测试效率。

进一步地,在其他实施例中,该方法还包括步骤:

获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本,以更新所述数据库,其中,所述搜索引擎在判定所述数据库有数据更新操作时,按照数据抽取逻辑从所述数据库抽取更新的数据至索引库;

在检测到所述被测搜索引擎对所述数据库执行数据抽取操作后,确定抽取到索引库中的更新数据;

根据所述第二测试脚本确定预期抽取数据,并将确定的更新数据与所述预期抽取数据进行对比,以判断所述数据抽取逻辑是否有误;

若所述更新数据与所述预期抽取数据一致,则判定所述数据抽取逻辑正确;

若所述更新数据与所述预期抽取数据不一致,则判定所述数据抽取逻辑有误,输出错误提示信息。

搜索引擎按照数据抽取逻辑将对接的各个业务系统的数据库中的非结构化数据抽取出来,将其转换为结构化数据后存储,并且根据业务系统的数据更新情况,实时或者定时地从业务系统按照数据抽取逻辑抽取数据,添加或更新到索引库。

该实施例中,通过第二测试脚本对一数据库中的数据进行更新,在更新后,由搜索引擎按照数据抽取逻辑从该数据库中抽取更新的数据,由于对于测试人员来说,在编写第二测试脚本时,已经明确会更新哪些数据,即根据第二测试脚本可以确定预期抽取数据。因此在搜索引擎按照数据抽取逻辑从该数据库中抽取更新的数据后,将确定的更新数据与预期抽取数据进行对比,则可以判断数据抽取逻辑是否有误。

其中,搜索引擎通过消息触发的方式更新搜索数据,消息触发可以有以下实现方式:由发生数据更新的业务系统主动发出更新消息,搜索引擎根据更新消息从业务系统抽取更新的数据;或者,搜索引擎通过对业务系统的数据库的实时监听,当监听到有数据变化时,对更新部分的数据进行抽取;或者,由搜索引擎定时地从业务系统的数据库做增量或者全量的数据抽取。

或者,作为一种实施方式,获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本的步骤之后,所述方法还包括步骤:向所述被测搜索引擎发送数据变更的提示信息,以供所述搜索引擎根据所述提示信息判断所述数据库是否有数据更新操作,其中,当所述搜索引擎在接收到所述提示信息时,判定所述数据库中有数据更新操作。搜索引擎开始根据数据抽取逻辑从数据库中抽取更新的数据。

本发明还提供一种搜索引擎的测试装置。参照图2所示,为本发明一实施例提供的搜索引擎的测试装置的内部结构示意图。

在本实施例中,搜索引擎的测试装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该搜索引擎的测试装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是搜索引擎的测试装置1的内部存储单元,例如该搜索引擎的测试装置1的硬盘。存储器11在另一些实施例中也可以是搜索引擎的测试装置1的外部存储设备,例如搜索引擎的测试装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括搜索引擎的测试装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于搜索引擎的测试装置1的应用软件及各类数据,例如搜索引擎的测试程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行搜索引擎的测试程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在搜索引擎的测试装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及搜索引擎的测试程序01的搜索引擎的测试装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对搜索引擎的测试装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,存储器11中存储有搜索引擎的测试程序01;处理器12执行存储器11中存储的搜索引擎的测试程序01时实现如下步骤:

确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本。

基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果。

确定与所述测试用例数据对应的预期数据。

执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比。

重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。

本实施例的方法中,搜索引擎的后台有多个需要测试的api(applicationprogramminginterface,应用程序编程接口),对于每一个待测试的api,测试人员可以为其编写一个或者多个第一测试脚本,其中,一个第一测试脚本对应于一个或者多个测试用例数据,所述测试用例数据中包含有搜索关键词、搜索规则和排序规则。将针对搜索引擎的所有api创建的第一测试脚本以及关联的测试用例数据存储至测试脚本库。

本实施例的方法中,将第一测试脚本与测试用例数据解耦,先执行测试用例数据从待测试的搜索引擎中获取搜索结果,再使用第一测试脚本将实际搜索结果与预期搜索结果进行对比。

预先设置的多个搜索关键词、多个搜索规则、多个排序方式;从中选择合适的搜索关键词、搜索规则、排序方式编写一个测试用例数据。同时,测试人员需要预先根据各个测试用例数据,构建好每一个测试用例数据对应的预期搜索结果。具体地,由于所述测试用例数据中包含有搜索关键词、搜索规则和排序规则,测试人员可以根据搜索关键词、搜索规则和排序规则从索引库中确定预期数据,预期数据为使用按照搜索关键词、搜索规则和排序规则在索引库中进行搜索,预期应该获取到的数据。

确定被测搜索引擎的待测试api,从预设测试脚本库获取与待测试接口对应的测试用例数据和与测试用例数据对应的第一测试脚本。先基于待测试api执行测试用例数据,即基于该api访问搜索引擎,获取到与测试用例数据中的搜索关键词、搜索规则和排序规则对应的搜索结果。

测试人员预先根据测试用例数据中的搜索关键词、搜索规则、排序方式确定对应的预期数据。在测试用例执行完成后,执行第一测试脚本。可以理解的是,由于测试脚本库中有多个第一测试脚本,每个第一测试脚本又对应于多个测试用例数据,因此,可以在多个测试用例数据全部执行完成之后,执行第一测试脚本。执行第一测试脚本以将搜索结果与对应的预期数据进行断言对比。重复上述过程,直至测试脚本库中的测试用例数据和第一测试脚本全部执行完毕,根据脚本的执行结果和测试覆盖率情况生成测试报告。

可选地,作为一种实施方式,预先创建定时测试任务,可以是每间隔预设时间启动一次测试任务,例如:每日8点启动测试任务,执行测试脚本库中的测试用例数据和第一测试脚本。在到达设定的时间时,或者,在两次测试的时间间隔达到预设的时间间隔时,启动测试任务使用预先创建好的第一测试脚本以及对应的测试用例数据对待测试的搜索引擎的api进行测试。

此外,关于第一测试脚本的编写,测试人员可以基于预先引入的自动化测试框架、以及预先封装的通用方法库编写第一测试脚本。第一测试脚本的执行也要基于上述自动化测试框架,并且在脚本的执行过程中,需要调用方法库中的方法。

本实施例提出的搜索引擎的测试装置,确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与测试用例数据对应的第一测试脚本;基于待测试接口,执行与待测试接口对应的测试用例数据以获取搜索结果;确定与测试用例数据对应的预期数据;执行与测试用例数据对应的第一测试脚本,以将搜索结果与预期数据进行断言对比;重复执行上述步骤,直至测试脚本库中的测试用例数据和第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。本方案中,通过测试用例数据获取搜索结果,基于第一测试脚本将实际搜索结果与预期数据进行断言对比并生成测试报告,实现了全自动化的测试过程,无需测试人员人工输入关键词,也无需人工对比结果,提高了搜索引擎的测试效率。

进一步地,在其他实施例中,所述搜索引擎的测试程序还可被所述处理器执行,以实现如下步骤:

获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本,以更新所述数据库,其中,所述搜索引擎在判定所述数据库有数据更新操作时,按照数据抽取逻辑从所述数据库抽取更新的数据至索引库;

在检测到所述被测搜索引擎对所述数据库执行数据抽取操作后,确定抽取到索引库中的更新数据;

根据所述第二测试脚本确定预期抽取数据,并将确定的更新数据与所述预期抽取数据进行对比,以判断所述数据抽取逻辑是否有误;

若所述更新数据与所述预期抽取数据一致,则判定所述数据抽取逻辑正确;

若所述更新数据与所述预期抽取数据不一致,则判定所述数据抽取逻辑有误,输出错误提示信息。

搜索引擎按照数据抽取逻辑将对接的各个业务系统的数据库中的非结构化数据抽取出来,将其转换为结构化数据后存储,并且根据业务系统的数据更新情况,实时或者定时地从业务系统按照数据抽取逻辑抽取数据,添加或更新到索引库。

该实施例中,通过第二测试脚本对一数据库中的数据进行更新,在更新后,由搜索引擎按照数据抽取逻辑从该数据库中抽取更新的数据,由于对于测试人员来说,在编写第二测试脚本时,已经明确会更新哪些数据,即根据第二测试脚本可以确定预期抽取数据。因此在搜索引擎按照数据抽取逻辑从该数据库中抽取更新的数据后,将确定的更新数据与预期抽取数据进行对比,则可以判断数据抽取逻辑是否有误。

其中,搜索引擎通过消息触发的方式更新搜索数据,消息触发可以有以下实现方式:由发生数据更新的业务系统主动发出更新消息,搜索引擎根据更新消息从业务系统抽取更新的数据;或者,搜索引擎通过对业务系统的数据库的实时监听,当监听到有数据变化时,对更新部分的数据进行抽取;或者,由搜索引擎定时地从业务系统的数据库做增量或者全量的数据抽取。

或者,作为一种实施方式,获取预先编写的第二测试脚本,在所述被测搜索引擎的索引库对接的数据库上执行所述第二测试脚本的步骤之后,所述方法还包括步骤:向所述被测搜索引擎发送数据变更的提示信息,以供所述搜索引擎根据所述提示信息判断所述数据库是否有数据更新操作,其中,当所述搜索引擎在接收到所述提示信息时,判定所述数据库中有数据更新操作。搜索引擎开始根据数据抽取逻辑从数据库中抽取更新的数据。

可选地,在其他的实施例中,搜索引擎的测试程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述搜索引擎的测试程序在搜索引擎的测试装置中的执行过程。

例如,参照图3所示,为本发明搜索引擎的测试装置一实施例中的搜索引擎的测试程序的程序模块示意图,该实施例中,搜索引擎的测试程序可以被分割为脚本获取模块10、第一测试模块20、数据获取模块30、第二测试模块40和报告生成模块50,示例性地:确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本;

脚本获取模块10用于:确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本;

第一测试模块20用于:基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果;

数据获取模块30用于:确定与所述测试用例数据对应的预期数据;

第二测试模块40用于:执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比;

脚本获取模块10、第一测试模块20、数据获取模块30和第二测试模块40重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕;

报告生成模块50根据第一测试脚本的执行情况生成测试报告。

上述脚本获取模块10、第一测试模块20、数据获取模块30、第二测试模块40和报告生成模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有搜索引擎的测试程序,所述搜索引擎的测试程序可被一个或多个处理器执行,以实现如下操作:

确定被测搜索引擎的待测试接口,从预设测试脚本库获取与待测试接口对应的测试用例数据和与所述测试用例数据对应的第一测试脚本;

基于所述待测试接口,执行与所述待测试接口对应的测试用例数据以获取搜索结果;

确定与所述测试用例数据对应的预期数据;

执行与所述测试用例数据对应的第一测试脚本,以将所述搜索结果与所述预期数据进行断言对比;

重复执行上述步骤,直至所述测试脚本库中的测试用例数据和所述第一测试脚本全部执行完毕,并根据第一测试脚本的执行情况生成测试报告。本发明计算机可读存储介质具体实施方式与上述搜索引擎的测试装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1