機器學習中qa測試 如何測試AI和機器學習系統?

2021-10-12 20:10:04 字數 1734 閱讀 4762

智慧型手機,智慧型揚聲器,智慧型汽車,智慧型咖啡機......這個名單還在繼續。看起來我們周圍的一切都變得生機勃勃,變得聰明起來。雖然科幻型別依賴於我們對敵對機械人接管的恐懼,但智慧型裝置絕不是反烏托邦 - 它們實際上是為了讓我們的生活更輕鬆,所以我們可以花更多的時間在重要的東西上,而不是繁瑣的工作上。

科技公司知道,增加自動化是未來的方式,就像福特開創生產流水線時一樣。人工智慧(ai)和機器學習(ml)等先進技術正在推動近期歷史上最激動人心的創新 - 自動駕駛汽車,虛擬和增強現實,自動投資,改進醫學成像等。這項技術的好處正變得越來越明顯,公司正急於採用並競相將其構建到他們的產品中。

隨著這項技術在敏感,高風險的空間(如汽車,醫療和金融行業)中開始變得越來越普遍,devops團隊採取強有力的qa測試方法至關重要。當公共安全,客戶的生計或患者的資料存在風險時,即使是最聰明的演算法也必須由人工工程師再次檢查和檢查。

在深入研究智慧型產品測試方法之前,讓我們區分人工智慧和機器學習。雖然這些術語經常互換使用,但存在一些關鍵差異。

簡而言之,人工智慧是指以人類可能認為智慧型或高效的方式執行任務的系統,而機器學習是自動化的,由利用預先存在的資料的系統執行的持續自我訓練。

測試人工智慧系統

挑戰和潛在的併發症

測試的關鍵方面

資料驗證

成功ai的關鍵是良好的資料。在將其提供給ai系統之前,應該清理,清理和驗證您的資料。您的qa團隊應該警惕人類偏見和多樣性,這可能會使系統對資料的解釋複雜化 - 想象一下汽車導航系統或智慧型手機助手試**釋罕見的口音。

原理演算法

ai的核心是演算法,它處理資料並生成見解。一些常見演算法涉及可學習性(netflix或亞馬遜學習客戶偏好和提供新建議的能力),語音識別(智慧型揚聲器)和現實世界感測器檢測(自動駕駛汽車)。

這些應該通過模型驗證,成功的可學習性,演算法有效性和核心理解進行徹底測試。如果演算法存在任何問題,那麼肯定會有更嚴重的後果。

效能和安全測試

與任何其他軟體平台一樣,ai系統需要密集的效能和安全測試,以及法規遵從性測試。如果沒有適當的測試,利用安全漏洞(使用錄音來愚弄語音識別軟體或聊天機械人操縱)將變得更加普遍。

系統整合測試

ai系統可以連線到其他系統並在更大的環境中解決問題。為了使所有這些整合正常工作,有必要對ai系統及其各種連線點進行全面評估。隨著越來越多的系統吸收ai特性,對它們進行仔細測試至關重要。

測試機器學習系統

機器學習系統的目標是在不明確程式設計的情況下自己獲取知識。這需要將一致的資料流饋送到系統中 - 這是基於傳統測試(固定輸入=固定輸出)的更加動態的方法。因此,qa專家需要對實施機器學習系統的測試策略有不同的看法。

訓練資料和測試資料

訓練資料是用於訓練系統模型的資料集。在該資料集中,輸入資料與預期輸出一起提供。這通常是通過以半自動方式收集資料來準備的。

測試資料是訓練資料的乙個子集,邏輯構建用於測試所有可能的組合並確定模型的訓練程度。根據測試資料集的結果,模型將進行微調。

模型驗證

應建立測試套件以驗證系統的模型。主演算法分析所提供的所有資料,查詢特定模式,並使用結果開發用於建立模型的最佳引數。從那裡開始,隨著迭代次數和資料豐富度的增加,它被細化。

溝通測試結果

qa工程師習慣於在質量方面表達測試結果,例如缺陷洩漏或缺陷嚴重性。但基於機器演算法的模型驗證將產生近似 - 而不是精確的結果。工程師和利益相關者需要在一定範圍內確定每種結果的可接受保證水平。

結論測試人工智慧和機器學習系統需要一種大多數qa工程師尚不熟悉的獨特方法。由於資料集是多樣的,動態的,需要不斷更新和提供,因此您應該與能夠滿足這些特定需求的qa團隊合作。

如何成為合格的QA或測試經理?

what makes a good qa or test manager?a good qa,test,or qa test combined manager should 如何成為合格的qa或測試經理?乙個合格的qa 測試或qa 測試 組合 經理,將包括下面能力 1 熟悉軟體開發流程 2 具有能夠...

如何學習軟體測試

1.什麼是軟體測試 軟體測試是在測試中識別軟體產品和服務的準確性和質量的過程。顯然,它的誕生是為了驗證產品是否滿足客戶的特定先決條件 需求和需求。在一天的工作結束前,確定特定的最終目標並測試執行乙個框架或應用程式,以指出其錯誤 錯誤或缺陷。測試的職責是找到bug並指出問題問題,並給dev 開發人員 ...

如何學習軟體測試

1.什麼是軟體測試 軟體測試是在測試中識別軟體產品和服務的準確性和質量的過程。顯然,它的誕生是為了驗證產品是否滿足客戶的特定先決條件 需求和需求。在一天的工作結束前,確定特定的最終目標並測試執行乙個框架或應用程式,以指出其錯誤 錯誤或缺陷。測試的職責是找到bug並指出問題問題,並給dev 開發人員 ...