可靠性測試用例設計


1、數據倉庫服務架構

數據倉庫服務(Data Warehouse Service),下面簡稱DWS 。主要為客戶提供數據存儲,數據挖掘,數據分析等功能。其內核采用開源的關系數據庫管理系統Postgres SQL加以定制開發。服務部署在集群上,集群有3~32個虛擬主機組成。用戶使用DWS集群的請求處理流程如下:

1.1、用戶通過客戶端,例如chrome,IE,FireFox等瀏覽器登錄DWS界面,對應於下圖中的1。

1.2、用戶對DWS集群做了一個操作,比如重啟,對應於下圖中的2。

1.3、Nginx根據調度策略將重啟請求下發到某一個console節點上,對應於下圖中的3.

1.4、Console節點將請求通過HAproxy根據某種調度策略,將請求下發到service節點上,對應於圖中的4。

1.5、service節點處理重啟任務,並更新數據庫中相關表的記錄,對應於圖中的5,並返回處理結果。

其它節點功能說明:

1.6、monitor節點:監控集群的狀態。

1.7、billing節點:計費。

1.8、OM Sevice節點(insight):運維節點,一些運維操作會通過該節點下發到service節點上。

1.9、DB節點:數據庫節點,一主一備。

2、可靠性測試的含義與測試過程

可靠性測試是指:系統在常規與意外環境執行和保持其功能的能力,系統必須能以一致性和可重復性的方式執行並保持其功能。(概念出自《敏捷軟件測試:測試人員與敏捷團隊的實踐指南》)

測試過程:

2.1、明確可靠性測試的目標,同一個系統,不同的測試目標設計出來的用例也不一樣。

2.2、了解軟件的架構。

2.3、設計可靠性測試用例。

2.4、執行可靠性測試用例。

2.5、分析可靠性測試結果並輸出測試報告返回給測試經理。

3、用例設計

主要從以下幾個方面來考慮,可靠性測試的原則之一:故障恢復后業務能夠自修復。

3.1、從架構設計圖來看一共涉及的的節點有:console,service,billing,db,insight,monitor。其中只有insight部署在一台主機上,其余節點均部署在2台或2台以上的服務器上,以service為例,一台服務器宕機了是否會影響業務,兩台呢,或者全部宕機后開機能否自行恢復業務呢?

 

3.2、內存占用率:單個節點的內存占用率達到90%和100%;多個節點 內存占用率達到90%或100%。

 

3.3、CPU占用率::單個節點的CPU占用率達到90%和100%;多個節點 CPU占用率達到90%或100%。

 

3.4、磁盤使用率::單個節點的磁盤使用率達到90%和100%;多個節點 磁盤使用率達到90%或100%。

 

3.5、網路故障:單個節點網絡故障,多個節點網絡故障。單個節點和多個節點某個網卡down掉。

 

3.6、單個節點重啟,或多個節點重啟。

 

3.7、功能首次失敗時間,比如:創建DWS集群首次失敗時間,即初始操作和首次失敗之間的平均時間。

 

3.8、DWS集群長時間運行業務,是否出問題。

 

3.9、並發操作:比如同時創建50個集群,觀察成功率,可以使用BrupSuite工具。

 

3.10、業務能否從節點A遷移到節點B,比如創建集群的任務正在節點service1上運行,此時,service1宕機,任務能否成遷移到service2或service3上。

 

4、可靠性測試過程中用到的工具

 寫滿磁盤

參考命令:dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file 

占滿內存

待補充

占滿CPU

參考:https://blog.csdn.net/robertsong2004/article/details/36879233


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM