有人說,設備不能做人類能做的一切。然而,我們日常生活中使用的設備在過去幾十年中一直在發展。我們已經看到它們在功能,連接性和大小方面的重大變化。然而,最大的挑戰之一是設備的尺寸,因為人們投入了更多的精力來實現更小的外形尺寸。
幾年前,一個新的挑戰出現了:設備不能像人類一樣進行通信。這導致獨立設備被轉換為具有附加語音操作的連接設備。
支持語音的設備如何幫助人類?
最初,需要人工觸摸才能在設備上執行任何操作。現在,借助支持語音的設備和物聯網技術,人類可以通過語音發出命令來操作設備。這些新發明的設備將人聲轉換為設備動作,通過互聯網向另一臺設備發送命令,并執行所需的動作。這些設備不僅可以與人類交互,還可以通過互聯網與其他設備進行交互。
語音設備測試的主要挑戰
世界各地支持語音的設備的日常使用正在迅速增加。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文章
1772瀏覽量
57807 -
物聯網
+關注
關注
2914文章
44939瀏覽量
377085
發布評論請先 登錄
相關推薦
評論