前言
現在市面上的智慧電子產品千千萬,為了達到人們使用更加方便的目的,很多智慧產品都開發了語音識別功能,用來語音喚醒進行互動;另外,各大公司也開發出來了各種智慧語音機器人,比如小米公司的“小愛”,百度公司的“小度”,三星公司的“bixby”,蘋果的“siri”等等。這些語音識別的功能,提高人們使用電子的產品的體驗,但是作為一名測試員,給你一款語音識別產品,要怎麼進行測試呢?
接下來,我就以小米手機為例,給大家介紹小米手機語音識別如何測試。
小米語音識別功能如何進行測試?
要知道語音識別功能如何測試,我們先了解智慧產品語音互動流程:
所以,要進行測試的話,我們需要從以下幾個維度來準備測試點:
基礎功能測試:
1、聲紋的錄入:
語音喚醒,為了確保每個人的聲音、每個人在不同場景下的聲音都能成功語音喚醒,測試一定要有各種不同的聲紋來進下測試。所以,就需要錄入各種不同的聲紋,來豐富測試場景的覆蓋;
2、語音喚醒:
正常喚醒:使用正常的聲紋進行語音喚醒,檢查可以成功;
異常喚醒:使用異常的聲音,比如影片/錄音進行喚醒,音樂聲進行喚醒,確保不會有誤喚醒。
3、喚醒後的功能:
a、語音找裝置:可以喚醒裝置,比如手機,透過語音找到裝置。
b、音量調節:可以透過語音對裝置進行音量調節
c、連續對話:喚醒裝置後,可以與期進行持續的語音對話,功能正常。
d、指令識別:喚醒後,可以下發指令比如播放音樂,查詢天氣,撥打電話、定鬧鐘等,檢查指令可以正常被執行。
4、功能衝突互動測試
a、中斷測試:語音識別過程中,有中斷干擾,比如手機喚醒的時候有電話中斷;有鬧鐘中斷、低電量中斷等,確保這些中斷能被正常處理,不會造成異常;
b、麥克風衝突:如果麥克風被佔用了,測試是否能被喚醒;
5、多使用者場景
因為使用者使用語音識別的場景非常多,測試很難進行完全的覆蓋。所以,我們需要透過分析使用者的主流使用場景,來覆蓋主要的場景。
透過一些資料的採集,發現使用者使用的場景螢幕分佈如下:
調查結果發現,使用者使用語音功能主要覆蓋一下場景:
728 x 364 1095 x 548
所以測試就主要優先去覆蓋這些使用者場景,其他的場景用例優先順序可以逐步降低,調整測試權重,保證使用者主流場景的穩定性和準確性。
UI 測試
語音喚醒的有 UI 介面需要進行 UI 測試。比如手機的語音喚醒功能,需要進行 UI 介面的檢查,保持 UI 的友好型和美觀性;
相容性測試
- 第三方應用的相容性測試
如果裝置裡有安裝其他的應用,比如手機裡的其他應用,是否可以透過語音識別喚醒後進行指定的動作操作;第三方應用相容性需要保證;
- 外界裝置相容
a、三段式耳機接入
b、四段式耳機接入
c、type-c 數字耳機接入
d、藍芽耳機接入
透過接入這些第三方的耳機裝置,可以進行語音識別並且功能正常。
自動化語音識別測試
以上都是透過手工進行測試的,要進行一個比較完整的語音識別覆蓋,至少需要以下配置:
測試人數:10/20 人(男女各一半)
測試次數:每個場景 50 次
測試環境:辦公室、會議室
測試場景:亮屏喚醒、滅屏喚醒、手機播放音樂喚醒、聲紋誤喚醒、基本語句識別率
但是手工測試是有不可忽視的一些嚴重缺陷的:
1、測試手法不統一:不同的距離和不同的角度都會導致識別結果不一樣。
2、測試過程中人員聲音波動大
同一演算法,同一產品,在測試人員不變,場景一致的情況下,多輪測試的資料差異大;
由此可見,手工測試耗時耗力、測試資料參考價值低。所以,語音識別測試也可以進行一些自動化測試。
自動化測試的關鍵點
1、開發測試指令碼,實現半自動化語音測試
因為手工測試就是沒有辦法提供那麼多人進行不同語料的測試,所以需要實現語料自動合成和模擬。可以採用 python+pyaudio 開發 + 音箱模擬人聲,來對語音進行識別測試。
而且透過增加語料量級(至少 40 組聲紋),降低喚醒/識別頻次;增加不同的噪音環境,不同噪音 + 不同距離,模擬使用者真實環境。
這樣,就可以覆蓋更多的不同的語料以及場景,大大提高識別的正確率。
2、語料自動化播放 + 自動化檢測
現在有了語料,但是需要手動播放的話,工作量依然很大,所以需要實現語料自動播放和自動化監測。
3、增加噪聲播放系統 + 滑軌控制系統
因為使用者的使用場景往往有很多的噪音,如果測試不模擬這種噪音環境,是沒有辦法真正還原使用者場景的。所以,需要設定一些噪音源,可以自動化增加噪音,並可以調整距離。、
如下圖,就是小米公司的專為為測試語言識別造的混響室,以及自動化調節人頭系統