什么是性能測試戴质?
性能測試是指被測系統(tǒng)踢匣,在一定的負(fù)載下運行,監(jiān)控系統(tǒng)的各項指標(biāo)是否符合需求(指標(biāo)包括cpu后专、內(nèi)存输莺、事物響應(yīng)時間),如果不符合嫂用,就發(fā)現(xiàn)了系統(tǒng)的性能瓶頸。
使用性能測試工具來模擬各種正常啰脚,峰值以及異常負(fù)載條件下实夹,對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試
性能測試的目的
1>識別系統(tǒng)的弱點
2>評估系統(tǒng)能力
3>發(fā)現(xiàn)系統(tǒng)性能瓶頸
4>提高系統(tǒng)可靠性和穩(wěn)定性
為什么開展性能測試?
1>成本的優(yōu)化配置
2>用戶眼中的良好形象
3>節(jié)約成本
4>判斷目前系統(tǒng)的性能瓶頸
5>系統(tǒng)應(yīng)用能夠適應(yīng)未來的業(yè)務(wù)增長
性能測試的流程
1>粒梦、獲取有效的性能測試需求,明確測試目標(biāo)
2>缴淋、設(shè)計測試計劃,又稱測試方案和測試策略
3>重抖、搭建測試環(huán)境,確認(rèn)測試環(huán)境的可用性
4>畔规、設(shè)計壓測腳本恨统,優(yōu)化腳本
5>、進(jìn)行基準(zhǔn)測試畜埋,確認(rèn)測試環(huán)境,腳本对室,正確可用(相當(dāng)于功能測試中的冒煙測試咖祭,也稱bvt)
6>、進(jìn)行正常測試锭亏,選擇場景(手動場景硬鞍,面向?qū)ο蟮膱鼍埃O(shè)計場景
7>固该、壓測過程中觀察監(jiān)控指標(biāo)
8>、對得到的性能測試數(shù)據(jù)指標(biāo)進(jìn)行分析怔匣,通過圖標(biāo)合并桦沉,指標(biāo)背離的方法得出性能測試結(jié)論
9>、編寫測試報告
性能測試的方法(壓力纯露、并發(fā)、負(fù)載浓利、配置、容量嫡秕、基準(zhǔn)苹威、可靠性)
并發(fā)測試:所有的用戶在同一時刻做同一件事情或操作這就叫做并發(fā)測試。
壓力測試:不斷向系統(tǒng)施加壓力屠升,確定系統(tǒng)瓶頸,找到最優(yōu)并發(fā)汇在。
負(fù)載測試:負(fù)載測試是確定在各種工作負(fù)載下系統(tǒng)各項性能指標(biāo)的變化情況脏答。
基準(zhǔn)測試、可靠性測試殖告、數(shù)據(jù)量測試黄绩、配置測試
性能測試的指標(biāo)
1> 響應(yīng)時間??應(yīng)用系統(tǒng)從發(fā)出請求開始到客戶端接收到響應(yīng)所消耗的時間
2)>并發(fā)用戶數(shù)?同一時段內(nèi)對系統(tǒng)進(jìn)行同一操作的所有用戶
3> 吞吐量?單位時間內(nèi)系統(tǒng)處理客戶請求的數(shù)量
4> TPS? ?每秒鐘系統(tǒng)能夠處理的交易或事物的數(shù)量
5)>HPS? ?每秒用戶向web服務(wù)器提交的HTTP請求數(shù)
性能測試前幾年被關(guān)注的較少,近幾年備受重視爽丹,那為什么要做性能測試呢粤蝎?有很多種說法,個人比較認(rèn)可下面這個初澎,分享給大家:
?評估系統(tǒng)的能力?
識別體系中的弱點?
系統(tǒng)調(diào)優(yōu)?
驗證穩(wěn)定性(resilience)可靠性(reliability)?
針對上面這幾種目的,針對不同的結(jié)果软啼,給出不同的應(yīng)對方案和措施墓懂,這才是性能測試的最終目標(biāo):?
測試中得到的負(fù)荷和響應(yīng)時間數(shù)據(jù)可以被用于驗證所計劃的模型的能力霉囚,并幫助作出決策。?
受控的負(fù)荷可以被增加到一個極端的水平,并突破它榜跌,從而修復(fù)體系的瓶頸或薄弱的地方。?
重復(fù)運行測試悄蕾,驗證調(diào)整系統(tǒng)的活動得到了預(yù)期的結(jié)果础浮,從而改進(jìn)性能。
檢測軟件中的問題:長時間的測試執(zhí)行可導(dǎo)致程序發(fā)生由于內(nèi)存泄露引起的失敗豆同,揭示程序中的隱含的問題或沖突。 在一個生產(chǎn)負(fù)荷下執(zhí)行測試一定的時間是評估系統(tǒng)穩(wěn)定性和可靠性是否滿足要求的唯一方法?