火龍果-軟件性能測(cè)試培訓(xùn)初級(jí)教程_第1頁(yè)
火龍果-軟件性能測(cè)試培訓(xùn)初級(jí)教程_第2頁(yè)
火龍果-軟件性能測(cè)試培訓(xùn)初級(jí)教程_第3頁(yè)
火龍果-軟件性能測(cè)試培訓(xùn)初級(jí)教程_第4頁(yè)
火龍果-軟件性能測(cè)試培訓(xùn)初級(jí)教程_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件性能測(cè)試培訓(xùn)初級(jí)教程性能測(cè)試基礎(chǔ)知識(shí)LoadRunner基礎(chǔ)知識(shí)Vuser-用戶行為模擬器Controller-性能測(cè)試的指揮中心Analysis-尋找系統(tǒng)瓶頸的得力助手培訓(xùn)內(nèi)容簡(jiǎn)介什么是性能測(cè)試性能測(cè)試策略性能測(cè)試方面的技能性能測(cè)試流程性能測(cè)試基礎(chǔ)知識(shí)性能測(cè)試基礎(chǔ)知識(shí)性能測(cè)試的含義:通過(guò)自動(dòng)化測(cè)試工具模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力或用戶使用場(chǎng)景來(lái)測(cè)試系統(tǒng)的性能是否滿足生產(chǎn)性能的要求。性能測(cè)試的目的:評(píng)估系統(tǒng)的能力識(shí)別系統(tǒng)的弱點(diǎn)系統(tǒng)調(diào)優(yōu)驗(yàn)證穩(wěn)定性、可靠性性能測(cè)試基礎(chǔ)知識(shí)性能測(cè)試策略:性能測(cè)試(PerformanceTesting)負(fù)載測(cè)試(LoadTesting)壓力測(cè)試(StressTesting)并發(fā)測(cè)試(ConcurrencyTesting)可靠性測(cè)試(ReliabilityTesting)……性能測(cè)試基礎(chǔ)知識(shí)性能測(cè)試需要的相關(guān)技能:測(cè)試專業(yè)技能軟件編程技能網(wǎng)絡(luò)知識(shí)操作系統(tǒng)知識(shí)數(shù)據(jù)庫(kù)知識(shí)中間件知識(shí)行業(yè)知識(shí)個(gè)人素養(yǎng)性能測(cè)試基礎(chǔ)知識(shí)性能測(cè)試流程:PerformanceTestProcessTestPhasesTaskDeliveryAssessPhaseCollectRequirements,testscope,testgoalPerformancechecklistPlanPhaseFinalizetestscope,milestones,goal,toolsPerformancePlanDesignPhaseDesignthedetailtestcase;CreatetestscriptPerformancetestcaseExecutePhaseCreateScenario;Execute

ScenarioPerformancetestresultPerformanceTuningPhaseAnalyzeissuesandre-testingRe-testresultPostProductionPhaseReviewthefinalperformancetestresultPerformanceTestreportBusinessProfileCreateScriptsScenarioCreationScenarioExecutionResultAnalysisPerformanceTuningLoadRunner基礎(chǔ)知識(shí)LoadRunner的組件LoadRunner工作原理LoadRunner在性能測(cè)試中的映射LoadRunner常用術(shù)語(yǔ)LoadRunner的協(xié)議HTTP協(xié)議詳解LoadRunner基礎(chǔ)知識(shí)LoadRunner的總體架構(gòu)圖,包括各個(gè)組件Vuser,Controller和Analysis之間的關(guān)系。LoadRunner的三大高手Vuser:用戶行為模擬器Controller:性能測(cè)試的指揮中心Analysis:尋找系統(tǒng)瓶頸的得力助手LoadRunner基礎(chǔ)知識(shí)這是LoadRunner的工作原理,從圖中可以看出如何利用LoadRunner進(jìn)行一次典型的系統(tǒng)性能測(cè)試。LoadRunner基礎(chǔ)知識(shí)LoadRunner在性能測(cè)試中的映射:PlanningTheTestCreatingVuScriptCreatingTheScenarioRunningTheScenarioAnalyzingTheResultsMonitoringTheScenarioLoadRunner性能測(cè)試的過(guò)程:制定性能測(cè)試計(jì)劃開(kāi)發(fā)測(cè)試腳本創(chuàng)建運(yùn)行場(chǎng)景執(zhí)行測(cè)試監(jiān)視場(chǎng)景分析測(cè)試結(jié)果LoadRunner基礎(chǔ)知識(shí)LoadRunner常用術(shù)語(yǔ)<基本概念>:事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)以獲取這一操作所花費(fèi)的時(shí)間。例如:有一數(shù)據(jù)查詢操作,輸入查詢條件的時(shí)間是我們所不關(guān)注的。從點(diǎn)擊“查詢”按鈕之后到查詢結(jié)果顯示出來(lái),這段時(shí)間才是我們真正需要獲取到的。也就是說(shuō)當(dāng)點(diǎn)擊按鈕之前讓LoadRunner開(kāi)始計(jì)時(shí),直到而且顯示出來(lái)計(jì)時(shí)結(jié)束。這個(gè)事務(wù)的響應(yīng)時(shí)間才會(huì)在結(jié)果中顯示出來(lái)。?思考如何定義一個(gè)事務(wù)的大???它是單一的任務(wù)還是一系列復(fù)雜的任務(wù)?LoadRunner基礎(chǔ)知識(shí)LoadRunner常用術(shù)語(yǔ)<基本概念>:思考時(shí)間(ThinkTime):用戶在執(zhí)行兩個(gè)連續(xù)操作期間等待的時(shí)間稱為“思考時(shí)間”。?思考在一個(gè)事務(wù)中如果插入了思考時(shí)間,對(duì)事務(wù)會(huì)有什么影響?有思考時(shí)間的腳本和沒(méi)有思考時(shí)間的腳本相比,哪個(gè)給服務(wù)器造成的壓力大?哪個(gè)更符合用戶實(shí)際的工作場(chǎng)景?LoadRunner基礎(chǔ)知識(shí)LoadRunner常用術(shù)語(yǔ)<基本概念>:集合點(diǎn)(Rendezvous):用以同步虛擬用戶以便恰好在同時(shí)刻執(zhí)行任務(wù)。!提示:集合點(diǎn)只能在Action中添加,Init和End部分不能添加。由于集合點(diǎn)是協(xié)調(diào)多個(gè)虛擬用戶的并發(fā)操作,因而在VU運(yùn)行腳本時(shí)它是沒(méi)有任何意思的,它只有在Controller多用戶并發(fā)場(chǎng)景時(shí)才有意義。?思考集點(diǎn)應(yīng)該放在腳本的何處為益?LoadRunner基礎(chǔ)知識(shí)LoadRunner常用術(shù)語(yǔ)<基本概念>:檢查點(diǎn)(Checkpoint):用以驗(yàn)證程序的運(yùn)行結(jié)果是否與預(yù)期結(jié)果相符。它并不是LoadRunner里專有的,在WinRunner和QTP中都有檢查點(diǎn)。對(duì)于自動(dòng)化測(cè)試來(lái)講,檢查點(diǎn)是一個(gè)很重要的概念。!提示:選取的檢查點(diǎn)必須滿足是驗(yàn)證事務(wù)通過(guò)與否的充分必要條件。它能夠確定系統(tǒng)是一個(gè)正常的狀態(tài)。檢查點(diǎn)可以是常量、變量、文本、圖像文件或是數(shù)據(jù)庫(kù)記錄等。LoadRunner基礎(chǔ)知識(shí)LoadRunner常用術(shù)語(yǔ)<基本概念>:場(chǎng)景(Scenario):即測(cè)試場(chǎng)景,主要表現(xiàn)為Controller中設(shè)計(jì)與執(zhí)行測(cè)試用例中的用戶場(chǎng)景。主要工作有,在Controller中選擇虛擬用戶腳本、設(shè)計(jì)虛擬用戶數(shù)量、配置虛擬用戶運(yùn)行時(shí)的行為、選擇負(fù)載發(fā)生器、設(shè)置執(zhí)行時(shí)間等。!提示:LoadRunner中的場(chǎng)景分為兩種:手工場(chǎng)景(ManualScenario)和面向目標(biāo)場(chǎng)景(Goal-OrientedScenario)。在面向目標(biāo)場(chǎng)景中,集合點(diǎn)是不可用的。LoadRunner基礎(chǔ)知識(shí)LoadRunner的協(xié)議:網(wǎng)上有很多資料去解釋協(xié)議選擇的重要性,說(shuō)的貌似很高深,其實(shí)原理很簡(jiǎn)單。LoadRunner就像一個(gè)木馬程序,他監(jiān)聽(tīng)著你與服務(wù)器端的全部“交談”并把它們記錄下來(lái)。而不同的應(yīng)用程序所采用的實(shí)現(xiàn)技術(shù)不一樣,就如同我們?nèi)艘粯樱煌胤降娜苏f(shuō)著不同的語(yǔ)言。這時(shí)我們就需要根據(jù)被測(cè)系統(tǒng)的特性來(lái)選擇協(xié)議,LoadRunner就會(huì)派出不同語(yǔ)種的“翻譯人員”去監(jiān)聽(tīng)你們之間的談話。如果選擇了錯(cuò)誤的協(xié)議LoadRunner將不能生成正確的腳本,就如同你派出一個(gè)只會(huì)中文的人去監(jiān)聽(tīng)美國(guó)人之間的談話一般,你將一無(wú)所獲。LoadRunner基礎(chǔ)知識(shí)LoadRunner所支持協(xié)議按應(yīng)用領(lǐng)域分類:電子商務(wù):FTP、LDAP、Palm、PeopleSoft8mulit-lingual、SOAP、Web(HTTP/HTML)和雙Web/WinSocket協(xié)議??蛻舳?服務(wù)器:DB2CLI、DNS、Informix、MSSQLServer、ODBC、Oracle(2層)、SybaseCtlib、SybaseDblib和WindowsSockets協(xié)議。自定義:C模板、VisualBasic模板、Java模板、Javascrīpt和VBscrīpt類型的腳本。EnterpriseJavaBean:EJB測(cè)試和Rmi-Java協(xié)議。布式組件:適用于COM/DCOM、Corba-Java和Rmi-Java協(xié)議。中間件:Jacada和Tuxedo(6、7)協(xié)議。流數(shù)據(jù):MediaPlayer(MMS)和Real協(xié)議。郵件服務(wù):Internet郵件訪問(wèn)協(xié)議(IMAP)、MSExchange(MAPI)、POP3和SMTP。ERP/CRM:Baan、OracleNCA、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、Siebel-DB2CLI、Siebel-MSSQL、Siebel-Web和Siebel-Oracle協(xié)議······LoadRunner基礎(chǔ)知識(shí)HTTP協(xié)議原理詳解:瀏覽器Web服務(wù)器DNS域名解析服務(wù)器請(qǐng)求web頁(yè)返回頁(yè)面請(qǐng)求頁(yè)中包含的圖片等元素返回元素瀏覽器解析成網(wǎng)頁(yè)當(dāng)用戶在瀏覽器的地址欄里輸入網(wǎng)頁(yè)的URL然后回車,瀏覽器首先會(huì)發(fā)送一個(gè)HTTP的命令到Server,Server就會(huì)把頁(yè)面的數(shù)據(jù)傳送給瀏覽器,瀏覽器把數(shù)據(jù)解析成我們看到的HTML頁(yè)面。但HTTP協(xié)議有一個(gè)特點(diǎn),它是無(wú)狀態(tài)的,也就是說(shuō)瀏覽器和Server的每個(gè)交互都是獨(dú)立無(wú)關(guān)的,Server不知道來(lái)自瀏覽器的任何兩個(gè)請(qǐng)求是否出自同一頁(yè)面,或者是有次序的規(guī)定。因此Web系統(tǒng)在HTTP協(xié)議上層進(jìn)行了控制,通過(guò)Cookie、Session等機(jī)制來(lái)保證請(qǐng)求的狀態(tài)。LoadRunner基礎(chǔ)知識(shí)HTTP協(xié)議原理詳解:當(dāng)用戶在瀏覽器的地址欄里輸入網(wǎng)頁(yè)的URL然后回車,瀏覽器首先會(huì)發(fā)送一個(gè)HTTP的命令到Server,Server就會(huì)把頁(yè)面的數(shù)據(jù)傳送給瀏覽器,瀏覽器把數(shù)據(jù)解析成我們看到的HTML頁(yè)面。但HTTP協(xié)議有一個(gè)特點(diǎn),它是無(wú)狀態(tài)的,也就是說(shuō)瀏覽器和Server的每個(gè)交互都是獨(dú)立無(wú)關(guān)的,Server不知道來(lái)自瀏覽器的任何兩個(gè)請(qǐng)求是否出自同一頁(yè)面,或者是有次序的規(guī)定。因此Web系統(tǒng)在HTTP協(xié)議上層進(jìn)行了控制,通過(guò)Cookie、Session等機(jī)制來(lái)保證請(qǐng)求的狀態(tài)。LoadRunner基礎(chǔ)知識(shí)以下是一個(gè)通過(guò)HTTPVuser錄制生成的腳本例子:web_add_cookie("g_current_language=en;DOMAIN=");web_add_cookie("hostSignOn=true;DOMAIN=");web_url(":5443","URL=:5443/","Resource=0","Snapshot=t1.inf","Mode=HTTP",LAST);……web_submit_data("getconfigs.do","Action=:5443/portlets/language/getconfigs.do","Method=POST","RecContentType=text/html","Referer=:5443/security/hostSignon.do?hostSignOn=true","Snapshot=t12.inf","Mode=HTTP",ITEMDATA,"Name=action","Value=signon",ENDITEM,"Name=servProvCode","Value=",ENDITEM,"Name=username","Value=",ENDITEM,"Name=password","Value=",ENDITEM,"Name=accela_select_language","Value=",ENDITEM,"Name=switchLanguageForV360","Value=false",ENDITEM,LAST);HTTP協(xié)議相關(guān)的函數(shù)以web開(kāi)頭添加Cookie設(shè)置這是LoadRunner錄制的典型HTTP請(qǐng)求請(qǐng)求一個(gè)web頁(yè)這個(gè)請(qǐng)求的名字Web頁(yè)的具體的URL該頁(yè)面在VU里的快照名提交表單HTTP的請(qǐng)求方法,POST方法可用于提交表單信息允許服務(wù)器生成回退鏈表,當(dāng)URL資源訪問(wèn)失敗瀏覽器所退回的頁(yè)面。表單中提交的具體內(nèi)容,即所有涉及的變量名及其參數(shù)值。LoadRunner基礎(chǔ)知識(shí)HTTP協(xié)議常用狀態(tài)碼的含義:200:OK

一切正常,對(duì)GET和POST請(qǐng)求的應(yīng)答文檔跟在后面。

201:Created

服務(wù)器已經(jīng)創(chuàng)建了文檔,Location頭給出了它的URL。

202:Accepted

已經(jīng)接受請(qǐng)求,但處理尚未完成。300:Multiple

Choices

客戶請(qǐng)求的文檔可以在多個(gè)位置找到,這些位置已經(jīng)在返回的文檔內(nèi)列出。如果服務(wù)器要提出優(yōu)先選擇,則應(yīng)該在Location應(yīng)答頭指明。

301:Moved

Permanently

客戶請(qǐng)求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應(yīng)該自動(dòng)地訪問(wèn)新的URL。

302:Found

類似于301,但新的URL應(yīng)該被視為臨時(shí)性的替代,而不是永久性的。400:Bad

Request

請(qǐng)求出現(xiàn)語(yǔ)法錯(cuò)誤。

401:Unauthorized

客戶試圖未經(jīng)授權(quán)訪問(wèn)受密碼保護(hù)的頁(yè)面。500:Internal

Server

Error

服務(wù)器遇到了意料不到的情況,不能完成客戶的請(qǐng)求。Vuser-用戶行為模擬器Vuser:通過(guò)錄制典型終端用戶執(zhí)行的操作來(lái)生成用戶操作腳本。以便作為負(fù)載測(cè)試的基礎(chǔ)。LoadRunner腳本開(kāi)發(fā)步驟:錄制用戶的操作增強(qiáng)測(cè)試腳本配置Run-Timesetting在Vuser中獨(dú)立運(yùn)行腳本將腳本集成到ControllerRecordabasicuseroperationEnhance/edittheVuserscriptConfigureRun-TimesettingsIncorporatethescriptintoScenarioRunthescriptinVuser選擇錄制時(shí)所用的瀏覽器Vuser-用戶行為模擬器錄制腳本1、協(xié)議選擇2、錄制選項(xiàng)設(shè)置(以web協(xié)議為例)錄制方式選擇:HTMLorURL自動(dòng)關(guān)聯(lián)策略…Vuser-用戶行為模擬器增強(qiáng)測(cè)試腳本:1、插入事務(wù)點(diǎn)2、插入集合點(diǎn)3、插入檢查點(diǎn)4、插入特殊函數(shù)控制腳本流程:if…else字符串函數(shù):strcmp輸出函數(shù):lr_output_messageLR的標(biāo)準(zhǔn)函數(shù):lr_save_stringVuser-用戶行為模擬器配置Run-Timesetting1、Thinktime策略2、Log記錄策略3、Error發(fā)生時(shí)的處理策略4、生成虛擬用戶的方式5、檢查點(diǎn)策略6、網(wǎng)絡(luò)情況設(shè)置7、腳本的迭代控制8、…Vuser-用戶行為模擬器在Vuser中運(yùn)行腳本:保證腳本運(yùn)行的正確性。然而要想腳本能夠真正的在測(cè)試場(chǎng)景中正確無(wú)誤的運(yùn)行,我們不僅僅需要將腳本放在Vuser中運(yùn)行,還需要在Controller中運(yùn)行。一般需要以下幾步:1、VU里單用戶單循環(huán)run(SUSI)2、VU里單用戶多循環(huán)run(SUMI)3、Controller里多用戶單循環(huán)run(MUSI)4、Controller里多用戶多循環(huán)run(MUMI)驗(yàn)證腳本的正確性驗(yàn)證數(shù)據(jù)池動(dòng)作的正確性驗(yàn)證腳并發(fā)的正確性驗(yàn)證數(shù)據(jù)池并發(fā)的正確性Controller-性能測(cè)試的指揮中心如果說(shuō)性能測(cè)試的總導(dǎo)演是性能測(cè)試工程師,那么Controller就是當(dāng)之無(wú)愧的執(zhí)行導(dǎo)演了。Controller首先把演員(虛擬用戶)都召集齊,然后把劇本交給它們(VU腳本),分配到各自的舞臺(tái)(LoadGenerator),一聲今下,演出開(kāi)始!!注意:當(dāng)Controller運(yùn)行場(chǎng)景任務(wù)時(shí),在任務(wù)管理器可以找到一個(gè)名為“l(fā)r_bridge”的進(jìn)程,顧名思義,它就是起到聯(lián)系Controller和Generator的橋梁作用,Controller的指令就是通過(guò)它來(lái)下達(dá)到LoadGenerator的。而LoadGenerator接到運(yùn)行指令后,會(huì)啟動(dòng)一個(gè)mdrv.exe,以多進(jìn)程/多線程方式調(diào)用運(yùn)行腳本文件。Controller-性能測(cè)試的指揮中心多進(jìn)程/多線程方式:用戶可以在Controller的runtimesetting中選擇Vuser的運(yùn)行方式:多線程/多進(jìn)程。如果按進(jìn)程運(yùn)行每個(gè)Vuser,LR則對(duì)每個(gè)Vuser生成一個(gè)實(shí)例,都將啟動(dòng)一個(gè)mdrv進(jìn)程。多個(gè)mdrv進(jìn)程會(huì)占用大量的內(nèi)在及其它資源,這就限制了在同一負(fù)載生成器上運(yùn)行的Vuser數(shù)量。如果按線程運(yùn)行,在默認(rèn)情況下,Controller為每50個(gè)Vuser僅啟動(dòng)一個(gè)mdrv進(jìn)程,這些線程Vuser將共享父進(jìn)程的內(nèi)存段。這就大大節(jié)省了內(nèi)存空間,從而在同一負(fù)載生存器上運(yùn)行更多的Vuser.!注意:只有線程安全協(xié)議才能作為線程運(yùn)行。需要注意的是下列協(xié)議不線程安全協(xié)議:Sybase-Ctlib、Sysbase-Dbib、Informix、Tuxedo和PeopleSoft-Tuxedo.Controller-性能測(cè)試的指揮中心設(shè)計(jì)性能測(cè)試場(chǎng)景:1、手工場(chǎng)景(ManualScenario):創(chuàng)建虛擬用戶組,設(shè)置虛擬用戶數(shù)目以及其它Run-time信息。2、面向目標(biāo)場(chǎng)景(Goal-OrientedScenario):先定義測(cè)試要達(dá)到的目標(biāo),然后LR自動(dòng)基于這些目標(biāo)創(chuàng)建場(chǎng)景,運(yùn)行過(guò)程中,會(huì)不斷地把結(jié)果和目標(biāo)相比較,以決定下一步怎么。手工場(chǎng)景是我們常用的設(shè)計(jì)模式,負(fù)載測(cè)試就常用它。手工場(chǎng)景符合我們的性能測(cè)試

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論