「性能測試」面試寶典,來了!
馬上步入年后求職高峰季,今天給大家分享性能測試面試寶典。
一.性能測試指標(biāo)
性能測試關(guān)注的性能指標(biāo)包括:注冊用戶數(shù)、在線用戶數(shù)、并發(fā)用戶數(shù)、請求響應(yīng)時間、事務(wù)響應(yīng)時間、吞吐率、業(yè)務(wù)成功率、HPS(每秒點(diǎn)擊數(shù))、TPS(每秒事務(wù)數(shù))、資源利用率等。
并發(fā)用戶數(shù):并發(fā)用戶數(shù)是指某一時刻同時向服務(wù)器發(fā)送請求的在線用戶數(shù)。
并發(fā)用戶數(shù)根據(jù)業(yè)務(wù)場景不同,又可以分為兩類:
1.同一時刻向服務(wù)器發(fā)送某一個業(yè)務(wù)(單業(yè)務(wù)、單場景)的相同請求。
如100個用戶同時只進(jìn)行登錄操作
2.同一時刻向服務(wù)器發(fā)送多個業(yè)務(wù)(多業(yè)務(wù)、組合業(yè)務(wù)、混合場景、組合場景)的不同請求。
如100個用戶同時發(fā)起請求,30個用戶進(jìn)行登錄,50個用戶進(jìn)行搜索,20個用戶進(jìn)行支付。
事務(wù)響應(yīng)時間:事務(wù)是指用戶在客戶端完成一種或多種業(yè)務(wù)的操作集合,可能會在期間向服務(wù)器發(fā)送多次請求。
事務(wù)的響應(yīng)時間就是衡量用戶執(zhí)行這些操作所花費(fèi)的時間。
在進(jìn)行性能測試時,我們需要盡可能接近用戶的真實(shí)操作,用戶在操作系統(tǒng)/軟件時,各個操作之間一定會有等待時間,這個操作的等待時間被稱為思考時間。
業(yè)務(wù)成功率:指多用戶對某一業(yè)務(wù)發(fā)起請求操作的成功次數(shù)在總請求數(shù)中的占比。
TPS(每秒事務(wù)數(shù)):表示服務(wù)器每秒處理的事務(wù)數(shù),它是衡量系統(tǒng)處理能力的一個非常重要的指標(biāo),在性能測試中,通過檢測不同用戶數(shù)的TPS,可以估算出系統(tǒng)處理能力的拐點(diǎn)。
二.性能測試的分類
基準(zhǔn)測試
負(fù)載測試
壓力測試
并發(fā)性能測試
穩(wěn)定性測試
容量測試
配置測試
我們這這里面主要看一下負(fù)載測試、壓力測試與穩(wěn)定性測試。
負(fù)載測試是指:對系統(tǒng)不斷增加并發(fā)用戶數(shù),驗證系統(tǒng)在不同的并發(fā)用戶數(shù)下的性能表現(xiàn),不關(guān)注系統(tǒng)持續(xù)運(yùn)行時長,目的是找到系統(tǒng)處理能力極限和性能臨界點(diǎn)。
壓力測試是指:使系統(tǒng)處理超過預(yù)期負(fù)載的狀態(tài)下,驗證系統(tǒng)持續(xù)處理業(yè)務(wù)的能力,主要目的是檢查系統(tǒng)在峰值負(fù)載情況下的各項性能指標(biāo),及什么時候出現(xiàn)異常。
穩(wěn)定性測試是指:被測軟件/系統(tǒng)在特定硬件、軟件、網(wǎng)絡(luò)環(huán)境下,給系統(tǒng)加載一定的業(yè)務(wù)壓力,使系統(tǒng)運(yùn)行一段較長的時間,以此檢測系統(tǒng)是否穩(wěn)定,一般穩(wěn)定性測試時間為n * 24小時。
三.性能測試流程
性能測試需求分析
性能測試方案/評審
設(shè)計性能測試用例
評審性能測試用例
部署性能測試環(huán)境
執(zhí)行性能測試(腳本錄制、腳本增強(qiáng)、場景設(shè)計、執(zhí)行場景、監(jiān)控測試數(shù)據(jù))
分析測試結(jié)果
查找系統(tǒng)性能瓶頸
分析瓶頸產(chǎn)生的原因
編寫性能測試報告
配合項目相關(guān)人員進(jìn)行性能調(diào)優(yōu)
性能回歸測試
編寫性能回歸測試報告
四. Jmeter性能測試常用組件有哪些
bzm - Arrivals Thread Group測試高壓下的 持續(xù)運(yùn)行時間,?壓力測試
bzm - Concurrency Thread Group測試最大的并發(fā)用戶數(shù): 負(fù)載測試
jp@gc - Ultimate Thread Group混合式加壓
jp@gc - Stepping Thread Group ?階梯式加壓(已被棄用)
Synchronizing Timer ? ?同步定時器(集合點(diǎn)的設(shè)置)
jp@gc - Active Threads Over Time 每秒活躍線程數(shù)
jp@gc - Response Times vs Threads ?線程數(shù)與響應(yīng)時間圖例
五.性能腳本增強(qiáng)包括哪些方面
指對抓包/代理錄制的腳本,進(jìn)行功能增強(qiáng). 腳本增強(qiáng)的內(nèi)容:
1.事務(wù)Transaction Controller ? 邏輯控制器選擇 事務(wù)控制器2.集合點(diǎn)(主要是并發(fā)測試) 線程組--->定時器--->同步定時器(Synchronizing Timer)3.參數(shù)化(CSV數(shù)據(jù)文件設(shè)置)4.關(guān)聯(lián)(正則表達(dá)式提取器/Json提取器)5.檢查點(diǎn)(斷言) (響應(yīng)斷言)6.Jmete代理抓包-- 通過添加HTTP代理服務(wù)器進(jìn)行手動代理抓包設(shè)置7.JDBC Connection Configuration與JDBC-request, Jmeter連接數(shù)據(jù)庫配置與數(shù)據(jù)庫請求8.HTTP信息頭管理器(請求頭設(shè)置)9.HTTP Cookie管理器10. 用戶定義的變量(環(huán)境變量)
