好色先生TV

技术主題

什麼是性能工程?

以燈泡為重點的 IT 項目圖示

概述

性能工程是主動、持續和端到端的應用程式性能測試和監控。它允許團隊、工具和流程之間通過持續的反饋迴圈進行無縫協作。在這裡,不僅測試人員負責品質保證,开发人员、性能工程师、产物負責人和業務分析師也負責。

通過利用從开发人员到性能工程师的合適規模的工具,性能工程可實現左移性能測試和右移應用程式性能監控。如果不了解經典性能測試,就很難理解性能工程與傳統性能測試的差異有多大。

性能工程

性能测试和性能工程有什麼区别?

经典性能测试实际上是性能工程的一个子集。它通常需要运行一轮 负载测试,作為開發後質量保證 (QA) 週期的一部分。性能測試涉及在預期工作負載下檢查應用程式的速度、可靠性、可伸縮性、穩定性、回應時間和资源使用方式。在我們討論性能工程和性能測試之間的區別之前,我們首先要孤立地看一下性能測試,以及為什麼它本身不再可持續。

  • 首先,測試被孤立地看待,並被視為事後的想法,僅在功能测试結束時才開始。
  • 其次,孤島式工作會導致專案子團隊之間出現巨大的溝通鴻溝,並阻礙交付高品質产物所需的協作。
  • 第叁,当性能测试开始时,组织已经投入了大量的时间、精力和资金来设计、开发和推广应用程式。
  • 第四,性能測試通常被視為事後的想法,不包括在發佈前的“完成”標準中。因此,在這個關頭,企業迫切需要將應用程式投入生產,並且預計不會出現延遲。在這種情況下,QA 的反饋發生得太晚,無法在發佈之前完全修復。不可避免地,大量的性能問題會不必要地進入生產環境,以便發佈保持在計劃範圍內。修復生產中的缺陷比在開發早期修復要昂貴得多,而且具有破壞性。
  • 第五,传统的性能测试可能非常适合瀑布模型,但在当今以為中心的世界中已經格格不入。DevOps 透過縮短將更改提交到系統和將更改放入生產環境之間的時間來降低新版本的失敗率。持续集成和持續交付 (CI/CD) 可確保軟體在其整個生命週期中始終處於可發佈狀態。DevOps 還專注於重新調整組織,以支援利益相關者、職能和工具之間的端到端協作。為了滿足DevOps的快速交付需求,軟體開發需要一種更先進的性能測試方法。這種新方法就是軟體性能工程。

現在,讓我們深入探讨性能工程與性能測試之間的主要區別。

  • 首先,性能测试是对应用程式负载处理和回应能力的质量检查。它确定了系统承受生产负载的能力,并预测了在重负载条件下可能出现的问题。性能工程旨在从一开始就考虑性能指标来设计应用程式,并促进在开发早期发现问题。
  • 其次,性能測試是一個 QA 過程,通常在一輪軟體開發完成後進行。性能工程是一個持續的過程,它嵌入到軟體開發週期的所有階段——從設計到開發,再到最終用戶體驗。
  • 第三,性能測試由QA團隊進行,而性能工程涉及 RND 和QA。

性能工程概念

通过以下概念,顿别惫翱辫蝉和性能工程提供一致的生产性能结果,使客户能够更有信心地高效部署应用程式,并推出满足使用者期望的高性能、稳定的软体。

端到端优化

性能工程通過持續的測試和監控過程提供端到端的系統優化。這會將性能和负载测试轉移到開發過程中。這與傳統的性能測試不同,在傳統的性能測試中,測試是在功能测试稳定併发佈代码之后进行的。

代碼發佈后,性能工程通過利用應用程式性能監控 (APM) 工具在生產中跟蹤應用程式。

绩效利益相关者的跨职能团队

性能工程支持專案利益相關者之間的協作,從業務分析師到开发人员。保持高績效水準以增強客戶體驗,跟上業務步伐,並管理端到端性能,使每個人(而不僅僅是 QA/性能工程师)都成為产物性能的管家。方法如下。

卓越测试中心

卓越测试中心 (CoE) 是值得信賴的測試顧問和最佳實踐的保管人。CoE 支援不同的營業單位、不同的測試方法(如 DevOps 和敏捷),並可以根據需要靈活地推薦性能測試和測試工具。為了構建更好的測試模型並提高測試品質,CoE 充當整合和重用測試數據的單點,這些測試數據是隨著時間的推移在多個營業單位中生成和收集的。

性能工程师

性能工程师提供開發中所有代碼的整體視圖,以確保性能測試標準全面,涵蓋大局,並考慮開發中所有不同的代碼片段。性能工程师是性能測試工具的主要使用者,在編寫腳本、設計、運行和分析測試結果方面具有高度的專業知識。性能工程將性能工程师帶到開發的早期階段,他們可以提供代碼所需的性能指標和方案,以便將代碼視為已準備好發佈。早期參與意味著性能工程师可以確保解决方案滿足開發之初設定的性能預期。它們還確認了架構和設計在整個開發過程中是一致的。

程式师

开发人员是編碼方面的專家,但在功能和性能測試方面往往很輕鬆。他們在集成開發環境 (IDE) 中工作,傾向於使用自己喜歡的工具,而很少學習新工具。性能工程將性能測試轉移到左側,將其帶入軟體开发人员的職責範圍。借助性能工程师的輸入,軟體开发人员可以在編寫代碼時運行性能測試。开发人员在通過性能測試標準之前不會發佈其代碼。

开发测试人员

开发测试人员在經典性能測試中不存在,因為軟體开发人员和性能工程师之間有明顯的區別。在性能工程中,开发测试人员成為連接性能工程和开发人员團隊的利益相關者。他們通過紮實的編碼和測試技能來彌合差距,儘管與开发人员和性能工程师的專業知識水準不完全相同。他們可以快速運行測試,並且在根據需要使用不同的工具時比开发人员具有更大的靈活性。

业务分析师和应用工程师

通過向右移動測試,性能工程引入了业务分析师和应用工程师。這保證了定義用戶體驗品質的業務和應用程式性能要求被納入性能標準。這兩個角色在生產環境中監視應用,以確保始終具有一流的應用程式性能。


找到合適的性能工程合作伙伴

性能工程正在改變軟體開發領域以及所有從事軟體開發的人的工作描述。隨著現在涉及的角色越來越多,對簡化流程的工具和技术的需求比以往任何時候都大。性能工程需要從右到左和從左到右的端到端集成和協作,以及即時洞察和分析。傳統的性能測試供应商沒有足夠的能力來應對這一波混亂的變化。 好色先生TV 雖然擁有成熟的經驗和技术解决方案,可以將測試混亂轉化為工程秩序。

好色先生TV 性能工程開放式架構支援在任何開發環境中跨任何協定和應用程式類型進行測試。它允許利益相關者(從开发人员到業務分析師)使用眾多供应商和開源工具,從而實現大規模的完整 CI/CD 集成。 好色先生TV 工具集成能夠快速消除開發和測試的等待時間,從而減慢 应用程式交付速度。集成通過快速創建 API、網路條件和虛擬服務的真實模擬來實現這一點。 好色先生TV 性能工程解决方案基於現有的本地或雲基礎架構構建,並促進資產重用,以利用現有投資。這有助於快速擴展,以滿足整個企業中多個應用程式的性能測試需求。

傳統的性能測試直到功能测试完成才開始,直到性能測試結束才開始識別缺陷和根本原因。 好色先生TV 性能工程需要對缺陷進行持續的端到端測量和分析,甚至在性能測試結束之前就即時查明根本原因。性能標準包含在“完成”的定義和要求中。 好色先生TV 即時分析可説明性能工程师快速向开发人员提供反饋,以便在開發過程的早期啟動故障排除。生產環境中的綜合監視和真實用戶監視提供了對性能問題的見解,這些問題已逃脫測試,必須在下一個版本中修復。從性能角度捕獲和分析最終用戶的情緒,為开发人员提供更具體的反饋,從而優化應用程式以獲得更好的性能。

我们能提供什麼协助?

脚注