基准软件测试原理,基准测试
基準(zhǔn)測試是指通過設(shè)計(jì)科學(xué)的測試方法、測試工具和測試系統(tǒng),實(shí)現(xiàn)對(duì)一類測試對(duì)象的某項(xiàng)性能指標(biāo)進(jìn)行定量的和可對(duì)比的測試。
中文名
基準(zhǔn)測試
外文名
Benchmark Test別????名
BMT
特????點(diǎn)
設(shè)計(jì)科學(xué)的測試方法
基準(zhǔn)測試測試介紹
編輯
語音
基準(zhǔn)測試是[1]
指通過設(shè)計(jì)科學(xué)的測試方法、測試工具和測試系統(tǒng),實(shí)現(xiàn)對(duì)一類測試對(duì)象的某項(xiàng)性能指標(biāo)進(jìn)行定量的和可對(duì)比的測試。例如,對(duì)計(jì)算機(jī)CPU進(jìn)行浮點(diǎn)運(yùn)算、數(shù)據(jù)訪問的帶寬和延遲等指標(biāo)的基準(zhǔn)測試,可以使用戶清楚地了解每一款CPU的運(yùn)算性能及作業(yè)吞吐能力是否滿足應(yīng)用程序的要求;
再如對(duì)[2]
數(shù)據(jù)庫管理系統(tǒng)的ACID(Atomicity, Consistency, Isolation, Durability, 原子性、一致性、獨(dú)立性和持久性)、查詢時(shí)間和聯(lián)機(jī)事務(wù)處理能力等方面的性能指標(biāo)進(jìn)行基準(zhǔn)測試,也有助于使用者挑選最符合自己需求的數(shù)據(jù)庫系統(tǒng)。
從以上兩個(gè)例子我們可以看出,可測量、可重復(fù)、可對(duì)比是基準(zhǔn)測試的三大原則,其中可測量是指測試的輸入和輸出之間是可達(dá)的,也就是測試過程是可以實(shí)現(xiàn)的,并且測試的結(jié)果可以量化表現(xiàn);可重復(fù)是指按照測試過程實(shí)現(xiàn)的結(jié)果是相同的或處于可接受的置信區(qū)間之內(nèi),而不受測試的時(shí)間、地點(diǎn)和執(zhí)行者的影響;可對(duì)比是指一類測試對(duì)象的測試結(jié)果具有線性關(guān)系,測試結(jié)果的大小直接決定性能的高低。
對(duì)于可[3]
再現(xiàn)性,基準(zhǔn)測試是最好的方法。
在開發(fā)階段前期,應(yīng)該使用基準(zhǔn)測試來確定應(yīng)用程序中是否出現(xiàn)性能倒退。基準(zhǔn)測試可以在一個(gè)相對(duì)短的時(shí)間內(nèi)收集可重復(fù)的結(jié)果。進(jìn)行基準(zhǔn)測試的最好方法是,每次測試改變一個(gè)且只改變一個(gè)參數(shù)。例如,如果想知道增加JVM內(nèi)存是否會(huì)影響應(yīng)用程序的性能,就逐次遞增JVM內(nèi)存(例如,從1024 MB增至1224 MB,然后是1524 MB,最后是2024 MB),在每個(gè)階段收集結(jié)果和環(huán)境數(shù)據(jù),記錄信息,然后轉(zhuǎn)到下一階段。這樣在分析測試結(jié)果時(shí)就有跡可循。
基準(zhǔn)測試的關(guān)鍵是要獲得一致的、可再現(xiàn)的結(jié)果。可再現(xiàn)的結(jié)果有兩個(gè)好處:減少重新運(yùn)行測試的次數(shù);對(duì)測試的產(chǎn)品和產(chǎn)生的數(shù)字更為確信。使用的性能測試工具可能會(huì)對(duì)測試結(jié)果產(chǎn)生很大影響。假定測試的兩個(gè)指標(biāo)是服務(wù)器的響應(yīng)時(shí)間和吞吐量,它們會(huì)受到服務(wù)器上的負(fù)載的影響。服務(wù)器上的負(fù)載受兩個(gè)因素影響:同時(shí)與服務(wù)器通信的連接(或虛擬用戶)的數(shù)目,以及每個(gè)虛擬用戶請(qǐng)求之間的考慮時(shí)間的長短。很明顯,與服務(wù)器通信的用戶越多,負(fù)載就越大。同樣,請(qǐng)求之間的考慮時(shí)間越短,負(fù)載也越大。這兩個(gè)因素的不同組合會(huì)產(chǎn)生不同的服務(wù)器負(fù)載等級(jí)。記住,隨著服務(wù)器上負(fù)載的增加,吞吐量會(huì)不斷攀升,直到到達(dá)一個(gè)點(diǎn)。
當(dāng)軟件系統(tǒng)中增加了1個(gè)新模塊,此時(shí)需要做基準(zhǔn)測試,以判斷新的模塊對(duì)整個(gè)軟件系統(tǒng)的性能影響。
基準(zhǔn)測試測試步驟
編輯
語音
基準(zhǔn)測試觀察
我們假設(shè)系統(tǒng)管理員購買了一臺(tái)服務(wù)器,現(xiàn)在看看它的最佳性能。第一步是確定服務(wù)器預(yù)期任務(wù)。其將作為一個(gè)虛擬平臺(tái)還是運(yùn)行一個(gè)專門的應(yīng)用程序?確定這些問題之后,就可以開始基準(zhǔn)測試了。切記,測量標(biāo)準(zhǔn)和基準(zhǔn)測試將根據(jù)測試內(nèi)容和使用的設(shè)備而有所變化。例如,如果作為數(shù)據(jù)庫系統(tǒng)可能會(huì)強(qiáng)調(diào)處理器測試,而用于網(wǎng)絡(luò)服務(wù)系統(tǒng)的話可能會(huì)突出網(wǎng)絡(luò)性能。
基準(zhǔn)測試假設(shè)
在這個(gè)步驟,工程師設(shè)定一個(gè)基準(zhǔn)目標(biāo)。假設(shè)什么或者測試需要完成什么?簡單地進(jìn)行一個(gè)度量測試將得出一些試驗(yàn)結(jié)果,但是沒有方向或明確的目標(biāo)的話,這些結(jié)果可能是無用的。為測試創(chuàng)建一個(gè)基本的目標(biāo),并且所有的測試方法都圍繞這個(gè)目標(biāo)。例如,工程師可能會(huì)設(shè)法測試其占用的內(nèi)存以讓應(yīng)用程序處于最佳運(yùn)行狀態(tài)。他或她可能因此推測,給定“X”內(nèi)存大小可以達(dá)到最佳工作負(fù)載。這可以立足于以前的研究,供應(yīng)商提供的基準(zhǔn)或其他的來源。確保你的假設(shè)是可測試的。也就是說,不要提出一個(gè)只是基于數(shù)據(jù)的而基準(zhǔn)測試卻無法證實(shí)的假設(shè)。
基準(zhǔn)測試預(yù)測
接下來,對(duì)服務(wù)器基準(zhǔn)測試做一個(gè)大體預(yù)測。假設(shè)該設(shè)備將被作為一個(gè)專門的應(yīng)用服務(wù)器。系統(tǒng)管理員能夠預(yù)測,為工作負(fù)載增加額外的核心,設(shè)備性能將提升,同樣,應(yīng)用程序的性能也將會(huì)改善。在某些情況下,工程師甚至可以預(yù)測改善的比例,并希望通過基準(zhǔn)測試進(jìn)行驗(yàn)證。
基準(zhǔn)測試環(huán)境控制
變量設(shè)置。例如,可能要給服務(wù)器分配一些核心。此時(shí),管理員每次應(yīng)只更改一個(gè)設(shè)置,直到他或她能夠接受在此基礎(chǔ)上的性能變化。工程師可能需要給服務(wù)器設(shè)置為6GB的內(nèi)存,并測試其與其他設(shè)備相互配合的情況(CPU、影像、硬盤以及相關(guān)聯(lián)的設(shè)備)。設(shè)置不同的變量,包括修改處理器設(shè)置,但其他設(shè)置都處于最初狀態(tài)。
基準(zhǔn)測試測試
變量都設(shè)置好之后,現(xiàn)在開始進(jìn)行測試。從基準(zhǔn)線開始進(jìn)行測試(已知的起點(diǎn)),并有系統(tǒng)地調(diào)整服務(wù)器設(shè)置。每個(gè)測試序列都會(huì)有一個(gè)結(jié)果,記錄結(jié)果以便以后引用。在這種情況下,一個(gè)測試序列可看做是一次硬件設(shè)置更改。每應(yīng)用一次新的設(shè)置,都必須重新進(jìn)行測試并記錄結(jié)果。一旦有足夠的運(yùn)行周期,工程師應(yīng)該有一份完整的數(shù)據(jù)以完成他們的推論。
基準(zhǔn)測試推論和結(jié)論
進(jìn)行測試并確認(rèn)應(yīng)用程序的實(shí)際性能以及給定預(yù)計(jì)資源或設(shè)置后的性能。例如,在只有一半數(shù)量的預(yù)期核心后,確定應(yīng)用程序的最佳運(yùn)行效果。從這點(diǎn)起,確定核心與其他當(dāng)前變量(所需的內(nèi)存大小、當(dāng)前運(yùn)行的應(yīng)用程序數(shù)量、軟件升級(jí)/服務(wù)包等)結(jié)合給服務(wù)器提供的最佳性能。注意,任何變量的改變都需要進(jìn)一步實(shí)驗(yàn)。
基準(zhǔn)測試測試的局限性
編輯
語音
基準(zhǔn)測試不能替代好的設(shè)計(jì),不管是混合存儲(chǔ)還是全閃陣列,只要能正確補(bǔ)充存儲(chǔ),終端用戶都會(huì)獲得足夠高的IOPS盡管后端磁盤性能可能不夠而造成緩存不中等。因此,需要充分發(fā)揮每個(gè)存儲(chǔ)層級(jí)的性能以補(bǔ)償缺陷。
特別是遇到混合存儲(chǔ)的時(shí)候,需要考慮的一點(diǎn)即是性能上的短板效應(yīng)。正因?yàn)槿绱?#xff0c;無需快速訪問的數(shù)據(jù)應(yīng)該放在相對(duì)穩(wěn)定一些的后端磁盤上。比如說在一些時(shí)候,后端如果使用了15000轉(zhuǎn)速的磁盤,即便前端緩存大小適中也妨礙不大。
如果這樣的話全閃存陣列則更為容易去衡量及評(píng)估因?yàn)椴辉傩枰紤]多級(jí)存儲(chǔ)之間的關(guān)系。在這種情況下,需要了解SLC及MLC兩種閃存之間的區(qū)別。雖然MLC較SLC慢,需要知道的是即便如此,其比傳統(tǒng)硬盤還是會(huì)快很多。在許多場景下,MLC也許就足以滿足加速的需求。
參考資料
1.
基準(zhǔn)測試?
.知網(wǎng)[引用日期2017-04-06]
2.
數(shù)據(jù)庫管理系統(tǒng)
.知網(wǎng)[引用日期2017-04-06]
3.
再現(xiàn)性
.知網(wǎng)[引用日期2017-04-06]
總結(jié)
以上是生活随笔為你收集整理的基准软件测试原理,基准测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泰山行宫碧霞元君祠_临清市泰山行宫碧霞元
- 下一篇: 如何实现两个数据库之间的同步