首頁  >  文章  >  科技週邊  >  AI測試的迷思

AI測試的迷思

WBOY
WBOY轉載
2023-04-13 17:04:031512瀏覽

近年來,我一直關注AI相關的測試,並積極參與多個全國性測試社群和社群。在這些社群中,我與不同公司和領域的測試專家交流探討AI測試相關主題,包括業界頂尖公司的專家和國內知名測試學者。我也參加了多個大會,聆聽了許多關於AI測驗的主題分享,並嘗試了多款AI相關的測驗工具,從中獲得了許多知識和感悟。

在這些測試社群和社群中,我遇到了許多關於AI測試的問題,例如什麼是AI測試,如何進行AI測試,AI測試有哪些工具與方法等。然而,當我在網路上搜尋AI測試相關的書籍時,卻發現大量的AI開發相關書籍,卻鮮有專門介紹AI測試的書籍。這說明測試業界仍在混沌中不斷摸索前進。

為了分享我所學到的AI測試相關知識和經驗,我梳理了自己的學習經歷,嘗試回答了一些我遇到的關於AI測試的常見問題,並將這些內容整理成文章,與大家一起交流探討。

AI測試的迷思

AI測試的迷思

在討論AI測試時,通常會有兩種理解:

  • 第一種是利用AI輔助目前的軟體測試,例如使用AI系統學習測試分析和測試設計,進而自動產生測試案例並自動化實現這些測試案例。
  • 第二種則是對AI系統進行測試。儘管業界對於AI系統進行測試仍然使用常規測試手段,如功能測試、性能測試和安全測試等,但測試其功能有效性時往往難以獲取明確的測試數據和驗收條件。在這種情況下,只能透過對演算法的深入理解和根據經驗產生或尋找數據,並大致評估功能測試結果的有效性來進行測試。

而利用AI輔助目前的自動化測試則是一個新興領域。使用AI(如深度學習)系統來幫助測試工作絕對是近幾年最熱門的測試趨勢之一,其中包括自動生成並執行自動化測試、大規模測試結果分析、自動化探索性測試、缺陷定位等。

美國已經有多家公司推出了商用的AI測試工具。在朱少民老師的公眾號「軟體品質報道」中,有一篇名為《未來已來,人工智慧測試勢不可擋:介紹9款AI測試工具》的文章,介紹了9款基於AI的測試工具。但這些AI測試工具普遍存在測試用例準確性和大規模測試用例可維護性等問題。

第一個問題:AI輔助測試真的能用嗎?

雖然許多公司已經開始研究AI輔助測試,並且有許多工具問世,但它們都有一個顯著問題:準確性。由於現有的AI學習演算法本身的限制,學習並產生的測試案例和驗證條件的準確率都不是非常高。我曾參加過幾個大會,其中一些中國一線網路廠商分享的AI輔助測試的準確率僅略高於80%,不到90%。這種準確率在金融等某些對精度要求高的系統中很難被認可。

其次,當自動化測試案例規模很大時,測試案例的維護工作很難依靠人工完成,只能依靠工具。由於AI測試工具的不準確性,導致維修工作的準確性也不是十分理想。

儘管如此,在品質要求不高的大型系統中,AI輔助測試可以大幅降低測試成本,因此在這些系統中,AI輔助自動化測試已經被應用。此外,在品質要求高且資源充足的專案中,AI輔助測試可以作為人工自動化測試的擴展,作為自動化探索性測試的一種工具,可以進一步確保軟體品質。

第二個問題:AI輔助測驗已經發展到什麼程度了?

目前,AI輔助測試仍處於初步階段。我將AI輔助測試分為三個階段:

  • 第一階段是透過深度學習模型自動產生測試案例的輸入,然後透過手動驗證輸出結果的正確性。
  • 第二階段是透過深度學習模型自動產生測試案例的輸入,並透過規則模型自動驗證輸出結果的正確性。
  • 第三階段是透過深度學習模型自動產生測試案例的輸入和輸出,並自動驗證輸出結果的正確性。

目前業界已經基本實現了第一階段,有些公司也已經開始實現第二階段。然而,只有極少數的大公司已經實現了第三階段,而這些公司的準確性仍有待提高。因此,AI輔助測試仍有很長的路要走。

第三個問題:哪些軟體系統能用AI輔助測試?

理論上,任何軟體系統都可以使用AI來輔助自動化測試工作。然而,由於目前AI測試系統的現狀,它還不能真正用於所有類型的軟體系統。許多實際項目只在某些特定係統的特定介面層上使用AI測試,例如Web Service API等。

在不同產業領域中,AI測試的使用情況也不同。例如,在金融和軍工等對品質要求很高的行業中,AI測試目前只能作為目前已有功能自動化測試的擴展部分。而在網路等品質要求不高的產業中,一些技術能力強的公司已經將AI測試作為主要的自動化測試方式之一。不過,AI輔助自動化測試無疑是自動化測試的未來!

總結

透過上面對問題的回答,希望能解決大家對於AI測試的困惑,包括了解什麼是AI測試,自己的專案是否適合使用AI測試,以及未來是否需要在AI測試上投資等問題。

綜上所述,AI測試目前仍處於發展初期,因此不適合大規模使用,只有在特定專案中才可以考慮使用。無論是使用AI還是人工方式實施自動化測試,核心都是測試的有效性和測試結果的準確性,以及測試案例的可維護性。這些都是大規模自動化測試成功與否的關鍵因素。

因此,無論是AI自動測試還是人工自動測試,其核心本質都是一樣的:靠知識學習、分析、總結等一系列人的思維來解決測試分析、測試設計和自動化測試實現的工作。但目前AI系統本身的發展還不足以很好地替代人在測試分析和測試設計方面的工作,導致AI實現的自動化測試的準確性以及可維護性比人工方式更差。不過,AI測試在時間和成本方面有明顯的優勢,這也是其越來越受歡迎的原因。

因此,在測試領域,AI需要更加努力才能真正取代人的工作。在考慮使用AI測試之前,應該仔細評估專案的特定需求和條件,以確定是否適合使用AI測試。未來,隨著AI技術的不斷發展和完善,AI測試將成為自動化測試的重要趨勢,而投資於AI測試的相關技術和人才也將是一個明智的選擇。

以上是AI測試的迷思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除