# 各種負載測試 Loading Test 與名詞認識


# Loading Test

負載測試大致上可以分成幾個測試種類

  • Smoke Test 冒煙測試:利用最小的負載驗證系統是否正常 (系統部署後的測試)
    • 測試新功能有關的所有內容 (廣度測試),不深入測試用來判斷是否需要進一步測試
  • Load Test 負載測試:透過測試了解高併發用戶數量以及 RPS (每秒請求數) 對於系統效能的影響
  • Stress Test 壓力測試:給予極限條件,評估系統的穩定性
  • Spike Test 突發性壓力測試:多數時間給予普通的測試,在經過一段時間給予系統承受極限的壓力,查看系統對於突發性壓力的處理能力
  • Soak/Enduarnce Test 浸泡測試 / 耐力測試:了解系統在長時間負仔的可靠度與效能
    • 適合場景
      • 軟體發新版
      • 系統升級
      • 尖峰使用
    • 不適合場景
      • 短期服務
      • 資源有限
      • 時間與預算緊迫
      • 穩定的服務
    • 測試內容
      • 穩定性
      • 記憶體洩漏
      • 資源利用率
      • 性能
      • 系統恢復
      • 數據累積
    • 特點
      • 持續時間長
      • 持續負載
      • 近似真實場景
    • 策略
      • 恒負荷策略
      • 階梯載入策略
      • 可變負載策略
      • 性能下降分析

以上的測試都可以用同一種測試內容再根據不同場景與測試目標修改測試環境的參數


# 併發用戶、RPS、TPS

  • 併發用戶:在測試工具中稱虛擬用戶(Vittual User,VU)是系統中操作的使用者
  • TPS(Transaction Per User) 每秒交易數量:衡量系統效能的指標
  • RPS(Request Per Second) 每秒請求數:適合規劃容量與限流的指標
  • RT(Response Time) 回應時間:指事務從 Clinet > Server > Client 的時間過程

# 參考資料

  • 微服務實踐
  • Grafana K6 - 各種負載測試類型
  • 并发用户、RPS、TPS 的解读
  • 在軟體測試中浸泡測試:它是什麼,類型,流程,方法,工具等等!)
  • 冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test)
更新於