1. 程式人生 > 其它 >伺服器測試

伺服器測試

測試伺服器可以最真實的反映出伺服器的工作狀態,能讓各位更安心的租用或者購買。並且現在主流的正規機房,都是很歡迎客戶先免費測試的。伺服器測試要測什麼?一般來說,服務端測試有兩種: 

第一種:是直接對WEB或者APP的服務端進行測試: 

服務端就是為WEB/APP端提供一些後臺的介面,比如說,使用者個人資訊、交易記錄的讀取和儲存等,一般都是用HTTP介面的方式提供。這種後臺的測試從流程上來說是跟隨著WEB/APP產品的釋出節奏來的,在後端開發完成介面以後,測試人員就直接用TestNG+HttpClient寫介面測試用例、或者用Postman等工具手工測試。如果專案緊張,一般會先用Postman等工具先手工測試,等版本釋出完以後,再用TestNG+HttpClient把自動化用例補上去,或者用Python的Nose框架。 

對於這種服務端後臺的測試人員,除了需要掌握上述的自動化測試技術之外,還有一個溝通、協調的工作,因為後臺的介面一般是同時提供給iOS/Android/WEB三個端,所以需要跟三端的測試人員協調測試進度、測試環境等事項。 

nginx負載均衡策略是什麼? 如果遇到後端服務大的重構、或者是第一次上線預計有大流量的,那還需要對後端服務做一個性能測試,用JMeter/Grinder等工具編寫指令碼並進行壓測,看看後端服務能不能撐住大流量。有些版本效能風險小的,不必要每次都做效能測試,可以根據實際版本的情況具體分析。 

 

第二種:是對更後端的資料庫、快取系統、中介軟體、檔案系統等進行測試: 

對於這種後端服務的測試人員來說,技術上的要求是挺高的,需要有較好的程式設計能力,需要對資料庫、作業系統等機制有很好的瞭解才行。這種就類似於雲端計算等後端基礎服務的測試,對於一些大的公司,會有一個專門的團隊來開發這種後端基礎服務,這種服務當然也需要測試人員來保證質量。 

這類服務一般都是通過HTTP介面的方式提供給剛才講的WEB/APP的後端使用,所以,第一個要做的也就是介面測試,也就是用Postman等工具做手工測試、用TestNG+HttpClient或者Python的Nose框架做自動化測試。 

1、穩定性測試 

已知系統高峰期使用人數、各事務操作頻率等。設計綜合測試場景,測試時,將每個場景按照一定人數比例一起執行,模擬使用者使用數的情況。並監控在測試中,系統各效能指標在這種壓力下是否能保持正常數值。事務響應時間是否會出現波動或隨測試時間增長而增加。系統是否會在測試期間內發生如宕機、應用中止等異常情況。 

2、壓力測試 

已知伺服器系統高峰期使用人數,驗證各事務在最大併發數(通過高峰期人數換算)下事務響應時間能否達到客戶要求。系統各效能指標在這種壓力下是否還在正常數值之內。系統是否會因這樣的壓力導致不良反應(如宕機、應用異常中止等)。 

3、容錯性測試 

通過模擬一些非正常情況(如:伺服器突然斷電、網路時斷時續、伺服器硬碟空間不足等),驗證系統在發生這些情況時,是否能夠有自動處理機制以保障系統的正常執行或恢復執行措施。如有HA(自動容災系統),還可以專門針對這些自動保護系統進行另外的測試,驗證其能否有效觸發保護措施。 

 4、問題排除測試 

通過原有案例或經驗判斷,針對系統中曾經發生問題或懷疑存在隱患的模組進行驗證測試,驗證這些模組是否還會發生同樣的效能問題。如:上傳附件模組的記憶體洩露問題、地址本模組優化、開啟Tivoli效能監控對OA系統性能的影響等等。 

其實當你搞清楚伺服器效能的測試環節以及方法之後,我們可以對伺服器進行總體評價,可以綜合性能、功能和價格三方面因素,分別給予不同權重,效能佔50%,功能佔40%,而價格則佔10%。在分析效能時,資料庫效能佔其中的50%,而檔案效能佔30%,Web效能佔20%。