原創|使用教程|編輯:鄭恭琳|2020-11-25 13:34:35.723|閱讀 356 次
概述:了解如何在整個組織中左移性能測試。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
了解如何在整個組織中左移性能測試。
每個沖刺都是至關重要的,向前邁進的決策很快就可以實現。為了促進快速反饋過程,測試團隊必須在非常短的時間內端到端全面驗證其應用程序。為了最大程度地進行這項工作,測試團隊可以現代化他們的測試方法,以在軟件測試的最早階段獲得最佳的投資回報。
向左移性能測試意味著使開發人員和測試人員能夠在開發周期的早期階段進行性能測試。傳統上,性能測試是在開發周期結束時執行的任務,因為它需要一組專門的工具和技能,即由受過訓練的性能測試工程師在專用環境中使用昂貴的硬件。相反,左移性能測試策略允許測試人員在開發單個組件時進行較小的臨時性能測試。
為此,團隊需要在實現功能時開始創建性能測試以及單元測試和功能測試,并將這些性能測試配置為自動運行并以提醒您性能降低的方式進行報告。要自動執行測試,必須將性能測試執行緊密集成為CI/CD流程的一部分,在該過程中,每次檢入代碼后,性能測試都會與功能測試和單元測試一起在本地環境中執行。
此過程使組織能夠了解將新組件添加到其應用程序的總體性能中的細微影響,并最終在交付生命周期中更早地發現與性能相關的缺陷。從公司文化的角度來看,向左轉移性能測試還意味著使開發人員更加參與。在大多數情況下,開發團隊可以在發現性能下降的一天之內進行優化增強,而不是等到整個應用程序都構建完成。
首先,您需要建立良好的組織支持。將質量作為一個過程而不是作為一個響應來解決,對于將性能測試轉移到整個企業至關重要。此過程中的關鍵參與者是產品經理,因為性能測試和相關的開發時間是以實現為代價的,這可能會減慢開發周期。PM團隊必須了解為什么要進行此流程,并且必須了解減少修補程序和性能優化的價值所在。
接下來,除了在應用程序級別之外在組件級別定義SLA,還可以進行早期反饋,并幫助開發人員了解代碼修改對他們正在開發的各個組件的影響。這種細粒度的性能測試使利益相關者更容易了解熱點發生的位置。
重要的是,將您的大部分測試實踐從以UI為中心的測試遷移到API和數據庫測試之類的自動化測試中。這些類型的測試實踐除了具有更高的可維護性和可擴展性之外,還可以立即用于性能測試中,可以查明性能問題的根本原因,并且對變更具有高度的彈性。
最后,組織必須將性能測試集成到構建過程中,以便在代碼簽入后執行基本的冒煙測試性能測試,并且每晚都要運行全套性能測試。為此,您需要考慮硬件。自動化性能測試確實比功能測試需要更多的計算資源,因此開發團隊需要為此做準備。審查現有性能基礎架構是否適合左移方法或需要修改(即云代理),這也是過渡到性能測試自動化的關鍵考慮因素之一。
開發人員擁有其應用程序的性能。開發人員必須使用微服務,REST/SOAP API和模塊化設計架構來創建可以進行性能測試的應用程序,以便可以在開發單個組件時對其進行負載測試。
測試人員可以使他們的測試用例與應用程序中的關鍵工作流保持一致,以便可以在性能測試過程中利用它們。專注于應用程序的API層,使它在更改和管理方面更具彈性。兩個團隊都使用SLA之外的報告,以便應用程序根據最近的代碼檢入來確定問題區域,以幫助他們確定需要優化的組件。
為左移性能測試過程選擇正確的工具很重要,但并不像在自動化工作流程中一起使用它們那樣重要。早期的性能測試通常是在口袋里進行的,精明的測試人員和開發人員在其中使用各種開放源代碼和商業上可用的工具來設計技術,但是最終卻被忽略了,因為它沒有被集成為整個自動化過程的一部分。
相反,測試人員應該使用專用的商業工具,使他們能夠以自動化的方式創建性能測試。開發人員可以使用類似的工具來優化其工作,或者創建低級腳本來驅動自動化和負載。那么,您需要什么工具?
以下工具簡化了維護,可以集中管理,并提供易于使用的UI來理解結果。
功能測試工具
功能測試應該已經成為您連續測試策略的一部分。您選擇用于功能測試自動化的工具應該集中在應用程序的API層(以簡化測試用例的執行操作和維護)以及UI層(用于端到端和用戶體驗測試)。功能測試工具用于在UI級別或API級別創建基準(重用)執行路徑。這些執行路徑與用戶故事相匹配,因此性能測試的結果與受影響的用戶故事之間將存在關聯。
性能測試工具
具體來說,您需要一個性能測試工具,該工具可以使用功能測試工件并在負載下運行它們。這些工具應具有各種負載控制參數,例如虛擬用戶數或隨時間推移的事務。然后,這些工具應報告到集中式儀表板中以匯總結果。
服務虛擬化工具
服務虛擬化工具可以在左移性能測試的早期階段解決整體應用程序中缺少的組件。您在早期性能測試中將面臨的主要挑戰之一是缺乏通過并行開發工作或第三方組件提供的支持基礎結構。通過建立這些相關系統的基準并在虛擬服務中對其進行建模,您可以為生產創建類似的應用基準條件,并在測試過程中集中精力于單個組件的性能。
持續集成工具
左移性能測試在自動化過程中效果最好。如果部署了自動化,則“性能測試”僅意味著對自動化性能測試的檢查/維護,因為該過程是自動化而非手動的,因此從長遠來看減少了執行測試的時間。
通過使性能測試策略與連續測試策略保持一致,并與Jenkins,Bamboo,Microsoft VSTS等工具集成,您可以創建一個完全自動化的流程。您的CI工具應使您能夠根據代碼簽入執行性能測試,以便一致的性能測試可以在夜間運行。
另外,您的CI工具應與報告和分析儀表板集成,并自動發布結果,以便您可以快速了解趨勢數據。
集中式儀表板,可匯總結果
說到您的報告和分析儀表板…集中式儀表板非常重要,因為它使用戶能夠通過按項目,組件,API等顯示趨勢信息來了解組件性能測試的增量影響。
您的集中式儀表板應具有自動執行性能測試,定義將性能測試轉換為通過/失敗指示符的SLA以及查看歷史趨勢的能力。此外,報告儀表板應提供將性能測試與其初始要求相關聯的詳細信息,以便企業可以適當地對出現的問題進行優先級排序,以及高級別的通過/失敗視圖,并同時包含每個小細節,因此您可以在檢測到故障后確定故障原因。
左移方法將開發人員添加為儀表板用戶(除了管理人員和測試人員),因此儀表板必須具有開發人員正在尋找的低級詳細信息,以有效調查并確定SLA失敗或歷史趨勢的原因。
不斷的熱補丁和性能優化更新使消費者精疲力盡。他們渴望獲得新功能。由于性能測試傳統上是在周期結束時進行的,因此不可避免地會影響交付截止日期,因此可以通過負面的眼光來看待它。通過聯合性能測試流程并使敏捷團隊能夠采用“左移”迭代方法進行性能測試,可以及早發現問題。這不僅確保可以輕松評估所做出的技術決策是否會降低性能,而且還可以通過優化每個單獨的區域并專注于性能來最終提供整體上性能更高的產品。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn