首頁  >  文章  >  科技週邊  >  人工智慧、機器學習和軟體開發的未來

人工智慧、機器學習和軟體開發的未來

王林
王林轉載
2023-04-30 13:37:061053瀏覽
你和你最喜歡的應用程式之間的每一次成功互動都是品質檢查團隊共同努力的結果。

人工智慧、機器學習和軟體開發的未來

您與您最喜愛的應用程式之間的每一次成功互動都是品質保證 (QA) 團隊共同努力的結果。這些孜孜不倦的問題獵人確保全球行動裝置用戶日常需求所依賴的應用程式的每個方面都能在每次發布和更新中順利運行。

當您在早晨的鬧鐘聲中醒來、查看天氣或向您所愛的人發送訊息時,我們必須感謝這些通常是默默無聞的英雄。

當團隊的努力失敗時,他們肯定會聽到這樣的消息:許多用戶會毫不猶豫地在流行(且非常明顯)的評論網站上提供負面回饋。

現代行動應用程式使用者——也就是我們現在幾乎所有人——的期望是完美,QA 團隊的主要目標是確保每次部署都沒有錯誤的產品。

錯誤和問題的存在會很快讓應用程式沉沒。不幸的是,要確保無錯誤的體驗絕非易事。而且它只會變得越來越複雜。現今的軟體開發世界變得越來越複雜,而針對這些複雜性帶來的許多潛力和場景進行測試意味著測試本身變得越來越複雜和資源密集。

鑑於行動應用程式開發的歷史,預計應用程式只會變得更加複雜並且需要更高級和更頻繁的測試是非常合理的。但一定要這樣嗎?我們是否注定需要越來越多的員工和越來越大的 QA 團隊?

1980 年代:手動測試

讓我們花點時間考慮一下我們是如何走到這一步的。直到最近——「哇——我猜這真的是很久以前的1980 年代了」——軟體QA 團隊嚴重依賴手動測試他們的設備,以確保推向市場的產品性能良好.

#那是一個更簡單的時代,設備的功能和活躍場景都少得多,因此手動編碼是一種足夠的測試方式。雖然繁瑣的工作在徹底執行時會花費大量時間,但手動測試對測試人員來說效果很好。

但是技術作為不斷發展和改進的野獸,以自動化的形式迎來了變化,大大改進了測試過程。軟體不斷進步並變得更加複雜。

1990 年代 – 2010 年代:編碼測試自動化

在接下來的幾十年裡,測試的進步使 QA 測試人員擺脫了透過測試案例進行實際操作的要求。他們不再需要手動找出義大利麵式程式碼堆中的錯誤。

他們在軟體問題的戰爭中有了新武器:大規模手動測試已經變得不切實際,如果任何QA 團隊要在合理的時間內徹底測試一個可能發布的版本,他們需要通過以下方式執行測試腳本一種自動化工具。

那麼,複雜性之戰贏了嗎?不完全的。最好不要將自動化測試視為一種革命性的創新,而應將其更多地視為與軟體不斷發展的複雜性進行軍備競賽的又一步。

時間在流逝,但地平線上還沒有明顯的勝利。隨著行動應用程式的流行並成為我們許多日常生活的核心工具,自動化測試逐漸失勢。幸運的是,一場期待已久的變革即將來臨,一場真正的革命。

2020 年代:無程式碼測試自動化

直到最近,QA 測試團隊的困境確實變得相當可怕。為了確保高品質的產品發布,自動化測試需要越來越複雜的程式碼工具,這意味著 QA 團隊需要將越來越多的程式設計師專門用於測試,而不是其他任務,例如產生新功能。這不僅成本越來越高,而且還意味著將發布日期越來越往後推。但另一種選擇,即災難性的發布,可能要昂貴得多(正如許多備受矚目的失敗發布所證明的那樣)。

但不可避免的事情來了。透過抽象原則——基於介面的表示為極其複雜的過程鋪平了道路(例如,考慮隱藏在你正在閱讀的文章後面的1 和0)——許多專家早就預示著一個新的抽象層,一場“無代碼革命”,這確實在過去幾年取得了成果。

最近出現了一些平台,允許在各個行業中使用無程式碼解決方案。無程式碼革命的一個更明顯的例子是真正所見即所得的網站編輯器(想想Squarespace 或Wix)的流行,而在軟體測試的不那麼明顯的領域,我創立的公司Sofy 是一個獨特的平台,可為行動應用程式提供無程式碼測試。

無程式碼革命帶來了翻天覆地的變化,讓非專家也能處理複雜的任務,讓專家有更多時間處理其他任務。因此,在不久的將來,我們無疑會看到越來越多的面向各行業的無程式碼解決方案。

2025?真正聰明的自我測試軟體

也就是說,在事物的計畫中,無程式碼革命只是向前邁出的又一步,我相信軟體測試的下一步是測試自身的軟體。

在這方面我並不孤單:就像無程式碼革命一樣,自我測試軟體多年來一直是預期的現實。以技術的變化和成長速度,可以想像到 2025 年,無需人工幹預即可測試 AI 運行的智慧測試自動化(即自測軟體)將大大擴展,這一點也不荒謬。

目前,智慧測試的有限實施透過依賴機器學習 (ML) 和人工智慧平台提高了軟體發布的速度和品質。這允許進行快速和連續的測試(並由此提高投資回報率)。此外,AI 可以複製人類智能,而 ML 則可以讓電腦在沒有人為幹預的情況下學習。

人工智慧和機器學習採用基於深度學習的演算法來存取數據,並透過提取模式從數據中學習,從而更有效地進行調試和決策。此外,這項技術允許 QA 團隊在各種裝置和不同的外形規格中執行許多測試。

不是幾天,而是幾小時。現在這是一場革命。

沒有程式碼仍然需要人;人不是機器:他們會犯錯。即使沒有代碼——雖然大大減少了——人為錯誤仍然是導致嚴重問題的因素。考慮由人工測試引起的資源、時間和精力的過度使用。

智慧測試自動產生和維護測試案例並產生有價值的收益,這些收益可以概括為提高生產力和輸出品質。但要實現智慧測試自動化,必須先結合以下要素:

  • 從人類輸入中學習:當機器進行測試時,它必須像人類一樣行動。它必須了解人類需要和想要什麼,以及人類如何使用設備。正如我們所討論的,這可能很難預測,複雜的應用程式意味著複雜的測試場景和模式。然而,機器必須從這個有利的角度來理解和操作。
  • 從實際使用的產品資料中學習:機器必須了解應用程式在不同生產環境中的使用方式。這包括了解可能正在使用的裝置、裝置設定的語言及其使用流程,包括選單、螢幕和操作的使用。
  • 訓練資料:就像自動駕駛汽車(一個尚未破解的堅果)一樣,機器學習需要訓練資料來幫助概述軟體模式。

這三項必須內化並針對每次程式碼變更進行徹底測試。然後,必須以無縫和智慧的方式對它們進行聚合和優先排序。這是一項不小的壯舉,但我們將繼續朝著下一步努力。

我們還沒有。在我們繼續前進之前,必須完成這些步驟中的每一步,但這實際上只是時間問題。

自我測試軟體只是第一步:我預測我們可以期待其他剛投放市場的無程式碼範例向機器學習方向發展。我相信基於一些用戶指定的參數來生成整個網站成為現實只是時間問題。今天,無代碼革命終於到來了,但隨之而來的是另一場革命的開始。

以上是人工智慧、機器學習和軟體開發的未來的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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