軟體測試員必知!壓力測試總共需要幾個步驟?思路總結篇

博為峰網校發表於2018-11-28

在運維工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下效能怎樣,這些資料指標好壞將會直接影響使用者體驗。今天我們就來深入瞭解下壓力測試!

軟體測試員必知!壓力測試總共需要幾個步驟?思路總結篇

首先, 什麼是壓力測試

軟體壓力測試是一種基本的質量保證行為,它是每個重要軟體測試工作的一部分。軟體壓力測試的基本思路很簡單:不是在常規條件下執行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下執行測試。通常要進行軟體壓力測試的資源包括內部記憶體、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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2222015/,如需轉載,請註明出處,否則將追究法律責任。

相關文章