性能測(cè)試不同于功能測(cè)試,功能測(cè)試只要求軟件的功能實(shí)現(xiàn)即可,而性能測(cè)試是測(cè)試軟件功能的執(zhí)行效率是否達(dá)到要求。例如某個(gè)軟件具備查詢(xún)功能,功能測(cè)試只測(cè)試查詢(xún)功能是否實(shí)現(xiàn),而性能測(cè)試卻要求查詢(xún)功能足夠準(zhǔn)確、足夠快速。但是,對(duì)于性能測(cè)試來(lái)說(shuō),多快的查詢(xún)速度才是足夠快,什么樣的查詢(xún)情況才足夠準(zhǔn)確是很難界定的,因此,需要一些指標(biāo)來(lái)量化這些數(shù)據(jù)。
性能測(cè)試常用的指標(biāo)包括響應(yīng)時(shí)間、吞吐量、并發(fā)用戶(hù)數(shù)、TPS等,下面分別進(jìn)行介紹。
1.響應(yīng)時(shí)間
響應(yīng)時(shí)間( Response Time)是指系統(tǒng)對(duì)用戶(hù)請(qǐng)求做出響應(yīng)所需要的時(shí)間。這個(gè)時(shí)間是指用戶(hù)從軟件客戶(hù)端發(fā)出請(qǐng)求到用戶(hù)接收到返回?cái)?shù)據(jù)的整個(gè)過(guò)程所需要的時(shí)間,包括各種中間件(如服務(wù)器、數(shù)據(jù)庫(kù)等)的處理時(shí)間,如下圖所示。
上圖中,系統(tǒng)的響應(yīng)時(shí)間為4+2+2+1++。響應(yīng)時(shí)間越短,表明軟件的響應(yīng)速度越快,性能越好。但是響應(yīng)時(shí)間需要與用戶(hù)的具體需求相結(jié)合,例如火車(chē)訂票查詢(xún)功能響應(yīng)時(shí)間一般2s內(nèi)就可以完成,而在網(wǎng)站下載電影時(shí),幾分鐘完成下載的速度就已經(jīng)很快了。
系統(tǒng)的響應(yīng)時(shí)間會(huì)隨著訪(fǎng)問(wèn)量的增加、業(yè)務(wù)量的增長(zhǎng)等變長(zhǎng),一般在性能測(cè)試時(shí),除了測(cè)試系統(tǒng)的正常響應(yīng)時(shí)間是否達(dá)到要求之外,還會(huì)測(cè)試在一定壓力下系統(tǒng)響應(yīng)時(shí)間的變化。
2.吞吐量
吞吐量( Throughput)是指單位時(shí)間內(nèi)系統(tǒng)能夠完成的工作量,它衡量的是軟件系統(tǒng)服務(wù)器的處理能力。吞吐量的度量單位可以是請(qǐng)求數(shù)/秒、頁(yè)面數(shù)/秒、訪(fǎng)問(wèn)人數(shù)/天、處理業(yè)務(wù)數(shù)/小時(shí)等
吞吐量是軟件系統(tǒng)衡量自身負(fù)載能力的一個(gè)很重要的指標(biāo),吞吐量越大,系統(tǒng)單位時(shí)間內(nèi)處理的數(shù)據(jù)就越多,系統(tǒng)的負(fù)載能力就越強(qiáng)。
3.并發(fā)用戶(hù)數(shù)
并發(fā)用戶(hù)數(shù)是指同一時(shí)間請(qǐng)求和訪(fǎng)問(wèn)的用戶(hù)數(shù)量。例如對(duì)于某一軟件,同時(shí)有100個(gè)用戶(hù)請(qǐng)求登錄,則其并發(fā)用戶(hù)數(shù)就是100。并發(fā)用戶(hù)數(shù)量越大,對(duì)系統(tǒng)的性能影響越大,并發(fā)用戶(hù)數(shù)量較大可能會(huì)導(dǎo)致系統(tǒng)響應(yīng)變慢、系統(tǒng)不穩(wěn)定等。軟件系統(tǒng)在設(shè)計(jì)時(shí)必須要考慮并發(fā)訪(fǎng)問(wèn)的情況,測(cè)試工程師在進(jìn)行性能測(cè)試時(shí)也必須進(jìn)行并發(fā)訪(fǎng)問(wèn)的測(cè)試。
4. TPS( Transaction per Second)
TPS是指系統(tǒng)每秒鐘能夠處理的事務(wù)和交易的數(shù)量,它是衡量系統(tǒng)處理能力的重要指標(biāo)。
5.點(diǎn)擊率( Hits per Second)
點(diǎn)擊率是指用戶(hù)每秒向Web服務(wù)器提交的HP請(qǐng)求數(shù),這個(gè)指標(biāo)是web應(yīng)用特有的個(gè)性能指標(biāo),通過(guò)點(diǎn)擊率可以評(píng)估用戶(hù)產(chǎn)生的負(fù)載量,并且可以判斷系統(tǒng)是否穩(wěn)定。點(diǎn)擊率只是一個(gè)參考指標(biāo),幫助衡量Web服務(wù)器的性能。
6.資源利用率
資源利用率是指軟件對(duì)系統(tǒng)資源的使用情況,包括CPU利用率、內(nèi)存利用率、磁盤(pán)利用率等。資源利用率是分析軟件性能瓶頸的重要參數(shù)。例如某一個(gè)軟件,預(yù)期訪(fǎng)問(wèn)量為1萬(wàn),但是當(dāng)達(dá)到6000訪(fǎng)問(wèn)量時(shí)內(nèi)存利用率就已經(jīng)達(dá)到80%制了訪(fǎng)問(wèn)量的增加,此時(shí)就需要考慮軟件是否有內(nèi)存泄漏等缺陷,從而進(jìn)行優(yōu)化。