重點摘要#

  • 非功能性需求(效能、韌性、正常運行時間等)往往被延遲到開發末期才測試,這是常見的錯誤
  • 如果等到專案後期才關注效能,你將失去大量關於效能何時發生變化的資訊
  • 及早進行效能測試可以建立基線數據,幫助診斷效能問題的根源
  • 效能測試環境的建立本身就耗時費力,越早開始越好

詳細內容#

商業用戶主要透過功能性需求來描述他們的需求。而系統的非功能性面向 — 如效能、韌性、正常運行時間、支援需求等 — 則是架構師的職責範疇。然而,非功能性需求的初步測試往往被延遲到開發週期的很後期,有時甚至完全交給維運團隊。

這是一個非常常見的錯誤。如果你到專案後期才開始關注效能,你已經失去了大量關於效能何時、為何發生變化的寶貴資訊。

為什麼要及早開始效能測試?#

  • 縮小問題範圍:當效能出現問題時,你可以聚焦在最近的變更,而非必須重新審視整個架構
  • 建立基線數據:早期測試可能無法診斷效能,但能提供趨勢數據,這在後續診斷時極為重要
  • 驗證架構決策:及早驗證架構和設計選擇是否符合實際效能需求,對有嚴格需求的系統尤其關鍵
  • 漸進式建立測試環境:效能測試環境的建立(環境設定、測試資料、測試案例定義)本身就很耗時

如果你使用兩週迭代的敏捷方法,效能測試最遲應在第三個迭代之前納入流程。

及早測試的時機建議#

在敏捷開發中,效能測試應盡早成為開發流程的一部分。即使早期版本的系統負載不高,建立基線數據仍然是值得的投資。這些趨勢數據在後續診斷效能問題時,將提供極為關鍵的參考依據。

— By Rebecca Parsons