一种车载语音SDK测试方法、装置及系统与流程

文档序号:26844381发布日期:2021-10-09 00:00阅读:401来源:国知局
一种车载语音SDK测试方法、装置及系统与流程
一种车载语音sdk测试方法、装置及系统
技术领域
1.本发明涉及车辆语音技术领域,具体地,涉及一种车载语音sdk测试方法、装置及系统。


背景技术:

2.车载语音系统是一种提高驾驶安全性以及增强驾驶体验的智能语音系统,可以辅助驾驶员实现语音导航,语音播放音乐等功能。车载语音系统通常包括安装在车辆上的客户端以及运行在云端的服务器。客户端与云服务器之间的语音功能测试是车载语音sdk(software development kit)研发上线过程中的核心环节之一。语音功能测试时,需要将不同的语音音频输入到车载语音sdk中,由车载语音sdk执行语音音频的操作,将操作结果传输到云端的服务器,云端的服务器根据操作结果确定车载语音sdk是否测试合格。
3.在现有技术中,车载语音sdk测试方法是根据智能网联终端的类型,确定与智能网联终端匹配的指令文本集合;根据指令文本集合中指令文本的播放顺序识别相应指令意图、以及根据各指令意图与相应应用的交互响应时长,确定读取指令文本集合中各指令文本的间隔;按照该间隔控制播放各指令文本,以依次获取与各指令文本对应的播放语音,且对播放语音进行意图识别并根据意图识别结果与相应应用进行交互处理;获取意图识别结果与相应应用进行交互处理的处理结果,并将处理结果与对应的预期结果进行对比,生成测试报告。由于测试指令播放依赖于预先设定好的指令播放时间、系统处理时间、应用响应时间等时间间隔,但在实际语音对话系统中,这些时间通常会由于系统资源、网络延迟等因素而动态变化。因此,在实际使用时无法保证指令能够按照预想的节奏依次播放和执行,进而造成车载语音sdk测试的稳定性较低。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种车载语音sdk测试方法、装置、存储介质及电子设备,以解决相关技术中车辆语音系统对语音指令的识别正确性较低的问题。
5.为了实现上述目的,本发明实施例的第一方面,提供一种车载语音sdk测试方法,应用于服务器,所述方法包括:
6.获取待测试车载语音sdk的测试信息;
7.根据所述测试信息确定测试用例信息,所述测试用例信息包括测试应用信息和测试比对信息;
8.向测试终端发送所述测试应用信息;
9.接收所述测试终端发送的测试结果信息,并将所述测试结果信息与所述测试比对信息进行比对,所述测试结果信息是所述测试终端根据所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果生成的;
10.根据比对结果生成测试报告。
11.可选地,所述测试信息包括所述待测试车载语音sdk的属性信息和测试任务信息;
12.所述根据所述测试信息确定测试应用信息,包括:
13.根据所述属性信息确定适配所述待测试车载语音sdk的待测试用例信息;
14.根据所述测试任务信息从所述待测试用例信息中确定所述测试应用信息。
15.可选地,所述将所述测试结果信息与所述测试比对信息进行比对,包括:
16.将所述测试结果信息中测试回调序列与所述测试比对信息中的比对回调序列进行比对,所述测试回调序列是所述测试终端根据所述待测试车载语音sdk对每一测试指令的测试回调按照接收顺序生成的;
17.将所述测试回调序列中每一测试回调对应的识别执行结果与所述测试比对信息中对应比对回调的比对执行结果进行比对;
18.所述根据比对结果生成测试报告,包括:根据回调序列比对结果以及执行识别比对结果生成所述测试报告。
19.本发明实施例的第二方面,提供一种车载语音sdk测试方法,应用于测试终端,所述方法包括:
20.接收服务器发送的测试应用信息;
21.根据所述测试应用信息对待测试车载语音sdk进行测试;
22.接收所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果,并根据所述测试回调以及所述执行结果生成测试结果信息;
23.向所述服务器发送所述测试结果信息。
24.可选地,所述根据所述测试应用信息对待测试车载语音sdk进行测试,包括:
25.按照所述测试应用信息中的测试步骤向所述待测试车载语音sdk发送首条测试指令;并,
26.在接收到所述待测试车载语音sdk针对所述测试步骤中的上一测试指令的测试回调的情况下,向所述待测试车载语音sdk发送所述测试步骤中的下一测试指令;
27.对接收到所述测试回调按照接收顺序进行排序,得到测试回调序列。
28.可选地,所述根据所述测试应用信息对待测试车载语音sdk进行测试,包括:
29.根据所述测试应用信息中的动作测试指令,对所述待测试车载语音sdk进行设置;
30.在接收到所述待测试车载语音sdk针对所述动作测试指令的测试回调的情况下,将所述测试应用信息中的音频测试指令输入到所述待测试车载语音sdk;
31.所述根据所述测试回调以及所述执行结果生成测试结果信息,包括:
32.在接收到所述待测试车载语音sdk针对所述音频测试指令的测试回调的情况下,根据所述动作测试指令的测试回调、所述音频测试指令的测试回调以及所述待测试车载语音sdk针对所述音频测试指令的音频执行结果,生成所述测试结果信息。
33.可选地,所述测试用例信息包括所述待测试语音sdk的属性信息和测试任务信息;
34.所述根据所述测试应用信息对待测试车载语音sdk进行测试,包括:
35.根据所述属性信息确定适配所述待测试车载语音sdk的待用测试文本;
36.根据所述测试任务信息从所述待用测试文本中确定测试用文本;
37.根据所述测试用文本对所述待测试车载语音sdk进行测试。
38.本发明实施例的第三方面,提供一种车载语音sdk测试装置,应用于服务器,所述装置包括:
39.获取模块,用于获取待测试车载语音sdk的测试信息;
40.确定模块,用于根据所述测试信息确定测试用例信息,所述测试用例信息包括测试应用信息和测试比对信息;
41.第一发送模块,用于向测试终端发送所述测试应用信息;
42.第一接收模块,用于接收所述测试终端发送的测试结果信息,并将所述测试结果信息与所述测试比对信息进行比对,所述测试结果信息是所述测试终端根据所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果生成的;
43.生成模块,用于根据比对结果生成测试报告。
44.可选地,确定模块,用于根据属性信息确定适配所述待测试车载语音sdk的待测试用例信息;
45.根据测试任务信息从所述待测试用例信息中确定所述测试应用信息,其中,所述测试信息包括所述待测试车载语音sdk的属性信息和所述测试任务信息。
46.可选地,所述第一接收模块,用于:
47.将所述测试结果信息中测试回调序列与所述测试比对信息中的比对回调序列进行比对,所述测试回调序列是所述测试终端根据所述待测试车载语音sdk对每一测试指令的测试回调按照接收顺序生成的;
48.将所述测试回调序列中每一测试回调对应的识别执行结果与所述测试比对信息中对应比对回调的比对执行结果进行比对;
49.所述生成模块,用于根据回调序列比对结果以及执行识别比对结果生成所述测试报告。
50.本发明实施例的第四方面,提供一种车载语音sdk测试装置,应用于测试终端,所述装置包括:
51.第二接收模块,用于接收服务器发送的测试应用信息;
52.测试模块,用于根据所述测试应用信息对待测试车载语音sdk进行测试;
53.第三接收模块,用于接收所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果,并根据所述测试回调以及所述执行结果生成测试结果信息;
54.第二发送模块,用于向所述服务器发送所述测试结果信息。
55.可选地,所述测试模块,用于按照所述测试应用信息中的测试步骤向所述待测试车载语音sdk发送首条测试指令;并,
56.在接收到所述待测试车载语音sdk针对所述测试步骤中的上一测试指令的测试回调的情况下,向所述待测试车载语音sdk发送所述测试步骤中的下一测试指令;
57.对接收到所述测试回调按照接收顺序进行排序,得到测试回调序列。
58.可选地,所述测试模块,用于根据所述测试应用信息中的动作测试指令,对所述待测试车载语音sdk进行设置;
59.在接收到所述待测试车载语音sdk针对所述动作测试指令的测试回调的情况下,将所述测试应用信息中的音频测试指令输入到所述待测试车载语音sdk;
60.所述第三接收模块,用于在接收到所述待测试车载语音sdk针对所述音频测试指令的测试回调的情况下,根据所述动作测试指令的测试回调、所述音频测试指令的测试回调以及所述待测试车载语音sdk针对所述音频测试指令的音频执行结果,生成所述测试结
果信息。
61.可选地,所述测试模块,用于根据属性信息确定适配所述待测试车载语音sdk的待用测试文本;
62.根据所述测试任务信息从所述待用测试文本中确定测试用文本;
63.根据所述测试用文本对所述待测试车载语音sdk进行测试,其中,所述测试用例信息包括所述待测试语音sdk的所述属性信息和所述测试任务信息。
64.本发明实施例的第五方面,提供一种车载语音sdk测试系统,包括:服务器和测试终端,其中,
65.所述服务器用于获取待测试车载语音sdk的测试信息;根据所述测试信息确定测试用例信息,所述测试用例信息包括测试应用信息和测试比对信息;向测试终端发送所述测试应用信息;
66.所述测试终端用于接收服务器发送的测试应用信息;根据所述测试应用信息对待测试车载语音sdk进行测试;接收所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果,并根据所述测试回调以及所述执行结果生成测试结果信息;向所述服务器发送所述测试结果信息。
67.所述服务器还用于接收所述测试终端发送的测试结果信息,并将所述测试结果信息与所述测试比对信息进行比对;根据比对结果生成测试报告。
68.本发明实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤,或者,该程序被处理器执行时实现第二方面中任一项所述方法的步骤。
69.本发明实施例的第七方面,提供一种电子设备,包括:
70.存储器,其上存储有计算机程序;
71.处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤,或者,以实现第一方面中任一项所述方法的步骤。
72.上述技术方案,至少可以达到以下技术效果:
73.通过获取待测试车载语音sdk的测试信息;根据所述测试信息确定测试用例信息,所述测试用例信息包括测试应用信息和测试比对信息;向测试终端发送所述测试应用信息;接收所述测试终端发送的测试结果信息,并将所述测试结果信息与所述测试比对信息进行比对,所述测试结果信息是所述测试终端根据所述待测试车载语音sdk对所述测试应用信息的测试回调以及执行结果生成的;根据比对结果生成测试报告。这样,基于车载语音sdk对测试应用信息的测试回调进行测试,在车载语音sdk测试过程中,测试指令之间相互不会影响,提高了车载语音sdk测试的稳定性。
74.本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
75.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
76.图1是根据一示例性示出的一种车载语音sdk测试方法的流程图;
77.图2是根据一示例性示出的一种服务器与测试终端的连接示意图;
78.图3是根据一示例性示出的一种实现图1中步骤s12的流程图;
79.图4是根据一示例性示出的另一种车载语音sdk测试方法的流程图;
80.图5是根据一示例性示出的一种车载语音sdk测试方法的流程图;
81.图6是根据一示例性示出的一种实现图4中步骤s42的流程图;
82.图7是根据一示例性示出的另一种车载语音sdk测试方法的流程图;
83.图8是根据一示例性示出的一种车载语音sdk测试装置700的框图;
84.图9是根据一示例性示出的一种车载语音sdk测试装置100的框图;
85.图10是根据一示例性示出的一种车载语音sdk测试系统的框图;
86.图11是根据一示例性实施例示出的一种电子设备800的框图;
87.图12是根据一示例性实施例示出的一种电子设备1900的框图。
具体实施方式
88.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
89.下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
90.需要说明的是,在本发明中,说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为描述特定的顺序或先后次序。同理,术语“s1421”、“s4201”等用于区别步骤,而不必理解为按照特定的顺序或先后次序执行方法步骤。
91.在现有技术中,车载语音sdk的测试方法通过将待测试文本指令转为语音,再用音响播放给被测试的车载语音sdk。若同时做多组测试或测试多个车载语音sdk,需要准备多组音响系统,然而不同音响系统之间需要物理隔离以避免串音干扰。因此,不具备可扩展性。并且,车载语音sdk获取的语音质量受传播、终端拾音影响,例如受环境噪声影响,不符合端到端测试的要求,无法保障测试结果的稳定性。此外,将待测试文本指令转为语音,语音为合成音,不是真实的自然语音,对真实用户使用场景的模拟程度差,测试拟真性不足。
92.此外,指令文本集合必须存储在与测试终端通过usb线物理相连的pc机上,对指令执行结果的日志抓取和分析也必须在此pc机上进行。缺乏灵活性,无法对测试用例、测试逻辑、测试程序进行快速迭代和部署,无法快速水平扩展多套不同环境不同用途的测试系统,无法利用云端计算资源。以及,测试指令播放依赖于预先设定好的指令播放时间、系统处理时间、应用响应时间等时间间隔。但在实际语音对话系统中,这些时间通常会由于系统资源、网络延迟等因素而动态变化。因此,在实际使用时无法保证指令能够按照预想的节奏依次播放和执行,车载语音sdk测试的稳定性较低。
93.有鉴于此,本发明提供一种车载语音sdk测试方法、装置、存储介质及电子设备,以解决现有技术中存在的车载语音sdk测试结果稳定性低的问题,并在提高车载语音sdk测试
的稳定性的同时,降低测试过程中受环境噪音、终端拾音等影响,增加车载语音sdk测试的可迭代性。
94.图1是根据一示例性示出的一种车载语音sdk测试方法的流程图,参考图1所示,方法包括以下步骤。
95.在步骤s11中,获取待测试车载语音sdk的测试信息。
96.在步骤s12中,根据测试信息确定测试用例信息,测试用例信息包括测试应用信息和测试比对信息。
97.在步骤s13中,向测试终端发送测试应用信息。
98.在步骤s14中,接收测试终端发送的测试结果信息,并将测试结果信息与测试比对信息进行比对,测试结果信息是测试终端根据待测试车载语音sdk对测试应用信息的测试回调以及执行结果生成的。
99.在步骤s15中,根据比对结果生成测试报告。
100.参见图2所示,设置在云端的服务器配置有基于testng测试框架开发的云端测试程序,并部署有一套appium服务。与服务器通信连接的测试终端安装有测试触点安卓应用,可以将待测试车载语音sdk集成于该应用内部。服务器的测试程序借助appium服务与测试终端通信,将测试应用信息发送至测试终端,测试触点应用可以基于测试应用信息,启动并初始化车载语音sdk。
101.具体地,云端测试程序基于java单元测试的框架testng,用java语言开发。该程序可以部署在任意安装了jdk的云端服务器上,并通过maven test命令运行测试。该程序包含测试应用信息和测试比对信息,测试应用信息用于指示测试终端根据测试应用信息对车载语音sdk进行测试,测试比对信息用于对比车载语音sdk对测试应用信息的执行结果。
102.例如,根据测试信息调取测试用例,测试用例包括测试应用信息和测试比对信息,并将测试应用信息通过appium服务发送到与服务器通信的测试终端。并通过appium服务接受测试结果信息。
103.appium服务是用于自动化测试安卓、ios平台上应用的框架。appium服务是一个可以部署在任意服务器或pc机上的服务进程。部署appium服务的服务器与测试终端可以通过网络或usb进行连接。appium服务既可以提供基于http的接口与配置有云端测试程序的服务器进行通信,还可以与测试终端基于特定协议,例如,安卓平台下为uiautomator2进行网络通信,从而远程控制测试终端上的应用。
104.测试触点应用是一个运行在测试终端的应用,例如运行在车机或手机的安卓应用。该应用可以被appium服务远程控制。该应用只有一个空白主页面,当该页面被激活时,会根据激活指令附带的参数执行一系列测试相关的动作,并在接收到测试结果后将其写入文件。
105.待测试车载语音sdk与测试终端网络或者连接线连接,是提供语音唤醒、语音识别、语音检测、语义理解、智能对话及其他语音功能的软件系统,包含jar包、资源文件、库文件等安装在测试终端上的组件,以及对应的一组云端服务。待测试车载语音sdk可以被安卓应用集成,提供一系列接口和回调供应用调用或处理,从而接入智能语音功能。待测试车载语音sdk以依赖库的方式集成于测试触点应用中。测试触点应用可以直接调用待测试车载语音sdk的各个接口。
106.在具体实施时,通过maven test命令启动服务器的云端测试程序,启动时指定test group和test profile。云端测试程序根据待测试车载语音sdk的测试信息和test group加载所有需要运行的测试用例对应的测试应用信息以及测试比对信息,并调用appium服务的接口,将测试应用信息对应的test profile做为一组参数传入appium服务。appium服务根据test profile与测试终端上的测试触点应用进行通信,将其主页面激活,并告知其test profile。
107.进一步地,安装有测试触点应用的测试终端在激活过程中,根据test profile对待测试车载语音sdk进行初始化。服务器还需根据test group将测试用例所需要使用的音频文件,通过appium服务推送到测试终端上。
108.示例性地,若服务器是基于上一功能测试待测试语音sdk,音频文件如无变化,也可继续使用之前推送到测试终端的音频文件,而不再重新推送,以减少信令开销。例如,服务器在第一次测试时,将“打开车窗”的音频文件推送到测试终端,在第二测试时,若仍然测试该车载语音sdk的“打开车窗”功能,可以不发送“打开车窗”的音频文件,而只是发送测试启动的指令。
109.进一步地,服务器在发送测试应用信息后,进入休眠状态,在休眠时长达到预设时长的情况下,唤醒服务器,在服务器唤醒后,从测试终端主动拉取测试结果信息,这样可以降低服务器的功耗。其中,休眠时长根据测试应用信息的测试用例集的测试时长确定的。可选地,服务器在休眠状态,在接收到测试终端发送的测试结果信息后,基于测试结果信息唤醒服务器。
110.服务器可以在测试报告中给出待测试车载语音sdk测试是否通过的结论、不通过的用例列表以及语音识别错误的具体位置。
111.在实际应用中,服务器可以与多个测试终端连接,以向每一测试终端发送不同测试应用信息,由于测试终端与待测试车载语音sdk的对话均是通过网络或者连接线,测试终端输入的音频测试指令和动作测试指令均是通过网络或者连接线,即使测试终端没有隔离开,音频测试指令也不会相互影响,可以同时进行测试,不会相互影响。车载语音sdk获取的语音质量受传播、终端拾音不受环境噪声等影响,符合端到端测试的要求,保障测试结果的稳定性。
112.上述技术方案,通过获取待测试车载语音sdk的测试信息;根据测试信息确定测试用例信息,测试用例信息包括测试应用信息和测试比对信息;向测试终端发送测试应用信息;接收测试终端发送的测试结果信息,并将测试结果信息与测试比对信息进行比对,测试结果信息是测试终端根据待测试车载语音sdk对测试应用信息的测试回调以及执行结果生成的;根据比对结果生成测试报告。这样,基于车载语音sdk对测试应用信息的测试回调进行测试,在车载语音sdk测试过程中,测试指令之间相互不会影响,提高了车载语音sdk测试的稳定性。
113.具体地,在一实施例中,测试信息包括待测试车载语音sdk的属性信息和测试任务信息;
114.图3是根据一示例性示出的一种实现图1中步骤s12的流程图,参考图3所示,在步骤s12中,根据测试信息确定测试应用信息,包括:
115.在步骤s121中,根据属性信息确定适配待测试车载语音sdk的待测试用例信息。
116.在步骤s122中,根据测试任务信息从待测试用例信息中确定测试应用信息。
117.具体地,由于不同车载语音sdk存在一定的差异,例如基于操作系统不同,车载语音sdk的测试应用信息可能不同。服务器可以根据测试信息中待测试车载语音sdk的属性信息,确定适配待测试车载语音sdk的待测试用例信息。例如,服务器的依赖库中可以按照车载语音sdk的操作系统分类存储待测试应用信息,进而根据测试信息中的待测试车载语音sdk的属性信息,从依赖库中选取待测试应用信息的测试用音频,测试用音频是预先在实车上录制的与query文本对应的真人语音。
118.进一步地,测试任务信息可以表示每一次测试的一个或者多个车载语音的功能。根据测试任务信息中的功能从待测试应用信息中确定测试用音频。示例地,待测试应用信息包括所有功能对应的测试用例集,根据测试任务信息中的“打开车窗”功能,从所有功能的测试用音频中,确定“打开车窗”对应的测试用音频,进而包括将“打开车窗”的测试用音频的测试应用信息发送到测试终端。
119.采用上述技术方案,服务器可以根据测试信息中待测试车载语音sdk的属性信息和测试任务信息,确定包括出测试用音频的测试应用信息,可以真实地模拟用户使用场景,测试拟真性较高。
120.具体地,在一实施例中,图4是根据一示例性示出的另一种车载语音sdk测试方法的流程图,参考图4所示,在步骤s14中,将测试结果信息与测试比对信息进行比对,包括:
121.在步骤s141中,将测试结果信息中测试回调序列与测试比对信息中的比对回调序列进行比对,测试回调序列是测试终端根据待测试车载语音sdk对每一测试指令的测试回调按照接收顺序生成的。
122.在步骤s142中,将测试回调序列中每一测试回调对应的识别执行结果与测试比对信息中对应比对回调的比对执行结果进行比对。
123.在步骤s15中,根据比对结果生成测试报告,包括:在步骤s151中,根据回调序列比对结果以及执行识别比对结果生成测试报告。
124.在具体实施时,针对待测试车载语音sdk测试包括动作测试指令和音频测试指令两种类型。服务器根据测试信息确定动作测试指令和音频测试指令,例如,服务器用“0”表示测试终端输入测试音频指令到待测试车载语音sdk,用“1”表示测试终端调用待测试车载语音sdk的控件执行相应的动作。
125.示例性地,将测试结果信息中测试回调序列与测试比对信息中的比对回调序列进行比对,确定每一测试回调的时间节点与测试比对信息中的比对回调的时间节点是否一致,可以确定测试指令是否按照测试步骤的节奏依次播放和执行。
126.进一步地,确定每一测试回调对应的待测试车载语音sdk的执行结果,与测试比对信息中对应比对回调的比对执行结果是否一致,避免回调一致但是执行结果错误。
127.进一步地,对比文件执行结果,例如,在执行识别音频测试指令“打开空调”时,是否识别为“打开车窗”。
128.采用上述技术方案,可以根据回调序列和执行结果,生成测试报告,提高了车载语音sdk测试的灵活性。
129.基于相同的发明构思,本发明实施例还提供一种车载语音sdk测试方法,应用于测试终端,图5是根据一示例性示出的一种车载语音sdk测试方法的流程图,方法包括以下步
骤。
130.在步骤s41中,接收服务器发送的测试应用信息。
131.在步骤s42中,根据测试应用信息对待测试车载语音sdk进行测试。
132.在步骤s43中,接收待测试车载语音sdk对测试应用信息的测试回调以及执行结果,并根据测试回调以及执行结果生成测试结果信息。
133.在步骤s44中,向服务器发送测试结果信息。
134.在具体实施时,测试回调和执行结果具有对应关系,即每一测试回调都对应一个待测试车载语音sdk对测试应用信息的执行结果。服务器通过该测试结果信息与测试比对信息进行对比,生成测试报告。
135.具体地,在一实施例中,图6是根据一示例性示出的一种实现图5中步骤s42的流程图,在步骤s42中,根据测试应用信息对待测试车载语音sdk进行测试,包括:
136.在步骤s421中,按照测试应用信息中的测试步骤向待测试车载语音sdk发送首条测试指令。
137.在步骤s422中,在接收到待测试车载语音sdk针对测试步骤中的上一测试指令的测试回调的情况下,向待测试车载语音sdk发送测试步骤中的下一测试指令。
138.在步骤s423中,对接收到测试回调按照接收顺序进行排序,得到测试回调序列。
139.示例性地,在测试应用信息中包括三个测试步骤,第一个测试步骤为关闭车窗,第二个测试步骤为打开空调,第三个步骤为关闭空调。首先,测试终端输入唤醒指令到待测试车载语音sdk,在这种情况下,首条测试指令可以是指唤醒指令。
140.进一步地,在接收到待测试车载语音sdk针对唤醒指令的测试回调的情况下,测试终端输入“关闭车窗”的测试指令到待测试车载语音sdk,并在接收到待测试车载语音sdk针对“关闭车窗”的测试指令的测试回调的情况下,测试终端输入“打开空调”的测试指令到待测试车载语音sdk,并在接收到待测试车载语音sdk针对“打开空调”的测试指令的测试回调的情况下,测试终端输入“关闭空调”的测试指令到待测试车载语音sdk。这样,可以避免待测试车载语音sdk由于系统资源、网络延迟等因素造成执行测试指令时间不满足预设时间,导致测试失败的问题。
141.具体地,在一实施例中,图7是根据一示例性示出的另一种车载语音sdk测试方法的流程图,在步骤s42中,根据测试应用信息对待测试车载语音sdk进行测试,包括:
142.在步骤s4201中,根据测试应用信息中的动作测试指令,对待测试车载语音sdk进行设置。
143.在步骤s4202中,在接收到待测试车载语音sdk针对动作测试指令的测试回调的情况下,将测试应用信息中的音频测试指令输入到待测试车载语音sdk。
144.在步骤s43中,根据测试回调以及执行结果生成测试结果信息,包括:
145.在步骤s431中,在接收到待测试车载语音sdk针对音频测试指令的测试回调的情况下,根据动作测试指令的测试回调、音频测试指令的测试回调以及待测试车载语音sdk针对音频测试指令的音频执行结果,生成测试结果信息。
146.具体实施时,测试终端根据测试应用信息中的类型,确定输入音频测试指令到待测试车载语音sdk,或者调用待测试车载语音sdk的控件执行相应的动作。在一种实施方式中,音频测试指令由query字段指定,动作测试指令由method字段及method params字段指
定。每一个指令中的执行步骤都有一个execute by字段,表示在相应的时间节点执行此步骤。
147.示例性地,以修改车载语音sdk的唤醒指令和执行搜索“北京今天天气怎么样”的测试用例为例。测试用例以json格式定义,具体如下。
148.149.[0150][0151]
具体地,每一测试用例均由服务器生成唯一编号id和描述文字。例如,上述测试用例的唯一编号id为“2120005001”,编号id可以用于在比对过程中,确定对应的测试比对信息。描述文字为“测试用例1”。
[0152]
进一步地,测试终端在测试步骤中确定类型type为1,表示为动作测试指令,确定method字段为“change awaken word”,method params字段为“你好小白”,则测试终端调用待测试车载语音sdk修改唤醒指令的控件,将待测试车载语音sdk的唤醒指令修改为“你好小白”。
[0153]
进一步地,在“executeby”为“onstart”的情况下,调用依赖库中预先存储的真人语音“你好小白”,并输入到待测试车载语音sdk,以唤醒待测试车载语音sdk。
[0154]
进一步地,在“executeby”为“onasrlisteningstarted”的情况下,将类型type为0的音频测试指令输入到待测试车载语音sdk,例如,将query字段为“北京今天天气怎么样”的真人音频输入到待测试车载语音sdk。
[0155]
进一步地,在“executeby”为“on dialogue result”的情况下,测试终端调用待测试车载语音sdk的控件,以结束输入音频。例如:method字段为“finish”的动作测试指令输
入给待测试车载语音sdk,测试终端确定相应的执行结果。接收到待测试车载语音sdk“onwakeup:你好小白”,“onasrlisteningstarted”、“onvadstarted”、“onvadfinished”、“on asr listening stopped”、“on dialogue result”以及“asr results":["北京今天天气怎么样"]”等执行结果与测试比对信息中的比对对象“call backs”进行比对,生成相应地测试报告。
[0156]
在需要修改唤醒指令的情况下,仅需对“change awaken word”进行修改,需要修改其他测试指令时,也仅需修改相应的query字段、method字段及method params字段,可以对测试用例、测试逻辑、测试程序进行快速迭代和部署,快速水平扩展多套不同环境不同用途的测试系统,可以充分利用云端计算资源。
[0157]
具体地,在一实施例中,测试用例信息包括待测试语音sdk的属性信息和测试任务信息;
[0158]
根据测试应用信息对待测试车载语音sdk进行测试,包括:
[0159]
根据属性信息确定适配待测试车载语音sdk的待用测试文本;
[0160]
根据测试任务信息从待用测试文本中确定测试用文本;
[0161]
根据测试用文本对待测试车载语音sdk进行测试。
[0162]
具体实施时,测试终端可以基于不同车载语音sdk存在的差异,例如基于操作系统不同,车载语音sdk的测试应用信息可能不同。根据测试信息中待测试车载语音sdk的属性信息,确定适配待测试车载语音sdk的待用测试文本。例如,车载语音sdk以依赖库的方式集成与测试终端,依赖库中可以按照车载语音sdk的操作系统分类存储待测试应用信息,进而根据测试信息中的待测试车载语音sdk的属性信息,从依赖库中选取待测试应用信息。
[0163]
进一步地,测试任务信息可以表示每一次测试的一个或者多个车载语音的功能。根据测试任务信息中的功能从待用测试文本中确定测试用文本。示例地,待测试应用信息包括所有功能对应的测试用音频,该测试用音频是预先在实车上录制的与query文本对应的真人语音,根据测试任务信息中的“打开车窗”功能,从所有功能的测试用音频中,确定“打开车窗”对应的测试用音频,进而将“打开车窗”的测试用音频输入到待测试车载语音sdk。
[0164]
采用上述技术方案,可以根据测试信息中待测试车载语音sdk的属性信息和测试任务信息,确定出测试应用音频,可以真实地模拟用户使用场景,测试拟真性较高。
[0165]
基于相同的发明构思,本发明还提供一种车载语音sdk测试装置700,用于执行上述方法实施例提供的服务器端的车载语音sdk测试方法的步骤,该装置700可以以软件、硬件或者两者相结合的方式实现车载语音sdk测试方法。图8是根据一示例性示出的一种车载语音sdk测试装置700的框图,参考图8所示,装置700包括:获取模块710,确定模块720,第一发送模块730,第一接收模块740和生成模块750。
[0166]
其中,获取模块710,用于获取待测试车载语音sdk的测试信息;
[0167]
确定模块720,用于根据测试信息确定测试用例信息,测试用例信息包括测试应用信息和测试比对信息;
[0168]
第一发送模块730,用于向测试终端发送测试应用信息;
[0169]
第一接收模块740,用于接收测试终端发送的测试结果信息,并将测试结果信息与测试比对信息进行比对,测试结果信息是测试终端根据待测试车载语音sdk对测试应用信
息的测试回调以及执行结果生成的;
[0170]
生成模块750,用于根据比对结果生成测试报告。
[0171]
具体地,在一实施例中,确定模块720,用于根据属性信息确定适配待测试车载语音sdk的待测试用例信息;
[0172]
根据测试任务信息从待测试用例信息中确定测试应用信息,其中,测试信息包括待测试车载语音sdk的属性信息和测试任务信息。
[0173]
具体地,在一实施例中,第一接收模块740,用于:
[0174]
将测试结果信息中测试回调序列与测试比对信息中的比对回调序列进行比对,测试回调序列是测试终端根据待测试车载语音sdk对每一测试指令的测试回调按照接收顺序生成的;
[0175]
将测试回调序列中每一测试回调对应的识别执行结果与测试比对信息中对应比对回调的比对执行结果进行比对;
[0176]
生成模块750,用于根据回调序列比对结果以及执行识别比对结果生成测试报告。
[0177]
基于相同的发明构思,本发明还提供一种车载语音sdk测试装置100,用于执行上述方法实施例提供的测试终端端的车载语音sdk测试方法的步骤,该装置100可以以软件、硬件或者两者相结合的方式实现车载语音sdk测试方法。图9是根据一示例性示出的一种车载语音sdk测试装置100的框图,参考图9所示,装置100包括:第二接收模块110,测试模块120,第三接收模块130和第二发送模块140。
[0178]
其中,第二接收模块110,用于接收服务器发送的测试应用信息;
[0179]
测试模块120,用于根据测试应用信息对待测试车载语音sdk进行测试;
[0180]
第三接收模块130,用于接收待测试车载语音sdk对测试应用信息的测试回调以及执行结果,并根据测试回调以及执行结果生成测试结果信息;
[0181]
第二发送模块140,用于向服务器发送测试结果信息。
[0182]
具体地,在一实施例中,测试模块120,用于按照测试应用信息中的测试步骤向待测试车载语音sdk发送首条测试指令;并,
[0183]
在接收到待测试车载语音sdk针对测试步骤中的上一测试指令的测试回调的情况下,向待测试车载语音sdk发送测试步骤中的下一测试指令;
[0184]
对接收到测试回调按照接收顺序进行排序,得到测试回调序列。
[0185]
具体地,在一实施例中,测试模块120,用于根据测试应用信息中的动作测试指令,对待测试车载语音sdk进行设置;
[0186]
在接收到待测试车载语音sdk针对动作测试指令的测试回调的情况下,将测试应用信息中的音频测试指令输入到待测试车载语音sdk;
[0187]
第三接收模块130,用于在接收到待测试车载语音sdk针对音频测试指令的测试回调的情况下,根据动作测试指令的测试回调、音频测试指令的测试回调以及待测试车载语音sdk针对音频测试指令的音频执行结果,生成测试结果信息。
[0188]
具体地,在一实施例中,测试模块120,用于根据属性信息确定适配待测试车载语音sdk的待用测试文本;
[0189]
根据测试任务信息从待用测试文本中确定测试用文本;
[0190]
根据测试用文本对待测试车载语音sdk进行测试,其中,测试用例信息包括待测试
语音sdk的属性信息和测试任务信息。
[0191]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0192]
此外值得说明的是,为描述的方便和简洁,说明书中所描述的实施例均属于优选实施例,其所涉及的部分并不一定是本发明所必须的,例如,第二接收模块110和第三接收模块130,在具体实施时可以是相互独立的装置也可以是同一个装置,本发明对此不作限定。
[0193]
基于相同的发明构思,本发明还提供一种车载语音sdk测试系统。图10是根据一示例性示出的一种车载语音sdk测试系统的框图,参考图10所示,该车载语音sdk测试系统包括:服务器200,测试终端300,其中,
[0194]
服务器200用于获取待测试车载语音sdk的测试信息;根据测试信息确定测试用例信息,测试用例信息包括测试应用信息和测试比对信息;向测试终端300发送测试应用信息;
[0195]
测试终端300用于接收服务器200发送的测试应用信息;根据测试应用信息对待测试车载语音sdk进行测试;接收待测试车载语音sdk对测试应用信息的测试回调以及执行结果,并根据测试回调以及执行结果生成测试结果信息;向服务器200发送测试结果信息。
[0196]
服务器200还用于接收测试终端300发送的测试结果信息,并将测试结果信息与测试比对信息进行比对;根据比对结果生成测试报告。
[0197]
关于上述实施例中的系统,其中服务器和测试终端执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0198]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现服务器侧中任一项车载语音sdk测试方法的步骤,或者,该程序被处理器执行时实现测试终端侧中任一项车载语音sdk测试方法的步骤。
[0199]
本发明实施例还提供一种电子设备,包括:
[0200]
存储器,其上存储有计算机程序;
[0201]
处理器,用于执行存储器中的计算机程序,以实现服务器侧中任一项车载语音sdk测试方法的步骤,或者,以实现测试终端侧中任一项车载语音sdk测试方法的步骤。
[0202]
图11是根据一示例性实施例示出的一种电子设备800的框图。该电子设备800可以被配置为一种测试终端。如图11所示,该电子设备800可以包括:处理器810,存储器820。该电子设备800还可以包括多媒体组件830,输入/输出(i/o)接口840,以及通信组件850中的一者或多者。
[0203]
其中,处理器810用于控制该电子设备800的整体操作,以完成上述的车载语音sdk测试方法中的全部或部分步骤。存储器820用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器820可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read

only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read

only memory,简称eprom),可编程只读存储器
(programmable read

only memory,简称prom),只读存储器(read

only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件830可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器820或通过通信组件850发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口840为处理器810和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件850用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如wi

fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb

iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件850可以包括:wi

fi模块,蓝牙模块,nfc模块等等。
[0204]
在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的车载语音sdk测试方法。
[0205]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的车载语音sdk测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器820,上述程序指令可由电子设备800的处理器810执行以完成上述的车载语音sdk测试方法。
[0206]
图12是根据一示例性实施例示出的一种电子设备1900的框图。该电子设备1900可以被配置为一服务器,参照图12,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的车载语音sdk测试方法。
[0207]
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm等等。
[0208]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的车载语音sdk测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的车载语音sdk测试方法。
[0209]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的车载语音sdk测试方法的代码部分。
[0210]
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实
施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0211]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0212]
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所发明的内容。
[0213]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1