6 個常見的連續測試瓶頸
已發表: 2021-08-09敏捷和 DevOps 實踐正在迅速流行。 許多公司正在採用這些軟件開發方法來快速、頻繁地交付新軟件和更新。 由於敏捷通常使用用戶故事和需求來定義產品功能,因此發布的軟件會以增量方式為客戶提供價值。
隨後,連續測試的需求也出現了前所未有的增長,因為它是快速交付質量的關鍵催化劑。
持續軟件測試是作為軟件交付管道的一部分執行測試套件,而不是在軟件開發生命週期 (SDLC) 結束時進行測試。 它在軟件交付管道的每個階段盡可能快地提供基於風險的反饋。 持續測試允許軟件開發過程快速推進,而不會影響用戶體驗。
Freeform Dynamics 在他們的研究中討論了持續測試的優勢以及來自 923 位 IT 和測試專業人員的累積反饋,持續測試作為數字業務的推動者。 該研究揭示了一些有趣的統計數據。
大約 75% 的專業人士同意持續測試在軟件開發中的重要性。 然而,只有 20% 的受訪者表示他們有適當水平(超過 80%)的測試自動化覆蓋率。 此外,大約五分之一的受訪者表示他們仍然嚴重依賴手動測試。
儘管有很多好處,但對眾多公司來說,實施持續測試仍然具有挑戰性:
分析連續的自動化測試
持續測試的最大挑戰之一是調查快速生成的大量輸出。 輸出來自各種來源,包括多種測試工具、靜態和動態分析、代碼覆蓋率、功能和回歸測試等。
測試分析需要花費大量時間和精力,而這些時間和精力本來可以用來優化測試套件或提高測試覆蓋率。 確定自動化軟件測試是否成功可能需要數小時,這有損於實施持續測試的核心目的,即加快軟件交付。
自動化測試分析可以在一定程度上解決這個問題。 越來越多的開發人員將注意力轉向加速輸出分析以加快整個交付週期。
持續測試分析中的可見性
對於開發人員和運營團隊來說,在測試分析中清晰明了是至關重要的。 雖然在應用程序生命週期的早期將其轉移或測試非常重要,但這還不夠。 您需要從用戶那裡獲得持續的反饋以保證質量,這只能通過右移測試來實現。
軟件測試的主要關注點不僅是產品在開發階段和測試環境中的性能,還應該關注增強其可用性。 您需要深入了解作為最終產品的應用程序或功能的行為,以優化您的初始階段。
因此,您不僅應該向左移動以更早地集成測試和發現問題,還應該從生產中獲取數據以了解產品的潛在缺陷。
測試運行時間長
由於持續測試包括在軟件架構的每個級別實施不同的測試套件,因此測試的數量是巨大的。 雖然您需要關注測試覆蓋率、功能覆蓋率和編寫新代碼行的腳本,但您還需要注意運行時。

引入持續測試是為了在不影響軟件質量的情況下加快交付過程。 因此,運行四到五個小時的測試是不切實際的,因為它會稍微延遲反饋。 因此,整個交付管道將放緩。
為了克服這個問題,您需要更全面地了解什麼是必不可少的,什麼是相關的。 測試影響分析 (TIA) 功能可以通過自動測試選擇來增強驗證。 對於進入管道的給定源代碼,TIA 將僅選擇並運行驗證代碼所需的必要測試。 因此,測試運行變得更快、更集中。
跟上大量部署
持續測試會產生測試債務。 一天內部署了各種測試以評估軟件質量和檢測錯誤,以及跟上敏捷方法。
但是,很難跟踪每天實施的所有測試。 如果您無法確定測試的有效性,或分析測試迭代中的變化如何影響業務風險和最終用戶體驗,那麼增加的頻率和速度將變得無關緊要。
耗時且昂貴
測試自動化是高效連續測試的關鍵組成部分。 它允許團隊快速分析新測試和迭代的性能。
但是,構建自動化測試腳本可能既耗時又昂貴。 因此,組織優化其使用至關重要。
QA 行業資深人士 Amir Ghahrai 解釋說,組織應該意識到自動化哪些測試領域最有益。 您可以遵循測試自動化金字塔原則從測試腳本中提取最大價值。
來源
團隊應該將大部分自動化工作集中在位於金字塔底部的單元測試上。 隨著您在金字塔上向上移動,您可以縮減自動化以優化對自動化腳本的投資。
抗拒改變
最後,儘管軟件開發和測試取得了所有進步,但仍有一小部分經驗豐富的測試人員拒絕更新他們的測試方法。 不願意改變的主要原因是看似有效的傳統方法。 結果,最終整個團隊都遭受了減慢開發過程的後果。
Siemens Healthcare 的測試架構師 Marco Achtziger 在德國的 OOP 2015 會議上談到了這個問題。 他建議您應該對堅持不懈的團隊成員保持支持和積極態度。 不僅要關注切換到高級程序的好處,還要關注更改將為整個團隊帶來的優勢。
持續測試對組織來說是一項重要資產,因為它可以加速軟件開發過程,同時降低業務風險。 軟件測試工具還可以促進測試實踐並幫助克服與反饋驅動測試方法相關的一些挑戰。
在您的 SDLC 中集成持續測試時,您遇到了哪些挑戰,您是如何克服這些挑戰的? 分享您的故事,讓努力整合持續測試的讀者受益。