1. 程式人生 > >測試語音遙控器語音聊天的坑

測試語音遙控器語音聊天的坑

  測試完掃描連線,接下來就要測試語音遙控了。語音這塊的測試幾個要點就是:

  1. VAD 自動判停
  2. 頁面的顯示
  3. 拾音狀態識別率
  4. 多輪對話
  5. 返回的資料是否正常
  6. 技能是否完善
  7. 自定義技能可行性
  8. 資料儲存
  9. 語音播報
  10. 友好的互動體驗
  11. 許可權處理
  12. 第三方應用干擾
  13. 處於後臺,鎖屏的狀態

  這些都是我測試的經驗,可能還有需要完善的部分,先後順序不是很重要,重要的是這些內容都要測試到位

  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.處於後臺、鎖屏的狀態

  退出應用之後,是否能夠正常的通過裝置重新去調起應用,在後臺的情況下和鎖屏的情況下。是否能夠正常播放音樂,正常拾音,正常返回資料等等。

  好啦,以上就是我在這個專案中踩的坑,要是有相同的經歷覺得有補充的請回復我。