您的位置:首頁>科技>正文

網易易測:服務端穩定性測試的理論篇

當前我司業務發展蒸蒸日上, 業務需求像洪水一樣襲來。 系統服務的穩定性重要作用不言而喻。 本文主要就服務端的穩定性測試工作淺談一下。

1

穩定性測試背景及目標

穩定性測試主要測試系統的長時間穩定運行能力, 通過對使用者實際使用場景的負載及應用場景分析, 模擬真實的用戶使用場景, 並進行長時間的穩定運行, 以保證產品在長時間運行方面可能存在的潛在問題的及時發現和有效解決。

2

穩定性測試必要性分析

首先, 部分問題, 如記憶體洩露、控制碼洩露、鎖死等, 在常規功能測試中難以發現, 需要通過壓力的注入以及系統的運行達到一定的時間後, 才能觸發問題的產生, 所以引入穩定性測試, 可以有利於該類問題的及時發現和提前解決;同時, 在系統正常上線之前, 通過對真實環境的長時間模擬測試, 也可以有效的驗證系統在正式上線以後的穩定運行能力,

為產品上線後的穩定性和魯棒性提供一定的資料參考。

3

穩定性測試策略及方法

具體執行策略

測試時間:最好保證系統持續穩定性運行7*24小時, 最小穩定執行時間為3*24小時。

測試場景:參考業務的實際使用場景構建壓力模型,

類比實際的場景運行(實際負載和併發量等), 並且在測試中模擬實際日常的使用者操作, 操作中需要考慮併發因素, 包括單操作併發和不同操作併發兩種場景。

測試負載選擇策略:一般和線上的實際場景保持一致, 如果沒有線上資料的時候, 採取梯度加壓的方法來進行變化。

穩定性測試是概率性的測試, 就是說即使穩定性測試通過, 也不能保證系統實際運行的時候不出問題。 所以要盡可能的提高測試的可靠性。 可以通過多次測試, 延長測試時間, 增大測試壓力來提高測試的可靠性。

穩定性測試的測試時間和壓力存在一定的關係。 在測試時間不能保證的情況下, 可以通過增強壓力以及增大測試物件數量來達到快速驗證的目的,

但是建議最小測試時間不要小於3*24小時。

穩定性測試用例設計考慮維度

時間

大流量

併發

使用環境

使用方法

極端情況

時間, 產品能持續長時間工作嗎?可能會導致的問題:記憶體洩漏, 佇列堆積, 存儲等慢速設備持續跟不上, Cache, Buffer累積性問題, 記憶體溢出等。

大流量:產品能處理這麼大流量嗎?可能導致的問題:系統崩潰, 性能嚴重下降, 資源耗盡, DB或磁碟空間滿, 觸發系統的一些行為(流量控制等), 依賴系統的一些異常等。

併發:在一定併發量的情況下系統有無異常?可能導致的問題與上面兩種類似。 併發包括平均併發量;峰值併發量;均值為主, 特定時間加入峰值;加壓, 使系統資源達到特定值,

維持壓力, 持續運行等情形。

使用環境:不同平臺, 網路, 基礎架構等。 一般來說此為用戶端穩定性測試需要考慮的驗證點。

使用方法:客戶對相關應用的使用方式。 具體到服務端來說, 有被依賴方調用底層介面使用姿勢等問題。

極端情況:極端情況下, 應用可以crash, 但是不能丟資料等情形的驗證。

測試關注點

觀察系統在有負載的情況下業務運行是否正常,是否存在記憶體洩露、控制碼洩露、資料一致性等問題導致系統出現崩潰、異常重啟。

是否存在系統長時間運行下,系統性能下降明顯,回應時間快速增長,可用記憶體是否在減少,CPU利用率是否在上升等等都可以說明系統是否存在問題。

其他項:包括CPU,MEM,disk i/o,網路,應用的日誌,資料庫狀態,請求準確率,回應時間,輸送量等。

4

常用的測試工具介紹

壓力工具方面,根據壓力維度的不同主要分為CPU、記憶體、網路IO以及磁片IO的壓力工具,各種維度中的常用工具請參考如下內容。

5

典型服務端bug舉例

Bug:系統在長時間連續運行3天以後,虛擬機器出現異常重啟現象。

分析:典型穩定性測試問題,該類問題一般需要在長時間的連續運行情況下才會觸發,該問題主要由於系統中存在記憶體洩露現象導致,在連續運行3天以後,洩露達到了問題的觸發點,導致虛擬機器異常重啟,一般該類問題的出現時間還與系統的負載有一定的關係,在系統負載很高的情況下,問題的觸發幾率會增大,同時發生的時間間隔也可能出現一定的縮短。

以上由網易企業資訊化服務提供者,湖南領先網路科技整理發佈。

網易企業服務(qiye163.co)是網易憑藉其20年品牌優勢與經驗在企業郵箱的基礎上,為進一步佈局企業市場而打造的企業級產品矩陣,致力於提供一站式企業資訊化解決方案。湖南領先網路科技是網易企業產品授權經銷商,專業為企業提供網易企業郵箱、網易辦公套件等一站式企業資訊化專業解決方案。辦理網易企業郵箱及旗下企業產品相關業務,就找湖南領先網路科技。

測試關注點

觀察系統在有負載的情況下業務運行是否正常,是否存在記憶體洩露、控制碼洩露、資料一致性等問題導致系統出現崩潰、異常重啟。

是否存在系統長時間運行下,系統性能下降明顯,回應時間快速增長,可用記憶體是否在減少,CPU利用率是否在上升等等都可以說明系統是否存在問題。

其他項:包括CPU,MEM,disk i/o,網路,應用的日誌,資料庫狀態,請求準確率,回應時間,輸送量等。

4

常用的測試工具介紹

壓力工具方面,根據壓力維度的不同主要分為CPU、記憶體、網路IO以及磁片IO的壓力工具,各種維度中的常用工具請參考如下內容。

5

典型服務端bug舉例

Bug:系統在長時間連續運行3天以後,虛擬機器出現異常重啟現象。

分析:典型穩定性測試問題,該類問題一般需要在長時間的連續運行情況下才會觸發,該問題主要由於系統中存在記憶體洩露現象導致,在連續運行3天以後,洩露達到了問題的觸發點,導致虛擬機器異常重啟,一般該類問題的出現時間還與系統的負載有一定的關係,在系統負載很高的情況下,問題的觸發幾率會增大,同時發生的時間間隔也可能出現一定的縮短。

以上由網易企業資訊化服務提供者,湖南領先網路科技整理發佈。

網易企業服務(qiye163.co)是網易憑藉其20年品牌優勢與經驗在企業郵箱的基礎上,為進一步佈局企業市場而打造的企業級產品矩陣,致力於提供一站式企業資訊化解決方案。湖南領先網路科技是網易企業產品授權經銷商,專業為企業提供網易企業郵箱、網易辦公套件等一站式企業資訊化專業解決方案。辦理網易企業郵箱及旗下企業產品相關業務,就找湖南領先網路科技。

Next Article
喜欢就按个赞吧!!!
点击关闭提示