智能问答系统的测试方法和装置与流程

文档序号:12837206阅读:559来源:国知局
智能问答系统的测试方法和装置与流程

本申请涉及计算机技术领域,具体涉及自动化测试技术领域,尤其涉及智能问答系统的测试方法和装置。



背景技术:

对于智能问答系统的自动化测试,其中的一个测试重点是判断输入问题是否能得到对应的期望答案。目前,现有通常采用如下技术方案来对智能问答系统进行测试:获取第一个输入问题在页面中所对应的界面元素;获取该界面元素的下一个界面元素所显示的内容,作为第一个输入问题的输出答案;获取该输出答案对应的界面元素之后的第二个界面元素所显示的内容,作为第二个输入问题的输出答案,以此类推,得到各个输入问题的输出答案;通过将各个输出答案分别与预存的与对应的输入问题对应的期望答案进行匹配来确定是否测试通过。

然而,上述方案只能针对一问一答的应用场景进行测试,对于一个问题返回多个答案的应用场景,现有技术不能获取一个输入问题的多个输出答案,从而难以正确地进行判断,难以得到正确的测试结果。



技术实现要素:

本申请的目的在于提出一种智能问答系统的测试方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种智能问答系统的测试方法,所述方法包括:通过智能问答系统执行测试用例,所述测试用例包括输入问题;获取执行结果界面中的显示所述输入问题的界面元素;按照界面元素的在所述执行结果界面中的位置,依次获取所述显示所述输入问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答 案集合中,直到下一界面元素所显示的文本为空;通过将所述答案集合中的答案与预存的与所述输入问题关联的期望答案进行匹配,确定所述用例是否测试通过。

在一些实施例中,所述通过将所述答案集合中的答案与预存的与所述输入问题关联的期望答案进行匹配,确定所述用例是否测试通过,包括:确定所述答案集合中是否存在与所述期望答案匹配的答案;如果存在,则确定测试通过,否则确定测试不通过。

在一些实施例中,所述确定所述答案集合中是否存在与所述期望答案匹配的答案,包括:逐一将答案集合中的答案与所述期望答案进行匹配;如果得到匹配成功的答案,则停止进行匹配,并确定所述答案集合中存在与所述期望答案匹配的答案。

在一些实施例中,在确定所述智能问答系统是否测试通过之后,所述方法还包括:如果测试通过,则在预存的测试结果信息集合中新增一条测试结果信息,所述测试结果信息包括以下信息:所述输入问题、所述期望答案和所述答案集合中与所述期望答案匹配成功的答案。

在一些实施例中,在确定所述智能问答系统是否测试通过之后,所述方法还包括:如果测试不通过,则在预存的测试结果信息集合中新增一条测试结果信息,所述测试结果信息包括以下信息:所述输入问题、所述期望答案和所述答案集合中的各个答案。

第二方面,本申请提供了一种智能问答系统的测试装置,所述装置包括:用例执行单元,用于通过智能问答系统执行测试用例,所述测试用例包括输入问题;界面元素获取单元,用于获取执行结果界面中的显示所述输入问题的界面元素;答案获取单元,用于按照界面元素的在所述执行结果界面中的位置,依次获取所述显示所述输入问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空;确定单元,用于通过将所述答案集合中的答案与预存的与所述输入问题关联的期望答案进行匹配,所述用例是否测试通过。

在一些实施例中,所述确定单元包括:第一确定子单元,用于确定所述答案集合中是否存在与所述期望答案匹配的答案;第二确定子 单元,用于,用于在所述第一确定子单元确定所述答案集合中存在与所述期望答案匹配的答案时确定测试通过,在所述第一确定子单元确定所述答案集合中不存在与所述期望答案匹配的答案时确定测试不通过。

在一些实施例中,所述第一确定子单元包括:匹配模块,用于逐一将答案集合中的答案与所述期望答案进行匹配;确定模块,用于在所述匹配模块得到匹配成功的答案时,停止进行匹配,并确定所述答案集合中存在与所述期望答案匹配的答案。

在一些实施例中,所述装置还包括:成功结果生成单元,用于在所述确定单元确定所述智能问答系统测试通过之后,在预存的测试结果信息集合中新增一条测试结果信息,所述测试结果信息包括以下信息:所述输入问题、所述期望答案和所述答案集合中与所述期望答案匹配成功的答案。

在一些实施例中,所述装置还包括:失败结果生成单元,用于在所述确定单元确定所述智能问答系统测试不通过之后,在预存的测试结果信息集合中新增一条测试结果信息,所述测试结果信息包括以下信息:所述输入问题、所述期望答案和所述答案集合中的各个答案。

本申请提供的智能问答系统的测试方法和装置,通过按照界面元素的在所述执行结果界面中的位置,依次获取所述显示所述问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空,获取到了所述问题的多个答案;并通过将所述答案集合中的答案与预存的与所述问题关联的期望答案进行匹配,确定所述用例是否测试通过,实现了对一个问题返回多个答案的应用场景,能够进行正确的判断,得到正确的测试结果。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的智能问答系统的测试方法的一个实施例的流 程图;

图3是根据本申请的智能问答系统的测试方法的一个数据处理的示例性示意图;

图4是根据本申请的智能问答系统的测试装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的测试服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的智能问答系统的测试方法或装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104、问答服务器105和测试服务器106。网络104用以在终端设备101、102、103和问答服务器105之间,问答服务器105和测试服务器106之间,以及测试服务器106和终端设备101、102、103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与问答服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如浏览器应用、在线客服应用、电商类应用、社交平台软件等。

终端设备101、102、103可以是支持浏览器应用或在线客服应用的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计 算机和台式计算机等等。

问答服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上的浏览器应用、在线客服应用等提供支持的数据库服务器或云服务器。问答服务器可以对接收到的问题分析处理,得到对应的答案,并将答案反馈给终端设备。

测试服务器106可以模拟用户输入问题,将问题发送给问答服务器105,并在问答服务器将答案反馈给终端设备后,从终端设备获取答案,并对获取的答案进行分析处理,得到测试结果。

需要说明的是,本申请实施例所提供的智能问答系统的测试方法可以由测试服务器106执行。相应地,智能问答系统的测试装置可以设置于测试服务器106中。

应该理解,图1中的终端设备、网络问答服务器和测试服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,图2示出了根据本申请的智能问答系统的测试方法的一个实施例的流程200。

如图2所示,本实施例的智能问答系统的测试方法包括以下步骤:

步骤201,通过智能问答系统执行测试用例,上述测试用例包括输入问题。

在本实施例中,智能问答系统的测试方法运行于其上的电子设备(例如图1所示的测试服务器)可以通过有线或无线的方式将测试用例发送到智能问答系统的服务器(例如图1所示的问答服务器),并请求该服务器执行该测试用例。

步骤202,获取执行结果界面中的显示上述输入问题的界面元素。

在本实施例中,电子设备可以通过有线过无线的方式从终端(例如图1所示的终端设备)获取执行结果界面。然后,根据上述输入问题,在执行结果界面中查找显示上述输入问题的界面元素。其中,界面元素可以用界面元素在执行结果界面中的索引表示,也可以用界面元素在执行结果界面中的位置表示。例如,执行结果界面可以是html(hypertextmarkuplanguage,超级文本标记语言)页面,电子设备 可以通过xpath对上述输入问题进行定位,得到显示上述输入问题的界面元素的索引i。其中i为正整数,xpath为xml(extensiblemarkuplanguage,可扩展标记语言)路径语言,是一种用来确定xml文档中某部分位置的语言。上述索引通常根据界面元素在执行结果界面中的位置进行排序。

步骤203,按照界面元素的在上述执行结果界面中的位置,依次获取上述显示上述输入问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空。

在本实施例中,电子设备可以根据界面元素的索引,依次获取显示上述输入问题的界面元素的索引之后的每一个索引对应的界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空。例如,假设执行结果界面是html页面、显示上述输入问题的界面元素的索引为i,电子设备可以通过xpath路径依次获取索引为i+1、i+2、…的界面元素所显示的文本,如果获取到,则加入答案集合中,继续获取下一个界面元素所显示的文本,如果没有获取到,则停止获取,步骤203结束。

步骤204,通过将上述答案集合中的答案与预存的与上述输入问题关联的期望答案进行匹配,确定上述测试用例是否测试通过。

在本实施例中,电子设备可以通过将上述答案集合中的答案与预存的与上述输入问题关联的期望答案进行字符串匹配,确定上述测试用例是否测试通过。此外,电子设备还可以通过将上述答案集合中的答案与预存的与上述输入问题关联的期望答案进行语义匹配,即计算答案与期望答案的语义相似度,并根据语义相似度来判断是否匹配。从而提高正确答案判断的准确率。

在本实施例的一些可选的实现方式中,步骤204可以包括:确定上述答案集合中是否存在与上述期望答案匹配的答案;如果存在,则确定测试通过,否则确定测试不通过。例如,以电商平台的在线智能客服为场景,输入问题为咨询某商品的问题(如“我想购买某商品”),得到的答案集合中包括:商品链接、商品活动信息等多个答案。其中, 只要有一个答案与上述期望答案匹配,电子设备就可以确定测试通过。

其中,在本实施例的一些可选的实现方式中,上述确定上述答案集合中是否存在与上述期望答案匹配的答案的处理可以包括:逐一将答案集合中的答案与上述期望答案进行匹配;如果得到匹配成功的答案,则停止进行匹配,并确定上述答案集合中存在与上述期望答案匹配的答案。通过该实现方式,加快了匹配的速度,从而提高了测试效率。

在本实施例的一些可选的实现方式中,在步骤204之后,本实施例的智能问答系统的测试方法还可以包括:如果测试通过,则在预存的测试结果信息集合中新增一条测试结果信息,上述测试结果信息包括以下信息:上述输入问题、上述期望答案和上述答案集合中与上述期望答案匹配成功的答案。通过该实现方式,保存了测试结果信息,从而可以为相关技术人员提供测试结果以供其参考。

在本实施例的一些可选的实现方式中,在步骤204之后,本实施例的智能问答系统的测试方法还可以包括:如果测试不通过,则在预存的测试结果信息集合中新增一条测试结果信息,上述测试结果信息包括以下信息:上述输入问题、上述期望答案和上述答案集合中的各个答案。通过该实现方式,保存了失败的测试结果信息,从而可以为相关技术人员提供失败测试结果以供其分析失败用例。

下面参考图3,图3示出了根据本实施例的智能问答系统的测试方法的一个数据处理的示例性示意图。

如图3所示,电子设备首先将测试用例301发送到智能问答系统执行,获取到执行结果页面302;然后根据执行结果页面302通过步骤203进行图3所示的获取答案集合处理,得到答案集合303;最后根据答案集合303和预存的期望答案304,通过步骤204进行图3所示的答案匹配处理,得到测试结果信息,并存入测试结果信息集合305。

本实施例提供的智能问答系统的测试方法,通过按照界面元素的在上述执行结果界面中的位置,依次获取上述显示上述问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中, 直到下一界面元素所显示的文本为空,获取到了上述问题的多个答案;并通过将上述答案集合中的答案与预存的与上述问题关联的期望答案进行匹配,确定上述用例是否测试通过,实现了对一个问题返回多个答案的应用场景,能够进行正确的判断,得到正确的测试结果。

进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种智能问答系统的测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于测试服务器中。

如图4所示,本实施例提供的智能问答系统的测试装置400包括:用例执行单元401、界面元素获取单元402、答案获取单元403以及确定单元404。其中,用例读取单元401用于通过智能问答系统执行测试用例,上述测试用例包括输入问题;界面元素获取单元402用于获取执行结果界面中的显示上述输入问题的界面元素;答案获取单元403用于按照界面元素的在上述执行结果界面中的位置,依次获取上述显示上述输入问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空;确定单元404用于通过将上述答案集合中的答案与预存的与上述输入问题关联的期望答案进行匹配,上述用例是否测试通过。

在本实施例中,用例执行单元401、界面元素获取单元402、答案获取单元403以及确定单元404的具体处理可分别参考图2对应实施例中步骤201、步骤202、步骤203以及步骤204的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,确定单元404可以包括:第一确定子单元(图中未示出),用于确定上述答案集合中是否存在与上述期望答案匹配的答案;第二确定子单元(图中未示出),用于,用于在第一确定子单元确定上述答案集合中存在与上述期望答案匹配的答案时确定测试通过,在第一确定子单元确定上述答案集合中不存在与上述期望答案匹配的答案时确定测试不通过。第一确定子单元和第二确定子单元的具体处理可参考图2对应实施例中相应实现方式的相关说明,在此不再赘述。

其中,在本实施例的一些可选的实现方式中,第一确定子单元可 以包括:匹配模块(图中未示出),用于逐一将答案集合中的答案与上述期望答案进行匹配;确定模块(图中未示出),用于在上述匹配模块得到匹配成功的答案时,停止进行匹配,并确定上述答案集合中存在与上述期望答案匹配的答案。通过该实现方式,加快了匹配的速度,从而提高了测试效率。

在本实施例的一些可选的实现方式中,本实施例提供的智能问答系统的测试装置400还可以包括:成功结果生成单元405,用于在上述确定单元确定上述智能问答系统测试通过之后,在预存的测试结果信息集合中新增一条测试结果信息,上述测试结果信息包括以下信息:上述输入问题、上述期望答案和上述答案集合中与上述期望答案匹配成功的答案。通过该实现方式,保存了测试结果信息,从而可以为相关技术人员提供测试结果以供其参考。

此外,在本实施例的一些可选的实现方式中,本实施例提供的智能问答系统的测试装置400还可以包括:失败结果生成单元406,用于在上述确定单元确定上述智能问答系统测试不通过之后,在预存的测试结果信息集合中新增一条测试结果信息,上述测试结果信息包括以下信息:上述输入问题、上述期望答案和上述答案集合中的各个答案。通过该实现方式,保存了失败的测试结果信息,从而可以为相关技术人员提供失败测试结果以供其分析失败用例。

本实施例提供的智能问答系统的测试装置,通过答案获取单元403按照界面元素的在上述执行结果界面中的位置,依次获取上述显示上述问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空,获取到了上述问题的多个答案;并通过确定单元404将上述答案集合中的答案与预存的与上述问题关联的期望答案进行匹配,确定上述用例是否测试通过,实现了对一个问题返回多个答案的应用场景,能够进行正确的判断,得到正确的测试结果。

下面参考图5,其示出了适于用来实现本申请实施例的测试服务器的计算机系统500的结构示意图。

如图5所示,计算机系统500包括中央处理单元(cpu)501,其 可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现, 或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括用例执行单元、界面元素获取单元、答案获取单元以及确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,用例执行单元还可以被描述为“通过智能问答系统执行测试用例的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:通过智能问答系统执行测试用例,所述测试用例包括输入问题;获取执行结果界面中的显示所述输入问题的界面元素;按照界面元素的在所述执行结果界面中的位置,依次获取所述显示所述输入问题的界面元素之后的每一个界面元素所显示的文本作为答案,加入答案集合中,直到下一界面元素所显示的文本为空;通过将所述答案集合中的答案与预存的与所述输入问题关联的期望答案进行匹配,确定所述用例是否测试通过。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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