確定測試需求及對應指標後,測試工程師可針對被測試業務分析其業務模型,便於測試場景及指令碼的設計
登陸業務操作過程:
開啟首頁
輸入使用者名稱及密碼,登陸
退出系統
商品瀏覽購買操作過程:
開啟首頁
輸入使用者名稱及密碼,登陸
隨機選擇商品購買
設定收貨位址
設定物流方式及付款方式,提交訂單
退出系統
場景用例設計
效能測試過程中,首先應該設計測試場景,模擬真實業務發生的情境,然後是針對場景設計指令碼。
為了真實的反映被測試物件,可能存在的效能問題。需要盡可能模擬被測試物件,可能發生瓶頸的業務場景。測試需求分析過程中已經確定了需要測試的業務型別,在此,則需要設計針對每種或綜合業務的測試場景。
效能測試場景通常包括單業務基準測試,單業務壓力測試、單業務負載測試、綜合業務基準測試、綜合業務壓力測試、綜合業務負載測試、綜合業務穩定性測試等7種常用測試場景。
單業務基準測試
測試某個具體業務是否滿足系統設計或使用者期望的效能指標。如使用者期望系統支付介面支援50個使用者併發支付,如果滿足了,則認為基準測試完成;否則失敗。基準測試過程中,效能指標的任何一項均需成功,才認為基準測試完成。基準測試可分為併發基準及業務量基準兩種。其目的都在於:驗證是否滿足預期目標設定。
單業務壓力測試
測試某個具體業務在最大負載下,持續服務的時長,以此驗證被測業務的穩定性。壓力測試過程中所設計的負載,是以系統基準負載為標準,如系統基準負載為50個併發使用者,則壓力測試的負載設為50個,通過執行時長的變化,驗證伺服器在系統預設負載下持續服務的能力。具體的時長從需求分析、執行日誌、系統設計規劃等**獲取。
單業務負載測試
測試某個具體業務,能夠承受的最大負載,驗證被測業務能夠承受的最大負載數。如系統基準負載為50個,則通過多次測試,逐步加大負載,最終獲得被測業務的最佳負載。在最佳負載下,系統仍需滿足各項效能指標。
綜合業務基準測試
與單業務基準測試類似,但綜合業務需考慮業務與業務間的聯絡。如果相互之間存在資源爭用,則需單獨組合測試。假設系統需測試的業務有三個:a,b,c,綜合業務基準測試是將abc一起執行,那麼加上a、b、c三個基準測試,共計4個基準測試場景,分別是abc、a、b、c,但a與c存在資源爭用,則需要單獨將a與b組合,構成乙個單獨的測試場景,則一共為abc、a、b、c、ac等5個基準測試場景。
綜合業務測試中的資料分配,根據實際業務、使用者需求、執行日誌、運營規劃等分析確定。
假設某銀行櫃員交易系統,1個小時內有4個櫃員進行存款操作。6個櫃員進行開戶操作,10個櫃員進行查詢操作,則綜合業務的負載比例設定為:
存款業務佔比:4/(4+6+10)= 20%
開戶業務佔比:6/(4+6+10)= 30%
查詢業務佔比:10/(4+6+10)= 50%
針對綜合業務穩定性測試,通常為核心業務在基準負載的基礎上,執行相對長的實際,驗證伺服器持續提供穩定的服務能力。穩定性場景測試的時間,由需求方設定,一般為7*24小時不間斷執行。
根據ecshop平台業務模型,確定本次效能測試的場景,主要為登陸併發基準測試、登陸業務量基準測試、商品隨機瀏覽購買併發基準測試、商品隨機瀏覽購買業務量基準測試等4個場景。
案例:要求在2小時內支援5w次使用者登陸,可通過如下計算方法獲取執行緒數。
匯流排程數 = 業務量 / (t * 60 * 60/t)
t:考察時間段,設定2小時
t:單使用者單次業務消耗時間,即單個使用者完成一次業務過程所消耗的時間。盡可能模擬使用者的真實行為。
業務量:設定5w
結果為:測試單次業務消耗時間
ecshop使用者登陸系統單次消耗時間採用90% line (抽樣)為:88 + 135 = 223 毫秒,如果加上模擬使用者輸入使用者名稱及密碼(5秒思考時間)、登陸成功後等待返回主頁(3秒思考時間)、退出後等待返回主頁等操作(3秒的思考時間)。則單使用者訪問ecshop登陸所消耗時間為:223毫秒 + 5秒 + 3秒 + 3秒 = 11.223秒
帶入之前的公式,獲得模擬2小時5w使用者登陸所需的執行緒數:5w / (2 * 60 * 60/ 11.223) = 77.88
因執行緒故取整為78個執行緒數
效能測試過程及模型構建
在效能測試過程中,建模實際上可分為兩個過程,效能測試過程和模型構建過程,效能測試過程主要完成對系統進行效能測試,並蒐集相應的測試結果,形成測試過程文件 模型構建主要是根據蒐集到的效能測試需求和生產系統的相關資訊完成效能模型的構建工作,並指導效能測試過程以及測試結果的生成。一 測試過程863 1模式 ...
效能測試場景
執行緒數 需要設定的併發使用者數 併發使用者數 受cpu的主頻 分配的記憶體大小 作業系統 允許開啟檔案數量 開放的埠數量 的影響,一台電腦,大概能支援 1500併發使用者數以內 http協議 ramp up時間 在多長時間內啟動所有的執行緒。注意 只是說明,在第n秒結束時,會產生m個併發使用者數,...
效能測試的標準測試場景
1 單交易基準測試時指通過單個虛擬使用者逐筆發起交易,該測試用於獲取交易的效能基線。2 單交易負載測試是指通過一定的併發使用者,對某個被測試交易施加較大的壓力,通過單交易負載測試能夠暴露被測試交易自身的效能問題,並進行調優。3 混合負載測試是按照特定的比例,併發發起多個被測交易,混合負載測試是最接近...