測試工程師新的發(fā)展方向--AI測試
#01?
概述
文章來源QAtestlab:Testing the Brains of Tomorrow’s Tech – AI and ML(可以在評論區(qū)獲取鏈接)
關鍵詞:AI測試的挑戰(zhàn),AI測試的應對方法、AI測試工具
人工智能和機器學習加速了科技行業(yè)的發(fā)展,這些技術不僅改變了我們的生活、工作和互動方式,還顛覆了傳統(tǒng)行業(yè)規(guī)范,為全球企業(yè)創(chuàng)造了新機會。從自動駕駛汽車到個性化購物體驗,人工智能和機器學習在各個領域都發(fā)揮著重要作用。然而,隨著增長和高風險,對人工智能和機器學習應用程序測試的需求變得至關重要。因此,本文是關于測試人工智能和機器學習應用程序復雜性的綜合指南。
#02?
測試AI程序面臨的挑戰(zhàn)
文章指出測試AI應用程序面臨的挑戰(zhàn):測試人工智能和機器學習系統(tǒng)就像穿越迷宮一樣。?這是一項復雜的任務,具有與傳統(tǒng)軟件測試顯著不同的獨特挑戰(zhàn)。主要挑戰(zhàn)有:
(1)不可預測的結(jié)果。?
人工智能和機器學習應用程序不斷學習和適應新數(shù)據(jù),導致結(jié)果不可預測。?這使得驗證結(jié)果變得具有挑戰(zhàn)性,因為沒有預定義的“正確”答案可供比較。例如,當我們使用chatgpt來生成文章時,它經(jīng)常會無中生有,創(chuàng)造一些錯誤的答案,對于chatgpt所創(chuàng)造的內(nèi)容,我們并無法事先預測。
(2)過擬合和欠擬合
平衡模型中的偏差和方差至關重要但具有挑戰(zhàn)性。?當模型過于復雜并且不能很好地概括時,就會發(fā)生過度擬合(高方差),而當模型太簡單而無法捕捉趨勢時,就會發(fā)生欠擬合(高偏差)。
(3)質(zhì)量而不是數(shù)量
?人工智能和機器學習應用程序的性能與它們接受訓練的數(shù)據(jù)質(zhì)量直接相關。?質(zhì)量差或有偏差的數(shù)據(jù)會嚴重影響模型的性能和公平性。這一點旨在要求我們測試數(shù)據(jù)、測試場景的設計要符合真實場景,不能存在偏差?,或者從訓練數(shù)據(jù)測試入手。
(4)持續(xù)監(jiān)控
?由于其動態(tài)特性,人工智能和機器學習系統(tǒng)需要持續(xù)監(jiān)控。?它們是不斷發(fā)展的生物,需要持續(xù)的監(jiān)控和維護,從而需要大量的時間和資源投資。
#03?
測試AI的過程
針對上述挑戰(zhàn),文章給出了AI測試的過程:
測試人工智能應用程序并不是一項一刀切的任務。?相反,它需要了解底層的人工智能模型、仔細的規(guī)劃和持續(xù)的監(jiān)控。?讓我們將其分解為關鍵步驟:
(1)了解人工智能模型
?測試人工智能應用程序的第一步也是最重要的一步是徹底理解人工智能模型。?這需要深入研究模型的設計、輸入和輸出以及它使用的邏輯。?清楚地掌握這些因素可以揭示潛在的漏洞,并為模型在不同條件下的表現(xiàn)提供有價值的見解。
(2)制定真實的測試場景
?測試人工智能應用程序類似于為表演進行多樣化且全面的排練。?定義各種實際場景對于確保應用程序為多種情況做好充分準備至關重要。?條件和輸入越多樣化,應用程序就越穩(wěn)健。
(3)持續(xù)監(jiān)控和驗證
?測試人工智能應用程序并不是一次性的事件;?這是一場持續(xù)的馬拉松。?持續(xù)監(jiān)控和驗證輸出對于評估其準確性、可靠性和一致性至關重要。?定期檢查可以揭示模型是否需要調(diào)整或使用不同數(shù)據(jù)進行訓練。
(4)學習和提高
?正如人工智能模型可以學習和改進一樣,我們的測試方法也應該如此。?由于人工智能的迭代性質(zhì),不僅需要一輪測試。?隨著模型的發(fā)展,測試過程也應該不斷發(fā)展,重新評估模型的性能并根據(jù)需要完善測試策略。
#04?
測試AI的工具
同時文章推薦以下AI測試工具
(1)TensorFlow?是一個開源平臺,是用于構(gòu)建和訓練?ML?模型的庫和資源的寶庫。?它還提供可提供有價值的性能和準確性指標的測試工具。
(2)Lime?是一個?Python?庫,充當?ML?模型的解釋器。?它提供了對模型決策過程的洞察,這是完善和驗證?AI/ML?模型的關鍵因素。
(3)Robustness?Gym?由?Facebook?的?AI?團隊精心打造,旨在測試?AI?模型的耐用性。?它有助于揭示模型的局限性并衡量不同場景下的性能。
(4)What-If?是?Google?的可視化工具,有助于說明?ML?模型的行為。?它對于理解不同特征對模型預測的影響特別有用。
(5)IBM?在該領域的貢獻是?AI?Fairness?360,這是一個開源庫,有助于檢測和減輕?ML?模型中的偏差。?它提供了測試模型公平性的指標,這是任何人工智能/機器學習系統(tǒng)的一個關鍵方面。
隨著人工智能和機器學習應用程序繼續(xù)成為我們數(shù)字生活不可或缺的一部分,對這些技術進行充分的測試至關重要。?軟件測試的未來在于開發(fā)專門為人工智能和機器學習應用程序設計的創(chuàng)新方法和工具。
#05?
個人觀點
本人在研究生期間也從事神經(jīng)網(wǎng)絡相關應用的研究,從學生時期的經(jīng)驗來談,像數(shù)據(jù)質(zhì)量保證、過擬合、欠擬合的驗證都是一人完成,而在公司中,這些似乎應該也是由對應的AI算法工程師來實現(xiàn)?還是配置了相應的測試團隊?此外,文章談到測試參與AI的過程,第一步就是理解AI模型,這一點對絕大部分軟件測試工程師來說,應該是一個很高的門檻,想要參與其中很難。從普通軟件測試工程師,轉(zhuǎn)向AI測試工程師,可以期待后續(xù)的行業(yè)發(fā)展。
如果有相關小伙伴對這一方面熟悉的,也可以在評論區(qū)發(fā)表觀點,一起學習一起進步。