- 相關(guān)推薦
軟件性能測(cè)試研究
1 軟件性能測(cè)試
根據(jù)測(cè)試的目的和內(nèi)容的不同,性能測(cè)試主要包括以下方面:
(1)負(fù)載測(cè)試:確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。
(2)強(qiáng)度測(cè)試:確定在系統(tǒng)資源特別低的條件下軟件系統(tǒng)運(yùn)行情況。
(3)容量測(cè)試:在用戶可接受的響應(yīng)范圍內(nèi),確定系統(tǒng)可處理同時(shí)在線的最大用戶數(shù)。
(4)壓力測(cè)試:通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者最大使用極限的測(cè)試。
(5)疲勞強(qiáng)度測(cè)試:以系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運(yùn)行用戶數(shù),持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過(guò)綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作強(qiáng)度性能的過(guò)程。
(6)大數(shù)據(jù)量測(cè)試:大數(shù)據(jù)量測(cè)試側(cè)重點(diǎn)在于數(shù)據(jù)的量上,包括獨(dú)立的數(shù)據(jù)量測(cè)試和綜合數(shù)據(jù)量測(cè)試。獨(dú)立的數(shù)據(jù)量測(cè)試針對(duì)某些系統(tǒng)存儲(chǔ),傳輸、統(tǒng)計(jì)、查詢等業(yè)務(wù)進(jìn)行大數(shù)據(jù)量測(cè)試,而綜合數(shù)據(jù)量測(cè)試一般和壓力性能測(cè)試、負(fù)載性能測(cè)試、疲勞性能測(cè)試相結(jié)合。
2 軟件性能測(cè)試流程
2.1 測(cè)試方案設(shè)計(jì)
在軟件性能測(cè)試的初始階段,首先應(yīng)對(duì)業(yè)務(wù)模型和系統(tǒng)架構(gòu)進(jìn)行調(diào)研,收集測(cè)試需求。然后生戚性能測(cè)試計(jì)劃。業(yè)務(wù)調(diào)研和系統(tǒng)調(diào)研,需要性能測(cè)試團(tuán)隊(duì)提前了解被測(cè)試項(xiàng)目的業(yè)務(wù)功能和系統(tǒng)架構(gòu)。其間。開(kāi)發(fā)部門應(yīng)協(xié)助提供被測(cè)系統(tǒng)相關(guān)的文檔和說(shuō)明,如系統(tǒng)總體介紹、系統(tǒng)規(guī)格書(shū)、用戶使用手冊(cè)、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖和系統(tǒng)配置說(shuō)明、關(guān)鍵服務(wù)器及應(yīng)用部署與配置等文檔。通過(guò)和業(yè)務(wù)部門協(xié)商明確本次測(cè)試針對(duì)哪些業(yè)務(wù)行為,制定此次測(cè)試的目標(biāo),細(xì)化測(cè)試的關(guān)注點(diǎn)和性能指標(biāo)要求。通過(guò)以上內(nèi)容制定詳細(xì)的測(cè)試方案,并制定詳細(xì)測(cè)試計(jì)劃和各階段目標(biāo)。
2.2 測(cè)試環(huán)境的搭建
測(cè)試環(huán)境的搭建分為軟硬測(cè)試系統(tǒng)的環(huán)境搭建和測(cè)試相關(guān)的數(shù)據(jù)準(zhǔn)備工作。環(huán)境搭建包括被測(cè)試系統(tǒng)的硬件環(huán)境建立和軟件應(yīng)用系統(tǒng)建立及基礎(chǔ)數(shù)據(jù)環(huán)境建立。保障被測(cè)試系統(tǒng)的業(yè)務(wù)可用性和功能的正確性,包括測(cè)試系統(tǒng)(如被測(cè)試項(xiàng)目的操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、壓力測(cè)試控制臺(tái)、壓力測(cè)試發(fā)起工具等)的環(huán)境搭建、軟件的安裝;測(cè)試環(huán)境的網(wǎng)絡(luò)環(huán)境建立(如開(kāi)放防火墻和網(wǎng)關(guān)等);最后進(jìn)行測(cè)試環(huán)境可用性驗(yàn)證。測(cè)試數(shù)據(jù)準(zhǔn)備包括測(cè)試應(yīng)用系統(tǒng)基礎(chǔ)數(shù)據(jù)準(zhǔn)備,即需要按性能測(cè)試規(guī)模要求,準(zhǔn)備足夠的、一定規(guī)模的基礎(chǔ)數(shù)據(jù),通常采用全量恢復(fù)生產(chǎn)數(shù)據(jù)的方式以達(dá)到和生產(chǎn)環(huán)境數(shù)據(jù)一致性的要求。
2.3 測(cè)試場(chǎng)景開(kāi)發(fā)
測(cè)試場(chǎng)景開(kāi)發(fā)指測(cè)試程序(腳本)的開(kāi)發(fā)。測(cè)試程序(腳本)的開(kāi)發(fā)是對(duì)被測(cè)系統(tǒng)的用戶業(yè)務(wù)行為進(jìn)行模擬、錄制、編程、參數(shù)化、腳本定制和調(diào)式等一系列工作,以使測(cè)試程序(腳本)可以真實(shí)模擬實(shí)際生產(chǎn)中的業(yè)務(wù)交易行為,并通過(guò)對(duì)程序中參數(shù)的配置實(shí)現(xiàn)對(duì)并發(fā)數(shù)、思考時(shí)間等屬性的準(zhǔn)確控制。
2.4 測(cè)試執(zhí)行
測(cè)試執(zhí)行是在測(cè)試方案的制定、測(cè)試環(huán)境準(zhǔn)備、測(cè)試場(chǎng)景開(kāi)發(fā)工作正確完成的基礎(chǔ)上進(jìn)行的。
2.5 測(cè)試報(bào)告和分析
性能測(cè)試報(bào)告和結(jié)果分析是在測(cè)試執(zhí)行完成以后,對(duì)性能數(shù)據(jù)進(jìn)行采集結(jié)果收集工作和針對(duì)性能測(cè)試過(guò)程中暴露的問(wèn)題進(jìn)行分析的階段。性能測(cè)試報(bào)告是對(duì)性能測(cè)試過(guò)程中的監(jiān)控結(jié)果以及報(bào)表進(jìn)行匯總,按照一定的模板整理出的一份結(jié)論性文檔。開(kāi)發(fā)團(tuán)隊(duì)和性能測(cè)試團(tuán)隊(duì)?wèi)?yīng)依據(jù)對(duì)性能測(cè)試實(shí)施過(guò)程中監(jiān)控和記錄的數(shù)據(jù)和表格,分析系統(tǒng)中存在的性能問(wèn)題和程序缺陷。并有針對(duì)性的在報(bào)告中闡述問(wèn)題、分析原因、提出解決或優(yōu)化方案。
2.6 回歸測(cè)試
回歸測(cè)試是開(kāi)發(fā)部門在性能測(cè)試報(bào)告的基礎(chǔ)上針對(duì)軟件的性能或者效率缺陷進(jìn)行優(yōu)化或者修復(fù),為了驗(yàn)證優(yōu)化的效果而進(jìn)行的再測(cè)試。
3 軟件性能測(cè)試工具LoadRunner
作為軟件質(zhì)量控制中的重要一環(huán),性能測(cè)試已經(jīng)越來(lái)越受到軟件開(kāi)發(fā)商和用戶的重視,成為軟件測(cè)試的重中之重。性能測(cè)試通常在系統(tǒng)測(cè)試階段執(zhí)行,常常與強(qiáng)度測(cè)試結(jié)合起來(lái),一般需要使用測(cè)試工具。一個(gè)優(yōu)秀的軟件測(cè)試工具,不僅可以輔助測(cè)試工作,滿足科學(xué)測(cè)試的基本要求;而且可以自動(dòng)化測(cè)試過(guò)程,節(jié)約大量的時(shí)間、成本、人員和資源,提高軟件產(chǎn)品的質(zhì)量。目前市場(chǎng)上主要使用的測(cè)試工具有微軟公司的WAS(Web Application Stress Tool)、Compuware公司的QALoad、RadView公司的WebRunner、HP(Mercury)公司的LoadRunner。下面以LoadRunner為例。介紹軟件測(cè)試工具的工作流程。
LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過(guò)模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能檢測(cè)來(lái)確認(rèn)和查找問(wèn)題,能夠?qū)φ麄(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用LoadRunner,企業(yè)能夠最大限度的縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner能支持廣泛的協(xié)議和技術(shù),功能比較強(qiáng)大,可以為特殊環(huán)境提供特殊的解決方案。LoadRunner由下面三部分組成:Virtual UserGenerator用來(lái)錄制腳本、編輯腳本Controller用來(lái)布置測(cè)試場(chǎng)景、執(zhí)行測(cè)試場(chǎng)景;Analysis用來(lái)對(duì)測(cè)試結(jié)果進(jìn)行分析。
用LoadRunner進(jìn)行負(fù)載測(cè)試的流程通常由五個(gè)階段組成:計(jì)劃、腳本創(chuàng)建、場(chǎng)景定義、場(chǎng)景執(zhí)行、監(jiān)視執(zhí)行和結(jié)果分析。
(1)計(jì)劃負(fù)載測(cè)試:定義性能測(cè)試要求,例如并發(fā)用戶的數(shù)量、典型業(yè)務(wù)流程和所響應(yīng)時(shí)間;根據(jù)軟件項(xiàng)目相關(guān)需求,定義相關(guān)測(cè)試的細(xì)節(jié),撰寫(xiě)性能測(cè)試報(bào)告。
(2)創(chuàng)建Vuser腳本:將最終用戶活動(dòng)捕獲到自動(dòng)腳本中LoadRunner的腳本是C語(yǔ)言代碼,LoadRunner有自己的一整套函數(shù)接口,可以供外部調(diào)用。腳本可分INIT、ACTION、END三部分,其中:INIT部分可以理解為初始部分。ACTION可以理解為事務(wù)部分,也是測(cè)試的主體,END是退出結(jié)束。
當(dāng)錄制完一個(gè)基本的用戶腳本后,在正式使用前我們還需要完善測(cè)試腳本,增強(qiáng)腳本的靈活性。一般情況下,我們通過(guò)以下幾種方法來(lái)完善測(cè)試腳本。插人事務(wù)、插入結(jié)合點(diǎn)、插入注解、參數(shù)化輸入。
(3)定義場(chǎng)景:使用LoadRunner Controller設(shè)置測(cè)試環(huán)境;錄制好腳本之后,就可以把腳本加入到場(chǎng)景里面去了,這里首先介紹一下LR的場(chǎng)景類型,LR有2種大的場(chǎng)景類型。
、費(fèi)anual Scenario:該項(xiàng)要完全手動(dòng)的設(shè)置場(chǎng)景,這項(xiàng)下面還可以設(shè)置為每一個(gè)腳本分配要運(yùn)行的虛擬用戶的百分比,可在Controller的Scenario菜單下設(shè)置。
、贕oal—Oriented Scenario,如果你的測(cè)試計(jì)劃是要達(dá)到某個(gè)性能指標(biāo),比如:每秒多少點(diǎn)擊。每秒多少transae,tions,能到達(dá)多少VU,某個(gè)Transaction在某個(gè)范圍VU(5D。一1000)內(nèi)的反應(yīng)時(shí)間等等,那么就可以使用面向目標(biāo)的場(chǎng)景。
(4)設(shè)置場(chǎng)景:
Design:設(shè)計(jì)測(cè)試場(chǎng)景的靜態(tài)部分,設(shè)置模擬用戶生成器、模擬用戶數(shù)量、模擬用戶組等。
Run:設(shè)計(jì)測(cè)試的動(dòng)態(tài)部分,主要指添加性能計(jì)數(shù)器,在腳本運(yùn)行的過(guò)程中可以通過(guò)這些計(jì)數(shù)器反饋的數(shù)據(jù)。
建立了測(cè)試場(chǎng)景后,我們可以對(duì)Edit_Schedule進(jìn)行設(shè)置,設(shè)置測(cè)試開(kāi)始執(zhí)行的時(shí)問(wèn),對(duì)于手動(dòng)設(shè)計(jì)的測(cè)試還可以設(shè)定它的持續(xù)時(shí)間,以及何時(shí)起用或禁止調(diào)用模擬用戶。
(5)運(yùn)行場(chǎng)景:通過(guò)LoadRunner Controller驅(qū)動(dòng)、管理和監(jiān)控負(fù)載測(cè)試。
設(shè)置完畢后,點(diǎn)擊“開(kāi)始方案”運(yùn)行場(chǎng)景。在運(yùn)行過(guò)程中,可以監(jiān)視各個(gè)服務(wù)器的運(yùn)行情況(DataBase Server、WebServer等)。監(jiān)視場(chǎng)景通過(guò)添加性能計(jì)數(shù)器來(lái)實(shí)現(xiàn),下列數(shù)據(jù)需要特別關(guān)注:
①M(fèi)emory:Available Mbytes物理內(nèi)存的可用數(shù)(單位Mbytes)至少要有10%的物理內(nèi)存值。
⑦Processor:Processor Time CPU使用率。這是查看處理器飽和狀況的最佳計(jì)數(shù)器。顯示所有CPU的線程處理時(shí)間。如果一個(gè)或多個(gè)處理器的該數(shù)值持續(xù)超過(guò)90%,則表示此測(cè)試的負(fù)載對(duì)于目前的硬件過(guò)于沉重。為多處理器服務(wù)器添加該計(jì)數(shù)器的O到x個(gè)實(shí)例。
、跴rocessor Queue Length:是指處理列隊(duì)中的線程數(shù),小于2。處理器瓶頸時(shí)會(huì)導(dǎo)致該值持續(xù)大于2。
④Context Switches/sec;如果切換次數(shù)到5000*CPU個(gè)數(shù)和i0000*CPU個(gè)數(shù)中,說(shuō)明它忙于切換線程。
、軳etwork Interface:Bytes Total/sec為發(fā)送和接收字節(jié)的速率,包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸,可以用該計(jì)數(shù)器的值和目前網(wǎng)絡(luò)的帶寬比較。
(6)分析結(jié)果:使用LoadRunner Analysis創(chuàng)建圖和報(bào)告并評(píng)估性能。
LR的報(bào)表分析功能也異常強(qiáng)大,有各種各樣的報(bào)表,甚至可以將單個(gè)報(bào)表組合,也可以導(dǎo)出到Excel文件和Ht-ml文件。
【軟件性能測(cè)試研究】相關(guān)文章:
鋼筋芯FRP復(fù)合筋力學(xué)性能研究建筑工程論文(精選12篇)12-14
供給鏈系統(tǒng)的柔性性能06-03
接入網(wǎng)關(guān)上連傳輸承載網(wǎng)保護(hù)方案的研究與測(cè)試05-11
數(shù)據(jù)關(guān)聯(lián)算法綜述及其性能評(píng)估05-05
我國(guó)氣壓盤式制動(dòng)結(jié)構(gòu)性能和前景分析05-11
高性能數(shù)據(jù)采集系統(tǒng)芯片LM12H458及其應(yīng)用05-28
高壓變頻器構(gòu)成及測(cè)試06-12
課題研究開(kāi)題報(bào)告10-26
定向增發(fā)機(jī)制研究06-03
刑罰裁量的原則研究06-04