測試語音遙控器語音聊天的坑
測試完掃描連線,接下來就要測試語音遙控了。語音這塊的測試幾個要點就是:
- VAD 自動判停
- 頁面的顯示
- 拾音狀態識別率
- 多輪對話
- 返回的資料是否正常
- 技能是否完善
- 自定義技能可行性
- 資料儲存
- 語音播報
- 友好的互動體驗
- 許可權處理
- 第三方應用干擾
- 處於後臺,鎖屏的狀態
這些都是我測試的經驗,可能還有需要完善的部分,先後順序不是很重要,重要的是這些內容都要測試到位
1.VAD 的自動判停
這是所有的語音產品都要首先測試的,我們的應用整合的阿里的 SDK。目前市場是比較好的語音助手相信大家都可能多多少少都體驗過。比如蘋果的 Siri,Google 的 Google Assistant,小愛同學,天貓精靈等等,這些都是語音助手。VAD 自動判停就是語音端點檢測的目標是要判定語音開始和結束的位置,一般定義在語音識別領域。通俗的講就是你在說話的時候,它會根據周圍的聲音在進行判斷你是否已經完成說話。因為每個人的講話的語速和節奏是差異非常大的,所以這塊內容的測試還是非常磨人的。VAD 自動判停對於整個語音流程的體驗來說至關重要,否則判斷的失敗,也將會嚴重影響識別結果和語義理解。VAD判停的時間,長了影響互動體驗,短了難以適配複雜場景,還是以符合人類交流的習慣為最佳。
我在測試的過程中發現 iOS 端的 VAD 自動判停的體驗效果真的是太差了,而相比之下 Android 的體驗要好上很多。比如以下場景:播放一首 XXX 的歌曲。可能你已經說了播放一首,但是突然沒有想起來是哪個歌星的名字,你停下來了,他可能就會自動判停了,已經結束了拾音。這種體驗對於使用者來說是十分不友好的,這意味著他要重新發起語音,重新說一遍。要在吵鬧,安靜等等的情況下去測試。我們的開發人員在周圍沒有任何聲音的情況下,做了一個差不多7秒時間的自動結束拾音的操作。我覺得這個時間是可以忍受的。
2.頁面的顯示
語音助手是根據你說的話,然後轉換成文字,再返回資料的。需要特別注意,當文字超出螢幕之後,是否會自動彈出顯示。這個細節非常小,但是我們開發總是會出這方面的問題,測試也經常會遺漏。特別是在有裝置參與的情況下。比如:當你用裝置上的按鍵進行切換上一曲,下一曲的時候,他會返回資料:接下來為你播放 XXX 的 XXX。但是這行文字是不會自己彈出顯示在螢幕上的,需要你手動向上滑動才會顯示。整個介面都需要核對,拾音按鈕,在拾音狀態下的顯示。介面返回回來的資料顯示,比如古詩。大家都知道古詩裡面經常會出現一些生僻字,這個時候,介面可能就會顯示不正常,會出現亂碼什麼。如圖:
UI 介面還是需要細心核對的,特別是資料返回回來呈現的狀態。
3.拾音狀態
點選拾音按鈕,應該開始拾音,仔細核對這方面的細節,最主要的是識別率高不高。初期的產品體驗不會很好,因為識別率極其差。之後做了熱詞優化會好很多。有時候出現識別率不好的情況,可能和網路有關係。
4.多輪對話
語音助手一定會出現多輪對話的場景,需要特別注意的是,多輪對話的過程中,自動拾音的狀態是否有提示音。比如以下場景:我 [幫我定一個鬧鐘] ,語音助手[好的,鬧鐘需要定到幾點呢?]這個時候語音助手會自動開啟拾音狀態開始拾音,確認當前拾音按鈕的狀態,確認是否有提示音響起,提示使用者繼續當前的對話。
5.返回的資料是否正確
當你讓語音助手播放歌曲,需要去測試返回的資料是否是正確的。
6.技能是否完善
這個技能是根據產品定義出來的,目前我們的技能有音樂播放、天氣查詢、兒歌、鬧鐘、日程提醒、股票查詢、廣播電臺、歷史上的今天、笑話、詩詞、算數
、星座運勢、智慧聊天、聲音、打電話。我們要根據每個技能,提出針對性的提問去測試,技能是否完善,返回的資料是否正常。
7.自定義技能可行性
目前打電話是我們的自定義技能,測試打電話真的要很多場景,要不然你就會有遺漏的 bug。
測試場景:播報電話號碼、播報聯絡人名稱、多個聯絡人選擇、聯絡人存在/不存在等等。要測試自定義技能的完善性。
8.資料儲存
這個也是比較重要的,每次語音對話之後,介面上會有很多對話的內容,那當我們退出應用的時候,這個時候我們沒有選擇殺死應用,只是進入到了後臺。我們再次點選進入頁面,之前的聊天記錄應該還是在的,包括上一曲/下一曲都會用到資料儲存。還有掃描連線的裝置儲存。
9.語音播報
語音助手這種應用可能會涉及到兩個拾音通道,一個是從手機端去拾音,另一個則是從裝置端去拾音,這就意味著,他的語音播報也會有兩個通道。當裝置連線了 A2DP 的時候,音訊應該是從裝置端播放出來的。我測試到過,在裝置端播放一段時間音樂之後,會有短暫的時間聲音會從手機端播放出來,這是因為開發人員在處理播放通道的時候邏輯沒有處理好導致的。我們的邏輯是,當連線了裝置的時候,我們從裝置端去拾音,也從裝置端去播放音樂。特別要注意的是提示音,我們的專案在測試的過程中,提示音會莫名其妙的消失掉。
10.友好的互動體驗
友好的互動體驗真的很重要,比如手機沒有網路狀態的情況下,沒有合理的提示,估計會分分鐘解除安裝應用。語音助手需要非常友好的互動體驗,因為一般使用這類產品的使用者很少會去手動操作,當語音沒有識別到的時候,應該進行友好的互動提示。一個應用,友好的互動體驗,佔了成功的一半。
11.許可權處理
許可權這塊的內容是一個應用很重要的內容,這關乎到你的應用能不能正常的上架。比如天氣,電話,語音,會用到訪問地址,訪問通訊錄,訪問麥克風等許可權。許可權友好的提示也是很重要的哦。
12.第三方應用干擾
這個最主要測試的就是播放音樂了,當你用語音助手在播放音樂的時候,他請求到的音樂資源是線上找的,然後開啟第三方應用,比如開啟網易雲音樂播放音樂,語音助手裡面的音樂就應該暫停掉,不能出現重音的情況。
13.處於後臺、鎖屏的狀態
退出應用之後,是否能夠正常的通過裝置重新去調起應用,在後臺的情況下和鎖屏的情況下。是否能夠正常播放音樂,正常拾音,正常返回資料等等。
好啦,以上就是我在這個專案中踩的坑,要是有相同的經歷覺得有補充的請回復我。