軟件測(cè)試 | 性能測(cè)試的種類有哪些?
系統(tǒng)性能測(cè)試包含很多內(nèi)容、種類,例如峰值測(cè)試、負(fù)載測(cè)試、壓力測(cè)試、強(qiáng)度測(cè)試都屬于性能測(cè)試的范疇。
在通常的系統(tǒng)性能測(cè)試工作中,可能涉及的性能測(cè)試種類主要有峰值測(cè)試、壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試、容量測(cè)試、并發(fā)測(cè)試、可靠性測(cè)試、配置測(cè)試,以及狹義范圍的性能測(cè)試等。多數(shù)團(tuán)隊(duì)中,這些種類的性能測(cè)試很少單獨(dú)一一實(shí)施,一般會(huì)結(jié)合起來實(shí)施或選擇其中幾種來實(shí)施。對(duì)于初學(xué)者很多時(shí)候這些名詞會(huì)誤導(dǎo)初學(xué)者,搞不清這些測(cè)試種類的區(qū)別和關(guān)系,又不知道如何開展工作。實(shí)際上,上面提到的性能測(cè)試基本屬于聯(lián)機(jī)交易的性能測(cè)試范疇,而這些性能測(cè)試種類的本質(zhì)都是并發(fā)用戶的性能測(cè)試:或者調(diào)整加壓方式、或者調(diào)整加壓時(shí)間、或者調(diào)整壓力大小,再配合一些諸如測(cè)試環(huán)境、測(cè)試參數(shù)的調(diào)整,就得到了不同種類的性能測(cè)試。
下面介紹一下各類測(cè)試的主要內(nèi)容和特點(diǎn)。
壓力測(cè)試:對(duì)系統(tǒng)不斷施加壓力的測(cè)試,是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收用戶請(qǐng)求的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。例如,測(cè)試一個(gè)Web站點(diǎn)在大量的負(fù)荷下,何時(shí)系統(tǒng)的事務(wù)響應(yīng)時(shí)間會(huì)變得不可接受或者事務(wù)不能正常執(zhí)行。
壓力測(cè)試是為了發(fā)現(xiàn)在什么條件下應(yīng)用程序的性能會(huì)變得不可接受,主要通過改變應(yīng)用程序的輸入以對(duì)應(yīng)用程序施加越來越大的負(fù)載,直到發(fā)現(xiàn)應(yīng)用程序性能下降的拐點(diǎn)。壓力測(cè)試和負(fù)載測(cè)試有些類似,但是通常把負(fù)載測(cè)試描述成一種特定類型的壓力測(cè)試—例如不斷增加用戶數(shù)量以及對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試。
負(fù)載測(cè)試:通過在被測(cè)試系統(tǒng)上不斷增加壓力,直到性能指標(biāo)達(dá)到極限,例如響應(yīng)時(shí)間超過預(yù)定指標(biāo)或者某種資源已經(jīng)達(dá)到飽和狀態(tài)。這種測(cè)試可以找到系統(tǒng)的處理極限,為系統(tǒng)調(diào)優(yōu)提供依據(jù)。
通常情況下,壓力測(cè)試側(cè)重測(cè)試系統(tǒng)在不同壓力下的表現(xiàn),重點(diǎn)關(guān)注壓力大?。回?fù)載測(cè)試則側(cè)重測(cè)試系統(tǒng)在較大壓力下長(zhǎng)時(shí)間進(jìn)行加壓時(shí)的表現(xiàn),重點(diǎn)關(guān)注加壓時(shí)間。
實(shí)際的測(cè)試工作中,壓力測(cè)試和負(fù)載測(cè)試并沒有進(jìn)行嚴(yán)格區(qū)分:很多成為壓力測(cè)試的場(chǎng)景也會(huì)長(zhǎng)時(shí)間加壓,很多稱為負(fù)載測(cè)試的場(chǎng)景也會(huì)不斷改變負(fù)載的壓力大小,因?yàn)轫?xiàng)目干系人根本搞不清楚概念上細(xì)節(jié)的差別,所以這些名詞成了性能測(cè)試的一個(gè)叫法而已。
對(duì)于這些概念,最好的方式仍然是回歸本質(zhì),不以這些互相存在關(guān)聯(lián)的名詞來劃分測(cè)試種類。
強(qiáng)度測(cè)試:強(qiáng)度測(cè)試主要是為了測(cè)試系統(tǒng)在異常情況下的處理能力,例如測(cè)試系統(tǒng)在較低的資源配置下的性能。下面是一些強(qiáng)度測(cè)試的實(shí)際案例。
正常壓力下用戶點(diǎn)擊率為“1000次/秒”,運(yùn)行點(diǎn)擊率為“2000次/秒”場(chǎng)景。
運(yùn)行CPU或內(nèi)存利用率在90%以上的場(chǎng)景。
運(yùn)行可能導(dǎo)致磁盤數(shù)據(jù)存取異常頻繁的場(chǎng)景。
強(qiáng)度測(cè)試是特別重要的測(cè)試,對(duì)評(píng)估系統(tǒng)的穩(wěn)定性、健壯性、擴(kuò)展性均具有重要的意義。這種在特殊條件下的測(cè)試,更容易發(fā)現(xiàn)系統(tǒng)深層的性能問題。
并發(fā)測(cè)試:主要用來測(cè)試多用戶同時(shí)訪問同一系統(tǒng)/同一模塊/同一業(yè)務(wù)功能/同一數(shù)據(jù)記錄時(shí)是否存在性能問題,幾乎所有的性能測(cè)試都會(huì)涉及并發(fā)測(cè)試。
大數(shù)據(jù)量測(cè)試:大數(shù)據(jù)測(cè)試重點(diǎn)分為兩種,一種是針對(duì)某些系統(tǒng)的新建記錄、統(tǒng)計(jì)查詢等業(yè)務(wù)進(jìn)行的運(yùn)行時(shí)大數(shù)據(jù)量測(cè)試;另一種是歷史大數(shù)據(jù)測(cè)試,測(cè)試存量數(shù)據(jù)達(dá)到一定量級(jí)下的性能。
配置測(cè)試:配置測(cè)試主要是通過測(cè)試找到系統(tǒng)各項(xiàng)資源的最優(yōu)分配原則,其測(cè)試結(jié)果是系統(tǒng)生產(chǎn)環(huán)境參數(shù)配置的重要依據(jù)。例如,可以通過測(cè)試不斷調(diào)整應(yīng)用服務(wù)器各項(xiàng)參數(shù),使之達(dá)到一個(gè)較好的性能。
可靠性測(cè)試:測(cè)試系統(tǒng)在一定壓力下長(zhǎng)時(shí)間運(yùn)行后是否穩(wěn)定可靠,主要用來測(cè)試系統(tǒng)是否可以長(zhǎng)時(shí)間穩(wěn)定對(duì)外提供可靠的服務(wù)。例如可以進(jìn)行使CPU保持70%~90%利用率的壓力,連續(xù)對(duì)系統(tǒng)加壓7×24小時(shí)的測(cè)試,然后根據(jù)結(jié)果分析是否穩(wěn)定可靠。
狹義性能測(cè)試:主要用來描述常規(guī)的性能測(cè)試,通過模擬生產(chǎn)運(yùn)行時(shí)的使用場(chǎng)景和業(yè)務(wù)壓力來測(cè)試系統(tǒng)的性能是否滿足生產(chǎn)性能要求。例如可以投產(chǎn)環(huán)境來進(jìn)行測(cè)試,測(cè)試出系統(tǒng)的最大業(yè)務(wù)處理能力等指標(biāo),為接下來的投產(chǎn)運(yùn)維提供參考。性能測(cè)試是一種“正常壓力”下的測(cè)試,主要是測(cè)試正常使用是否滿足性能要求,同時(shí)可能為了保留系統(tǒng)的擴(kuò)展空間而進(jìn)行一些稍稍超出“正常壓力”范圍的測(cè)試。
通過深入了解上面的各個(gè)測(cè)試種類,可以看出實(shí)際上它們大多是密切相關(guān)的。例如,連續(xù)加壓24小時(shí)可靠性測(cè)試,可能包含了強(qiáng)度測(cè)試、并發(fā)測(cè)試、性能測(cè)試和負(fù)載測(cè)試等。因此,在進(jìn)行性能測(cè)試規(guī)劃與設(shè)計(jì)時(shí)決不能忽略它們的內(nèi)部聯(lián)系,而是抓住本質(zhì)后以一種高效率的方式來組織性能測(cè)試。
搜索微信公眾號(hào):TestingStudio霍格沃茲的干貨都很硬核