您好,登錄后才能下訂單哦!
在運維工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下性能怎樣,這些數據指標好壞將會直接影響用戶體驗。今天我們就來深入了解下壓力測試!
首先, 什么是壓力測試 ?
軟件壓力測試是一種基本的質量保證行為,它是每個重要軟件測試工作的一部分。軟件壓力測試的基本思路很簡單:不是在常規條件下運行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下運行測試。通常要進行軟件壓力測試的資源包括內部內存、CPU 可用性、磁盤空間和網絡帶寬。
壓力測試涵蓋,性能測試,負載測試,并發測試等等,這些測試點常常交織耦合在一起。
顧名思義: 壓力測試,就是被測試的系統,在一定的訪問壓力下,看程序運行是否穩定/服務器運行是否穩定(資源占用情況)。
比如:2000個用戶同時到一個購物網站購物,這些用戶打開頁面的速度是否會變慢,或者網站是否會奔潰。
壓力測試 的 步驟
(1)確定存量數據的規模(用戶一般會要求制造出3-5年的存量數據);
(2)確定需要進行壓力測試的業務(一般是用戶使用最頻繁,或者業務操作復雜的業務);
(3)確定操作用戶的的數量、各類操作用戶的比例;
(4)峰值業務量的要求(一般是1個小時內最多要處理的筆數);
(5)對實時業務響應時間的要求(如在峰值情況下,單筆業務的處理時間(如小于60秒));
(6)對于批量處理過程的時間要求(如進行日終(月終、年終)處理、與外系統間批量數據傳輸時的時間)。
以上信息,通常需要業務人員來確定。
為了進行壓力測試的技術準備,需要如下資料:
(1)系統概要設計(了解系統技術架構,確定測試方法);
(2)如果自己開發接口程序,需要了解接口報文規范;
(3)數據庫設計(我們需要據此編寫程序,準備存量數據)。
為了開發腳本需要了解如下信息:
(1)操作手冊(腳本錄入或者手工開發腳本);
(2)參數化腳本(動態化數據需要進行關聯);
(3)腳本回放(驗證腳本是否可以成功的創建數據)。
測試場景:
(1)單用戶運行壓力測試場景;
(2)多用戶運行測試場景,查看系統資源消耗等調優工作開始。
另外,還有測試環境的事情需要落實。壓力測試一般要求環境配置較高,最好與生產環境一致或者接近。
幾款流行的壓力測試工具
(1)JMeter
Apache JMeter是Apache組織開發的基于Java的壓力測試工具,用于對軟件做壓力測試,它最初被設計用于Web應用測試但后來擴展到其他測試領域。 它可以用于測試靜態和動態資源例如靜態文件、Java小服務程序、CGI腳本、Java 對象、數據庫, FTP服務器, 等等。
JMeter可以用于對服務器、網絡或對象模擬巨大的負載,來在不同壓力類別下測試它們的強度和分析整體性能。
另外,JMeter能夠對應用程序做功能回歸測試,通過創建帶有斷言的腳本來驗證你的程序是否返回了期望的結果。
為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
(2)LoadRunner
LoadRunner是惠普旗下一款自動負載測試工具,它能預測系統行為,優化性能。LoadRunner強調的是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助更快的確認和查找問題。此外,LoadRunner 能支持最寬范的協議和技術,量身定做地提供解決方案。
(3)其他測試工具
Siege是一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的并發訪問,
記錄每個用戶所有請求過程的相應時間,并在一定數量的并發訪問下重復進行。
TCPCopy是一種請求復制(所有基于tcp的packets)工具,可以把在線請求導入到測試系統中去。
TCPCopy的特點是可以拷貝線上真實流量,模擬用戶數據。
最后,軟件壓力測試和性能測試的區別:
二者區別在于他們不同的測試目的
軟件壓力測試 是為了發現系統能支持的最大負載,他的前提是要求系統性能處在可以接受的范圍內,比如經常規定的頁面3秒鐘內響應;
所以一句話概括就是:在性能可以接受的前提下,測試系統可以支持的最大負載。
軟件性能測試 是為了檢查系統的反映,運行速度等性能指標,他的前提是要求在一定負載下,如檢查一個網站在100人同時在線的情況下的性能指標,每個用戶是否都還可以正常的完成操作等。
概括就是:在不同負載下(負載一定)時,通過一些系統參數(如反應時間等)檢查系統的運行情況。比如我們說某個網站的性能差,嚴格上應該說在N人同時在線情況下,這個站點性能很差)。
總之,就像一個方程式:綜合性能=壓力數*性能指數,
綜合性能是固定的:
軟件壓力測試是為了得到性能指數最小時候(可以接受的最小指數)最大的壓力數,軟件性能測試是為了得到壓力數確定下的性能指數。
總結:
在項目上線之前,都需要做壓力測試,目的是看下我們的網站能抗住多少的壓力,能承擔多少并發,如果不做壓力測試,一旦出現大訪問量時,我們的網站會掛掉,所以壓力測試真的很重要,都應該重視起來!
歡迎加入 51軟件測試大家庭,在這里你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟件測試技術干貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。