持續(xù)測試的障礙(二):如何克服執(zhí)行測試不穩(wěn)定,且運行時間太長
持續(xù)測試是一個過程,使團隊能夠在軟件開發(fā)中建立質(zhì)量,并加速交付高質(zhì)量的客戶體驗。通過持續(xù)測試,團隊使用自動化測試獲得關(guān)于代碼健康的即時反饋。
持續(xù)測試使企業(yè)能夠評估商業(yè)風(fēng)險。最近的行業(yè)調(diào)查顯示,用于跟蹤項目進(jìn)展和成功的首要指標(biāo):
- 高測試覆蓋率
- 增加缺陷修復(fù)
- 減少了生產(chǎn)中的缺陷
- 在開發(fā)過程中建立質(zhì)量
如何實現(xiàn)速度和質(zhì)量的結(jié)合?答案是:持續(xù)測試。但它確實有其挑戰(zhàn)。本文就說說第一個挑戰(zhàn)或者說障礙——執(zhí)行測試不穩(wěn)定,不可靠且運行時間太長。
障礙二:執(zhí)行測試不穩(wěn)定,不可靠且運行時間太長
可以理解的是,軟件組織希望自動化測試是有效的,并且不妨礙開發(fā)進(jìn)度。然而,隨著測試套件的增長,維護(hù)和執(zhí)行的問題也隨之而來。測試,像代碼一樣,會受到變化的影響。在一個沖刺階段增加的新功能會對用戶界面或應(yīng)用程序的工作流程產(chǎn)生重大影響。這些變化會破壞現(xiàn)有的測試,使其不穩(wěn)定。盡快解決這些問題是很重要的。
當(dāng)測試失敗時,你需要了解失敗的背景。不是每個測試失敗都是一樣的。有些用例比其他用例更重要,或者,也許有些測試本質(zhì)上是不穩(wěn)定的。缺乏的是對測試失敗或測試不穩(wěn)定對應(yīng)用程序的業(yè)務(wù)專家的影響的理解。調(diào)查這些持續(xù)的測試失敗成為整個測試自動化戰(zhàn)略的一個分心。業(yè)務(wù)需求和測試之間的相關(guān)性對于確保自動化的價值得以實現(xiàn)至關(guān)重要。
另一個障礙是測試套件的實際執(zhí)行時間。隨著測試組合的增加,執(zhí)行時間也超過了合理的等待反饋的時間。對變化的快速反饋對于成功的CI/CD管道是至關(guān)重要的,所以需要測試效率和重點。
如何消除障礙,以人工智能為動力的測試執(zhí)行
測試執(zhí)行障礙的解決方案是用AI進(jìn)行更智能的測試。這意味著利用測試自動化人工智能,使測試對變化更有彈性,并只針對關(guān)鍵測試的執(zhí)行。
用Selenium和Selenic進(jìn)行智能UI測試。利用人工智能,Parasoft Selenic在檢測到UI變化時自我修復(fù)測試。這些都是自動使用的,但建議被發(fā)送給開發(fā)人員以幫助修復(fù)測試。這些修復(fù)可以自動應(yīng)用到Selenium測試中,消除手動調(diào)試和代碼更改。

根據(jù)受影響的需求來計劃工作項目的測試。為了確定測試活動的優(yōu)先次序,需要從測試到業(yè)務(wù)需求的關(guān)聯(lián)性。追蹤用戶故事和需求,為價值流的質(zhì)量提供實時可見性。用戶故事和需求應(yīng)該被優(yōu)先審查。Parasoft SOAtest中的可追溯性功能被用來計劃執(zhí)行測試,以驗證正在打印的項目。然而,由于不清楚最近的變化是如何影響代碼的,所以還需要更多。

使用測試影響分析,只驗證有變化的內(nèi)容。為了充分優(yōu)化測試執(zhí)行,有必要了解每個測試所涵蓋的代碼,然后確定已經(jīng)改變的代碼。Parasoft工具通過測試結(jié)果和分析的中央存儲庫提供這種能力。測試影響分析允許測試人員只關(guān)注驗證變化的測試。
