如果您是開發人員,QA工程師或DevOps,則需要進行不同類型的性能測試,以確保每次更改code或添加功能(a)不會中斷系統,並且(b)可以正常運作。但是你應該進行哪種類型的性能測試呢?負載測試和其他類型的測試之間有什麼區別,以及哪種測試適合於哪種情況? 在這篇文章中,我們將介紹這些問題。

 

What is Performance Testing? 什麼是效能測試?

效能測試是檢查系統如何運行和執行的測試通用名稱。 效能測試負責檢查軟體和基礎架構的響應性,穩定性,可擴展性,可靠性,速度和資源使用情況。 不同類型的效能測試為您提供不同的數據,我們將會進一步詳細說明。
 
在進行效能測試之前,業務必須確認系統的目標,以便根據客戶的需求確定系統的行為是否能另客戶滿意。
 
執行效能測試後,可以分析虛擬用戶數量,每秒點擊次數,每秒誤差,響應時間,延遲和每秒頻寬流量等不同的KPI,瞭接他們之間的相關性。 通過報告,您可以確定瓶頸和錯誤,並決定下一步需要做什麼。
 

When should you use Performance Testing? 什麼時候需要效能測試?

當你想檢查你的網站性能以及Server, Database, Network等。如果你使用Waterfall的開發方法,那麼至少每次發布一個版本前都要進行效能測試。 如果你是使用敏捷開發,那麼就應該持續不間斷的測試(使用CI Server)。
 

What is Load Testing?

負載測試是檢查系統如何在大量的虛擬用戶在一段時間內對系統操作的情況下進行的測試。以下有幾種類型的open source的負載測試工具

1. The Grinder

2. Gatling

3. Tsung

4. JMeter

5. Locust

JMeter是最流行的。
 

When should you use Load Testing?

當你想確定系統在同時間可以處理多少用戶數量時。 您可以制定不同的用戶操作情境來進行測試,例如:大量使用者在網站上進行結帳行為。 基本上,負載測試是你始終該做的事情,以確保你的系統處於穩定的狀態。 這就是為什麼它應該被整合到CI上,像Jenkins和Taurus這樣的工具。
 

What is Stress Testing?

壓力測試是通過在極端負載下進行測試來檢查系統的上限的測試。 測試將檢查系統在高負載下的表現,以及如何在正常使用時恢復系統,即throughput和response time等KPI是否與正常使用的情形相同,壓力測試還會檢查Memory Leak (記憶體漏洩),緩慢、安全和數據損壞的問題。
 
壓力測試可以通過負載測試工具來進行,通過定義一個測試案例,使用大量的虛擬用戶對系統進行操作。 如果你的壓力測試為虛擬用戶數量的突然增長,那就叫做“秒殺測試”(Spike Test)。 如果測試為長時間壓力測試,以緩慢的速度增長來檢查系統的可持續性,則稱為“浸泡測試”(Soak Test)。
 

When Should You Use Stress Testing?

在重要的節慶到來之前,網站壓力測試和應用程式壓力測試是重要的,比如黑色星期五、流行音樂會的門票銷售或選舉等。 但是我們建議你每隔一段時間進行一次壓力測試,以便了解系統的能力。 這可以確保您隨時準備應對突發性的高峰流量,並為您提供更多的時間和資源來解決瓶頸問題。 
 
參考連結 : link




arrow
arrow
    全站熱搜
    創作者介紹

    橘子亂說話 發表在 痞客邦 留言(0) 人氣()