性能測試之場景設計_第1頁
性能測試之場景設計_第2頁
性能測試之場景設計_第3頁
性能測試之場景設計_第4頁
性能測試之場景設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

叮叮小文庫叮叮小文庫#性能測試之場景設計前言性能測試中的場景設計是實施性能測試的基礎,只有合理的設計測試場景才能獲得有價值的測試數據,為接下來的確認瓶頸、系統調優打下基礎。場景(Scenario)是一種用來模擬大量用戶操作的技術手段,通過配置和執行場景向服務器產生負載,驗證系統的各項性能指標是否達到用戶要求,而Controller可以幫助我們對場景的設計、執行以及監控進行管理。LoadrunnerController來管理和維護場景,可以在一臺工作站控制一個場景中的所有虛擬用戶(Vuser)。執行場景時,Controller會將該場景中的每個Vuser分配給一個負載生成器。負載生成器執行Vuser腳本,從而使Vuser可以模擬真實用戶操作的計算機。場景的分類人工場景(手動場景)所謂人工場景,實際就是自定義模式,各因素完全由我們來設置的創建場景的方法。相比面向目標場景,人工場景在實際工作中應用的更為廣泛。用賽車游戲來比喻,這種方法類似常規比賽,不同的汽車從同一起點出發,到同一終點結束,最終按照時間排出名次。面向目標場景面向目標場景則與人工場景有所不同,它預先定義了一個測試目標,LoadRunner將根據這個目標自動構建場景,有點類似向導模式。這種方法對于驗證在項目性能說明書中列出、需要達到的性能目標很方便。還是用賽車游戲來比喻,面向目標場景有點類似計時賽或者追逐賽,不同的汽車從同一起點出發,在規定的時間內,走的最遠者獲勝。在面向目標場景的“向導模式”中,設定了一個或者多個測試目標,比如要求系統達到每秒處理5個事務,LoadRunner再根據這些目標自動創建場景。目前,LoadRunner支持的測試目標有如下幾種:>虛擬用戶數量。>每秒點擊次數(只對WebVuser有效)>每秒事務數量>每分鐘訪問頁面數量(也僅對WebVuser有效)>事務響應時間場景設置描述㈠.新場景設置對話框

字段解釋:>SelectScenarioType(選擇場景類型):此選項區域列出了場景的兩種類型:①ManualScenario(手動場景或人工場景):手動場景設置我們可以設置不同的業務組用戶數量,同時編輯計劃指定相關的運行時刻,虛擬用戶加載策略等完成場景設計工作。在創建腳本的過程中若選擇了“UsethePercentageModetodistributetheVusersamongthescripts”選項,則可以指定虛擬用戶總體數量,而后針對每個業務組設置用戶數百分比的形式完成場景設置。未勾選UsethePercentageModetodistributetheVusersamongthescripts:勾選UsethePercentageModetodistributetheVusersamongthescripts:②Goal-OrientedScenario(面向目標場景):AllowLosdRunnerControllertocreateascenariobasedontheg口目總y口uspecif允許LoadRunner控制器根據具體的目標創建一個場景>Selectthescript]ycuwouldlikelou錨inwscenaric腳本選擇由于Web應用比較復雜,在實際工作中需要創建一系列的腳本,比如登陸腳本、訂票腳本、回復帖子腳本等。因此,可以通過選擇不同的腳本組合來模擬不同虛擬用戶的不同操作。AvailableScript(可用腳本):首先可以從此處選擇可用的腳本。ScriptsinScenario(場景中的腳本):選擇一個可用腳本后通過【Add】按鈕將其添加到此處。Remove(移除):在ScriptsinScenario 中選中一個在場景中的腳本,然后

單擊n0口0丫?】按鈕從ScriptsinScenario列表中移除。>Record(錄制):單擊小0。0區】按鈕可以錄制腳本,彈出腳本錄制界面:>史|HPVirtualUserGenerator■[StartPage]Browse>Record(錄制):單擊小0。0區】按鈕可以錄制腳本,彈出腳本錄制界面:>史|HPVirtualUserGenerator■[StartPage]QualityCenter...:連接服務器>㈡.手動設置場景FileViewToolsWindowHelp國▼*T號|量,?StartFiecordA■II翳|整I命制群j>圖的最下方,有兩個選項卡,分別是Design(設計)和Run(運行)。它們清楚地描述了手動場景的設置步驟就是:先設計,再執行。在此我們只討論場景的設計。左上方界面顯示ScenarioGroups為場景用戶組設置界面>.A:開始執行場景."?:場景中的虛擬用戶設置.睥:增加用戶組.??■:刪除用戶組. 今運行時設置,且詳細信息設置. 國查看腳本>右上方界面顯示ServiceLevelAgreement為服務協議界面>左下方界面顯示ScenarioSchedule為場景計劃界面①首先看此界面的主菜單設置:ScenarioSchedule>X―%INewScenario可以新建一個場景DeleteScenario刪除一個場景Savenewname保存更改的場景名StartTime場景開始時間包括:Withoutdelay(立刻執行)、Withadelayof(延時執行)可以設置具體時間之后再運行場景、At(定時執行)可以設置在何時(具體日期、小時)運行場景。②場景計劃主體包括:ScheduleName:123更改場景名Scheduleby:?ScheduleName:123更改場景名Scheduleby:?Scenario國口卬計劃按場景或用戶組場景方式中所有用戶組虛擬用戶增長方式一致,用學校活動來比喻,類似全校所有班級參加團體體操比賽。用戶組方式中各用戶組中的虛擬用戶增長方式可以不同,類似全校各班級自報節目的匯演。?RunMode: ?Real-worldscheduleBasicschedule運行方式選擇.真實情況計劃這種方式可以修改持續運行(Duration)與停止虛擬用戶(StopVuser)這兩種在啟動虛擬用戶之后發生的場景操作屬性,它相對第二種執行方式更接近真實情況。.按腳本設置運行直到結束,這種方式則無法設置用戶組啟動后的各操作屬性數值,腳本運行開始后,用戶組的屬性就維持不變了。以上三個為設置執行場景的總體規則以下為設置執行場景過程中各個分步操作的屬性GlobalSchedule>尸g??Total:20VusersActionPropertiesIniti;ilizrIniti;ilizer;±chyuserjustbeforeitrurtsVu^ersStart20Vuserz:2every00:00:15(HK:HH:SS)Em-atioilRunfor00:05:00FStopYuzsrEStopallVuzers:5airery00:00:30(HK:MH:SS)米>主菜單分別為“添加”、“編輯”、“刪除”、“上移”、“下移"Action>編輯Initialize初始化操作屬性:

包括:.InitializeallVuserssimultaneously(同時初始化所有的虛擬用戶).Initialize-Vusersevery(每隔一段時間初始化一定數目的虛擬用戶).InitializeeachVuserjustbeforeitruns(在運行之前初始化每一個虛擬用戶)包括:Start—Vusers:總共啟動多少個虛擬用戶然后選擇這些需要啟動的虛擬用戶的啟動方式:.Simultaneously:同時啟動包括:Start—Vusers:總共啟動多少個虛擬用戶然后選擇這些需要啟動的虛擬用戶的啟動方式:.Simultaneously:同時啟動.--VuserseveryHH:MM:SS:每隔一段時間加載一定數目的虛擬用戶>編輯Duration持續時間操作屬性包括:.Rununtilcompletion:場景持續運行直到完成. Runfor-dayandHH:MM:SS:場景運行指定的時間>編輯StopVusers停止虛擬用戶操作屬性包括:Stop—Vusers:總共停止多少個虛擬用戶然后選擇這些需要停止的虛擬用戶的停止方式:.Simultaneously:同時停止.--VuserseveryHH:MM:SS:每隔一段時間停止指定數目的虛擬用戶>右下方界面顯示InteractiveScheduleGraph為運行當前場景,達到場景目標所歷經的過程趨勢圖㈢.面向目標的場景設置SCOMPO(J44lSAfwEibLHVfilAyiggisilM_jhwmi->"!i'Zr-i'Kr--,giUiwid沁口|丁酒1Agar*|pKdE3_AiiiwmriAwdbhkolkrtQd-物SCOMPO(J44lSAfwEibLHVfilAyiggisilM_jhwmi->"!i'Zr-i'Kr--,giUiwid沁口|丁酒1Agar*|pKdE3_AiiiwmriAwdbhkolkrtQd-物mmtau'iuKuoamlJ匕5nm工£■第:■rxFB>>ij■川加于LR”1 W*-3.鄧giBl-li'EilJKl'>左上方界面顯示ScenarioScripts為當前場景中的腳本列表>右上方界面顯示ServiceLevelAgreement為服務協議界面>右下方界面顯示圖片區域為運行當前場景,達到場景目標所經歷的過程趨勢圖>左下方界面顯示ScenarioGoal為場景目標信息顯示和編輯(EditScenarioGoal)區域ScenarioGoalGoalProfileName:|HitsperSecond10CiGoalProfileName:|HitsperSecond10CiGoal:100.00HitsperSecondGoal:100.00HitsperSecondMinNumberofVusers:MaKNumberofVusers;150MaKNumberofVusers;150ScenarioDuration二LoadBehavior:ScenarioDuration二LoadBehavior:Reachtargethitspersecondusingautomatic:rampup旃EditScenarioGoal...由圖可知:系統默認選擇了場景目標為 每秒點擊次數100其他屬性為:.MinNumberofVusers:50最小虛擬用戶50.MaxNumberofVusers:150最大虛擬用戶150

.ScenarioDuration:30minafterthetargethasbeenachieved場景持續時間:目標完成后30min.LoadBehavior:Reachtargethitspersecondusingautomaticrampup性能負載:目標每秒點擊自動增加EditScenarioGoal編輯場景目標通EditScenarioQoal...I>GoalProfileName選擇不同的目標通EditScenarioQoal...I>GoalProfileName選擇不同的目標:GoalProfileName:HitsperSecond100DefineScenarioGoal修改場景目標具體數值:□elineScenaiioGoal_LReachgoalolGwlTiipe|HitspeiSecondpersecond_LReachgoalolGwlTiipe|HitspeiSecondpersecondandamaKrnumof|15OUusers包括:GoalType:目標類型Reachgoalof...hitspersecond:目標每秒點擊數Usingaminimumof…andamaximumof…Vuser:虛擬用戶的最小值和最大值ScenarioSetting場景設置RunTimeafterthetargethasbeerischieyedRunfor|000:30:00^afterthetargethasbeerischieyed此為達到目標后系統繼續運行時間

Iftargetcannotbereached「Stepscenariomndsaveresuhff*Continuescenariowithoutreachinggoal*Fl已cbMbnotificatior此為【如果目標無法達到,系統的處理方式:(Iftargetcannotbereached)】Stopscenarioandsaveresults停止場景并保存結果Continuescenariowithoutreachinggoal繼續運行場景、無須達到目標另外,還可以選中接受通知(Receivenotification)使得測試人員了解測試目標無法達到這一情況>LoadBehavior負載行為設置為達到當前目標而增加負載RampUpGAutomatic「Reachtargetnumberofhitspersecondafter| 日{Stepupby| 日hitspersecondeveiv|00:02:00Q負載增加的行為方式有3種:.Automatic自動:默認方式,無須設置.Reachtargetnumberofhitspersecondafter..時間間隔:這種方式可以設置當前場景在達到目標之前需要運行多長時間,以小時:分鐘:秒為單位。.Stepupby...hitspersecondevery…:漸進式:這種方式可以采取一種漸進增加的策略執行場景,比如上圖為每隔2分鐘增加20個虛擬用戶。其他的目標具體設置內容和數值有所不同。>Donotchangerecordedthinktime不修改錄制的思考時間Dqnotchangerecordedthinktime思考時間是用戶在Web應用各操作之間的時間。因此,在與事務相關的場景目標設置中,若維持每秒事務數量不變,如果選中了此項,則虛擬用戶數量要相應的增加。>面向目標的場景設置,同樣可以設置場景的啟動時間:

與手動場景設置一樣同樣包括:Withoutdelay(立刻執行)、Withadelayof(延時執行)可以設置具體時間之后再運行場景、At(定時執行)可以設置在何時(具體日期、小時)運行場景。㈣.控制器的全局設置前面了解的是創建手動場景和面向目標的場景的各種設置,這些設置都是針對具體的特定測試場景的,如果場景不同或者測試類型不同,數值一般不同。此處描述的控制器的全局設置則有些特殊,其中的數值對于該控制器下管理和實現的所有場景都有效。>打開控制器全局設置的方法:[Tools]Help騏QualityCenterConnection..,ScriptNameflights_t&st3Expert迎tod已CALoadRunnerSscnptsC:\LoadRunnBr\scriptsTools——Options打開如圖

>Timeout超時設置當網絡狀況不好、場景中機器較多時,可以修改窗體中各個微調框的數值(單位均為秒)以免LoadRunner返回錯誤。CijmrriTimeout〔w豈u口ndPEniLletimeoutchec-LoadGeneratorCc.rmn。+: |120目DiscorLTiecl|1工口VUE工nit|180-上Rim:|1201Fauae:|120 -.Stop:|120 -此為控制器與虛擬用戶初始化等活動的超時設置①可選框Enabletimeoutchecks為允許超時設置,如果禁用超時限制,LoadRunner將無限長地等待負載生成器進行連接和斷開連接,并等待其執行“初始化”、“運行”、“暫停”和“停止”命令。②LoadGenerator負載產生器:可以設置連接(Connect)和斷開連接(Disconnect)超時時間。連接超時可以輸入等待其他連接到任何負載生成器的時間限制。如果在指定的時間內連接不成功,負載生成器的狀態將變為“失敗”。斷開連接超時可以輸入等待從其他任何負載生成器斷開連接的時間限制。如果在指定的時間內斷開連接不成功,負載生成器的狀態將變為“失敗”。③還可以輸入Init、Run、Pause、Stop命令的最長時間限制Upiahe%2mi小期七小4 :?每4刷新虛擬用戶狀態一次。>Run-TimeSettings運行時設置

虛擬用戶配額(VuserQuote):要防止系統過載,可以為Vuser活動設置配額,用來設置負載生成器一次可以初始化的最大Vuser數。停止運行時虛擬用戶執行策略(WhenstoppingVusers):1.等待當前腳本迭代結束2.等待當前腳本操作結束3.立即結束Uesr:=LTLdci[Tizeiiuence*ithsi允許使用種子值來產生隨機順序。每個種子值代表一個用于測試執行的隨機值順序。只要使用同一個種子值,就會為場景中的Vuser分配相同順序的值。該設置將應用于使用Random方法從數據文件分配值的參數化Vuser腳本。>Run-TimeFileStorage運行時文件存儲位置可以設置腳本和結果存儲的位置:保存在本機保存在共享網路驅動盤(利于別人查看和分析)>PathTranslationTable路徑轉換表Mode:Rete J1ath:C:'\Lo erMatippath.mnti:.rLtf.ill口st>LirLtroil口、七h:)<上口tath>[<r巨m□七口e+>]e>[:inijile!wint:\ /horTie.i'1uzeri/goo uni工w111i:<w g:V ]:''i.xittlla'^uEfSE''i.-|shet wltl|7ConverttoUUC路徑轉換表是一種映射,將控制器上的文件路徑轉換為遠程主機上的文件路徑。這樣的設置對于網路中包含異類系統(比如既有Windows,也有Unix)是很有用的。

選擇“ConverttoUNC”復選框,指示LoadRunner忽略路徑轉換表并將所有路徑都轉換為通用命名約定格式。路徑翻譯表中的每一條記錄應該類似如下的語句:<Controllerhost><controllerpath><remotepath>[<remotehost>]>Monitors監視器監視器好像公路上的電子眼,用于隨時報告場景的各項信息,他可以按照規定的時間(也叫做數據采樣率,單位為秒)獲得服務器資源信息,并反映到控制器界面當中。Tr:=ltleacticmData審EriablhTr:irLEactiotlMuTlitJreqniency:NOTE:Ferthez

溫馨提示

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

最新文檔

評論

0/150

提交評論