测试方法和装置与流程

文档序号:13031067阅读:146来源:国知局
测试方法和装置与流程

本申请涉及计算机技术领域,具体涉及智能机器人技术领域,尤其测试方法和装置。



背景技术:

自动应答机器人系统在应答时需要针对不同的情况提供不同的答案,即,影响答案的条件不同时,出现的结果也会不同。在实际验证答案准确性的过程中,需要对特定场景和条件下自动应答机器人应用是否可以根据设定的应答逻辑回答正确的答案进行测试。

现有技术中通常根据设定的应答逻辑人工设计特定的问答测试数据,然后将问答测试数据输入至问答接口后由应答逻辑处理完成后直接比对实际答案和预期答案。然而,人工处理时整理测试用例时间长,需要分析各种影响答案的接口、问题关键字等信息,且应答逻辑发生变化时需要重新分析应答逻辑并更新对应的测试用例。



技术实现要素:

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

第一方面,本申请提供了一种测试方法,所述方法包括:从应答引擎的待测试问题分类的应答逻辑信息中读取所述待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则;抽取所述待测试问题分类的各个应答规则所涉及的参数,形成影响所述待测试问题分类的答案的参数集合;针对各个预期答案,按照该预期答案所关联的应答规则为所述参数集合进行赋值,将已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对所述应答引擎进行测试的测试用例。

在一些实施例中,所述应答逻辑信息是以二叉树的结构进行存储的,其中,二叉树的各个非叶子节点分别用于记录单个参数的取值条件,二叉树的各个叶子节点分别用于记录预期答案。

在一些实施例中,所述从应答引擎的待测试问题分类的应答逻辑信息中读取所述待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则,包括:遍历所述二叉树,将所述二叉树中各个叶子节点记录的信息分别确定为预期答案;针对所述二叉树中的各个叶子节点,从叶子节点出发逐层访问父节点直至根节点并读取各个父节点中所记录的单个参数的取值条件,聚合读取到的单个参数的取值条件以形成与该叶子节点所记录的预期答案相关联的应答规则。

在一些实施例中,所述方法还包括:将所述测试用例中的输入参数输入至所述应答引擎进行处理;将所述应答引擎处理后输出的实际结果与所述输入参数在所述测试用例中关联的预期结果进行比对,生成测试结果。

在一些实施例中,所述方法还包括:将所述测试用例中的输入参数输入至测试用引擎进行处理,其中所述测试用引擎是预先基于测试用例中输入参数的格式对所述应答引擎中的输入接口进行修改而生成的;将所述测试用引擎处理后输出的实际结果与所述输入参数在所述测试用例中关联的预期结果进行比对,生成测试结果。

第二方面,本申请提供了一种测试装置,所述装置包括:读取单元,用于从应答引擎的待测试问题分类的应答逻辑信息中读取所述待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则;抽取单元,用于抽取所述待测试问题分类的各个应答规则所涉及的参数,形成影响所述待测试问题分类的答案的参数集合;生成单元,用于针对各个预期答案,按照该预期答案所关联的应答规则为所述参数集合进行赋值,将已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对所述应答引擎进行测试的测试用例。。

在一些实施例中,所述应答逻辑信息是以二叉树的结构进行存储的,其中,二叉树的各个非叶子节点分别用于记录单个参数的取值条 件,二叉树的各个叶子节点分别用于记录预期答案。

在一些实施例中,所述读取单元进一步用于:遍历所述二叉树,将所述二叉树中各个叶子节点记录的信息分别确定为预期答案;针对所述二叉树中的各个叶子节点,从叶子节点出发逐层访问父节点直至根节点并读取各个父节点中所记录的单个参数的取值条件,聚合读取到的单个参数的取值条件以形成与该叶子节点所记录的预期答案相关联的应答规则。

在一些实施例中,所述装置还包括:第一输入单元,用于将所述测试用例中的输入参数输入至所述应答引擎进行处理;第一比对单元,用于将所述应答引擎处理后输出的实际结果与所述输入参数在所述测试用例中关联的预期结果进行比对,生成测试结果。

在一些实施例中,所述装置还包括:第二输入单元,用于将所述测试用例中的输入参数输入至测试用引擎进行处理,其中所述测试用引擎是预先基于测试用例中输入参数的格式对所述应答引擎中的输入接口进行修改而生成的;第二比对单元,用于将所述测试用引擎处理后输出的实际结果与所述输入参数在所述测试用例中关联的预期结果进行比对,生成测试结果。

本申请提供的测试方法和装置,通过将影响答案逻辑的参数抽取并通过固定参数的方式结合预期答案生成测试用例,使得测试用例可以自动生成,且所生成的测试用例可以较完整准确地反映出应答引擎的应答逻辑。

附图说明

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

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

图2是根据本申请的测试方法的一个实施例的流程图;

图3示出了图2对应实施例中应答逻辑信息中数据存储结构的示意图

图4是根据本申请的测试方法的一个实施例的流程图;

图5是根据本申请的测试装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

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

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

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

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

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送测试请求等消息。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、软件测试应用等。

终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的应用提供支持的后台服务器。后台服务器可以对接收到的测试请求等数据进行处理,并将处理结果(例如测试结果)反 馈给终端设备。

需要说明的是,本申请实施例所提供的测试方法一般由服务器105执行,相应地,测试装置一般设置于服务器105中。

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

继续参考图2,示出了根据本申请的测试方法的一个实施例的流程200。所述的测试方法,包括以下步骤:

步骤201,从应答引擎的待测试问题分类的应答逻辑信息中读取待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则。

在本实施例中,电子设备可以读取应答引擎所对应的应答逻辑信息。其中,应答逻辑信息是预先存储的、用于对应答引擎的应答逻辑进行描述的信息。具体的,应答逻辑信息可以包括应答逻辑中涉及的各个答案规则和各预期答案。预期规则和所关联的预期答案可以是按照一定方式关联存储的。电子设备可以在读取该应答逻辑信息时,可以使用与关联存储方式相对应的读取方式进行信息读取,即可将各个预期答案以及分别与各个应答规则相关联的应答规则。其中,应答规则可以包括得到该预期答案被约束的各个参数以及这些参数所对应的取值条件。可选的,步骤201中的操作可以是电子设备响应于从外部接收到的生成应答引擎的测试用例的请求后触发的。

图3示出了应答逻辑信息中数据存储结构的示意图。其中,待测试问题分类共有3个预期答案,即答案1、答案2、答案3。与答案1关联的应答逻辑为参数1等于1,与答案2关联的应答逻辑是参数1等于2,与答案3关联的应答逻辑是参数2为空。

在本实施例的一些可选实现方式中,上述应答逻辑信息是以二叉树的结构进行存储的。其中,二叉树的各个非叶子节点分别用于记录单个参数的取值条件,二叉树的各个叶子节点分别用于记录预期答案。可选的,叶子节点所记录的可以是预期答案的标识,预期答案的具体描述内容可以是存储在其他位置,且该具体描述内容与所对应预期答案的标识关联存储。如此,二叉树只需对标识进行存储可以占用较小 的存储空间,在后续处理中只需要对标识进行处理也可以进一步提高后续处理的效率,所生成的测试用例也可以占用较小的空间。

在上述实现方式的一些可选实现方式中,上述步骤201具体可以通过如下步骤实现:首先,遍历用于存储应答逻辑信息的二叉树的节点,将二叉树中各个叶子节点记录的信息分别确定为预期答案;之后,针对二叉树中的各个叶子节点,从叶子节点出发逐层访问父节点直至根节点并读取各个父节点中所记录的单个参数的取值条件,将读取到的单个参数的取值条件进行聚合,从而获取到与该叶子节点所记录的预期答案相关联的应答规则。

步骤202,抽取待测试问题分类的各个应答规则所涉及的参数,形成影响待测试问题分类的答案的参数集合。

在本实施例中,步骤201所得到的各个应答规则相关联的应答规则中涉及的参数会影响到待测试问题分类的最终答案,因此,上述电子设备(例如图1所示的服务器)可以抽取出这些参数,所抽取的各个参数即可形成影响待测试问题分类的答案的参数集合。

以图3中示意图所描述的应答逻辑信息为例,各个应答规则涉及的参数包括参数1和参数2。即,参数1和参数2构成了影响待测试问题分类的答案的参数集合。

步骤203,针对各个预期答案,按照该预期答案所关联的应答规则为参数集合进行赋值,并使用已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对应答引擎进行测试的测试用例。

在本实施例中,针对步骤201中所获取到的各个预期答案,电子设备可以首先分别按照预期答案所关联的应答规则对步骤202所得到的参数集合中的各个参数进行赋值。对于一个预期答案,其所关联的应答规则可能涉及到参数集合中的一些参数,而另一些参数可能未被应答条件涉及。在进行赋值时,涉及到的参数可以根据该参数对应的取值条件进行赋值,未涉及到的参数则可以进行随机赋值或按照预设的规则进行赋值。需要说明的是,参数对应的取值条件也可能是某个参数为空值。

之后,电子设备可以将赋值后的已赋值参数集合作为输入参数, 并将该预期答案作为预期结果,并将两者关联存储生成测试用例。所生成的测试用例即可用于对上述应答引擎进行测试。

继续以图3中示意图所描述的应答逻辑信息为例,参数1和参数2构成了影响待测试问题分类的答案的参数集合。针对预期答案1,其对应的应答规则是参数1等于1,可以按这一规则将参数集合中的参数1赋值为1,将参数集合中的参数2赋值为1,之后将赋值后的参数集合(即参数1=1,参数2=2)作为输入参数并将答案1的标识(例如1)作为预期结果构成测试用例。同理,针对答案2,所生成的测试用例中输入参数可以是参数1=2、参数2=1,预期结果为2;针对答案3所生成的测试用例中输入参数可以是参数1为3、参数2为空,预期结果为3。

在本实施例的一些可选实现方式中,在步骤203之后,上述测试方法还包括:将测试用例中的输入参数输入至应答引擎进行处理;将应答引擎处理后输出的实际结果与输入参数在测试用例中关联的预期结果进行比对,生成测试结果。在该实现方式中,对于步骤203所生成的测试用例,电子设备可以首先将测试用例中的输入参数输入至应答引擎,以触发应答引擎执行相应的处理;接着,电子设备可以获取应答引擎处理后输出的实际结果;然后,电子设备可以将实际结果与上述输入参数在测试用例中关联的预期结果进行比对,从而根据比对结果生成测试结果。通常,当比对结果为两者一致时,则此次测试通过,否则测试不通过。需要说明的是,在测试用例中预期结果是预期答案的标识时,进行比对时可以对两者的标识进行比对。

本申请的上述实施例提供的方法通过将影响答案逻辑的参数抽取并通过固定参数的方式结合预期答案生成测试用例,使得测试用例可以自动生成,且所生成的测试用例可以完整准确地反映出应答引擎的应答逻辑。

进一步参考图4,其示出了测试方法的又一个实施例的流程400。该测试方法的流程400,包括以下步骤:

步骤401,从应答引擎的待测试问题分类的应答逻辑信息中读取 待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则。

在本实施例中,步骤401的具体处理可以参考图2对应实施例的步骤201,这里不再赘述。

步骤402,抽取待测试问题分类的各个应答规则所涉及的参数,形成影响待测试问题分类的答案的参数集合。

在本实施例中,在本实施例中,步骤402的具体处理可以参考图2对应实施例的步骤202,这里不再赘述。

步骤403,针对各个预期答案,按照该预期答案所关联的应答规则为参数集合进行赋值,并使用已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对应答引擎进行测试的测试用例。

在本实施例中,在本实施例中,步骤403的具体处理可以参考图2对应实施例的步骤203,这里不再赘述。

步骤404,将测试用例中的输入参数输入至测试用引擎进行处理。

在本实施例中,根据所生成的测试用例中输入参数的参数格式,可以预先对应答引擎中的输入接口进行修改,生成可用于接收测试用例中输入参数的测试用引擎。从而,电子设备可以将步骤403生成的测试用例的输入参数输入至该测试用引擎中,使得测试用引擎能够顺利对输入参数进行处理。可选的,步骤403的操作可以是电子设备响应于用户发出的测试请求而触发的。

步骤405,将测试用引擎处理后输出的实际结果与输入参数在测试用例中关联的预期结果进行比对,生成测试结果。

在本实施例中,测试用引擎在根据输入参数进行处理后可以输出实际结果,电子设备可以获取该实际结果并将该实际结果与输入参数在测试用例中关联的预期结果进行比对,从而根据比对结果确定测试结果。

从图4中可以看出,与图2对应的实施例相比,本实施例中的测试方法的流程400对修改了应答引擎的接口后所形成的测试用引擎进行测试,解决了一些应答引擎无法以参数方式进行输入的问题,提高了测试方案适用的通用性。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种测试装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例所述的测试装置500包括:读取单元501、抽取单元502和生成单元503。其中,读取单元501用于从应答引擎的待测试问题分类的应答逻辑信息中读取待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则;抽取单元502用于抽取待测试问题分类的各个应答规则所涉及的参数,形成影响待测试问题分类的答案的参数集合;生成单元503用于针对各个预期答案,按照该预期答案所关联的应答规则为参数集合进行赋值,将已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对应答引擎进行测试的测试用例。

在本实施例中,测试装置500的读取单元501、抽取单元502和生成单元503的具体处理可以参考图2对应实施例的步骤201、步骤202和步骤203,这里不再赘述。

在本实施例的一些可选实现方式中,应答逻辑信息是以二叉树的结构进行存储的,其中,二叉树的各个非叶子节点分别用于记录单个参数的取值条件,二叉树的各个叶子节点分别用于记录预期答案。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,读取单元501进一步用于:遍历二叉树,将二叉树中各个叶子节点记录的信息分别确定为预期答案;针对二叉树中的各个叶子节点,从叶子节点出发逐层访问父节点直至根节点并读取各个父节点中所记录的单个参数的取值条件,聚合读取到的单个参数的取值条件以形成与该叶子节点所记录的预期答案相关联的应答规则。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,测试装置500还包括:第一输入单元(未示出),用于将测试用例中的输入参数输入至应答引擎进 行处理;第一比对单元(未示出),用于将应答引擎处理后输出的实际结果与输入参数在测试用例中关联的预期结果进行比对,生成测试结果。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,测试装置500还包括:第二输入单元(未示出),用于将测试用例中的输入参数输入至测试用引擎进行处理,其中测试用引擎是预先基于测试用例中输入参数的格式对应答引擎中的输入接口进行修改而生成的;第二比对单元(未示出),用于将测试用引擎处理后输出的实际结果与输入参数在测试用例中关联的预期结果进行比对,生成测试结果。该实现方式的具体处理可以参考图4对应的实施例,这里不再赘述。

下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。

如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

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

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

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

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括读取单元、抽取单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,读取单元还可以被描述为“从应答引擎的待测试问题分类的应答逻辑信息中读取待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:从应答引擎的待测试问题分类的应答逻辑信息中读取所述待测试问题分类的至少一个预期答案以及分别与各个应答规则相关联的应答规则;抽取所述待测试问题分类的各个应答规则所涉及的参数,形 成影响所述待测试问题分类的答案的参数集合;针对各个预期答案,按照该预期答案所关联的应答规则为所述参数集合进行赋值,将已赋值参数集合作为输入参数并将该预期答案作为预期结果生成用于对所述应答引擎进行测试的测试用例。

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

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