新聞中心
性能測試從測試目的來說分為三類:評估型測試、確認(rèn)型測試、調(diào)優(yōu)型測試。
評估型測試主要是在評估某種條件下運(yùn)行的性能狀況。如測試系統(tǒng)在不同環(huán)境下的性能狀況,隨用戶數(shù)量的變化或者數(shù)據(jù)量的變化情況下軟件的性能變化狀況。評估型測試往往并沒有特別明確的通過目標(biāo),而是根據(jù)測試結(jié)果的分析和對比給出本次評估內(nèi)容的一些結(jié)論。
確認(rèn)型測試主要是為了驗證系統(tǒng)是否滿足規(guī)定的性能指標(biāo)要求。通常測試目的中都或有測試系統(tǒng)在某一條件下的平均響應(yīng)時間,或者吞吐率,或者并發(fā)用戶數(shù)等是否滿足規(guī)定的要求。確認(rèn)型測試一定有很明確的通過標(biāo)準(zhǔn),測試結(jié)果與既定的通過標(biāo)準(zhǔn)對比,給出被測系統(tǒng)是否確認(rèn)通過的結(jié)論。
調(diào)優(yōu)型測試主要是通過性能測試找出被測系統(tǒng)的性能瓶頸,分析出引起系統(tǒng)性能缺陷的原因,并進(jìn)行針對性的性能優(yōu)化,以改進(jìn)軟件性能。如對軟件進(jìn)行性能測試,確定系統(tǒng)否存在內(nèi)存泄漏、線程泄漏、不合理爭用資源或者死鎖等問題,對其進(jìn)行性能優(yōu)化。調(diào)優(yōu)型測試一般都是進(jìn)行單個業(yè)務(wù)場景的并發(fā)測試,以能更具體的模擬和更快速定位問題。
根據(jù)不同的測試類型,需要在測試執(zhí)行過程中針對負(fù)載對象的調(diào)度以及運(yùn)行過程中的如思考時間、迭代時間進(jìn)行設(shè)計,以期能更貼近不同的測試類型的要求。這些不同的設(shè)計,這里提出來三種不同的模型供大家參考。
瀑布模型
瀑布模型,就是根據(jù)測試總時長,每隔一段時間增加一個測試對象提供負(fù)載。通過這種組合模型可以保證每過一個時間段,當(dāng)前運(yùn)行的都是不同的負(fù)載模型,不僅僅是負(fù)載量變化了,包括負(fù)載對象也同時發(fā)生變化。
這種模型主要應(yīng)用在進(jìn)行確認(rèn)型測試時,在確認(rèn)系統(tǒng)是否有問題的同時還能夠很快的根據(jù)出問題的時間點來確認(rèn)是由于哪個負(fù)載對象的加入從而導(dǎo)致系統(tǒng)開始出現(xiàn)性能問題。這種模型對于問題的定位更有意義。
該模型的缺點在于根據(jù)出問題的時間點只能確認(rèn)是因為哪種負(fù)載對象的加入而導(dǎo)致的性能問題。但并不能回答該負(fù)載對象和哪一個負(fù)載對象同時提供負(fù)載導(dǎo)致的性能問題。比如下圖所示:在CASE3加入負(fù)載后系統(tǒng)開始出現(xiàn)問題,我們沒有辦法知道具體是因為CASE3和CASE1同時運(yùn)行導(dǎo)致系統(tǒng)問題?還是因為CASE3和CASE2同時運(yùn)行導(dǎo)致系統(tǒng)問題。
魚骨模型
基于以上提到的瀑布模型的缺點,我們又提出另外一種模型,魚骨模型。魚骨模型是通過不同負(fù)載對象的各種組合來覆蓋所有可能的組合情況。
如下圖所示:從不同負(fù)載對象兩兩組合、三三組合一直到所有負(fù)載對象同時運(yùn)行都覆蓋到了。但是該模型的缺點在于當(dāng)一個場景中包括的負(fù)載對象非常多時,這種可能的組合是成指數(shù)增加的。因此,負(fù)載對象超過4個的場景都不適用于該模型。
該模型也是主要用于確認(rèn)型測試。對于負(fù)載對象較少的情況,可以直接使用該模型進(jìn)行負(fù)載對象調(diào)度的設(shè)計;對于負(fù)載對象較多的情況,應(yīng)該跟瀑布模型結(jié)合進(jìn)行,先通過瀑布模型進(jìn)行設(shè)計定位造成系統(tǒng)問題的負(fù)載對象分別是哪幾個,縮小范圍后再通過魚骨模型精準(zhǔn)定位。
混合模型
在實際測試的過程中,很多時候,我們并沒有太多的時間把所有可能的負(fù)載對象組合都測試到,即便是先通過瀑布模型縮小范圍依然需要很長的時間,這時候,我們往往直接將所有負(fù)載對象同時運(yùn)行,為了能夠在固定的時間內(nèi)覆蓋盡可能多負(fù)載對象組合,我們往往需要將思考時間、迭代時間設(shè)置為范圍隨機(jī)。每個測試對象的時間范圍的大值建議為該負(fù)載執(zhí)行一次所需時間的1/7或者1/13,可以盡量減低因為滿足所有的的公倍數(shù)而導(dǎo)致的組合重合的情況。
該模型是我們?nèi)粘y試使用最多的模型,該模型的缺點在于即便測試出問題,也無法之間具體是因為哪幾個負(fù)載對象同時運(yùn)行導(dǎo)致。因此,該模型更多的時候主要適用于評估型測試。
截止到此,關(guān)于性能測試負(fù)載模型的十篇文章就算是到此結(jié)束了,后面有時間了我會逐步說一下性能測試體系建設(shè)的一些思路。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:性能測試負(fù)載模型(十)-創(chuàng)新互聯(lián)
文章位置:http://www.ef60e0e.cn/article/djpecj.html