概念
首先來說說性能測試:性能是軟件的一種非功能特性,他關注的不是軟件是否完成了特定的功能,而是軟件在完成特定功能是展示出來的及時性。
及時性從不同的視角代表不同的指標:
用戶:響應時間
系統管理員:資源利用率,可擴展性,系統穩定性,系統容量
開發人員:系統架構,數據庫設計,設計和代碼實現
可見,系統穩定性對系統管理員的意義重大,穩定性的好壞也可以直接影響到最終用戶所關心的“響應時間”,所以說穩定性測試時性能測試中非常重要的一環。
穩定性測試(亦可稱可靠性測試)通過給系統加載一定的業務壓力,讓系統持續運行一段時間(一般為7x24小時),檢測系統是否能夠穩定運行。
如何實施
一、識別並確認軟件主要業務(是否需要穩定性測試)
將穩定性測試的重心放在軟件最有Value的地方,比如說一個搶票系統,它最有value的地方是當有一定數量的用戶同時進行買票操作是系統的相應時間,資源利用率等是否能夠正常且穩定,而不是用戶如何添加新的聯系人,修改個人信息等
二、羅列主要用戶場景及相應負載量
1、用戶場景可以根據軟件主要業務進行設定
2、對主要場景負載量需要有一個清晰的定義(或者通過負載測試驗證了用戶場景的負載量,這將作為一個標准的負載在穩定性測試中使用)
三、制定穩定性指標模型(Modeling)
根據用戶場景建模,創建合適合理的穩定性指標模型(之后會有一個例子)
四、測試環境准備(對軟硬件環境的配置:配置的來源可以是客戶環境模擬、需求文檔規定的配置或者配置測試得出的最佳配置)
1、識別穩定性的主要性能指標(KPI)
2、用來描述穩定性測試關注的系統指標,比如響應時間、CPU、內存使用率等等,需要根據具體業務進行定義
五、測試的執行和數據收集
按照相應穩定性指標模型(Modeling)分析測試結果,將測試結果應用在穩定性測試模型中,觀察是否滿足穩定性要求
六、持續改進(如有必要)
總的來說,穩定性測試是用來驗證產品在一定的負載下是否能夠長時間的穩定運行,其主要目的是驗證能力,並在能力的驗證過程中找到系統不穩定的因素並進行分析解決。