翻譯|行業資訊|編輯:胡濤|2024-01-17 11:15:54.167|閱讀 72 次
概述:測試影響分析使開發人員可以輕松地進行更智能的測試,而不是更困難。這里全面介紹了測試影響分析的好處以及為什么開發人員應該將其納入他們的軟件測試例程中。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
測試影響分析使開發人員可以輕松地進行更智能的測試,而不是更困難。這里全面介紹了測試影響分析的好處以及為什么開發人員應該將其納入他們的軟件測試例程中。
測試影響分析意味著將測試專門集中在每次迭代期間所做的更改,并自動準確地測試需要測試的內容。利用這項技術的團隊可以通過有關需要做什么的即時反饋來優化他們的開發測試工作。
行業調查和報告經常證實,即使在實施敏捷、DevOps 和持續集成/部署等現代開發流程之后,軟件測試仍然是一個瓶頸。在某些情況下,軟件團隊的測試不夠充分,必須在開發周期的后期階段處理錯誤和安全漏洞,這會產生一個錯誤的假設,即這些新流程無法兌現其承諾。解決某些類別問題的一種解決方案是右移測試,它依賴于在生產環境中監視應用程序,但它需要堅如磐石的基礎設施,以便在出現嚴重缺陷時回滾新的更改。
結果,組織仍然錯過了最后期限,并且質量和安全性受到影響。但還有更好的方法!為了更智能地進行測試,組織正在使用稱為 測試影響分析的 技術來準確了解要測試的內容。這種數據驅動的方法支持左移測試和右移測試。
任何迭代過程中的測試都是在有限的周期時間內可以完成多少測試的折衷。在大多數項目中,不可能在每次迭代中進行完全回歸。相反,執行一組有限的測試,并且確切地測試什么是基于最佳猜測。由于通常沒有足夠的已完成新功能可供測試,因此測試也會在周期中進行回載。生成的工作量與時間圖最終像鋸齒一樣,如圖 1 所示。在每個周期中,僅執行一組有限的測試,直到執行完整回歸測試的最后一個周期。
不幸的是,沒有一個項目在達到最終周期時具有零錯誤和零安全漏洞。在此階段發現缺陷會增加延遲,因為錯誤會被修復并重新測試。即使 存在 這些延遲,許多錯誤仍然會進入已部署的產品中,如下所示。
這種情況導致了所謂的“右移測試”的采用,即組織在部署階段繼續測試其應用程序。右移測試的目的是增強和擴展測試工作,測試最適合部署階段,例如 API 監控、切換生產中的功能以及從現實操作中檢索反饋。
重現真實測試環境以及在測試中使用真實數據和流量的困難導致團隊使用生產環境來監視和測試其應用程序。這樣做有很多 好處 ,例如,能夠使用支持容錯和性能改進的實時生產流量來測試應用程序。一個常見的用例是所謂的 金絲雀發布,其中軟件的新版本首先發布給一小部分客戶,然后隨著錯誤的報告和修復而推廣到越來越大的群體。例如,Roku 就是這樣做來更新其設備固件的。
右移測試依賴于開發基礎設施,該基礎設施可以在出現嚴重缺陷時回滾版本。例如,金絲雀版本中的嚴重安全漏洞意味著回滾該版本,直到新的更新版本準備就緒,如下圖所示:
但使用生產環境來監控和測試軟件是有風險的,當然, 右移測試的目的從來不是取代部署前的單元、API 和 UI 測試實踐! 右移測試是一種 補充 實踐,它將持續測試的理念擴展到生產中。盡管如此,組織很容易濫用這個概念來證明在開發過程中進行更少的單元和 API 測試是合理的。為了防止這種情況發生,我們需要使開發階段的測試變得更容易、更高效,并生產出質量更高的軟件。
大多數軟件都沒有經過充分測試,測試內容的決定基本上基于開發人員對關鍵功能的最佳猜測。在 SCRUM 沖刺或其他流程的迭代期間,很難確定要測試什么,因為“測試所有內容”當然不是一種選擇。由于時間很短,只能測試由最新功能更新的軟件部分,但具體哪些代碼受到影響通常是未知的。測試自動化有所幫助,但如果不準確了解測試地點和測試內容,測試覆蓋率就會不足。
這些缺點可以通過使用測試影響分析來克服 ,測試影響分析是對測試覆蓋率、代碼更改和依賴關系的多變量分析,可以準確指出需要測試的代碼。此外,這些精確的測試可以安排并自動執行。
測試影響分析在 IDE 內的開發人員級別進行,收集有關哪些測試執行哪些代碼的信息,并在開發人員更改代碼時在開發人員的 IDE 中應用該信息,使開發人員能夠輕松識別和執行需要執行的特定測試。需要運行以驗證更改的代碼不會破壞任何測試。此外,跟蹤哪些受影響的測試已運行、哪些已通過、哪些已失敗,可以使開發人員輕松確定哪些測試仍需要運行,或者哪些測試已失敗并需要解決。一旦所有測試都已運行并通過,開發人員就知道可以安全地提交代碼并繼續前進。
測試影響分析在 CI/CD 流程中工作,通過無縫集成到項目的構建系統(例如 Maven 或 Gradle)中,以獲得有關更改的即時反饋。測試影響分析確定自基線構建(即最后一次夜間構建)以來哪些代碼發生了更改,確定需要運行哪些測試來執行該代碼,然后僅運行該測試子集。此工作流程使團隊能夠設置僅根據最近的代碼更改運行測試的 CI 作業,將運行 CI 作業所需的時間從幾小時縮短到幾分鐘。
測試影響分析具有以下主要優點:
為了大大減少開發中的測試瓶頸,并提高測試人員在每次迭代中投入的“鋸齒”工作的效率,開發團隊可以受益于測試影響分析技術。具有測試影響分析的測試自動化意味著將測試專門集中在每次迭代期間所做的更改,并自動準確地測試需要測試的內容。這些團隊通過即時反饋來優化他們的開發中測試工作,包括需要做什么、哪些代碼未通過測試以及哪些其他代碼受到新更改的影響。
如果您目前不是Parasoft C/C++test用戶,但希望通過C/C++test 2023.2,為C、C++開發人員賦能,歡迎聯系我們。了解更多有關Parasoft產品咨詢,歡迎咨詢
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn