原創|使用教程|編輯:鄭恭琳|2020-11-27 13:11:00.880|閱讀 278 次
概述:通過使用Parasoft Jtest將測試影響分析用于單元測試,軟件開發團隊可以集中精力進行測試,并通過IDE或CI流程真正加速其開發流程。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
您測試得越快,發布就越快。但是,您不必等待每晚/每天的構建來運行全套的單元測試,以驗證代碼更改的影響。相反,您可以立即洞悉受代碼更改影響的測試,并對簽入更有信心。
多年來,單元測試一直是行業最佳實踐,并且隨著開發團隊建立其測試套件,他們變得越來越大。隨著測試擴展到集成或組件級別的測試,它們將花費更長的時間。隨著諸如TDD之類的單元測試新趨勢的發展,這些測試套件將變得比以前更大,因為所有代碼都依賴于測試,并且更多依賴于測試。
擁有大量單元測試基礎可以成為測試的良好基礎,但這可能會對測試執行時間產生重大影響,尤其是在單元測試擴展到集成/組件級測試時。因此,知道要測試什么的關鍵在于了解每個代碼更改的確切影響,需要運行哪些測試以及可能需要哪些新測試。
計算代碼覆蓋率是確定要測試的內容的一個方面,但僅憑此還不夠。當為每個測試計算代碼覆蓋率,然后在逐個構建的基礎上將其與代碼更改相關聯時,真正的魔力就會發生。使用這種方法可以為我們提供測試影響分析,在此過程中,我們可以準確地確定執行哪個測試以驗證代碼更改。通過使用Parasoft Jtest將測試影響分析用于單元測試,軟件開發團隊可以集中精力進行測試,并通過IDE或CI流程真正加速其開發流程。
盡早發現并修復錯誤是進行測試影響分析的主要好處。通過將測試影響分析的結果直接集成到IDE中,開發人員可以無縫地利用其在工作流程中的優勢,將測試工作準確地集中在正確的位置,并確保對代碼更改進行完整的測試,包括對相關代碼的間接影響。
盡管盡早發現并修復錯誤是主要目標,但使開發人員觸手可及的測試影響分析結果還有其他優點,包括:
將測試影響分析與CI流程相結合時,可以節省時間,并且可以將開發團隊的工作重點放在確保質量所需的工作上。在開發和構建時進行優化對于處理變更時實現敏捷目標至關重要。
與在軟件開發生命周期中較晚發現錯誤相比,早發現錯誤更好且更便宜,因為這可能會導致重大的計劃延誤。開發人員通常不知道要運行哪些測試,因此他們要么不運行任何測試,要么運行太少。在這種情況下,他們依賴于構建以運行整個測試套件,因此開發團隊在等待構建過程中有關其更改的反饋/驗證時處于閑置狀態。通過利用測試影響分析,開發團隊甚至可以在將代碼提交到版本中以驗證更改之前找到并運行適當的測試。
測試影響分析還意味著開發人員可以更快地獲得有關代碼更改的反饋,這些更改會導致CI流程導致測試失敗。開發經理希望他們的團隊在簽入代碼之前運行測試,理想情況下,但是通常沒有完成。此外,他們希望確保團隊在檢入代碼后盡快知道代碼是否通過了任何測試。因此,對于測試影響分析功能而言,跨越CI流程以及開發人員的桌面非常重要。
那么在實踐中這是什么樣的呢?在IDE中,當開發人員正在編寫代碼時,Jtest的“受影響的單元測試”視圖提供了一個(動態發展中的)列表,其中需要運行這些測試才能執行在本地更改的代碼。然后,開發人員只需要做的就是右鍵單擊受影響的測試并執行它,或者簡單地運行所有受影響的測試。
Jtest跟蹤已運行的受影響的測試,并清楚顯示哪些已通過和哪些失敗,從而使開發人員可以輕松確定哪些測試仍需要運行,或者哪些測試已失敗并需要解決。一旦所有測試都已運行并通過,開發人員將對代碼更改更有信心,并可以安全地提交其代碼并繼續進行下一個開發任務。
專門進行代碼測試反饋的工作流旨在提高開發人員桌面的工作效率,使用戶可以輕松地識別并僅運行驗證本地代碼更改所需的測試。在直接部署到生產的模型中,這可以防止將錯誤分發給最終用戶。當一個項目涉及多個團隊時,這可以防止其他團隊浪費時間進行故障排除和解決問題,而如果在提交代碼之前進行了適當的測試,這些問題可以避免。
如果您無法輕松將其集成到現有工具鏈中,則這些工具將無法使用。Parasoft Jtest支持Git或SVN源代碼管理以及其他源代碼控制系統中的項目。Eclipse和IntelliJ都存在IDE集成。 Jtest提供了Maven和Gradle插件,這些插件可以集成到CI構建作業中,該CI運行作業作為Maven或Gradle構建的一部分運行測試。
通過確定自基線構建以來哪些代碼已更改(通常被配置為最近一次夜間構建),然后確定需要運行哪些測試以執行該代碼,然后配置這些插件,可以將它們完全自動化以測試套件只是那部分測試。這使團隊可以設置僅基于最新代碼更改運行測試的CI作業,從而使他們可以將運行CI作業所需的時間從數小時縮短至幾分鐘。
作為最佳實踐,團隊可以每晚運行全套單元測試,并在日常(臨時)構建中利用測試影響分析。這使得Parasoft Jtest對于具有長期運行的測試套件的團隊特別有用,他們可以在提交代碼后幾分鐘內從相關測試中獲取結果,從而獲得真實的CI。如果無法執行此操作,則錯誤的代碼更改可能會導致無法快速捕獲到的回歸,從而可能潛入生產環境或干擾其他團隊成員的工作。
通過將資源準確地集中在需要測試的內容上,開發團隊可以快速有效地運行測試,以不斷地驗證他們要檢入的代碼——在漏洞和安全漏洞未完全生成之前就將它們捕獲。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn