軟件性能測(cè)試_第1頁
軟件性能測(cè)試_第2頁
軟件性能測(cè)試_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件性能測(cè)試    摘要:隨著當(dāng)夸軟件開發(fā)技術(shù)的發(fā)展與成熟,越來越多復(fù)雜的軟件系統(tǒng)應(yīng)用于人們生活的各個(gè)領(lǐng)域,軟件系統(tǒng)運(yùn)行時(shí)的性能表現(xiàn)已經(jīng)成為衡量軟件產(chǎn)品質(zhì)量的一個(gè)重要標(biāo)準(zhǔn)。研究了軟件系統(tǒng)性能測(cè)試的整體的流程,并結(jié)合自動(dòng)化測(cè)試工具LoadRunner,對(duì)軟件性能測(cè)試的相關(guān)信息進(jìn)行了撂討和分析。 關(guān)鍵詞:軟件測(cè)試;性能測(cè)試;LoadRunner 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)資源特別低的

2、條件下軟件系統(tǒng)運(yùn)行情況。 (3)容量測(cè)試:在用戶可接受的響應(yīng)范圍內(nèi),確定系統(tǒng)可處理同時(shí)在線的最大用戶數(shù)。 (4)壓力測(cè)試:通過確定一個(gè)系統(tǒng)的瓶頸或者最大使用極限的測(cè)試。 (5)疲勞強(qiáng)度測(cè)試:以系統(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ù)量測(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軟件性

3、能測(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)。其間。開發(fā)部門應(yīng)協(xié)助提供被測(cè)系統(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é)商明確本次測(cè)試針對(duì)哪些業(yè)務(wù)行為,制定此次測(cè)試的目標(biāo),細(xì)化測(cè)試的關(guān)注點(diǎn)和性能指標(biāo)要求。通過以上內(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)

4、的數(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ù)庫、壓力測(cè)試控制臺(tái)、壓力測(cè)試發(fā)起工具等)的環(huán)境搭建、軟件的安裝;測(cè)試環(huán)境的網(wǎng)絡(luò)環(huán)境建立(如開放防火墻和網(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)景開發(fā) 測(cè)試場(chǎng)景開發(fā)指測(cè)試程序(腳本)的開發(fā)。測(cè)試程序(腳本)的開發(fā)是對(duì)被測(cè)系統(tǒng)的用戶業(yè)務(wù)行為進(jìn)行模

5、擬、錄制、編程、參數(shù)化、腳本定制和調(diào)式等一系列工作,以使測(cè)試程序(腳本)可以真實(shí)模擬實(shí)際生產(chǎn)中的業(yè)務(wù)交易行為,并通過對(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)景開發(fā)工作正確完成的基礎(chǔ)上進(jìn)行的。 2.5測(cè)試報(bào)告和分析 性能測(cè)試報(bào)告和結(jié)果分析是在測(cè)試執(zhí)行完成以后,對(duì)性能數(shù)據(jù)進(jìn)行采集結(jié)果收集工作和針對(duì)性能測(cè)試過程中暴露的問題進(jìn)行分析的階段。性能測(cè)試報(bào)告是對(duì)性能測(cè)試過程中的監(jiān)控結(jié)果以及報(bào)表進(jìn)行匯總,按照一定的模板整理出的一份結(jié)論性文檔。開發(fā)團(tuán)隊(duì)和性能測(cè)試團(tuán)隊(duì)?wèi)?yīng)依據(jù)對(duì)性能測(cè)試實(shí)施過程中監(jiān)控和記錄的數(shù)據(jù)和表格,分析系統(tǒng)中存在

6、的性能問題和程序缺陷。并有針對(duì)性的在報(bào)告中闡述問題、分析原因、提出解決或優(yōu)化方案。 2.6回歸測(cè)試 回歸測(cè)試是開發(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)越來越受到軟件開發(fā)商和用戶的重視,成為軟件測(cè)試的重中之重。性能測(cè)試通常在系統(tǒng)測(cè)試階段執(zhí)行,常常與強(qiáng)度測(cè)試結(jié)合起來,一般需要使用測(cè)試工具。一個(gè)優(yōu)秀的軟件測(cè)試工具,不僅可以輔助測(cè)試工作,滿足科學(xué)測(cè)試的基本要求;而且可以自動(dòng)化測(cè)試過程,節(jié)約大量的時(shí)間、成本、人員和資源,提高軟件產(chǎn)品的質(zhì)量。目前市場(chǎng)上主要

7、使用的測(cè)試工具有微軟公司的WAS(Web Application Stress Tool)、Compuware公司的QALoad、RadView公司的WebRunner、HP(Mercury)公司的LoadRunner。下面以LoadRunner為例。介紹軟件測(cè)試工具的工作流程。 LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具。通過模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能檢測(cè)來確認(rèn)和查找問題,能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過使用LoadRunner,企業(yè)能夠最大限度的縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。LoadRunner能支持廣泛的協(xié)議和技術(shù),功能比較強(qiáng)大,可以為特殊環(huán)境

8、提供特殊的解決方案。LoadRunner由下面三部分組成:Virtual UserGenerator用來錄制腳本、編輯腳本Controller用來布置測(cè)試場(chǎng)景、執(zhí)行測(cè)試場(chǎng)景;Analysis用來對(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é),撰寫性能測(cè)試報(bào)告。 (2)創(chuàng)建Vuser腳本:將最終用戶活動(dòng)捕獲到自動(dòng)腳本中LoadRunner的腳本是C語言代碼,LoadRunner有自

9、己的一整套函數(shù)接口,可以供外部調(diào)用。腳本可分INIT、ACTION、END三部分,其中:INIT部分可以理解為初始部分。ACTION可以理解為事務(wù)部分,也是測(cè)試的主體,END是退出結(jié)束。 當(dāng)錄制完一個(gè)基本的用戶腳本后,在正式使用前我們還需要完善測(cè)試腳本,增強(qiáng)腳本的靈活性。一般情況下,我們通過以下幾種方法來完善測(cè)試腳本。插人事務(wù)、插入結(jié)合點(diǎn)、插入注解、參數(shù)化輸入。 (3)定義場(chǎng)景:使用LoadRunner Controller設(shè)置測(cè)試環(huán)境;錄制好腳本之后,就可以把腳本加入到場(chǎng)景里面去了,這里首先介紹一下LR的場(chǎng)景類型,LR有2種大的場(chǎng)景類型。 Manual Scenario:該項(xiàng)要完全手動(dòng)的設(shè)置

10、場(chǎng)景,這項(xiàng)下面還可以設(shè)置為每一個(gè)腳本分配要運(yùn)行的虛擬用戶的百分比,可在Controller的Scenario菜單下設(shè)置。 GoalOriented 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)行的過程中可以通過這些計(jì)數(shù)器反饋的數(shù)據(jù)。 建立了測(cè)

11、試場(chǎng)景后,我們可以對(duì)Edit_Schedule進(jìn)行設(shè)置,設(shè)置測(cè)試開始執(zhí)行的時(shí)問,對(duì)于手動(dòng)設(shè)計(jì)的測(cè)試還可以設(shè)定它的持續(xù)時(shí)間,以及何時(shí)起用或禁止調(diào)用模擬用戶。 (5)運(yùn)行場(chǎng)景:通過LoadRunner Controller驅(qū)動(dòng)、管理和監(jiān)控負(fù)載測(cè)試。 設(shè)置完畢后,點(diǎn)擊“開始方案”運(yùn)行場(chǎng)景。在運(yùn)行過程中,可以監(jiān)視各個(gè)服務(wù)器的運(yùn)行情況(DataBase Server、WebServer等)。監(jiān)視場(chǎng)景通過添加性能計(jì)數(shù)器來實(shí)現(xiàn),下列數(shù)據(jù)需要特別關(guān)注: Memory:Available Mbytes物理內(nèi)存的可用數(shù)(單位Mbytes)至少要有10的物理內(nèi)存值。 Processor:Processor Time CPU使用率。這是查看處理器飽和狀況的最佳計(jì)數(shù)器。顯示所有CPU的線程處理時(shí)間。如果一個(gè)或多個(gè)處理器的該數(shù)值持續(xù)超過90,則表示此測(cè)試的負(fù)載對(duì)于目前的硬件過于沉重。為多處理器服務(wù)器添加該計(jì)數(shù)器的O到x個(gè)實(shí)例。 Processor Queue Length:是指處理列隊(duì)中的線程數(shù),小于2。處理器瓶頸時(shí)會(huì)導(dǎo)致該值持續(xù)大于2。 Context Switches/sec;如果切換次數(shù)到5000*CPU個(gè)數(shù)和i0000*CPU個(gè)數(shù)中,說明它忙于切換線程。 Ne

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論