有人说,设备不能做人类能做的一切。然而,我们日常生活中使用的设备在过去几十年中一直在发展。我们已经看到它们在功能,连接性和大小方面的重大变化。然而,最大的挑战之一是设备的尺寸,因为人们投入了更多的精力来实现更小的外形尺寸。
几年前,一个新的挑战出现了:设备不能像人类一样进行通信。这导致独立设备被转换为具有附加语音操作的连接设备。
支持语音的设备如何帮助人类?
最初,需要人工触摸才能在设备上执行任何操作。现在,借助支持语音的设备和物联网技术,人类可以通过语音发出命令来操作设备。这些新发明的设备将人声转换为设备动作,通过互联网向另一台设备发送命令,并执行所需的动作。这些设备不仅可以与人类交互,还可以通过互联网与其他设备进行交互。
语音设备测试的主要挑战
世界各地支持语音的设备的日常使用正在迅速增加。500 多个国家/地区支持 1000 多种语言,这些语言具有不同的口音、性别和基于年龄组的语音调制,这使得验证支持语音的设备变得具有挑战性。在短时间内用这么多不同的组合和排列来测试这些设备几乎是不可能的。因此,让我们看看如何自动测试支持语音的设备。
自动化支持语音的设备测试
为了避免手动测试工作,我们需要设计一个自动化解决方案,该解决方案可用于使用不同的语言测试这些设备。最简单的选择是使用框架,这些框架可以帮助开发具有此类语音集成设备的自动化脚本。
截至目前,市场上没有开源框架可以提供测试与语音设备集成所需的所有功能。此处的挑战是如何以不同的语言向设备发出命令,如何从设备读取响应并测试预期的输出。
要在没有手动操作的情况下向设备发出命令,需要以文本格式标识命令。将文本转换为音频格式。
播放音频,以便启用语音的设备可以收听和处理。
等待来自设备的响应,将其录制在音频文件中,最后一步您需要将此音频转换为文本以匹配预期的格式。
每个设备测试程序都有定制要求;因此,框架必须是模块化的。为了获得解决方案,我们需要设计一个模块化和可扩展的框架,其中该解决方案的每个步骤都可以由市场上可用的开源或付费库实现。
我们在以下框架中设计了4个模块:
多语言文本:将文本从一种语言转换为另一种语言
文本音频模块:将文本转换为mp3
音频文本模块:将 wav 转换为文本
音频模块:
使用音频输出设备播放 mp3 文件
使用麦克风读取音频数据
将音频数据保存到wav文件
详细解决方案
1.准备英文设备命令
a.使用多语言文本模块将设备命令转换为设备可以理解的语言。它使用Google提供的服务进行翻译,您可以在其中将文本从任何源语言翻译成任何所需的语言。
2.为翻译文本创建音频文件
a.使用文本音频模块将文本转换为音频。生成的音频可以在音频输出设备上播放。此模块在后端使用谷歌文本到语音转换服务。
3.播放音频
a.使用音频模块将mp3文件播放到音频输出设备。
b.此步骤要求音频输出设备和启用语音的设备靠近,以便在播放音频时,设备可以捕获音频并处理命令。
4.录制音频
a.此步骤是捕获来自启用语音的设备响应所必需的。
b.使用音频模块从麦克风捕获录音数据。您需要传递持续时间参数以提及您希望录制多长时间,并且模块返回音频样本数据
c.一旦示例数据可用,就需要将其另存为wav(音频)文件。为了实现这一点,可以使用save_audio_to_file方法。此方法获取示例音频数据并将其写入 wav 文件,该文件以后可以使用音频设备播放,也可以用于将其转换为文本。
5.将捕获的音频转换为文本
a.使用文本音频模块将 wav 文件转换为文本内容。这是使用语音识别器实现的。您应该指定输入 wav 文件和音频内容语言。
b.To 将音频转换为文本,则可以使用各种供应商提供的第三方库。
6.将上述文本翻译成英语,并根据英语的预期结果进行验证
使用上述4个模块,一次就可以实现基于语音的集成设备的语音自动化。
家庭自动化产品端到端测试的真实场景
家庭自动化系统由各种设备组成,这些设备可以使用REST服务通过网络进行操作。安全摄像头,灯,恒温器,传感器和门铃是家庭自动化设备的几个例子。例如,作为房主的最终用户可以使用互联网门户远程打开或关闭灯。一些系统提供与Alexa,谷歌等第三方合作伙伴的集成。
公司提供的设备可以收听人声并执行用户请求的操作。因此,将Light视为家庭自动化产品,将Alexa视为家庭自动化系统提供商的第三方合作伙伴,我们希望测试是否可以通过Alexa打开/关闭灯光。
要自动执行 E2E 方案,我们需要使用上面讨论的自动化框架执行以下步骤。
1.准备Alexa命令以打开英语的灯。
a.“Alexa,开灯”
2.将上述命令转换为mp3文件
3.使用连接到自动化机器的扬声器在Alexa设备附近播放mp3文件。
4.在 wav 文件中记录来自 Alexa 的响应。
5.将音频文件转换为文本,可以是“确定,打开灯”或“灯已打开”。
6.使用预期的结果集验证转换后的文本。
7.In 验证,只需提前一步,我们还可以使用以下方法验证实际的物联网灯状态:
a.REST API可用于从家庭安全系统获取光状态
b.可以完成网络安全门户的Web自动化以验证光照状态
c.如果光照状态存储在云数据库中,我们可以从数据库获取数据以验证状态
结论
使用上述步骤,不仅可以仅使用一个支持语音的设备来测试系统集成或端到端测试,还可以通过组合多个客户端或设备来测试系统。用户可以使用Alexa对其中一个设备/产品执行操作,并使用谷歌或门户验证其状态,反之亦然。例如,用户要求 Google 打开指示灯,然后使用 Alexa/客户门户获取指示灯状态。
对于需要从设备到应用程序的全面测试覆盖的产品公司来说,eInfochips是首选合作伙伴。eInfochips 通过测试自动化、SDET(测试软件开发工程师)、左移测试和 DevOps,节省了大量成本和工作量。
审核编辑:郭婷
-
Google
+关注
关注
5文章
1757浏览量
57393 -
物联网
+关注
关注
2902文章
44179浏览量
370739
发布评论请先 登录
相关推荐
评论