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