最近兩天在系統(tǒng)的復(fù)習(xí)性能測試方面的知識,結(jié)合之前的性能測試經(jīng)驗有了一些總結(jié),希望寫出來與大家分享,希望多提寶貴意見,共同進(jìn)步~ 1、概念 首先來說說性能測試:性能是軟件的一種非功能特性,他關(guān)注的不是軟件是否完成了特定的功能,而是軟件在完成特定功能是展示出來的及時性。及時性從不同的視角代表不同的指標(biāo): 用戶:響應(yīng)時間 系統(tǒng)管理員:資源利用率,可擴(kuò)展性,系統(tǒng)穩(wěn)定性,系統(tǒng)容量 開發(fā)人員:系統(tǒng)架構(gòu),數(shù)據(jù)庫設(shè)計,設(shè)計和代碼實現(xiàn) 可見,系統(tǒng)穩(wěn)定性對系統(tǒng)管理員的意義重大,穩(wěn)定性的好壞也可以直接影響到最終用戶所關(guān)心的“響應(yīng)時間”,所以說穩(wěn)定性測試時性能測試中非常重要的一環(huán)。 穩(wěn)定性測試(亦可稱可靠性測試)通過給系統(tǒng)加載一定的業(yè)務(wù)壓力,讓系統(tǒng)持續(xù)運行一段時間(一般為7x24小時),檢測系統(tǒng)是否能夠穩(wěn)定運行。 2、如何實施 1)識別并確認(rèn)軟件主要業(yè)務(wù)(是否需要穩(wěn)定性測試): 將穩(wěn)定性測試的重心放在軟件最有Value的地方,比如說一個搶票系統(tǒng),它最有value的地方是當(dāng)有一定數(shù)量的用戶同時進(jìn)行買票操作是系統(tǒng)的相應(yīng)時間,資源利用率等是否能夠正常且穩(wěn)定,而不是用戶如何添加新的聯(lián)系人,修改個人信息等。 2)羅列主要用戶場景及相應(yīng)負(fù)載量: 用戶場景可以根據(jù)軟件主要業(yè)務(wù)進(jìn)行設(shè)定; 對主要場景負(fù)載量需要有一個清晰的定義(或者通過負(fù)載測試驗證了用戶場景的負(fù)載量,這將作為一個標(biāo)準(zhǔn)的負(fù)載在穩(wěn)定性測試中使用)。 3)制定穩(wěn)定性指標(biāo)模型(Modeling) 根據(jù)用戶場景建模,創(chuàng)建合適合理的穩(wěn)定性指標(biāo)模型(之后會有一個例子) 測試環(huán)境準(zhǔn)備(對軟硬件環(huán)境的配置:配置的來源可以是客戶環(huán)境模擬、需求文檔規(guī)定的配置或者配置測試得出的最佳配置) 4)識別穩(wěn)定性的主要性能指標(biāo)(KPI) 用來描述穩(wěn)定性測試關(guān)注的系統(tǒng)指標(biāo),比如響應(yīng)時間、CPU、內(nèi)存使用率等等,需要根據(jù)具體業(yè)務(wù)進(jìn)行定義。 5)測試的執(zhí)行和數(shù)據(jù)收集 按照相應(yīng)穩(wěn)定性指標(biāo)模型(Modeling)分析測試結(jié)果; 將測試結(jié)果應(yīng)用在穩(wěn)定性測試模型中,觀察是否滿足穩(wěn)定性要求。 6)持續(xù)改進(jìn)(如有必要)。 3、穩(wěn)定性指標(biāo)模型(例子) 下面我們拿一個BI(商業(yè)智能)的例子來進(jìn)行我們的穩(wěn)定性測試建模。 軟件主要業(yè)務(wù):從大量元數(shù)據(jù)中提?。‥TL)客戶關(guān)心的數(shù)據(jù)并最終生成報表(本文以微軟平臺BI為例:SSIS,SSAS,SSRS) 用戶場景:利用SSIS 包進(jìn)行ETL操作將元數(shù)據(jù)計算轉(zhuǎn)化后導(dǎo)入到數(shù)據(jù)立方體(Cube)中。 典型負(fù)載:每小時3000個用戶,100000條數(shù)據(jù),執(zhí)行7x24小時 測試環(huán)境:需求文檔中規(guī)定的配置 主要性能指標(biāo): ETL時間:9分鐘,差別:1分鐘,方差:<0.1 系統(tǒng)相關(guān):CPU,Memory,Private Mbytes/sec等 穩(wěn)定性指標(biāo)模型: 1)計算公式 2)穩(wěn)定性模型 3)從圖表中可以看出: ETL上限為12分鐘(即如果超過12分鐘就證明有瓶頸,需要調(diào)查) ETL平均值為9分鐘 控制線的上下方分別為Avg加減3倍的方差 實際使用時間圍繞平均值上下分布(標(biāo)準(zhǔn)為同一向不能出現(xiàn)連續(xù)7個點:如連續(xù)7個實際檢測值都在平均值的上方,這時就需要進(jìn)行調(diào)查) 4)系統(tǒng)方面的指標(biāo)也可以按照這個方法去分析。 (當(dāng)然,對系統(tǒng)資源占用要求不高的系統(tǒng)可以直接通過占用曲線來分析穩(wěn)定性) 5)執(zhí)行測試獲取結(jié)果,套用指標(biāo)模型進(jìn)行分析 4、總結(jié) 總的來說,穩(wěn)定性測試是用來驗證產(chǎn)品在一定的負(fù)載下是否能夠長時間的穩(wěn)定運行,其主要目的是驗證能力,并在能力的驗證過程中找到系統(tǒng)不穩(wěn)定的因素并進(jìn)行分析解決。 文章來源:網(wǎng)絡(luò) 版權(quán)歸原作者所有 上文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系小編,我們將立即處理 |
|