軟件 QA 通常被視為任何開發(fā)團(tuán)隊(duì)的昂貴必需品;測(cè)試在時(shí)間、人力和金錢方面的成本很高,同時(shí)仍然是一個(gè)不完美的過程,容易出現(xiàn)人為錯(cuò)誤。通過將人工智能和機(jī)器學(xué)習(xí)引入測(cè)試過程,我們不僅擴(kuò)大了可測(cè)試的范圍,而且還自動(dòng)化了大部分測(cè)試過程本身。
這可以在不犧牲范圍或質(zhì)量的情況下減少測(cè)試所花費(fèi)的時(shí)間和金錢,使工程團(tuán)隊(duì)能夠打破項(xiàng)目管理的“鐵三角”。繼續(xù)閱讀以了解將 AI 和機(jī)器學(xué)習(xí)應(yīng)用于測(cè)試過程如何有可能徹底改變測(cè)試環(huán)境。
測(cè)試的問題
手動(dòng)測(cè)試涉及測(cè)試套件的開發(fā),以及與測(cè)試一起使用的測(cè)試數(shù)據(jù)的生成。雖然在提交時(shí)自動(dòng)運(yùn)行測(cè)試套件可以很容易地集成到開發(fā)管道中以防止部署失敗的代碼,但測(cè)試套件本身仍然僅與其中包含的測(cè)試用例和使用的測(cè)試數(shù)據(jù)一樣好。創(chuàng)建測(cè)試的開發(fā)人員或測(cè)試人員是人類。這意味著可能會(huì)犯錯(cuò)誤,并且可能會(huì)遺漏測(cè)試用例。隨著軟件的增長(zhǎng),測(cè)試的數(shù)量將不可避免地增加,這使得保持在測(cè)試套件之上并確保良好的代碼覆蓋率變得更加困難。
這些挑戰(zhàn)可以通過將人工智能引入測(cè)試過程來克服。人工智能可以在項(xiàng)目中以多種方式應(yīng)用,從抓取軟件到使用測(cè)試數(shù)據(jù)自動(dòng)生成測(cè)試套件,再到可視化分析軟件輸出以發(fā)現(xiàn)傳統(tǒng)功能測(cè)試不易發(fā)現(xiàn)的錯(cuò)誤。
視覺測(cè)試
可以訓(xùn)練基于圖像的學(xué)習(xí)算法來分析用戶界面,增強(qiáng)測(cè)試過程以幫助確保網(wǎng)頁上的所有內(nèi)容都能正確顯示。與傳統(tǒng)的功能測(cè)試相比,這可以通過更少的錯(cuò)誤來完成,并且比手動(dòng)測(cè)試要快得多。這節(jié)省了時(shí)間和金錢,因?yàn)橛糜?UI 驗(yàn)證的功能測(cè)試開發(fā)起來非常耗時(shí),并且很快就會(huì)變得非常冗長(zhǎng),使得它們難以維護(hù)。
視覺 AI 支持的斷言通過顯著減少測(cè)試斷言所需的代碼量,徹底改變了編寫 UI 功能測(cè)試的方式。例如,AI 支持的斷言不是編寫冗長(zhǎng)的代碼來檢查 DOM 元素,而是根據(jù)目標(biāo)預(yù)期輸出(通常是屏幕截圖)分析輸出。如果輸出與屏幕截圖匹配,則測(cè)試通過。這可以立即突出差異,還可以更輕松地編寫可以應(yīng)用于不同設(shè)備和屏幕分辨率的更好的測(cè)試。
人工智能蜘蛛和用戶分析
生成用戶旅程需要大量時(shí)間,并且在足夠成熟的軟件中,可能的用戶旅程數(shù)量迅速接近超出手動(dòng)創(chuàng)建的測(cè)試用例可能覆蓋的數(shù)字。AI 爬蟲用于自動(dòng)發(fā)現(xiàn)應(yīng)用程序,并可與其他測(cè)試程序(例如回歸測(cè)試)結(jié)合使用,以快速發(fā)現(xiàn)用戶旅程中引入的錯(cuò)誤。它涉及利用機(jī)器學(xué)習(xí)來創(chuàng)建一個(gè)模型,該模型可以通過與 UI 元素交互來導(dǎo)航應(yīng)用程序。該模型通過應(yīng)用程序創(chuàng)建一系列路徑,以自動(dòng)生成可以編寫測(cè)試的工作模式。這些測(cè)試將當(dāng)前模式與預(yù)期工作模式進(jìn)行比較,以突出差異作為測(cè)試過程的一部分。
可以使用支持 ML 的使用分析來代替或補(bǔ)充 AI 爬蟲。通過觀察和了解最終用戶如何使用應(yīng)用程序,測(cè)試系統(tǒng)可以識(shí)別用戶實(shí)際遍歷的測(cè)試用例,而不是通過應(yīng)用程序的所有可能路徑,從而大大減少提供完整質(zhì)量保證所需的測(cè)試數(shù)量。
無代碼測(cè)試
使用記錄和回放界面是一種流行的生成測(cè)試的方法,但是隨著 UI 元素的變化,它們很難維護(hù)。人工智能驅(qū)動(dòng)的無代碼測(cè)試開啟了創(chuàng)建幾乎不需要維護(hù)的自我修復(fù)測(cè)試用例的可能性。AI 可以通過在與之交互時(shí)動(dòng)態(tài)生成對(duì)象定位器來增強(qiáng)記錄和播放過程。所有命令,從鼠標(biāo)點(diǎn)擊到鍵盤輸入,以及對(duì)象類型,無論它可能是下拉選項(xiàng)、輸入字段還是其他東西,都會(huì)被識(shí)別。
人工智能驅(qū)動(dòng)的無代碼測(cè)試能夠自我修復(fù)。通過開發(fā)頁面上的對(duì)象模型,它能夠重新發(fā)現(xiàn)已以某種方式移動(dòng)或更改的 UI 元素定位器,而無需手動(dòng)重新配置。在開發(fā) UI/UX 測(cè)試時(shí),這可以節(jié)省大量時(shí)間,這通常需要不斷維護(hù)以適應(yīng)變化。
持續(xù)驗(yàn)證
連續(xù)驗(yàn)證不是將測(cè)試定義為 CI/CD 管道中的特定階段,而是允許使用連續(xù)驗(yàn)證在開發(fā)過程的所有階段運(yùn)行測(cè)試。人工智能驅(qū)動(dòng)的持續(xù)驗(yàn)證可以通過在開發(fā)過程的每個(gè)階段跟蹤數(shù)千個(gè)指標(biāo)來自動(dòng)對(duì)新版本進(jìn)行風(fēng)險(xiǎn)評(píng)估,比手動(dòng)處理機(jī)器日志數(shù)據(jù)的速度要快得多。
這些風(fēng)險(xiǎn)評(píng)估可用作自動(dòng)化決策部署過程的一部分。如果部署被判定風(fēng)險(xiǎn)太大,可以使用 AI 自動(dòng)回滾或前滾部署,以防止不穩(wěn)定的代碼留在生產(chǎn)環(huán)境中。這些不僅節(jié)省了凌晨 3 點(diǎn)對(duì)技術(shù)專家的緊急呼叫,而且 AI 還能夠進(jìn)行錯(cuò)誤診斷和分類,因此可以根據(jù)嚴(yán)重程度自動(dòng)理解和分類錯(cuò)誤、警告和異常,進(jìn)一步減少對(duì)專家確定風(fēng)險(xiǎn)級(jí)別的依賴的錯(cuò)誤。
人工智能和軟件測(cè)試的未來
基于 AI 和 ML 的軟件測(cè)試方法的許多潛在應(yīng)用仍處于起步階段,它們?cè)谲浖y(cè)試行業(yè)的應(yīng)用并不廣泛。這些測(cè)試方法是新的,但人工智能驅(qū)動(dòng)的測(cè)試方法證明了不僅可以擴(kuò)大軟件內(nèi)可測(cè)試范圍的潛力,而且還可以擴(kuò)大測(cè)試過程的自動(dòng)化程度。軟件 QA 是開發(fā)過程中最昂貴的部分之一,因此在時(shí)間和金錢方面的潛在成本節(jié)約對(duì)于開發(fā)團(tuán)隊(duì)來說是巨大的。
審核編輯:郭婷
-
AI
+關(guān)注
關(guān)注
87文章
29862瀏覽量
268154 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8357瀏覽量
132328
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論