人工智慧(AI)測試方法
一、瞭解人工智慧
1.1、對人工智慧的理解:
人工智慧(AI)是研究、開發用於模擬、延伸和擴充套件人的智慧的理論、方法、技術及應用系統的一門新的技術科學(定義)。人工智慧利用機器學習技術 ,通過對現有的經過處理(篩選、消噪、過濾等)的資料,不斷進行矯正(設定閥值等方法)機器模型的輸出,此過程稱為訓練,期望通過訓練可以得到在未來新資料上有良好表現的模型,從而投入生產。
1.2、人工智慧目前應用的一些領域:
- 語音識別
人工智慧在語音識別方面的應用相對較好,如siri、多鄰國讀音識別等
- 影象識別
如高速車牌識別、人臉識別等
- 個性化推薦如亞馬遜、今日頭條根據使用者閱讀歷史做的推薦系統,利用人工智慧進行調引數等
二、AI相關測試
2.1、測試分析
-
人工智慧歸根結底也是利用對歷史資料的處理訓練出可以在將來資料上有良好輸出的模型。
-
對於測試而言,應該關心資料模型在對待正常資料、邊界資料、異常資料作為輸入時,模型的輸出是否能夠符合期望。
2.2、測試方法
-
改變測試集:如輸入與訓練時一樣的資料、與訓練時完全不同的資料、訓練時的邊界值等,看是否達到期望輸出
-
如在安卓平臺執行的程式碼:通過不斷點選執行、以及快速退出和快速進入、處理大量資料、空資料、等觀察效能指標的上升等
-
模型是否有良好的使用者互動
-
人工智慧發展目前有一定的技術限制,但是無論如何都不能造成應用crash、卡死、記憶體溢位等現象
-
具體使用時,應有良好的告知使用者的提示,不能一直loading等
-
模型是否能夠根據處理資料的量從少到多而自動不斷優化、調整輸出
-
觀察模型輸出是否是一直不變化的
-
經過多次改變輸入(百次計算),再進行迴歸測試,觀察輸出是否有一定程度調優(或者更差了)
-
模型在處理資料時的效率(學習過程,cpu佔用率、記憶體消耗等)
-
模型有沒有人性化的引數調整入口,供運營人員以及測試人員對上線後、上線前進行調整
-
模型上線後應具有一定的引數調整能力(例如某些權重的調整等。業界今日頭條的某些推薦方案一旦效果好,據說會立刻將所有的模型進行模擬升級(切換到相同的模式))。
-
風險控制,當發現嚴重問題時如何良好的控制線上的模型,對其進行開關以及升級操作,如上線後若發現難以控制的風險,如需要緊急下線(政策等影響)等問題時,需要有立刻關閉的功能以及關閉前對使用者的良好的提示功能。
-
若此模型並不是單獨使用,有沒有良好的相容性(相容其他模型),遇到錯誤的使用時如何變現(以及提示方式)
-
如模型需要與其他模型進行合作才能工作,那應當分開單獨進行測試,此模型應該具有良好的介面,和期望輸出。測試方法參照上面。然後再測試與其他模型共同工作時的效果
三、AI測試舉例:
3.1、語音識別部分
-
輸入正常的語音
-
輸入有雜音的語音
-
輸入空白語音
-
輸入不同語言的語音
-
輸入長時間語音
-
輸入重複語音
結論:訓練好的模型應在使用上滿足一定程度的場景,不能答非所問的太離譜
3.2、自優化測試:
- 將測試集分成2部分(或多部分),第一次輸入第一部分然後觀察結果,然後再輸入第二部分,然後再次輸入第一部分,觀察輸出是否有優化的體現
3.3、效能部分:
-
[在進行語音識別時,觀察cpu、記憶體等佔用情況
-
在語音識別結束觀察cup、記憶體有沒有釋放等情況
-
觀察識別的時間長短
3.4、友好度測試:
-
觀察在使用時弱網路情況下的提示
-
觀察識別出錯時的提示
-
觀察正常時的提示
3.5、風險測試:
- 功能入口測試(展示和關閉),是否能通過遠端直接關閉或開啟語音識別功能,升級等
熱度: 8