一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

会话机器人系统的测试方法、装置、电子设备和存储介质与流程

2022-08-13 15:58:35 来源:中国专利 TAG:


1.本公开涉及自动化测试领域,尤其涉及会话机器人系统的测试方法、装置、电子设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,用户与会话机器人系统的交互日益增多。在交互过程中,客户端在接收到用户输入的查询信息后可以生成请求并发送给会话机器人系统,触发会话机器人系统根据接收到的请求返回相应的回复信息,达到及时响应的效果。为保证用户可以得到正确的回复信息,往往需要对会话机器人系统进行测试。
3.相关技术中,测试人员可以在客户端上输入用于测试的会话内容,并发送给会话机器人系统,根据会话机器人系统的回复信息获取测试结果。
4.然而,上述方式测试方式中测试人员需要手动逐一输入多个会话内容以对会话机器人系统进行多方面的测试,存在测试效率低下的问题。


技术实现要素:

5.本公开提供一种会话机器人系统的测试方法、装置、电子设备、存储介质和计算机程序产品,以至少解决相关技术中会话机器人系统测试效率低下的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种会话机器人系统的测试方法,包括:
7.获取针对所述会话机器人系统的应答测试任务对应的测试用例;
8.按照与所述测试用例对应的测试方法,生成所述测试用例对应的应答测试请求;
9.将所述应答测试请求发送到所述会话机器人系统,所述会话机器人系统用于响应所述应答测试请求携带的会话内容而输出对应的实际应答内容;
10.接收所述会话机器人系统返回的所述实际应答内容,并根据所述实际应答内容确定所述应答测试任务对应的测试结果。
11.在一示例性实施例中,所述按照与所述测试用例对应的测试方法,生成所述测试用例对应的应答测试请求,包括:
12.将所述测试用例对应的测试用例参数导入到所述测试用例对应的测试方法;
13.按照所述测试方法所指示的测试请求生成方式,基于所述测试用例参数构造出所述测试用例对应的应答测试请求,以及确定所述应答测试请求对应的请求发送条件。
14.在一示例性实施例中,所述测试用例参数为多组测试用例参数,所述测试方法为针对不同类型会话内容的多个测试方法,所述将所述测试用例对应的测试用例参数导入到所述测试用例对应的测试方法,包括:
15.获取各组所述测试用例参数的参数类型标签;
16.针对每个所述测试方法,从所述多组测试用例参数中获取目标测试用例参数,并将所述目标测试用例参数导入到所述测试方法;所述目标测试用例参数的参数类型标签与
所述测试方法的会话内容类型相匹配。
17.在一示例性实施例中,所述将所述应答测试请求发送到所述会话机器人系统,包括:
18.响应于满足所述应答测试请求对应的请求发送条件,调用预设的虚拟客户端将所述应答测试请求发送到所述会话机器人系统的远程过程调用接口;所述远程过程调用接口用于响应所述应答测试请求调用语义识别服务识别所述应答测试请求携带的会话内容,并输出对应的实际应答内容。
19.在一示例性实施例中,所述接收所述会话机器人系统返回的所述实际应答内容,包括:
20.接收所述会话机器人系统针对所述应答测试请求返回的应答消息;
21.按照所述应答测试请求对应的传输协议解析所述应答消息,得到所述应答消息所携带的实际应答内容。
22.在一示例性实施例中,所述根据所述实际应答内容确定所述应答测试任务对应的测试结果,包括:
23.获取所述测试用例对应的预期应答内容;
24.基于所述预期应答内容和所述实际应答内容之间的差异,确定所述会话机器人系统的所述测试结果。
25.在一示例性实施例中,在所述根据所述实际应答内容确定所述应答测试任务对应的测试结果之后,还包括:
26.获取预设的测试报告模板,并根据所述测试结果和所述测试报告模板生成测试报告。
27.根据本公开实施例的第二方面,提供一种会话机器人系统的测试装置,包括:
28.测试用例获取单元,被配置为执行获取针对所述会话机器人系统的应答测试任务对应的测试用例;
29.请求生成单元,被配置为执行按照与所述测试用例对应的测试方法,生成所述测试用例对应的应答测试请求;
30.请求发送单元,被配置为执行将所述应答测试请求发送到所述会话机器人系统,所述会话机器人系统用于响应所述应答测试请求携带的会话内容而输出对应的实际应答内容;
31.测试结果获取单元,被配置为执行接收所述会话机器人系统返回的所述实际应答内容,并根据所述实际应答内容确定所述应答测试任务对应的测试结果。
32.在一示例性实施例中,所述请求生成单元,包括:
33.参数导入模块,被配置为执行将所述测试用例对应的测试用例参数导入到所述测试用例对应的测试方法;
34.请求构造模块,被配置为执行按照所述测试方法所指示的测试请求生成方式,基于所述测试用例参数构造出所述测试用例对应的应答测试请求,以及确定所述应答测试请求对应的请求发送条件。
35.在一示例性实施例中,所述测试用例参数为多组测试用例参数,所述测试方法为针对不同类型会话内容的多个测试方法,所述参数导入模块,具体被配置为执行:
36.获取各组所述测试用例参数的参数类型标签;
37.针对每个所述测试方法,从所述多组测试用例参数中获取目标测试用例参数,并将所述目标测试用例参数导入到所述测试方法;所述目标测试用例参数的参数类型标签与所述测试方法的会话内容类型相匹配。
38.在一示例性实施例中,所述请求发送单元,具体被配置为执行:
39.响应于满足所述应答测试请求对应的请求发送条件,调用预设的虚拟客户端将所述应答测试请求发送到所述会话机器人系统的远程过程调用接口;所述远程过程调用接口用于响应所述应答测试请求调用语义识别服务识别所述应答测试请求携带的会话内容,并输出对应的实际应答内容。
40.在一示例性实施例中,所述测试结果获取单元,具体被配置为执行:
41.接收所述会话机器人系统针对所述应答测试请求返回的应答消息;
42.按照所述应答测试请求对应的传输协议解析所述应答消息,得到所述应答消息所携带的实际应答内容。
43.在一示例性实施例中,所述测试结果获取单元,具体被配置为执行:
44.获取所述测试用例对应的预期应答内容;
45.基于所述预期应答内容和所述实际应答内容之间的差异,确定所述会话机器人系统的所述测试结果。
46.在一示例性实施例中,所述装置还包括:
47.测试报告生成单元,被配置为执行获取预设的测试报告模板,并根据所述测试结果和所述测试报告模板生成测试报告。
48.根据本公开实施例的第三方面,提供一种电子设备,包括:
49.处理器;
50.用于存储所述处理器可执行指令的存储器;
51.其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的会话机器人系统的测试方法。
52.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述任一项所述的会话机器人系统的测试方法。
53.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如上述任一项所述的会话机器人系统的测试方法。
54.本公开的实施例提供的技术方案至少带来以下有益效果:
55.终端可以获取针对会话机器人系统的应答测试任务对应的测试用例,按照与测试用例对应的测试方法,生成测试用例对应的应答测试请求,进而将应答测试请求发送到会话机器人系统,会话机器人系统可以响应应答测试请求携带的会话内容而输出对应的实际应答内容,则终端可以接收会话机器人系统返回的实际应答内容,并根据实际应答内容确定应答测试任务对应的测试结果。在本公开中,能够在获取测试用例后按照测试用例对应的测试方法,自动生成应答测试请求并触发会话机器人系统进行应答,避免手动逐一输入用于测试会话机器人系统的查询信息,有效提高针对会话机器人系统的测试效率。
56.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
58.图1是根据一示例性实施例示出的一种会话机器人系统的测试方法的应用环境图。
59.图2是根据一示例性实施例示出的一种会话机器人系统的测试方法的流程图。
60.图3是根据一示例性实施例示出的一种生成应答测试请求步骤的流程图。
61.图4是根据一示例性实施例示出的一种获取实际应答内容步骤的流程图。
62.图5是根据一示例性实施例示出的另一种会话机器人系统的测试方法的流程图。
63.图6是根据一示例性实施例示出的一种会话机器人系统的测试装置的框图。
64.图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
65.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
66.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
67.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
68.本公开所提供的一种会话机器人系统的测试方法,可以应用于如图1所示的应用环境中,该应用环境可以包括终端与会话机器人系统,终端可以通过网络与会话机器人系统通信。会话机器人系统可以对用户发送的信息进行语义识别并返回对应的应答内容,模拟人类与用户对话,会话机器人系统可以具有对应的数据存储系统,该数据存储系统可以存储会话机器人系统需要处理和调用的数据,实际应用中,数据存储系统可以集成在会话机器人系统上,也可以放在云上或其他网络服务器上。
69.在本公开中,终端可以获取针对会话机器人系统的应答测试任务对应的测试用例,并按照与测试用例对应的测试方法,生成测试用例对应的应答测试请求,进而可以将应答测试请求发送到会话机器人系统,会话机器人系统在接收到应答测试请求后,可以响应应答测试请求携带的会话内容,输出对应的实际应答内容,终端在接收到会话机器人系统返回的实际应答内容后,可以根据实际应答内容确定应答测试任务对应的测试结果。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等。便携式可穿戴
设备可为智能手表、智能手环、头戴设备等。会话机器人系统可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
70.图2是根据一示例性实施例示出的一种会话机器人系统的测试方法的流程图,如图2所示,以该方法用于终端中为例进行说明,可以包括以下步骤。
71.在步骤s210中,获取针对会话机器人系统的应答测试任务对应的测试用例。
72.作为一示例,应答测试任务可以是对会话机器人系统与用户应答交互的性能进行测试的任务,例如测试会话机器人系统如何应答接收到的会话内容。
73.测试用例可以是针对应答测试任务的任务描述,可以体现应答测试任务中的测试内容或策略,示例性地,测试用例的内容可以包括以下至少一项:测试用例参数、测试目标、测试步骤、预期结果。
74.在实际应用中,可以预先为会话机器人系统的应答测试任务构建对应的测试用例,进而在终端对会话机器人进行应答测试时,可以获取应答测试任务对应的测试用例。
75.在步骤s220中,按照与测试用例对应的测试方法,生成测试用例对应的应答测试请求。
76.作为一示例,测试方法可以用于指示应答测试请求的生成方式,例如测试方法可以是用于生成指定类型应答测试请求的请求生成逻辑,也可以是用于生成应答测试请求的模型或函数。
77.应答测试请求可以是用于请求会话机器人系统对指定会话内容进行应答的信息,换句话说,应答测试请求可以触发会话机器人系统对指定会话内容作出应答,其中,指定会话内容可以基于测试用例确定。
78.在获取到应答测试任务对应的测试用例后,即可确定测试用例对应的测试方法。每个测试用例可以是针对指定会话内容所设置的测试用例,如会话内容为文字或图片,或者可以同时包括文字和图片,用于对不同类型会话内容进行测试的测试用例可以分别有对应的测试方法,进而在获取到测试用例后,可以获取测试用例对应的测试方法,并按照该测试方法生成测试用例对应的应答测试请求。
79.在步骤s230中,将应答测试请求发送到会话机器人系统,会话机器人系统用于响应应答测试请求携带的会话内容而输出对应的实际应答内容。
80.在生成应答测试请求后,可以将该请求发送到会话机器人系统。会话机器人系统可以响应接收到的应答测试请求,对请求进行解析,从而得到应答测试请求中所携带的会话内容(该会话内容也可以称为测试query),获取并输出针对该会话内容的实际应答内容。
81.在步骤s240中,接收会话机器人系统返回的实际应答内容,并根据实际应答内容确定应答测试任务对应的测试结果。
82.具体实现中,会话机器人系统在输出实际应答内容后,可以将实际应答内容返回到终端。在接收到实际应答内容后,终端可以根据该实际应答内容确定出应答测试任务的测试结果。
83.上述会话机器人系统的测试方法中,终端可以获取针对会话机器人系统的应答测试任务对应的测试用例,按照与测试用例对应的测试方法,生成测试用例对应的应答测试请求,进而将应答测试请求发送到会话机器人系统,会话机器人系统可以响应应答测试请求携带的会话内容而输出对应的实际应答内容,则终端可以接收会话机器人系统返回的实
际应答内容,并根据实际应答内容确定应答测试任务对应的测试结果。在本公开中,能够在获取测试用例后按照测试用例对应的测试方法,自动生成应答测试请求并触发会话机器人系统进行应答,避免手动逐一输入用于测试会话机器人系统的查询信息,有效提高针对会话机器人系统的测试效率。
84.在一示例性实施例中,如图3所示,在步骤s220中,按照与测试用例对应的测试方法,生成测试用例对应的应答测试请求,可以包括:
85.在步骤s310中,将测试用例对应的测试用例参数导入到测试用例对应的测试方法。
86.作为一示例,测试用例参数可以是用于描述测试用例内容的参数信息,测试用例参数可以包括以下至少一种信息:会话内容、应答测试账号、应答测试请求类型。其中,会话内容可以包括文本形式会话内容和/或图片形式会话内容,针对文本形式会话内容,可以通过测试用例参数设置具体的文本信息;或者,也可以通过测试用例参数设定会话内容是通过点击预设信息而生成的,例如实际应用中,会话机器人针对用户客户端发送的信息返回应答内容后,可以相应提供“已解决”和“未解决”选项,或者可以针对用户发送的问题提供关联问题选项,用户通过点击任一选项可以触发用户客户端发送对应的文本信息,无需用户手动输入,在本实施例中也可以通过测试用例参数设置文本信息是通过点击预设选项而触发生成的,从而模拟实际应答过程中用户与会话机器人系统的多种对话场景。
87.在实际应用中,在获取到测试用例后,可以获取测试用例参数并将测试用例参数导入到该测试用例对应的测试方法中,从而使该测试方法可以接收到用于生成应答测试请求的相关参数。示例性地,测试用例参数可以记录在表格文件,例如通过excel表格预先存储测试用例参数,终端在获取测试用例的测试用例参数时,可以通过表格数据读取工具从中获取,例如通过xlrd工具读取,xlrd工具是python语言中用于读取excel表格信息的扩展工具。
88.在步骤s320中,按照测试方法所指示的测试请求生成方式,基于测试用例参数构造出测试用例对应的应答测试请求,以及确定应答测试请求对应的请求发送条件。
89.在将测试用例参数导入到测试方法后,则可以按照测试方法所指示测试请求生成方式,结合测试用例参数构造出测试用例对应的应答测试请求,并且可以基于测试用例参数确定出构造出的应答测试请求所对应的请求发送条件。
90.示例性地,在执行测试方法时,一个或多个测试方法可以预先存储在测试方法的记录文件中,终端可以将测试用例参数导入到预设的测试框架中,通过测试框架逐一执行记录文件中的每个测试,其中,测试框架也可以称为自动化测试框架,可以提供可重用的基础自动化测试模块,如预设的测试框架可以是pytest测试框架,是一个针对python语言的测试框架,pytest测试框架在执行测试用例时,预设目录下test_*.py格式或*_test.py格式的记录文件中test开头的测试方法都可以被执行,执行时可以将测试用例参数传入至测试方法中。
91.在本实施例中,通过将测试用例对应的测试用例参数导入到测试用例对应的测试方法,按照测试方法所指示的测试请求生成方式,基于测试用例参数构造出测试用例对应的应答测试请求,以及确定应答测试请求对应的请求发送条件,能够快速基于测试用例参数构造出对应的测试请求,避免测试人员通过编写大量打码的方式生成应答测试请求,有
效提高会话机器人系统的测试效率。
92.在一示例性实施例中,测试用例可以包括多个测试用例,每个测试用例都有对应的一组测试用例参数,相应地,测试用例参数为多组测试用例参数,而测试方法可以为针对不同类型会话内容的多个测试方法,在步骤s310中,将测试用例对应的测试用例参数导入到测试用例对应的测试方法,可以包括:
93.获取各组测试用例参数的参数类型标签;针对每个测试方法,从多组测试用例参数中获取目标测试用例参数,并将目标测试用例参数导入到测试方法;目标测试用例参数的参数类型标签与测试方法的会话内容类型相匹配。
94.作为一示例,参数类型标签可以指示测试用例参数所测试的会话内容类型。
95.在具体实现中,可以预先针对各组测试用例对应的测试用例参数设置参数类型标签。在读取到多组测试用例参数后,可以获取多个测试方法并读取每组测试用例参数的参数类型标签,进而针对每个测试方法,可以从多组测试用例中获取该测试方法对应的目标测试用例参数,然后将目标测试用例参数导入到该测试方法中。换句话说,本实施例中,可以通过参数类型标签对多组测试用例参数进行筛选,例如,在接收到测试指令后,可以确定测试指令所指示待测试的会话内容类型,进而针对该会话内容类型,可以根据参数类型标签,从已经读取的多组测试用例参数中获取相匹配的测试用例参数,并将该测试用例参数导入到对应的测试方法中。
96.在本实施例中,通过获取各组测试用例参数的参数类型标签,针对每个测试方法,根据参数类型标签,从多组测试用例参数中获取目标测试用例参数,并将目标测试用例参数导入到测试方法,能够将测试用例参数正确导入到相匹配的测试方法中,保证生成的应答测试请求的准确性。
97.在一示例性实施例中,在步骤s230中,将应答测试请求发送到会话机器人系统,可以包括如下步骤:
98.响应于满足应答测试请求对应的请求发送条件,调用预设的虚拟客户端将应答测试请求发送到会话机器人系统的远程过程调用接口;远程过程调用接口用于响应应答测试请求调用语义识别服务识别应答测试请求携带的会话内容,并输出对应的实际应答内容。
99.在具体实现中,可以预先封装虚拟客户端,该客户端也称为测试客户端,通过模拟已发布使用的客户端(如用户移动终端上安装的客户端app)而创建的,可以在会话机器人系统测试过程中作为向会话机器人系统发送应答测试请求的对象。
100.在将测试用例对应的测试用例参数导入到测试用例对应的测试方法后,可以构造出应答测试请求并确定出该请求对应的请求发送条件。当检测到请求发送条件满足时,终端可以调用虚拟客户端将应答测试请求发送到会话机器人系统的远程过程调用(rpc,remote procedure call)接口。具体例如,终端可以构造rpc请求(如grpc请求),并在满足请求发送条件时,调用虚拟客户端,由虚拟客户端将rpc请求发送到会话机器人系统的rpc接口(例如grpc接口)。
101.在会话机器人系统通过远程过程调用接口接收到应答测试请求后,远程过程调用接口可以响应该应答测试请求,调用预先构建的语义识别服务器对应答测试请求中所携带的会话内容进行识别,并根据识别结果输出对应的实际应答内容。例如,远程过程调用接口在接收到应答测试请求后,可以通过会话机器人系统的控制中台对应答测试请求进行预处
理,该控制中台还可以进行规则配置,进而可以调用语义识别服务对预处理后的应答测试请求进行识别,获取其中携带的会话内容,通过向量检索、算法模型等手段在预设的知识库匹配出置信度满足预设条件的实际应答内容。
102.在本实施例中,响应于满足应答测试请求对应的请求发送条件,可以调用预设的虚拟客户端将应答测试请求发送到会话机器人系统的远程过程调用接口,远程过程调用接口用于响应应答测试请求,可调用语义识别服务识别应答测试请求携带的会话内容,并输出对应的实际应答内容,本方案中,终端可以通过虚拟客户端绕过已发布和安装的用户客户端,直接访问会话机器人系统的远程过程调用服务,避免在已发布和安装的用户客户端上发送应答测试请求,保证外部因素影响测试结果,提高测试结果的准确性和可靠性。
103.在一示例性实施例中,如图4所示,在步骤s240中,接收会话机器人系统返回的实际应答内容,可以包括:
104.在步骤s41o中,接收会话机器人系统针对应答测试请求返回的应答消息。
105.在具体实现中,终端与会话机器人系统通信时,可以通过预设的传输协议进行通信,预设的传输协议可以使用平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,能够用于网络通信和数据存储,例如,在应答测试请求为grpc请求时,可以通过protobuf(google protocol buffer)数据协议进行终端与会话机器人系统系统之间的数据传输,该协议可用于定义数据交换的序列结构化数据格式。会话机器人系统在基于预设的传输协议通信时,若响应于应答测试请求并输出实际应答内容后,可以基于实际应答内容生成一应答消息,该应答消息可以是一个数据对象。
106.在步骤s42o中,按照应答测试请求对应的传输协议解析应答消息,得到应答消息所携带的实际应答内容。
107.进而在接收到会话机器人系统返回的应答消息后,可以按照应答测试请求对应的传输协议解析应答消息,得到应答消息所携带的实际应答内容。例如应答测试请求为grpc请求时,终端与会话机器人系统之间通过protobuf协议通信,则会话机器人系统返回的应答消息可以是一个pb(protobuf)数据对象,终端在通过预设测试框架(如pytest测试框架,是针对python语言的开源软件测试框架)执行测试方法时,测试框架不能直接对该数据对象进行处理,则可以先基于protobuf协议解析应答消息,根据解析结果得到测试框架可断言的实际应答内容,如字符串(string)。
108.在本实施例中,可以接收会话机器人系统针对应答测试请求返回的应答消息,并按照应答测试请求对应的传输协议解析应答消息,得到应答消息所携带的实际应答内容,准确识别出会话机器人系统返回的实际应答内容,为后续获取可靠的测试结果提供基础。
109.在一示例性实施例中,在步骤s240中,根据实际应答内容确定应答测试任务对应的测试结果,包括:
110.获取测试用例对应的预期应答内容;基于预期应答内容和实际应答内容之间的差异,确定会话机器人系统的测试结果。
111.具体地,可以针对每个测试用例,可以对测试用例的会话内容预先设置对应的预期应答内容,预期应答内容可以是针对会话内容的正确回复。在接收到会话机器人系统返回的实际应答内容后,终端可以获取测试用例对应的预期应答内容,并基于预期应答内容和实际应答内容之间的差异,确定会话机器人系统的测试结果,例如,若实际应答内容与预
期应答内容之间的差异程度小于或等于预设阈值,则可以确定测试通过,若实际应答内容与预期应答内容之间的差异程度大于预设阈值,则可以确定测试失败。
112.实际应用中,也可以基于预期应答内容和实际应答内容进行断言(断言(assertion)是一种在程序中的一阶逻辑),并将断言结果作为测试结果。
113.在本实施例中,可以获取测试用例对应的预期应答内容,基于预期应答内容和实际应答内容之间的差异,确定会话机器人系统的测试结果,能够快速获取到准确可靠的测试报告。
114.在一示例性实施例中,在步骤s240之后,所述方法还可以包括如下步骤:
115.获取预设的测试报告模板,并根据测试结果和测试报告模板生成测试报告。
116.具体实现中,可以预先设置测试报告模板,示例性地,测试报告模板中可以预先设置有多个版块内容,针对每个版块内容也可以预先定义版块内容的展示样式。进而在获取到测试结果后,可以获取预设的测试报告模板,并根据测试结果和测试报告模板生成测试报告,例如可以将测试结果导入到测试报告模板中,得到html格式的测试报告。
117.在本实施例中,可以根据测试结果和预设的测试报告模板生成测试报告,既可以避免手工编写测试报告而导致测试报告质量参差不齐,统一报告标准,也无需测试人员手动整理应答测试任务的测试报告,提升测试效率。
118.为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本公开实施例加以示例性说明,但应当理解的是,本公开实施例并不限于此。
119.实际应用中,用户的手机上可以预先下载并安装的手机客户端,当需要向会话机器人系统查询相关信息时,用户可以在手机客户端输入问题并通过手机客户端将问题发送到客户端的后端,进而通过客户端的后端调用会话机器人系统的远程过程调用服务(如grpc服务)。
120.在对会话机器人系统进行测试的一些方式中,测试人员可以重复用户使用会话机器人系统的过程,在手机中逐一输入用于测试的多条问题;或者,也可以借助第三方平台的测试工具(如jmeter)测试,在测试时,可以借助测试工具的接口测试功能,定义发送远程过程调用请求的通道,并根据该通道定义内容编写相关代码构造对应的请求,在请求构造完毕后将请求发送到会话机器人系统接口,并根据会话机器人系统返回的信息得到测试结果。然而前者需要手动逐一输入,后者也需要测试人员编写大量代码生成请求的资源包,例如jar包,并且测试结束后还需要测试人员手动编写测试报告,存在会话机器人系统测试效率低下的问题。
121.基于此,本公开提供了一种会话机器人系统的测试方法,如图5所示,测试人员可以通过表格文件预先配置测试用例集,并设置可服用的测试方法,测试用例集中记录有多个测试用例对应的测试用例参数。在测试时,终端可以调用xlrd读取表格文件中记录的测试用例参数,并传入到pytest测试框架中,进而测试框架在执行测试方法时,可以将测试用例参数导入到对应的测试方法中,并按照测试方法生成应答测试请求,同时调用预先封装的公用的虚拟客户端将应答测试请求发送会话机器人系统的grpc接口。针对接收到的应答测试请求,会话机器人系统可以调用语义识别服务对其进行识别,获取针对识别结果的实际应答内容,并按照应答测试请求对应的传输协议protobuf,生成pb数据对象并返回到虚拟客户端,由虚拟客户端将该数据对象转发给终端,终端在调用用于解析pb数据对象的方
法后,可以得到可用作断言的实际应答内容,进而可以将实际应答内容传入到pytest测试框架,pytest测试框架可以从测试用例集中获取对应的预期应答内容,并根据预期应答内容和实际应答内容进行断言,根据断言结果生成测试报告。
122.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
123.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
124.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的会话机器人系统的测试方法的会话机器人系统的测试装置。
125.图6是根据一示例性实施例示出的一种会话机器人系统的测试装置框图。参照图6,该装置包括测试用例获取单元601,请求生成单元602,请求发送单元603和测试结果获取单元604。
126.测试用例获取单元601,被配置为执行获取针对所述会话机器人系统的应答测试任务对应的测试用例;
127.请求生成单元602,被配置为执行按照与所述测试用例对应的测试方法,生成所述测试用例对应的应答测试请求;
128.请求发送单元603,被配置为执行将所述应答测试请求发送到所述会话机器人系统,所述会话机器人系统用于响应所述应答测试请求携带的会话内容而输出对应的实际应答内容;
129.测试结果获取单元604,被配置为执行接收所述会话机器人系统返回的所述实际应答内容,并根据所述实际应答内容确定所述应答测试任务对应的测试结果。
130.在一示例性实施例中,所述请求生成单元,包括:
131.参数导入模块,被配置为执行将所述测试用例对应的测试用例参数导入到所述测试用例对应的测试方法;
132.请求构造模块,被配置为执行按照所述测试方法所指示的测试请求生成方式,基于所述测试用例参数构造出所述测试用例对应的应答测试请求,以及确定所述应答测试请求对应的请求发送条件。
133.在一示例性实施例中,所述测试用例参数为多组测试用例参数,所述测试方法为针对不同类型会话内容的多个测试方法,所述参数导入模块,具体被配置为执行:
134.获取各组所述测试用例参数的参数类型标签;
135.针对每个所述测试方法,从所述多组测试用例参数中获取目标测试用例参数,并将所述目标测试用例参数导入到所述测试方法;所述目标测试用例参数的参数类型标签与所述测试方法的会话内容类型相匹配。
136.在一示例性实施例中,所述请求发送单元,具体被配置为执行:
137.响应于满足所述应答测试请求对应的请求发送条件,调用预设的虚拟客户端将所述应答测试请求发送到所述会话机器人系统的远程过程调用接口;所述远程过程调用接口用于响应所述应答测试请求调用语义识别服务识别所述应答测试请求携带的会话内容,并输出对应的实际应答内容。
138.在一示例性实施例中,所述测试结果获取单元,具体被配置为执行:
139.接收所述会话机器人系统针对所述应答测试请求返回的应答消息;
140.按照所述应答测试请求对应的传输协议解析所述应答消息,得到所述应答消息所携带的实际应答内容。
141.在一示例性实施例中,所述测试结果获取单元,具体被配置为执行:
142.获取所述测试用例对应的预期应答内容;
143.基于所述预期应答内容和所述实际应答内容之间的差异,确定所述会话机器人系统的所述测试结果。
144.在一示例性实施例中,所述装置还包括:
145.测试报告生成单元,被配置为执行获取预设的测试报告模板,并根据所述测试结果和所述测试报告模板生成测试报告。
146.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
147.上述会话机器人系统的测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
148.图7是根据一示例性实施例示出的一种用于实现一种会话机器人系统的测试方法的电子设备700的框图。例如,电子设备700可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
149.参照图7,电子设备700可以包括以下一个或多个组件:处理组件702、存储器704、电源组件706、多媒体组件708、音频组件710、输入/输出(i/o)的接口712、传感器组件714以及通信组件716。
150.处理组件702通常控制电子设备700的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
151.存储器704被配置为存储各种类型的数据以支持在电子设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
152.电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
153.多媒体组件708包括在所述电子设备700和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括前置摄像头和/或后置摄像头。当电子设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
154.音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括麦克风(mic),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括扬声器,用于输出音频信号。
155.i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
156.传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到电子设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700组件的位置改变,用户与电子设备700接触的存在或不存在,设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
157.通信组件716被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
158.在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
159.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
160.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指
令,上述指令可由电子设备700的处理器720执行以完成上述方法。
161.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
162.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
163.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献