




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件性能測(cè)試狹義的性能測(cè)試是指在給定條件基準(zhǔn)的前提下被測(cè)目標(biāo)系統(tǒng)能達(dá)到的運(yùn)行程度。測(cè)試被測(cè)目標(biāo)系統(tǒng)在給定環(huán)境下的運(yùn)行性能,度量其性能與預(yù)定義目標(biāo)的差距。。廣義的性能測(cè)試則是壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試、并發(fā)(用戶)測(cè)試、大數(shù)據(jù)量測(cè)試、配置測(cè)試、可靠性測(cè)試等和性能相關(guān)的測(cè)試統(tǒng)稱。軟件性能測(cè)試定義:在極限負(fù)載(大數(shù)據(jù)量、大量并發(fā)用戶等)情況下的測(cè)試,查看應(yīng)用系統(tǒng)在峰值使用情況下操作行為,以及當(dāng)負(fù)載降低后系統(tǒng)的狀態(tài),從而有效地發(fā)現(xiàn)系統(tǒng)的某項(xiàng)功能隱患、系統(tǒng)是否具有良好的容錯(cuò)能力和可恢復(fù)能力。分類:壓力測(cè)試分為高負(fù)載下的長(zhǎng)時(shí)間(如24小時(shí)以上)的穩(wěn)定性壓力測(cè)試和極限負(fù)載情況下導(dǎo)致系統(tǒng)崩潰的破壞性壓力測(cè)試。目的:發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,并通過對(duì)應(yīng)用程序施加越來越大的負(fù)載,直到發(fā)現(xiàn)應(yīng)用程序性能下降的拐點(diǎn)。幾種性能測(cè)試間的區(qū)別負(fù)載測(cè)試:載重20噸,汽車是否能以100公里時(shí)速行駛;或者載重20噸,汽車的最快速度是多少。壓力測(cè)試:在20噸、30噸、40噸……的情況下,汽車是否還能正常行駛,當(dāng)載重多少時(shí)汽車將無法行駛,當(dāng)汽車無法行駛后減少載重量,汽車是否還能繼續(xù)正常行駛。容量測(cè)試:如果要去汽車以時(shí)速100公里的速度行駛,最多可以載重多少噸。為什么要實(shí)現(xiàn)性能測(cè)試自動(dòng)化自動(dòng)化性能測(cè)試的核心是向預(yù)部署系統(tǒng)施加工作負(fù)載,同時(shí)評(píng)估系統(tǒng)性能和最終用戶體驗(yàn)。應(yīng)用程序?qū)δ繕?biāo)用戶的響應(yīng)是否足夠迅速?應(yīng)用程序是否能夠游刃有余地處理預(yù)期用戶負(fù)載?應(yīng)用程序是否能夠處理業(yè)務(wù)所需的事務(wù)數(shù)?在預(yù)期和非預(yù)期用戶負(fù)載下應(yīng)用程序是否穩(wěn)定?是否能夠確保用戶在使用此應(yīng)用程序時(shí)感到滿意?HPLoadRunner介紹
與負(fù)載測(cè)試設(shè)計(jì)LoadRunner工具使用工具簡(jiǎn)介工具方法論VuGen的使用Controller的使用Analysis的使用工具簡(jiǎn)介L(zhǎng)oadRunner產(chǎn)品包括五個(gè)核心組件:VirtualUserGenerator:虛擬用戶生成器,簡(jiǎn)稱VuGen,用來錄制被測(cè)目標(biāo)系統(tǒng)客戶端的操作,并自動(dòng)生成虛擬用戶腳本。Controller:控制器,它是整個(gè)負(fù)載測(cè)試的控制中心,用來管理、設(shè)計(jì)、驅(qū)動(dòng)及監(jiān)控負(fù)載測(cè)試場(chǎng)景的執(zhí)行以及被測(cè)目標(biāo)系統(tǒng)的資源使用情況。LoadGenerator:負(fù)載生成器,可以是壓力機(jī)操作系統(tǒng)中的一個(gè)進(jìn)程或線程,它執(zhí)行虛擬用戶腳本以模擬真實(shí)用戶的行為對(duì)被測(cè)目標(biāo)系統(tǒng)發(fā)出請(qǐng)求并接收響應(yīng),進(jìn)而模擬真實(shí)的負(fù)載。Analysis:分析器,它讀取控制器收集的測(cè)試過程數(shù)據(jù),分析負(fù)載測(cè)試的結(jié)果,進(jìn)一步生成測(cè)試報(bào)告。Launcher:加載器,負(fù)責(zé)提供一個(gè)集成的操作界面,從中測(cè)試人員可以啟動(dòng)LoadRunner的所有其他組件。
術(shù)語場(chǎng)景場(chǎng)景文件根據(jù)性能要求定義每次測(cè)試期間發(fā)生的事件。Vuser在場(chǎng)景中,LoadRunner用虛擬用戶(或稱Vuser)代替真實(shí)用戶。Vuser模仿真實(shí)用戶的操作來使用應(yīng)用系統(tǒng)。一個(gè)場(chǎng)景可以包含數(shù)十、數(shù)百乃至數(shù)千個(gè)Vuser。Vuser腳本Vuser腳本描述Vuser在場(chǎng)景中執(zhí)行的操作。由Init、Action、End三部分組成,其中在虛擬用戶設(shè)置中可以讓Action部分重復(fù)執(zhí)行多次,而Init和End部分僅能執(zhí)行1次。事務(wù)要評(píng)測(cè)服務(wù)器性能,需要定義事務(wù)。事務(wù)代表要評(píng)測(cè)的終端用戶業(yè)務(wù)流程。術(shù)語系統(tǒng)用戶數(shù)Nu:使用被測(cè)目標(biāo)系統(tǒng)的總?cè)藬?shù)在線用戶數(shù)Nou:高峰時(shí)同時(shí)訪問被測(cè)目標(biāo)系統(tǒng)在線人數(shù)并發(fā)用戶數(shù)Ncu:在同一時(shí)刻與服務(wù)器進(jìn)行了交互的在線用戶數(shù)三者存在如下關(guān)系: Nu
≥Nou
≥Ncu性能需求一個(gè)擁有4000員工的公司,需要開發(fā)一個(gè)僅供公司內(nèi)部員工使用的辦公自動(dòng)化系統(tǒng)(OA系統(tǒng)),最高峰時(shí)有500人同時(shí)在線。對(duì)于系統(tǒng)的典型用戶來說,一天之內(nèi)用戶使用訪問OA系統(tǒng)的平均時(shí)長(zhǎng)為4小時(shí),通常用戶僅會(huì)在8小時(shí)工作時(shí)間內(nèi)訪問該系統(tǒng)。那么,系統(tǒng)的并發(fā)用戶數(shù)是多少呢?給出了一個(gè)并發(fā)用戶數(shù)的推導(dǎo)公式:L為在線用戶的平均會(huì)話時(shí)長(zhǎng),T為考察時(shí)間長(zhǎng)度,為并發(fā)用戶數(shù)的峰值。
工具方法論測(cè)試計(jì)劃:測(cè)試前要規(guī)劃測(cè)試對(duì)象的性能需求,定義壓力指標(biāo);腳本編制:捕獲實(shí)際用戶的業(yè)務(wù)操作流程,形成自動(dòng)腳本;定義場(chǎng)景:設(shè)定所采用的負(fù)載方案、業(yè)務(wù)流程組合和虛擬用戶數(shù)量;執(zhí)行場(chǎng)景:設(shè)定壓力管理和執(zhí)行壓力場(chǎng)景,進(jìn)行性能參數(shù)的監(jiān)控;分析結(jié)果:使用分析器導(dǎo)出結(jié)果生成分析圖表;分析結(jié)果;診斷結(jié)論:給出診斷結(jié)論;調(diào)優(yōu):針對(duì)診斷結(jié)果進(jìn)行調(diào)優(yōu);生成Vuser的流程錄制業(yè)務(wù)流程修改強(qiáng)化腳本參數(shù)化關(guān)聯(lián)檢查點(diǎn)集合點(diǎn)事務(wù)化參數(shù)化參數(shù)化的作用
通過將一組待提交的數(shù)據(jù)進(jìn)行變量化來達(dá)到在腳本運(yùn)行時(shí)引入多樣數(shù)據(jù)的目的;關(guān)聯(lián)關(guān)聯(lián)的作用將執(zhí)行過程中從服務(wù)端獲取即時(shí)數(shù)據(jù)保存在某個(gè)變量中,在后續(xù)業(yè)務(wù)中進(jìn)行提交的機(jī)制檢查點(diǎn)檢查點(diǎn)的作用從業(yè)務(wù)過程的角度檢查用例結(jié)果是否正確;運(yùn)行正確的兩個(gè)層次:服務(wù)器響應(yīng)正確;業(yè)務(wù)處理正確;
HTTP狀態(tài)碼
服務(wù)響應(yīng)正確不等于業(yè)務(wù)處理正確集合點(diǎn)集合點(diǎn)的作用保證用戶的絕對(duì)并發(fā)執(zhí)行;在模擬多用戶對(duì)業(yè)務(wù)流程進(jìn)行操作時(shí),能夠模擬絕對(duì)的并發(fā)壓力;事務(wù)化事務(wù)化的作用LoadRunner中默認(rèn)一個(gè)action是一個(gè)事務(wù),統(tǒng)計(jì)事務(wù)處理時(shí)間是以整個(gè)action來統(tǒng)計(jì)。例如,腳本中包含用戶登錄、機(jī)票檢索、訂票、支付等活動(dòng),那么此時(shí)度量的結(jié)果是完成上述所有操作的總時(shí)間。如果希望知道虛擬用戶完成每個(gè)不同操作的時(shí)間,需要使用事務(wù)(Transaction)對(duì)上述操作進(jìn)行界定。通過創(chuàng)建事務(wù),可以將連續(xù)的業(yè)務(wù)過程進(jìn)行事務(wù)化分割,能夠明確統(tǒng)計(jì)每一步驟的處理性能。Controller的使用場(chǎng)景的設(shè)定運(yùn)行時(shí)設(shè)定監(jiān)控設(shè)定網(wǎng)絡(luò)模擬及IP欺騙場(chǎng)景設(shè)定Manual
Scenario(手工場(chǎng)景設(shè)置)手工設(shè)置壓力的分布和增長(zhǎng)、降低的策略,測(cè)試時(shí)工具根據(jù)設(shè)定的壓力分配各條腳本的訪問用戶數(shù)量分布,可以選擇根據(jù)百分比或直接設(shè)置絕對(duì)數(shù)量?jī)煞N;適用于對(duì)預(yù)計(jì)訪問壓力的性能評(píng)估需要。Goal-Oriented
Scenario(目標(biāo)場(chǎng)景設(shè)置)設(shè)定壓力運(yùn)行的性能目標(biāo),由工具自動(dòng)調(diào)整訪問壓力來嘗試達(dá)到;適用于對(duì)系統(tǒng)性能需求明確進(jìn)行驗(yàn)證需要。場(chǎng)景設(shè)定Scenario的設(shè)置
starttime convertscenario…… loadgenerators…… schedule enableipspooferResultsRendezvous運(yùn)行時(shí)設(shè)定Run
LogicPacingThink
TimesMiscellaneousSpeed
SimulationProxyPreferencesContentCheck監(jiān)控設(shè)定性能監(jiān)控transresponsetimetrans/sec(passed)網(wǎng)絡(luò)監(jiān)控
throughput服務(wù)器監(jiān)控
%processortime (Memory)availablebytes %disktime processorqueuelength專項(xiàng)監(jiān)控Analysis的使用導(dǎo)出結(jié)果讀取圖表組合圖表取樣間隔總結(jié)使用LoadRunner配合合理的方案,能夠?qū)ο到y(tǒng)進(jìn)行有效的性能測(cè)試;性能測(cè)試是一項(xiàng)團(tuán)隊(duì)合作的工作,需要各個(gè)技術(shù)角色的參與,從被測(cè)系統(tǒng)的開發(fā)人員到被測(cè)系統(tǒng)的軟硬件維護(hù)人員多方的配合;HTTP協(xié)議狀態(tài)碼的含義"100":Continue
"101":witchingProtocols
"200":OK
"201":Created
"202":Accepted
"203":Non-AuthoritativeInformation
"204":NoContent
"205":ResetContent
"206":PartialContent
"300":MultipleChoices
"301":MovedPermanently
"302":Found
"303":SeeOther
"304":NotModified
"305":UseProxy
"307":TemporaryRedirect
"400":BadRequest
"401":Unauthorized
"402":PaymentRequired"403":Forbidden"404":NotFound
"405":MethodNotAllowed
"406":NotAcceptable
"407":ProxyAuthenticationRequired
"408":RequestTime-out
"409":Conflict
"410":Gone
"411":LengthRequired
"412":PreconditionFailed
"413":RequestEntityTooLarge
"414":Request-URITooLarge
"415":UnsupportedMediaType
"416":Requestedrangenotsatisfiable
"417":ExpectationFailed
"500":InternalServerError
"501":NotImplemented
"502":BadGateway
"503":ServiceUnavailable
"504":GatewayTime-out
"505":HTTPVersionnotsupportedRun
Logic腳本塊由一組腳本組成的集合,腳本塊區(qū)別于腳本組在于工具的腳本組是固定的,而腳本塊使客戶自定添加的;腳本組可以含有腳本塊;腳本組腳本組是腳本或腳本塊的組合,工具有三類固有的腳本組:Init:Init腳本組在一個(gè)虛擬并發(fā)用戶的整個(gè)執(zhí)行周期內(nèi)只會(huì)運(yùn)行一次;所有該組的腳本或腳本塊都只會(huì)順序執(zhí)行一次;Run:Run腳本組在一個(gè)虛擬并發(fā)用戶的整個(gè)執(zhí)行周期內(nèi)可以運(yùn)行多次;End:同Init腳本組End腳本組在一個(gè)虛擬并發(fā)用戶的整個(gè)執(zhí)行周期內(nèi)只會(huì)運(yùn)行一次;IterationIteration特指的是Run腳本組的迭代;設(shè)置Iteration迭代次數(shù)時(shí),將影響整個(gè)Run腳本組的迭代次數(shù);當(dāng)Run腳本組需要內(nèi)迭代時(shí),則可以通過腳本塊來進(jìn)行內(nèi)循環(huán)的設(shè)置;Preferencesadvanced-〉Winlnet
replay
instead
of
Sockets(Windows
only)Socket和Winsocket,Socket是通用的TCP/IP的協(xié)議實(shí)現(xiàn),Winsocket是Socket在Windows下的針對(duì)windoWindowsws特性的封裝實(shí)現(xiàn),能發(fā)揮winWindowsdows的特性但通用性較不足;Winlnet是實(shí)現(xiàn)了Winsocket的動(dòng)態(tài)庫(kù);ContentCheck將系統(tǒng)的錯(cuò)誤封裝成便于識(shí)別和定位的日志記錄;檢索服務(wù)器返回的數(shù)據(jù)包是否含有目標(biāo)內(nèi)容,存在即說明錯(cuò)誤發(fā)生;通過LoadRunner進(jìn)行負(fù)載測(cè)試負(fù)載測(cè)試步驟準(zhǔn)備工作,在Jforum系統(tǒng)中注冊(cè)test01-test10共10個(gè)用戶錄制腳本,創(chuàng)建Vuser創(chuàng)建場(chǎng)景,運(yùn)行測(cè)試形成測(cè)試報(bào)告,分析結(jié)果創(chuàng)建Vuser創(chuàng)建用戶登錄和登出的Vuser腳本啟動(dòng)界面單擊創(chuàng)建/編輯腳本。這時(shí)將打開VuGen起始頁(yè)。創(chuàng)建Web腳本在歡迎使用VirtualUserGenerator區(qū)域中,單擊新建腳本按鈕。這時(shí)將打開“新建虛擬用戶”對(duì)話框,顯示“新建單協(xié)議腳本”選項(xiàng)。創(chuàng)建Web腳本請(qǐng)確保“類別”是熱門協(xié)議。VuGen將列出適用于單協(xié)議腳本的所有可用協(xié)議。向下滾動(dòng)列表,選擇Web(HTTP/HTML)并單擊創(chuàng)建,創(chuàng)建一個(gè)空白Web腳本。開始錄制單擊Next單擊StartRecording準(zhǔn)備開始錄制在URL中填入JForum論壇的鏈接地址,注意此處需要替換成虛擬機(jī)中論壇的IP地址http://0:8080/jforum/forums/list.page打開IE初始化Vuser,記錄生成的多個(gè)事件點(diǎn)擊“登入”連接登錄輸入之前已經(jīng)注冊(cè)的正確用戶名和密碼單擊“登錄”按鈕注銷單擊“注銷[test01]”連接。停止錄制單擊浮動(dòng)窗口上的“停止”按鈕出現(xiàn)錄制概要“錄制概要”包含協(xié)議信息以及會(huì)話期間創(chuàng)建的一系列操作。VuGen為錄制期間執(zhí)行的每個(gè)步驟生成一個(gè)快照,即錄制期間各窗口的圖片。保存腳本單擊工具欄保存按鈕,輸入需要保存的文件名,如login-logout。查看錄制的腳本單擊“Action”連接,查看剛剛錄制的Vuser腳本要在腳本視圖中查看腳本,請(qǐng)選擇視圖>腳本視圖,或者單擊腳本按鈕。查看錄制的腳本可以在該窗口中直接輸入C或LoadRunnerAPI函數(shù)以及控制流語句。回放錄制的腳本單擊Tasks中的VerifyReplay按鈕,回放已經(jīng)錄制的腳本回放成功后,出現(xiàn)右圖所示提示。此時(shí)僅能說明錄制腳本執(zhí)行正確。回放錄制的腳本若需要確保運(yùn)行邏輯正確,需要對(duì)比錄制和回放時(shí)快照的差別。VuGen為錄制期間執(zhí)行的每個(gè)步驟生成一個(gè)快照,即錄制期間各窗口的圖片。添加事務(wù)單擊Add
Transaction的鏈接單擊New
Transaction按鈕,先后添加login和logout兩個(gè)事務(wù)查看事務(wù)代碼單擊Script按鈕,切換到腳本視圖,可以查看到剛剛添加的事務(wù)參數(shù)化用戶登錄信息選擇視圖>樹視圖進(jìn)入樹視圖;或者單擊Tree按鈕進(jìn)入樹視圖。在測(cè)試樹中雙擊SubmitData:jforum.page步驟。將打開“提交數(shù)據(jù)步驟屬性”對(duì)話框。單擊“ABC”按鈕,在彈出的對(duì)話框中,在“參數(shù)名”輸入框中輸入“username”,單擊“Properties”按鈕。將常量值更改為變量值輸入文件名“userinfo.dat”單擊“CreateTable”按鈕在彈出的對(duì)話框中單擊“確定”按鈕將常量值更改為變量值通過“AddColumn”和“AddRow”按鈕,增加用戶名和密碼字段,錄入test01-test10十個(gè)用戶的信息在“Bynumber”輸入框中輸入1單擊“Close”按鈕以相同的方式將password參數(shù)化將常量值更改為變量值將常量值更改為變量值完成username和password兩個(gè)的參數(shù)化,單擊“確定”按鈕。將常量值更改為變量值切換到腳本視圖??梢圆榭吹絬sername和password被參數(shù)化將登出中的test01替換為{username},從而一起參數(shù)化保存對(duì)腳本的修改,完成Vuser腳本的制作。關(guān)閉Vugen。創(chuàng)建場(chǎng)景創(chuàng)建新場(chǎng)景打開Controller選擇“ManualScenario”選擇login_logout腳本,單擊“Add”按鈕單擊“OK”按鈕,將login_logout腳本加入到新場(chǎng)景中。設(shè)計(jì)場(chǎng)景給場(chǎng)景命名“l(fā)ogin-logout”設(shè)置“StartVusers”、“Duration”和“StopVusers”單擊“Run”按鈕,切換到運(yùn)行界面。增加LoadGenerator單擊“LoadGenerators”按鈕。在彈出對(duì)話框中單擊“Add”按鈕在彈出對(duì)話框中,Name輸入框中輸入“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 走出迷霧發(fā)言稿
- 團(tuán)員志愿服務(wù)發(fā)言稿
- 時(shí)間管理甘特圖課件
- 中班我會(huì)排序課件
- 二零二五年度高速鐵路變形縫安裝工程合同
- 二零二五年度虛擬現(xiàn)實(shí)技術(shù)應(yīng)用股權(quán)變更及出資合同
- 二零二五年度交通事故第三方調(diào)解賠償協(xié)議
- 2025版玻璃幕墻維修保養(yǎng)勞務(wù)分包合同模板
- 二零二五年度電梯土建施工第三方檢測(cè)合同
- 二零二五年度樓頂場(chǎng)地租賃合同范本規(guī)范版
- 怎么制作歷史教學(xué)課件
- 《通信技術(shù)基礎(chǔ)》技工全套教學(xué)課件
- 養(yǎng)老機(jī)構(gòu)經(jīng)營(yíng)與管理課件
- 良性位置性眩暈的護(hù)理查房
- 余華《活著》人物介紹
- 2023-2025北京初三二模物理匯編:力學(xué)計(jì)算題
- 康復(fù)家長(zhǎng)培訓(xùn)
- 教育數(shù)字化背景下虛擬仿真實(shí)訓(xùn)教學(xué)資源的建設(shè)與開放共享模式探索
- 地鐵工程質(zhì)量培訓(xùn)
- 斷舍離課件教學(xué)課件
- 云南博物館招聘筆試真題2024
評(píng)論
0/150
提交評(píng)論