一种用于生成搜索引擎相关性排序测试用例的方法与设备的制作方法

文档序号:6494141阅读:158来源:国知局
一种用于生成搜索引擎相关性排序测试用例的方法与设备的制作方法
【专利摘要】本发明的目的是提供一种用于生成搜索引擎相关性排序测试用例的方法与设备;通过获取待生成测试用例的用例描述文件;获取搜索引擎所返回的基于该用例描述文件中挖掘相关信息的输入数据,其中,该输入数据命中该搜索引擎相关性排序;根据该测试用例的预期相关信息,生成该测试用例的可执行用例文件;根据该输入数据,以及该可执行用例文件,确定该测试用例。与现有技术相比,本发明提出一种自动生成搜索引擎相关性排序的测试用例的方法与设备,基于关键路径覆盖,通过对搜索引擎模块进行内部代码改造,自动挖掘用例输入数据,自动生成用例预期内容,满足复杂众多的测试需求,极大地提高了生成测试用例的数量与效率,降低了用例维护成本。
【专利说明】一种用于生成搜索引擎相关性排序测试用例的方法与设备
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种用于生成搜索引擎相关性排序测试用例的技术。
【背景技术】
[0002]搜索引擎中关键词查询序列(query)与检索结果间的相关匹配程度,广义上用户查询的需求满足度,叫做搜索引擎的相关性。随着用户需求的越发多样化,搜索引擎相关性排序众多复杂,相关性排序改进的重心也更多的从基础检索后移至在线特征统计与计算,同时搜索引擎的国际化改造更强调在线执行时动态选择排序方法的机制,使得相关性排序测试复杂度大大增加。固定输入数据的自动化测试用例,常常由于策略耦合升级、接口调整、架构改造等,导致用例预期全部失败,测试用例维护成本极高。
[0003]因此,如何快速有效地生成搜索引擎相关性排序测试用例,成为本领域技术人员亟需解决的问题之一。

【发明内容】

[0004]本发明的目的是提供一种用于生成搜索引擎相关性排序测试用例的方法与设备。
[0005]根据本发明的一个方面,提供了 一种用于生成搜索引擎相关性排序测试用例的方法,其中,该方法包括以下步骤:
[0006]a获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息;
[0007]b获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序;
[0008]c根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件;
[0009]d根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。
[0010]根据本发明的另一方面,还提供了一种在搜索引擎端辅助用于生成搜索引擎相关性排序测试用例的方法,其中,该方法包括以下步骤:
[0011]A获取自用例生成设备发送的挖掘命令;
[0012]B根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序;
[0013]C将所述输入数据返回至所述用例生成设备。
[0014]根据本发明的又一方面,还提供了一种用于生成搜索引擎相关性排序测试用例的用例生成设备,其中,该设备包括:
[0015]用例获取装置,用于获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息;
[0016]数据获取装置,用于获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序;
[0017]用例生成装置,用于根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件;
[0018]用例确定装置,根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。
[0019]根据本发明的再一方面,还提供了一种辅助用于生成搜索引擎相关性排序测试用例的搜索引擎,其中,该搜索引擎包括:
[0020]命令获取装置,用于获取自用例生成设备发送的挖掘命令;
[0021]数据挖掘装置,用于根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序;
[0022]数据返回装置,用于将所述输入数据返回至所述用例生成设备。
[0023]根据本发明的再一方面,还提供了一种用于生成搜索引擎相关性排序测试用例的系统,包括如上述的用例生成设备及如上述的搜索引擎。
[0024]与现有技术相比,本发明提出一种自动生成搜索引擎相关性排序的测试用例的方法与设备,基于关键路径覆盖,通过对搜索引擎模块进行内部代码改造,自动挖掘用例输入数据,自动生成用例预期内容,满足复杂众多的测试需求,极大地提高了生成测试用例的数量与效率,降低了用例维护成本。
【专利附图】

【附图说明】
[0025]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0026]图1示出根据本发明一个方面的用于生成搜索引擎相关性排序测试用例的设备示意图;
[0027]图2示出根据本发明一个优选实施例的用于生成搜索引擎相关性排序测试用例的设备示意图;
[0028]图3示出根据本发明另一个方面的用于生成搜索引擎相关性排序测试用例的方法流程图;
[0029]图4示出根据本发明一个优选实施例的用于生成搜索引擎相关性排序测试用例的方法流程图。
[0030]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0031]下面结合附图对本发明作进一步详细描述。
[0032]图1示出根据本发明一个方面的用于生成搜索引擎相关性排序测试用例的设备示意图。用例生成设备I包括用例获取装置101、数据获取装置102、用例生成装置103和用例确定装置104。
[0033]用例获取装置101获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息。具体地,用例获取装置101例如通过约定的通信方式,与文件库等进行交互,获取待生成测试用例的用例描述文件。该文件库中例如存储有事先编写好的用例描述文件。在此,用例描述文件包括挖掘相关信息及预期相关信息。该挖掘相关信息与命中搜索引擎相关性排序的输入数据相对应,描述了用例需要挖掘满足何种搜索引擎相关性排序的输入数据。在此,搜索引擎相关性排序通过对用户输入关键词的理解和需求分析,在事先抓取的互联网网页镜像数据库中挑选出与用户搜索意图相匹配的优质网页展现给用户。主流搜索引擎常见的相关性排序方法有:主题匹配度高结果选取策略、权威性结果提权策略、作弊结果打压、飘红策略、标题(title)/摘要选取策略等。
[0034]该预期相关信息例如路径预期、表达式预期等,可用于判断获得的输入数据是否满足该预期,当满足时,用例通过,否则用例失败。
[0035]数据获取装置102获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。具体地,数据获取装置102例如通过将该用例描述文件中所包括的挖掘相关信息发送至搜索引擎2,随后接收该搜索引擎2所返回的基于该挖掘相关信息的输入数据;或者,通过对该挖掘相关信息的解析,获得对应的挖掘命令并发送至搜索引擎2,随后接收该搜索引擎2所返回的基于该挖掘命令的输入数据。在此,挖掘命令主要指策略和分支标识码,是指搜索引擎模块代码中的策略和分支的唯一标识。在此,输入数据命中该搜索引擎相关性排序,一般包括关键词query、模块上下游交互接口数据、策略中间数据等。
[0036]本领域技术人员应能理解上述获取输入数据的方式仅为举例,其他现有的或今后可能出现的获取输入数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0037]用例生成装置103根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件。具体地,用例生成装置103根据用例获取装置101所获取的用例描述文件,自该用例描述文件中提取用于生成测试用例的预期相关信息,如用例执行环境描述、用例执行动作描述、用例预期描述等,根据该预期相关信息,生成该测试用例的可执行用例文件,如通过加载用例模板,生成该可执行用例文件。
[0038]在此,该用例生成装置通过脚本实现,解析用例描述文件中的预期相关信息,如预期描述,读取文件配置,填充到用例模板中,生成可执行的用例文件。
[0039]在此,该可执行用例文件部署案例(case)执行环境,包括二进制程序版本、配置、词典等运行环境的部署。
[0040]该用例可执行文件负责根据输入数据启动查询过程,如输入至被测模块进行查询,得到对应的输出数据,进而,判断该输出数据是否符合用例预期。
[0041]本领域技术人员应能理解上述生成可执行用例文件的方式仅为举例,其他现有的或今后可能出现的生成可执行用例文件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0042]用例确定装置104根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。具体地,用例确定装置104根据数据获取装置102所获取的命中该搜索引擎相关性排序的输入数据,以及该用例生成装置103所生成的可执行用例文件,确定测试用例。
[0043]在此,该可执行用例文件还可包括用例预期,该用例预期例如策略路径(排序路径),模块上下游接口数据、策略中间输出数据,对于采集到的输入数据,可以进行用例预期,如将该输入数据与该用例预期进行匹配,当匹配时,即该输入数据满足该用例预期时,该测试用例通过,否则该测试用例失败。
[0044]优选地,用例生成设备I的各个装置之间是持续不断工作的。具体地,用例获取装置101获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息;数据获取装置102获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序;用例生成装置103根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件;用例确定装置104根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。在此,本领域技术人员应理解“持续”是指用例生成设备I的各装置分别按照设定的或实时调整的工作模式要求进行用例描述文件的获取、输入数据的获取、可执行用例文件的生成及测试用例的确定,直至该用例生成设备I在较长时间内停止获取待生成测试用例的用例描述文件。
[0045]现有的生成测试用例的方法受策略耦合升级、接口调整、架构改造等影响很大。例如,升级的上层策略导致了下层策略的命中率降低,使得原有挖掘的命中下层策略的输入数据,不能再命中策略(排序),导致一部分测试用例失败;又如,搜索引擎模块之间的接口调整变化、甚至接口数据不兼容,导致已有测试用例的输入数据不可用,用例失败;再如,搜索引擎的策略是依附在架构代码之中的,架构改造升级,一般会导致策略的执行顺序变化、策略命中率变化,所以,架构一旦升级改造,就会导致大部分的测试用例失败,用例的维护成本极大。
[0046]在此,本发明提出一种自动生成搜索引擎相关性排序的测试用例的方法与设备,基于关键路径覆盖,通过对搜索引擎模块进行内部代码改造,自动挖掘用例输入数据,自动生成用例预期内容,满足复杂众多的测试需求,极大地提高了生成测试用例的数量与效率,降低了用例维护成本。当用例由于策略耦合升级、接口调整、架构改造等影响,需要重新准备输入数据时,只需要根据用例描述文件,重新执行一次挖掘和生成过程即可,无需人工操作,大大降低了用例的维护成本。具体地,本发明相对现有技术带来的有益效果如下:
[0047]I)基于路径覆盖的测试用例,能有效地覆盖相关性排序的重大问题,根据排序路径可直接把问题定位在分支级别,极大地降低了追查问题的成本;
[0048]2)在线全自动挖掘,编写测试用例的过程,转化为极简单地填写用例描述文件的过程,无需手工准备测试数据,工程师接手成本极低,可以生成大量的测试用例来保证相关性排序测试覆盖率,生成测试用例效率大大提高;
[0049]3)测试用例维护成本极低,当用例非预期失败需要修复时,只需要根据用例描述文件,重新执行一次用例生成过程,测试用例即可再生,可复用性高,是可再生的自动化测试用例。
[0050]图2示出根据本发明一个优选实施例的用于生成搜索引擎相关性排序测试用例的设备示意图。用例生成设备I包括用例获取装置201、数据获取装置202、用例生成装置203和用例确定装置204,其中,数据获取装置202还包括命令发送单元202a和数据获取单元202b ;搜索引擎2包括命令获取装置205、数据挖掘装置206和数据返回装置207。以下参照图2对该优选实施例进行详细描述:具体地,用例获取装置201获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息;命令发送单元202a对所述挖掘相关信息进行解析,以获得对应的挖掘命令,并发送至所述搜索引擎;搜索引擎中的命令获取装置205获取自用例生成设备发送的挖掘命令;数据挖掘装置206根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序;数据返回装置207将所述输入数据返回至所述用例生成设备;用例生成设备I中的数据获取单元202b获取所述搜索引擎所返回的基于所述挖掘命令的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序;用例生成装置203根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件;用例确定装置204根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。其中,用例生成设备I中的用例获取装置201、用例生成装置203和用例确定装置204与图1所示对应装置相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
[0051]其中,用例生成设备I中的命令发送单元202a对所述挖掘相关信息进行解析,以获得对应的挖掘命令,并发送至所述搜索引擎。具体地,命令发送单元202a根据用例获取装置201所获取的用例描述文件,对该用例描述文件中所包括的挖掘相关信息进行解析,获得对应的挖掘命令,例如通过用户接口程序,发送至搜索引擎后台服务模块开放的测试接口。在此,挖掘命令主要指策略和分支标识码,是指搜索引擎模块代码中的策略和分支的唯一标识。
[0052]搜索引擎中的命令获取装置205获取自用例生成设备发送的挖掘命令。例如,通过用户接口程序,获取该挖掘命令。
[0053]数据挖掘装置206根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序。在此,该数据挖掘装置206根据该命令获取装置205所获取的挖掘命令,挖掘命中该搜索引擎相关性排序的输入数据,如挖掘命中策略或分支的输入数据,并推送到用例目录下,以作为测试用例的输入数据。
[0054]数据返回装置207将所述输入数据返回至所述用例生成设备。
[0055]用例生成设备I中的数据获取单元202b获取所述搜索引擎所返回的基于所述挖掘命令的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
[0056]优选地,该用例生成设备I还包括探针植入装置(未示出),该搜索引擎还包括探针接受装置(未示出)。该探针植入装置在所述搜索引擎的预定位置植入测试探针;该搜索引擎中的探针接受装置在预定位置接受所述用例生成设备所植入的测试探针;其中,该搜索引擎中的数据挖掘装置206根据挖掘命令中的排序标识,与所述排序路径中的排序标识进行匹配处理,其中,所述排序路径与所述测试探针相对应;当匹配成功时,将所述测试探针采集的数据作为所述输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。该用例生成设备I中的数据获取单元202b获取所述搜索引擎所返回的基于所述挖掘命令在所述测试探针中匹配所获得的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
[0057]在此,对搜索引擎模块的代码进行可测性改造,用例生成设备I中的探针植入装置在搜索引擎的预定位置植入测试探针,如在该搜索引擎的模块代码的策略和策略的重要分支的最终生效位置植入测试探针。在此,该测试探针用于排序标识和信息采集,该测试探针记录代码流程经过的策略路径(排序路径)和采集测试用例所需的输入数据,最后匹配接收到的挖掘命令与经过的排序路径是否一致来决定挖掘是否成功,若匹配成功,则输出采集的数据。在此,排序标识可通过为每个测试探针分配标识码,输出标识码,形成排序路径文件的形式实现;信息采集,可通过重载探针函数,对策略内部的各种数据类型的中间数据或模块间的接口数据输出到指定文件中。
[0058]在此,策略或重要分支的生效位置,一般指策略、重要分支最终产生作用的位置,而不是中间异常退出的位置,可认为,测试探针被经过了,则该策略或重要分支最终作用了,这些“预定位置”由策略开发工程师在策略制定阶段确定的。
[0059]在此,测试探针只覆盖策略的重要分支,植入测试探针过程如下伪代码:
[0060]
【权利要求】
1.一种用于生成搜索引擎相关性排序测试用例的方法,其中,该方法包括以下步骤: a获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息; b获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序; c根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件; d根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。
2.根据权利要求1所述的方法,其中,所述步骤b包括: bl对所述挖掘相关信息进行解析,以获得对应的挖掘命令,并发送至所述搜索引擎;b2获取所述搜索引擎所返回的基于所述挖掘命令的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
3.根据权利要求2所述的方法,其中,该方法还包括: -在所述搜索引擎的预定位置植入测试探针; 其中,所述步骤b2包括: -获取所述搜索引擎所返回的基于所述挖掘命令在所述测试探针中匹配所获得的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
4.根据权利要求3所述的方法,其中,所述可执行用例文件包括用例预期,其中,该方法还包括: -将在所述测试探针中匹配所获得的输入数据与所述用例预期进行匹配,以获得对应的匹配结果。
5.根据权利要求4所述的方法,其中,所述用例预期包括以下至少任一项: -路径预期,其具有粗测试粒度; -表达式预期,其具有细测试粒度。
6.根据权利要求1至5中任一项所述的方法,其中,所述步骤c包括: -根据所述测试用例的预期相关信息,加载用例模板,生成所述可执行用例文件; 其中,所述预期相关信息包括以下至少任一项: -用例执行环境描述; -用例执行动作描述; -用例预期描述。
7.一种在搜索引擎端辅助用于生成搜索引擎相关性排序测试用例的方法,其中,该方法包括以下步骤: A获取自用例生成设备发送的挖掘命令; B根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序; C将所述输入数据返回至所述用例生成设备。
8.根据权利要求7所述的方法,其中,该方法还包括: -在预定位置接受所述用例生成设备所植入的测试探针; 其中,所述步骤B包括: -根据挖掘命令中的排序标 识,与所述排序路径中的排序标识进行匹配处理,其中,所述排序路径与所述测试探针相对应; -当匹配成功时,将所述测试探针采集的数据作为所述输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
9.一种用于生成 搜索引擎相关性排序测试用例的用例生成设备,其中,该设备包括: 用例获取装置,用于获取待生成测试用例的用例描述文件,其中,所述用例描述文件包括与命中搜索引擎相关性排序的输入数据相对应的挖掘相关信息及所述测试用例的预期相关信息; 数据获取装置,用于获取搜索引擎所返回的基于所述挖掘相关信息的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序; 用例生成装置,用于根据所述测试用例的预期相关信息,生成所述测试用例的可执行用例文件;用例确定装置,用于根据所述输入数据,以及所述可执行用例文件,确定所述测试用例。
10.根据权利要求9所述的用例生成设备,其中,所述数据获取装置包括: 命令发送单元,用于对所述挖掘相关信息进行解析,以获得对应的挖掘命令,并发送至所述搜索引擎; 数据获取单元,用于获取所述搜索引擎所返回的基于所述挖掘命令的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
11.根据权利要求10所述的用例生成设备,其中,该设备还包括: 探针植入装置,用于在所述搜索引擎的预定位置植入测试探针; 其中,所述数据获取单元用于: -获取所述搜索引擎所返回的基于所述挖掘命令在所述测试探针中匹配所获得的输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
12.根据权利要求11所述的用例生成设备,其中,所述可执行用例文件包括用例预期,其中,该设备还包括: 匹配装置,用于将在所述测试探针中匹配所获得的输入数据与所述用例预期进行匹配,以获得对应的匹配结果。
13.根据权利要求12所述的用例生成设备,其中,所述用例预期包括以下至少任一项: -路径预期,其具有粗测试粒度; -表达式预期,其具有细测试粒度。
14.根据权利要求9至13中任一项所述的用例生成设备,其中,所述用例生成装置用于: -根据所述测试用例的预期相关信息,加载用例模板,生成所述可执行用例文件; 其中,所述预期相关信息包括以下至少任一项: -用例执行环境描述; -用例执行动作描述; -用例预期描述。
15.一种辅助用于生成搜索引擎相关性排序测试用例的搜索引擎,其中,该搜索引擎包括:命令获取装置,用于获取自用例生成设备发送的挖掘命令; 数据挖掘装置,用于根据所述挖掘命令,基于排序路径进行挖掘处理,以获得用于生成测试用例的输入数据,其中,所述输入数据命中搜索引擎相关性排序; 数据返回装置,用于将所述输入数据返回至所述用例生成设备。
16.根据权利要求15所述的搜索引擎,其中,该搜索引擎还包括: 探针接受装置,用于在预定位置接受所述用例生成设备所植入的测试探针; 其中,所述数据挖掘装置用于: -根据挖掘命令中的排序标识,与所述排序路径中的排序标识进行匹配处理,其中,所述排序路径与所述测试探针相对应; -当匹配成功时,将所述测试探针采集的数据作为所述输入数据,其中,所述输入数据命中所述搜索引擎相关性排序。
17.一种用于生成搜索引擎相关性排序测试用例的系统,包括如权利要求9至14中任一项所述的用例生成设备及如权利要求15或16所述的搜索引擎。
【文档编号】G06F17/30GK103902449SQ201210586591
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】谭广明, 孙宇, 孙巍巍, 韩彦俊 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1