您好,登錄后才能下訂單哦!
性能測(cè)試從測(cè)試目的來(lái)說(shuō)分為三類(lèi):評(píng)估型測(cè)試、確認(rèn)型測(cè)試、調(diào)優(yōu)型測(cè)試。
評(píng)估型測(cè)試主要是在評(píng)估某種條件下運(yùn)行的性能狀況。如測(cè)試系統(tǒng)在不同環(huán)境下的性能狀況,隨用戶(hù)數(shù)量的變化或者數(shù)據(jù)量的變化情況下軟件的性能變化狀況。評(píng)估型測(cè)試往往并沒(méi)有特別明確的通過(guò)目標(biāo),而是根據(jù)測(cè)試結(jié)果的分析和對(duì)比給出本次評(píng)估內(nèi)容的一些結(jié)論。
確認(rèn)型測(cè)試主要是為了驗(yàn)證系統(tǒng)是否滿(mǎn)足規(guī)定的性能指標(biāo)要求。通常測(cè)試目的中都或有測(cè)試系統(tǒng)在某一條件下的平均響應(yīng)時(shí)間,或者吞吐率,或者并發(fā)用戶(hù)數(shù)等是否滿(mǎn)足規(guī)定的要求。確認(rèn)型測(cè)試一定有很明確的通過(guò)標(biāo)準(zhǔn),測(cè)試結(jié)果與既定的通過(guò)標(biāo)準(zhǔn)對(duì)比,給出被測(cè)系統(tǒng)是否確認(rèn)通過(guò)的結(jié)論。
調(diào)優(yōu)型測(cè)試主要是通過(guò)性能測(cè)試找出被測(cè)系統(tǒng)的性能瓶頸,分析出引起系統(tǒng)性能缺陷的原因,并進(jìn)行針對(duì)性的性能優(yōu)化,以改進(jìn)軟件性能。如對(duì)軟件進(jìn)行性能測(cè)試,確定系統(tǒng)否存在內(nèi)存泄漏、線程泄漏、不合理爭(zhēng)用資源或者死鎖等問(wèn)題,對(duì)其進(jìn)行性能優(yōu)化。調(diào)優(yōu)型測(cè)試一般都是進(jìn)行單個(gè)業(yè)務(wù)場(chǎng)景的并發(fā)測(cè)試,以能更具體的模擬和更快速定位問(wèn)題。
根據(jù)不同的測(cè)試類(lèi)型,需要在測(cè)試執(zhí)行過(guò)程中針對(duì)負(fù)載對(duì)象的調(diào)度以及運(yùn)行過(guò)程中的如思考時(shí)間、迭代時(shí)間進(jìn)行設(shè)計(jì),以期能更貼近不同的測(cè)試類(lèi)型的要求。這些不同的設(shè)計(jì),這里提出來(lái)三種不同的模型供大家參考。
瀑布模型,就是根據(jù)測(cè)試總時(shí)長(zhǎng),每隔一段時(shí)間增加一個(gè)測(cè)試對(duì)象提供負(fù)載。通過(guò)這種組合模型可以保證每過(guò)一個(gè)時(shí)間段,當(dāng)前運(yùn)行的都是不同的負(fù)載模型,不僅僅是負(fù)載量變化了,包括負(fù)載對(duì)象也同時(shí)發(fā)生變化。
這種模型主要應(yīng)用在進(jìn)行確認(rèn)型測(cè)試時(shí),在確認(rèn)系統(tǒng)是否有問(wèn)題的同時(shí)還能夠很快的根據(jù)出問(wèn)題的時(shí)間點(diǎn)來(lái)確認(rèn)是由于哪個(gè)負(fù)載對(duì)象的加入從而導(dǎo)致系統(tǒng)開(kāi)始出現(xiàn)性能問(wèn)題。這種模型對(duì)于問(wèn)題的定位更有意義。
該模型的缺點(diǎn)在于根據(jù)出問(wèn)題的時(shí)間點(diǎn)只能確認(rèn)是因?yàn)槟姆N負(fù)載對(duì)象的加入而導(dǎo)致的性能問(wèn)題。但并不能回答該負(fù)載對(duì)象和哪一個(gè)負(fù)載對(duì)象同時(shí)提供負(fù)載導(dǎo)致的性能問(wèn)題。比如下圖所示:在CASE3加入負(fù)載后系統(tǒng)開(kāi)始出現(xiàn)問(wèn)題,我們沒(méi)有辦法知道具體是因?yàn)?/span>CASE3和CASE1同時(shí)運(yùn)行導(dǎo)致系統(tǒng)問(wèn)題?還是因?yàn)?/span>CASE3和CASE2同時(shí)運(yùn)行導(dǎo)致系統(tǒng)問(wèn)題。
基于以上提到的瀑布模型的缺點(diǎn),我們又提出另外一種模型,魚(yú)骨模型。魚(yú)骨模型是通過(guò)不同負(fù)載對(duì)象的各種組合來(lái)覆蓋所有可能的組合情況。
如下圖所示:從不同負(fù)載對(duì)象兩兩組合、三三組合一直到所有負(fù)載對(duì)象同時(shí)運(yùn)行都覆蓋到了。但是該模型的缺點(diǎn)在于當(dāng)一個(gè)場(chǎng)景中包括的負(fù)載對(duì)象非常多時(shí),這種可能的組合是成指數(shù)增加的。因此,負(fù)載對(duì)象超過(guò)4個(gè)的場(chǎng)景都不適用于該模型。
該模型也是主要用于確認(rèn)型測(cè)試。對(duì)于負(fù)載對(duì)象較少的情況,可以直接使用該模型進(jìn)行負(fù)載對(duì)象調(diào)度的設(shè)計(jì);對(duì)于負(fù)載對(duì)象較多的情況,應(yīng)該跟瀑布模型結(jié)合進(jìn)行,先通過(guò)瀑布模型進(jìn)行設(shè)計(jì)定位造成系統(tǒng)問(wèn)題的負(fù)載對(duì)象分別是哪幾個(gè),縮小范圍后再通過(guò)魚(yú)骨模型精準(zhǔn)定位。
在實(shí)際測(cè)試的過(guò)程中,很多時(shí)候,我們并沒(méi)有太多的時(shí)間把所有可能的負(fù)載對(duì)象組合都測(cè)試到,即便是先通過(guò)瀑布模型縮小范圍依然需要很長(zhǎng)的時(shí)間,這時(shí)候,我們往往直接將所有負(fù)載對(duì)象同時(shí)運(yùn)行,為了能夠在固定的時(shí)間內(nèi)覆蓋盡可能多負(fù)載對(duì)象組合,我們往往需要將思考時(shí)間、迭代時(shí)間設(shè)置為范圍隨機(jī)。每個(gè)測(cè)試對(duì)象的時(shí)間范圍的最大值建議為該負(fù)載執(zhí)行一次所需時(shí)間的1/7或者1/13,可以盡量減低因?yàn)闈M(mǎn)足所有的的公倍數(shù)而導(dǎo)致的組合重合的情況。
該模型是我們?nèi)粘y(cè)試使用最多的模型,該模型的缺點(diǎn)在于即便測(cè)試出問(wèn)題,也無(wú)法之間具體是因?yàn)槟膸讉€(gè)負(fù)載對(duì)象同時(shí)運(yùn)行導(dǎo)致。因此,該模型更多的時(shí)候主要適用于評(píng)估型測(cè)試。
截止到此,關(guān)于性能測(cè)試負(fù)載模型的十篇文章就算是到此結(jié)束了,后面有時(shí)間了我會(huì)逐步說(shuō)一下性能測(cè)試體系建設(shè)的一些思路。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。