關(guān)于我們

質量為(wèi)本、客戶為(wèi)根、勇于拼搏、務(wù)實創新(xīn)

< 返回新(xīn)聞公共列表

軟件測試中服務(wù)器(qì)穩定性測試方法

發布時(shí)間(jiān):2019-10-09 17:03:00

服務(wù)器(qì)穩定性是最重要的,如(rú)果在穩定性方面不能(néng)夠保證業務(wù)運行的需要,在高的性能(néng)也(yě)是無用的。


正規的服務(wù)器(qì)廠商(shāng)都會對産品驚醒不同溫度和濕度下(xià)的運行穩定性測試。重點要考慮的是冗餘功能(néng),如(rú):數據冗餘、網卡榮譽、電源冗餘、風(fēng)扇冗餘等。


一(yī)些(xiē)測試方法主要分(fēn)以下(xià)幾種:


壓力測試:已知系統高峰期使用人(rén)數,驗證各事(shì)務(wù)在最大并發數(通過高峰期人(rén)數換算(suàn))下(xià)事(shì)務(wù)響應時(shí)間(jiān)能(néng)夠達到客戶要求。系統各性能(néng)指标在這(zhè)種壓力下(xià)是否還在正常數值之内。系統是否會因這(zhè)樣的壓力導緻不良反應(如(rú):宕機、應用異常中止等)。


Ramp Up 增量設計:如(rú)并發用戶為(wèi)75人(rén),系統注冊用戶為(wèi)1500人(rén),以5%-7%作(zuò)為(wèi)并發用戶參考值。一(yī)般以每15s加載5人(rén)的方式進行增壓設計,該數值主要參考測試加壓機性能(néng),建議(yì)Run幾次。以事(shì)務(wù)通過率與錯誤率衡量實際加載方式。


Ramp Up增量設計目标:


尋找已增量方式加壓系統性能(néng)瓶頸位置,抓住出現(xiàn)的性能(néng)拐點時(shí)機,一(yī)般常用參考Hits點擊率與吞吐量、CPU、内存使用情況綜合判斷。模拟高峰期使用人(rén)數,如(rú)早晨的登錄,下(xià)班後的退出,工資發送時(shí)的消息系統等。


另一(yī)種極限模拟方式,可視(shì)為(wèi)在峰值壓力情況下(xià)同時(shí)點擊事(shì)務(wù)操作(zuò)的系統極限操作(zuò)指标。加壓方式不變,在各腳本事(shì)務(wù)點中設置同集合點名稱(如(rú):lr_rendzvous("same");)在場(chǎng)景設計中,使用事(shì)務(wù)點集合策略。以同時(shí)達到集合點百分(fēn)率為(wèi)标準,同時(shí)釋放(fàng)所有正在Run的Vuser。


穩定性測試:已知系統高峰期使用人(rén)數、各事(shì)務(wù)操作(zuò)頻率等。設計綜合測試場(chǎng)景,測試時(shí)将每個(gè)場(chǎng)景按照一(yī)定人(rén)數比率一(yī)起運行,模拟用戶使用數年的情況。并監控在測試中,系統各性能(néng)指标在這(zhè)種壓力下(xià)是否能(néng)保持正常數值。事(shì)務(wù)響應時(shí)間(jiān)是否會出現(xiàn)波動或随測試時(shí)間(jiān)增漲而增加。系統是否會在測試期間(jiān)内發生(shēng)如(rú)宕機、應用中止等異常情況。


根據上(shàng)述測試中,各事(shì)務(wù)條件下(xià)出現(xiàn)性能(néng)拐點的位置,已确定穩定性測試并發用戶人(rén)數。仍然根據實際測試服務(wù)器(qì)(加壓機、應用服務(wù)器(qì)、數據服務(wù)器(qì)三方性能(néng)),估算(suàn)最終并發用戶人(rén)數。


場(chǎng)景設計思想:從穩定性測試場(chǎng)景的設計意義,應分(fēn)多種情況考慮:


針對同一(yī)個(gè)場(chǎng)景為(wèi)例,以下(xià)以公文附件上(shàng)傳為(wèi)例簡要分(fēn)析場(chǎng)景設計思想:


1)場(chǎng)景一(yī):已壓力測試環境下(xià)性能(néng)拐點的并發用戶為(wèi)設計測試場(chǎng)景,目的驗證極限壓力情況下(xià)測試服務(wù)器(qì)各性能(néng)指标。


2)場(chǎng)景二:根據壓力測試環境中CPU、内存等指标選取服務(wù)器(qì)所能(néng)承受最大壓力的50%來(lái)确定并發用戶數。


測試方法:采用1)Ramp Up-Load all Vusers simultaneously


2)Duration-Run Indefinitely


3)在Sechedule-勾選Initalize all Vusers before Run


容錯性測試:通過模拟一(yī)些(xiē)非正常情況(如(rú):服務(wù)器(qì)突然斷電、網絡時(shí)斷時(shí)續、服務(wù)器(qì)硬盤空間(jiān)不足等),驗證系統在發生(shēng)這(zhè)些(xiē)情況時(shí)是否能(néng)夠有自動處理(lǐ)機制以保障系統的正常運行或恢複運行措施。如(rú)有HA(自動容災系統),還可以專門針對這(zhè)些(xiē)自動保護系統進行另外的測試。驗證其能(néng)否有效觸發保護措施。


問題排除性測試:通過原有案例或經驗判斷,針對系統中曾經發生(shēng)問題或懷疑存在隐患的模塊進行驗證測試。驗證這(zhè)些(xiē)模塊是否還會發生(shēng)同樣的性能(néng)問題。如(rú):上(shàng)傳附件模塊的内存洩露問題、地址本模塊優化(huà)、開啓Tivoli性能(néng)監控對OA系統性能(néng)的影響等等。


測評測試是用于獲取系統的關(guān)鍵性能(néng)指标點,而進行的相關(guān)測試。主要是針對預先沒有明确的預期測試結果,而是要通過測試獲取在特定壓力場(chǎng)景下(xià)的性能(néng)指标(如(rú):事(shì)務(wù)響應時(shí)間(jiān)、最大并發用戶數等)。


評測事(shì)務(wù)交易時(shí)間(jiān):為(wèi)獲取某事(shì)務(wù)在特定壓力下(xià)的響應時(shí)間(jiān)而進行的測試活動。通過模拟已知客戶高峰期的各壓力值或預期所能(néng)承受的壓力值,獲取事(shì)務(wù)在這(zhè)種壓力下(xià)的響應時(shí)間(jiān)。


評測事(shì)務(wù)最大并發用戶數:為(wèi)獲取某事(shì)務(wù)在特定系統環境下(xià)所能(néng)承受的最大并發用戶數而進行的測試活動。通過模拟真實環境或直接采用真實環境,評測在這(zhè)種環境下(xià)事(shì)務(wù)所能(néng)承受的最大并發用戶數。判定标準阈值需預先定義(如(rú)響應時(shí)間(jiān),CPU占用率,内存占用率,已出現(xiàn)點擊率峰值,已出現(xiàn)吞吐量峰值等)。


評測系統最大并發用戶數:為(wèi)獲取整個(gè)系統所能(néng)夠承受的最大并發用戶數而進行的的測試活動。通過預先分(fēn)析項目各主要模塊的使用比率和頻率,定義各事(shì)務(wù)在綜合場(chǎng)景中所占的比率,以比率方式分(fēn)配各事(shì)務(wù)并發用戶數。


模拟真實環境或直接采用真實環境,評測在這(zhè)種環境下(xià)系統所能(néng)承受的最大并發用戶數。判定标準閥值預先定義(如(rú)響應時(shí)間(jiān),CPU占用率,内存占用率,已出現(xiàn)點擊率峰值,已出現(xiàn)吞吐量峰值等)。取值标準以木桶法則為(wèi)準(并發數最小的事(shì)務(wù)為(wèi)整個(gè)系統的并發數)。


評測不同數據庫數據量對性能(néng)的影響:針對不同數據庫數據量的測試,将測試結果進行對比,分(fēn)析發現(xiàn)數據庫中各表的數據量對事(shì)務(wù)性能(néng)的影響。得以預先判斷系統長時(shí)間(jiān)運行後,或某些(xiē)模塊客戶要求數據量較大時(shí)可能(néng)存在的隐患。


問題定位測試在通過以上(shàng)測試或用戶實際操作(zuò)已經發現(xiàn)系統中的性能(néng)問題或懷疑已存在性能(néng)問題。需通過響應的測試場(chǎng)景重現(xiàn)問題或定義問題。如(rú)有可能(néng),可以直接找出引起性能(néng)問題所在的代碼或模塊。


該類測試主要還是通過測試出問題的腳本場(chǎng)景,并可以增加發現(xiàn)和檢測的工具,如(rú)開啓Tivoli性能(néng)監控、開啓HeapDump輸出、Linux資源監控命令等。并在場(chǎng)景運行過程中輔以手工測試。



/template/Home/Zkeys/PC/Static