假設您擁有一個類似 Google Analytics 的客戶端網站應用程式,由於客戶的網站需要 JavaScript 片段,因此他們網站的效能取決於您的應用程式。任何效能變慢的狀況都可能導致用戶的憤怒和高流失率。
效能測試(不同於壓力測試)是為了確保您的應用程式滿足當前用戶的需求。但是,如果有一個新的大客戶需要更多資源呢?效能測試為您提供有關預期負載的數據,而壓力測試則讓您了解負載限制。
仔細看看差異,以及使用它們時的一些工具和最佳實踐。
使用以下效能測試類型清單來確定需要哪些測試來確保最佳的使用者體驗。
- 負載測試(Load Tests) – 負載測試旨在了解應用程式將如何回應預期的並發用戶數或其他指標。
範例:假設你有一個購物網站,平常有 100 人同時在線。如果你想知道當有 500 人同時上網購物時,網站會不會變慢或出現錯誤,這就是負載測試要做的事。
- 壓力測試(Stress Tests) – 壓力測試旨在透過模擬極端數量的並發用戶或其他指標來了解應用程式的上限。
範例:你想知道當有 2,000 人同時使用網站,會不會崩潰?這種極限測試就是壓力測試。
- 浸泡測試(Soak Tests) – 浸泡測試或耐久性測試旨在了解應用程式可以承受大量並發用戶或其他指標的時間。
範例:假設你的購物網站每天晚上有 1,000 人同時使用,這種測試會讓這個流量持續運行幾天,看看會不會有記憶體洩漏或其他問題。
- 峰值測試(Spike Tests) – 峰值測試旨在了解應用程式如何回應並發用戶或其他指標的突然增加或減少。
範例:一個特價活動廣告突然讓很多人同時湧入網站,從 100 人瞬間變成 1,000 人。這個測試會模擬這種情況,看網站會不會撐得住。
- 斷點測試(Breakpoint Tests) – 斷點測試旨在逐步應用更高的並發用戶或其他指標,直到應用程式崩潰,類似於壓力測試。
範例:從 100 人開始,逐漸增加到 200 人、300 人,直到網站崩潰,這樣你就可以知道網站的極限在哪。
- 配置測試(Configuration Tests) – 配置測試確定配置變更對應用程式效能和行為的影響。
範例:比如你把伺服器的記憶體從 8GB 增加到 16GB,或是把資料庫連線的Connection Pool從50增加到100,看看會不會讓網站更快,或是否會引發新的問題。
- 隔離測試(Isolation Tests) – 隔離測試測試系統的不同部分以及這些部分如何破壞整個應用程式的穩定性。
範例:如果你測試網站的搜尋功能,看看它會不會拖慢整個網站的反應速度。
- 互聯網測試(Internet Tests) – 互聯網測試使用放置在實際目標位置上的負載產生器來測量本地化性能。
範例:從不同國家或城市的伺服器上進行測試,看看使用者從美國和台灣上網站時,速度是否有差別。
如果您正在尋找最準確的效能結果,請立即利用基於瀏覽器的測試工具,請一定要試試看 LoadNinja。
如果要測試的是 API 效能,也可以試試 ReadyAPI 的效能測試模組。想了解更多,歡迎與我們聯絡。