有人說,設(shè)備不能做人類能做的一切。然而,我們?nèi)粘I钪惺褂玫脑O(shè)備在過去幾十年中一直在發(fā)展。我們已經(jīng)看到它們?cè)诠δ?,連接性和大小方面的重大變化。然而,最大的挑戰(zhàn)之一是設(shè)備的尺寸,因?yàn)槿藗兺度肓烁嗟木韺?shí)現(xiàn)更小的外形尺寸。
幾年前,一個(gè)新的挑戰(zhàn)出現(xiàn)了:設(shè)備不能像人類一樣進(jìn)行通信。這導(dǎo)致獨(dú)立設(shè)備被轉(zhuǎn)換為具有附加語音操作的連接設(shè)備。
支持語音的設(shè)備如何幫助人類?
最初,需要人工觸摸才能在設(shè)備上執(zhí)行任何操作?,F(xiàn)在,借助支持語音的設(shè)備和物聯(lián)網(wǎng)技術(shù),人類可以通過語音發(fā)出命令來操作設(shè)備。這些新發(fā)明的設(shè)備將人聲轉(zhuǎn)換為設(shè)備動(dòng)作,通過互聯(lián)網(wǎng)向另一臺(tái)設(shè)備發(fā)送命令,并執(zhí)行所需的動(dòng)作。這些設(shè)備不僅可以與人類交互,還可以通過互聯(lián)網(wǎng)與其他設(shè)備進(jìn)行交互。
語音設(shè)備測(cè)試的主要挑戰(zhàn)
世界各地支持語音的設(shè)備的日常使用正在迅速增加。500 多個(gè)國家/地區(qū)支持 1000 多種語言,這些語言具有不同的口音、性別和基于年齡組的語音調(diào)制,這使得驗(yàn)證支持語音的設(shè)備變得具有挑戰(zhàn)性。在短時(shí)間內(nèi)用這么多不同的組合和排列來測(cè)試這些設(shè)備幾乎是不可能的。因此,讓我們看看如何自動(dòng)測(cè)試支持語音的設(shè)備。
自動(dòng)化支持語音的設(shè)備測(cè)試
為了避免手動(dòng)測(cè)試工作,我們需要設(shè)計(jì)一個(gè)自動(dòng)化解決方案,該解決方案可用于使用不同的語言測(cè)試這些設(shè)備。最簡(jiǎn)單的選擇是使用框架,這些框架可以幫助開發(fā)具有此類語音集成設(shè)備的自動(dòng)化腳本。
截至目前,市場(chǎng)上沒有開源框架可以提供測(cè)試與語音設(shè)備集成所需的所有功能。此處的挑戰(zhàn)是如何以不同的語言向設(shè)備發(fā)出命令,如何從設(shè)備讀取響應(yīng)并測(cè)試預(yù)期的輸出。
要在沒有手動(dòng)操作的情況下向設(shè)備發(fā)出命令,需要以文本格式標(biāo)識(shí)命令。將文本轉(zhuǎn)換為音頻格式。
播放音頻,以便啟用語音的設(shè)備可以收聽和處理。
等待來自設(shè)備的響應(yīng),將其錄制在音頻文件中,最后一步您需要將此音頻轉(zhuǎn)換為文本以匹配預(yù)期的格式。
每個(gè)設(shè)備測(cè)試程序都有定制要求;因此,框架必須是模塊化的。為了獲得解決方案,我們需要設(shè)計(jì)一個(gè)模塊化和可擴(kuò)展的框架,其中該解決方案的每個(gè)步驟都可以由市場(chǎng)上可用的開源或付費(fèi)庫實(shí)現(xiàn)。
我們?cè)谝韵驴蚣苤性O(shè)計(jì)了4個(gè)模塊:
多語言文本:將文本從一種語言轉(zhuǎn)換為另一種語言
文本音頻模塊:將文本轉(zhuǎn)換為mp3
音頻文本模塊:將 wav 轉(zhuǎn)換為文本
音頻模塊:
使用音頻輸出設(shè)備播放 mp3 文件
使用麥克風(fēng)讀取音頻數(shù)據(jù)
將音頻數(shù)據(jù)保存到wav文件
詳細(xì)解決方案
1.準(zhǔn)備英文設(shè)備命令
a.使用多語言文本模塊將設(shè)備命令轉(zhuǎn)換為設(shè)備可以理解的語言。它使用Google提供的服務(wù)進(jìn)行翻譯,您可以在其中將文本從任何源語言翻譯成任何所需的語言。
2.為翻譯文本創(chuàng)建音頻文件
a.使用文本音頻模塊將文本轉(zhuǎn)換為音頻。生成的音頻可以在音頻輸出設(shè)備上播放。此模塊在后端使用谷歌文本到語音轉(zhuǎn)換服務(wù)。
3.播放音頻
a.使用音頻模塊將mp3文件播放到音頻輸出設(shè)備。
b.此步驟要求音頻輸出設(shè)備和啟用語音的設(shè)備靠近,以便在播放音頻時(shí),設(shè)備可以捕獲音頻并處理命令。
4.錄制音頻
a.此步驟是捕獲來自啟用語音的設(shè)備響應(yīng)所必需的。
b.使用音頻模塊從麥克風(fēng)捕獲錄音數(shù)據(jù)。您需要傳遞持續(xù)時(shí)間參數(shù)以提及您希望錄制多長(zhǎng)時(shí)間,并且模塊返回音頻樣本數(shù)據(jù)
c.一旦示例數(shù)據(jù)可用,就需要將其另存為wav(音頻)文件。為了實(shí)現(xiàn)這一點(diǎn),可以使用save_audio_to_file方法。此方法獲取示例音頻數(shù)據(jù)并將其寫入 wav 文件,該文件以后可以使用音頻設(shè)備播放,也可以用于將其轉(zhuǎn)換為文本。
5.將捕獲的音頻轉(zhuǎn)換為文本
a.使用文本音頻模塊將 wav 文件轉(zhuǎn)換為文本內(nèi)容。這是使用語音識(shí)別器實(shí)現(xiàn)的。您應(yīng)該指定輸入 wav 文件和音頻內(nèi)容語言。
b.To 將音頻轉(zhuǎn)換為文本,則可以使用各種供應(yīng)商提供的第三方庫。
6.將上述文本翻譯成英語,并根據(jù)英語的預(yù)期結(jié)果進(jìn)行驗(yàn)證
使用上述4個(gè)模塊,一次就可以實(shí)現(xiàn)基于語音的集成設(shè)備的語音自動(dòng)化。
家庭自動(dòng)化產(chǎn)品端到端測(cè)試的真實(shí)場(chǎng)景
家庭自動(dòng)化系統(tǒng)由各種設(shè)備組成,這些設(shè)備可以使用REST服務(wù)通過網(wǎng)絡(luò)進(jìn)行操作。安全攝像頭,燈,恒溫器,傳感器和門鈴是家庭自動(dòng)化設(shè)備的幾個(gè)例子。例如,作為房主的最終用戶可以使用互聯(lián)網(wǎng)門戶遠(yuǎn)程打開或關(guān)閉燈。一些系統(tǒng)提供與Alexa,谷歌等第三方合作伙伴的集成。
公司提供的設(shè)備可以收聽人聲并執(zhí)行用戶請(qǐng)求的操作。因此,將Light視為家庭自動(dòng)化產(chǎn)品,將Alexa視為家庭自動(dòng)化系統(tǒng)提供商的第三方合作伙伴,我們希望測(cè)試是否可以通過Alexa打開/關(guān)閉燈光。
要自動(dòng)執(zhí)行 E2E 方案,我們需要使用上面討論的自動(dòng)化框架執(zhí)行以下步驟。
1.準(zhǔn)備Alexa命令以打開英語的燈。
a.“Alexa,開燈”
2.將上述命令轉(zhuǎn)換為mp3文件
3.使用連接到自動(dòng)化機(jī)器的揚(yáng)聲器在Alexa設(shè)備附近播放mp3文件。
4.在 wav 文件中記錄來自 Alexa 的響應(yīng)。
5.將音頻文件轉(zhuǎn)換為文本,可以是“確定,打開燈”或“燈已打開”。
6.使用預(yù)期的結(jié)果集驗(yàn)證轉(zhuǎn)換后的文本。
7.In 驗(yàn)證,只需提前一步,我們還可以使用以下方法驗(yàn)證實(shí)際的物聯(lián)網(wǎng)燈狀態(tài):
a.REST API可用于從家庭安全系統(tǒng)獲取光狀態(tài)
b.可以完成網(wǎng)絡(luò)安全門戶的Web自動(dòng)化以驗(yàn)證光照狀態(tài)
c.如果光照狀態(tài)存儲(chǔ)在云數(shù)據(jù)庫中,我們可以從數(shù)據(jù)庫獲取數(shù)據(jù)以驗(yàn)證狀態(tài)
結(jié)論
使用上述步驟,不僅可以僅使用一個(gè)支持語音的設(shè)備來測(cè)試系統(tǒng)集成或端到端測(cè)試,還可以通過組合多個(gè)客戶端或設(shè)備來測(cè)試系統(tǒng)。用戶可以使用Alexa對(duì)其中一個(gè)設(shè)備/產(chǎn)品執(zhí)行操作,并使用谷歌或門戶驗(yàn)證其狀態(tài),反之亦然。例如,用戶要求 Google 打開指示燈,然后使用 Alexa/客戶門戶獲取指示燈狀態(tài)。
對(duì)于需要從設(shè)備到應(yīng)用程序的全面測(cè)試覆蓋的產(chǎn)品公司來說,eInfochips是首選合作伙伴。eInfochips 通過測(cè)試自動(dòng)化、SDET(測(cè)試軟件開發(fā)工程師)、左移測(cè)試和 DevOps,節(jié)省了大量成本和工作量。
審核編輯:郭婷
-
Google
+關(guān)注
關(guān)注
5文章
1772瀏覽量
57739 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2913文章
44915瀏覽量
376241
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論