可靠性測試用例設計

一、數據倉庫服務架構chrome

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

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

1.二、用戶對DWS集羣作了一個操做,好比重啓,對應於下圖中的2。服務器

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

1.四、Console節點將請求經過HAproxy根據某種調度策略,將請求下發到service節點上,對應於圖中的4。架構

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

其它節點功能說明:運維

1.六、monitor節點:監控集羣的狀態。工具

1.七、billing節點:計費。測試

1.八、OM Sevice節點(insight):運維節點,一些運維操做會經過該節點下發到service節點上。

1.九、DB節點:數據庫節點,一主一備。

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

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

測試過程:

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

2.二、瞭解軟件的架構。

2.三、設計可靠性測試用例。

2.四、執行可靠性測試用例。

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

三、用例設計

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

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

 

3.二、內存佔用率:單個節點的內存佔用率達到90%和100%;多個節點 內存佔用率達到90%或100%。

 

3.三、CPU佔用率::單個節點的CPU佔用率達到90%和100%;多個節點 CPU佔用率達到90%或100%。

 

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

 

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

 

3.六、單個節點重啓,或多個節點重啓。

 

3.七、功能首次失敗時間,好比:建立DWS集羣首次失敗時間,即初始操做和首次失敗之間的平均時間。

 

3.八、DWS集羣長時間運行業務,是否出問題。

 

3.九、併發操做:好比同時建立50個集羣,觀察成功率,可使用BrupSuite工具。

 

3.十、業務可否從節點A遷移到節點B,好比建立集羣的任務正在節點service1上運行,此時,service1宕機,任務可否成遷移到service2或service3上。

 

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

 寫滿磁盤

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

佔滿內存

待補充

佔滿CPU

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

相關文章
相關標籤/搜索