




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
LoadRunner性能測試培訓質量管理部竇志剛性能測試基礎知識性能測試常用術語LoadRunner組件-VirtualUserGeneratorLoadRunner組件-ControllerLoadRunner組件-Analysis基本調優目標什么是性能測試通過狹義的性能測試模擬生產運行的業務壓力或者用戶使用場景來測試系統的性能是否滿足生產性能的要求。廣義的性能測試指壓力測試、負載測試、強度測試、并發測試、大數據量測試、可靠性測試等和性能相關的測試統稱。性能測試基礎知識壓力測試對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或不能接收用戶請求的性能點,來獲得系統提供的最大服務級別的測試。目的:是發現在什么條件下系統的性能變得不可接受,并通過對應用程序施加越來越多的負載,直到發現應用程序性能下降的拐點。負載測試對系統不斷增加壓力或增加一定壓力下的持續時間,直到系統的一些性能指標達到極限,例如響應時間超過預定目標或某種資源以及達到飽和。區別壓力測試側重壓力大小,負載測試往往強調壓力持續的時間。性能測試基礎知識強度測試強度測試主要是檢查程序對異常情況的抵抗能力,如運行最大存儲空間,進行可能導致系統崩潰、磁盤數據抖動、網卡滿負荷等。主要是異常條件下驗證系統是否穩定以及性能方面是否容易擴展。疲勞強度測試疲勞強度測試是一類特殊的強度測試,主要測試系統長時間運行后的性能表現,如一般常見的7X24小時的壓力測試。性能測試基礎知識并發測試主要指當測試多用戶并發訪問同一個應用、模塊、數據時是否產生隱藏的并發問題,如內存泄漏、線程鎖、資源爭用問題,幾乎所有的性能測試都會涉及并發測試。通用說明:持續掛載一定數量用戶不斷開。LoadRunner進行并發測試相對較少,一般使用測試儀很普遍。大數據量測試一般是針對某些系統存儲、傳輸、統計查詢等業務進行大數據量的測試。如CA系統上千萬條的數據測試。性能測試基礎知識可靠性測試在給系統加載一定業務壓力的情況下,使系統運行一段時間,檢測系統是否穩定。如施加壓力讓CPU資源保持在90%以上的使用率,連續對系統加壓24個小時,分析系統是否穩定。性能測試基礎知識性能指標并發嚴格意義上的并發:即所有的用戶在同一時刻做同一件事情或者操作,一般是同一類型的業務廣義的并發:即所有的用戶對系統發出了請求或進行了操作,這些請求或者操作可以是相同的,也可以是不同的。LoadRunner壓測并發的弱點:
一個IP只能支持65535個連接(理論上),因此需要壓測百萬級別的并發,必須很多IP地址支持才能實現。性能測試基礎知識性能測試基礎知識防火墻并發測試標準:ConcurrentconnectionsHost和DUT之間同時連接的總數,并假設所有連接上都有數據傳輸。即同時可以掛載的用戶數量。請求響應時間請求響應時間是指從客戶端發出請求到得到響應的整個過程的時間。從客戶端發送一個請求開始計時,到客戶端接到從服務器端返回的響應接口計時結束。另外一些工具中,會被稱為“TTLB”,“Timetolastbyte”。從發送一個請求開始,到客戶端收到最好一個字節的響應為止所耗費的時間。事務響應時間(TransactionResponseTime)事務可能是一系列的請求組成,事務的響應時間主要是針對用戶而言,是為了向用戶說明業務響應時間而提出的。性能測試基礎知識CPS(ConnectionPerSecond)新建測試的主要目的是測試被測設備的處理能力。單位時間內能夠建立的連接數越多,說明被測試設備的處理器能力越強。一般只關心建立TCP連接的速率,因此使用RST方式關閉連接。吞吐率(Throughput)單位時間內網絡上傳輸的數據量,是衡量網絡性能的重要指標。Loadrunner記錄的Throughput是接收到服務器返回的所有字節數之和,與本地發出的字節數無關!和網絡帶寬的關系:TPS*返回數據包的大小=Throughput<帶寬吞吐量網絡上傳輸的數量量的總和。吞吐量/傳輸時間,即吞吐率。性能測試基礎知識TPS(TransactionPerSecond)每秒鐘系統能夠處理的交易或者事務的數量。是衡量系統處理能力的重要指標。一般而言,評價系統性能均以每秒完成的技術交易的數量來衡量系統整體處理能力取決于處理能力最低模塊的TPS值HPS點擊率每秒鐘用戶向Web服務器提交的HTTP請求數。是Web應用特有的一個指標:Web應用是“請求-響應”模式,用戶發出一次申請,服務器就處理一次。HPS一般與TPS成正比關系,是B/S系統中非常重要的性能指標之一性能測試基礎知識資源利用率監控不同系統資源的使用程度,如服務器的CPU、磁盤利用率、內存、網絡等。是測試和分析瓶頸的主要參數。性能測試基礎知識場景(Scenario)在LoadRunner中主要表現為Controller中設計與執行測試用例中的用戶場景。如在controller中選擇虛擬用戶腳本,設置虛擬用戶數量,配置虛擬用戶運行時的行為,選擇負載發生器,設置執行時間等。負載發生器(LoadGenerator)用于產生壓力的真實機器,受controller控制,可以使用戶腳本在不同的機器上執行。性能測試中,通常由一個controller控制多個LoadGenerator對測試系統進行加壓。虛擬用戶(Vuser)模擬現實中的真實用戶,通過虛擬用戶腳本模擬真實用戶的行為。LoadRunner常用術語虛擬用戶腳本VuserScript通過VuserGenerator錄制或者開發的腳本,用來模擬用戶的行為。事務(Transaction)業務上通常是用戶的一個或者一系列操作,代表一定的功能;測試人員可以將一個或者多個操作步驟定義為一個事務,來衡量這部分的用戶并發響應時間。思考時間(ThinkTime)用戶思考時間,為了模擬更接近用戶的真實行為而引進的概念。LoadRunner常用術語集合點(Rendezvous)LoadRunner通過集合點實現真正意義上的并發。添加在比較重要的操作動作之前;LoadRunner常用術語LoadRunner工作原理錄制啟動應用程序并將業務流程錄制到腳本中。VuGen為錄制的每個操作創建一個步驟。完成錄制后,VuGen生成腳本序列,從而形成Vuser腳本。驗證將腳本作為單獨的測試運行,以此驗證其功能并找出潛在的問題。增強向腳本中添加增強功能,使它能夠更準確的模擬業務流程,并使能夠獲得重要數據。添加事務,內容檢查和參數。準備進行負載測試LoadRunner-VuserGenerator常用協議(Infosec常用協議)Web(HTTP/HTML)JavaVuserWebServicesWindowssocketsWeb協議(NSAE/CA/NetSign/NetPass/Bisafe)JavaVuser(NetSign/NetPass/CA)WebServices(RA)Windowssockets(NetSign/NSAESM2算法)VuserGenerator-錄制Web協議錄制HTML-basedscript
基于瀏覽器的應用程序和VBScriptURL-basedscript
不是基于瀏覽器的應用程序
基于瀏覽器的應用程序包含了javascript,并且該腳本向服務器發送了請求,如DataGrid分頁按鈕
基于瀏覽器的應用程序使用了HTTPS安全協議如果使用HTML-basedscript模式錄制完成后,回放失敗。建議修改為URL-basedscript模式來錄制。VuserGenerator-錄制Web協議HTML-basedscript和URL-basedscript區別HTML-basedscript產生的腳本描述和用戶的操作一致,能夠非常直觀的看到用戶的操作流程。直接創建的URL(web_url),表單提交(web_submit_form),鏈接(web_link)和圖像(web_image)等函數URL-basedscript產生的腳本,所有的鏈接、圖像請求和URL操作都被錄制為web_url函數中,表單提交被錄制為web_submit_data函數。VuserGenerator-錄制Web協議VuserGenerator-錄制Web協議腳本錄制的基本原則充分考慮腳本的執行效率性能測試腳本關注的是如何模擬用戶的真實行為,應該接近用戶的真正操作。錄制完成后盡量不要增加過多的內容,如檢查點、循環等操作錄制重要的用戶業務建議錄制常用的、使用頻率較高的業務進行錄制選擇需要的進行錄制如果一些操作對用戶關注的業務沒有影響,可以不進行錄制。VuserGenerator-錄制Web協議Infosec腳本錄制應用測試:完全模擬用戶的各個重要的操作進行系統測試;Infosec產品測試:避開用戶的各種繁瑣操作,假設用戶沒有思考時間,所有操作都是連續性的,這樣才能對被測服務器產生最大的性能壓力。如證書下載流程:產品測試的腳本盡可能融合到一個頁面中,避免頻繁錄入提交的操作;如證書下載流程:用戶注冊-申請證書-下載證書內部測試中,建議將所有的流程放在一個JSP頁面中進行處理,這樣會對被測設備產生最大壓力,能夠最大化的發現產品存在的問題。VuserGenerator-錄制Web協議JavaVuser根據測試流程,直接進行Java接口的調用,編寫測試腳本LoadRunner對Java版本的支持,需要根據實際情況進行確認。如果版本不正確,編譯過程會體現相關的錯誤信息。可以指定JVM堆棧大小從目前的使用情況來看,不是很適合進行穩定性測試。適用產品:NetSign、NetPass、NetCert;有JavaAPI的都可以支持。VuserGenerator-錄制Java協議JavaVuser調用問題可以和腳本放在同一個目錄;但只有當前的虛擬用戶腳本可以調用;放在LR調用的JDKlib目錄下,所有用戶腳本都可以調用;多臺agent同時調用javavuser時建議使用這種方式多臺計算機聯機測試,所有運行測試腳本的客戶機必須安裝JDK環境并正確設置路徑。VuserGenerator-錄制Java協議VuserGenerator-錄制Java協議VuserGenerator-錄制Java協議Java腳本轉換web腳本使用Java協議腳本可以輕松轉變為web協議腳本,將java腳本中的內容按照Java語法變成JSP頁面,并部署在WAS中即可。VuserGenerator-錄制Java協議WebServices基于WSDL文件的錄制(宏遠證券項目測試)VuserGenerator-錄制WebServicesWindows
Sockets(直接發送數據)對于windowssocket協議進行通信的C/S結構的應用程序,可以使用windowssockets類型的Vuser來錄制之間的通信。Windowssockets是非常底層的協議,適用于錄制一些低級通信會話。
lrs_create_socket(“socket1”,“TCP”,“RemoteHost=46:10001”,LrsLastArg);//建立連接lrs_send(“socket1”,“buf0”,LrsLastArg);//發送數據lrs_receive(“socket1”,“buf1”,LrsLastArg);//接收數據lrs_close_socket(“socket1”);//關閉連接;WSRData21
sendbuf010
"00100312303456"
recvbuf1128
VuserGenerator-錄制windowsSocketWindowsSocket(調用DLL)適用范圍:一類是不適合錄制其功能點的業務系統的性能測試;另外一類是基于C++語言開發的業務系統的性能測試。特點是調用動態庫容易,難點是DLL中的動作開發實現。VuserGenerator-錄制windowsSocketVuserGenerator-錄制windowsSocket腳本編寫Vuser_init:
初始化調用部分,一般為創建連接,加載DLL庫等;如: lrs_create_socket(“socke<socket>”,“TCP”,“RemoteHost=97:9000”,LrsLastArg);//建立連接 lr_load_dll("C:\\cert\\sm2v11\\dll\\libeay32.dll");//LoadDLL lr_load_dll("C:\\cert\\sm2v11\\dll\\ssleay32.dll");Action:發送接收數據,對數據進行判斷等;調用DLL中的動作函數,進行操作; lrs_send("socke<socket>","buf0",LrsLastArg); lrs_receive("socke<socket>","buf1",LrsLastArg); num=runconnect_doublecert(0,0,150000);//函數調用Vuser_end:關閉連接,是否DLL等VuserGenerator-錄制windowsSocketVuserGenerator-腳本模式WebVuserGenerator-腳本模式Java協議VuserGenerator-腳本模式Socket參數化參數化是LR的一大特色,通過參數化功能實現了用戶行為的差異化。參數化實際是用參數替換一些常量。當腳本運行時,Vuser將使用指定數據源中的值來替換參數。參數的數據源可以是一個文件,也可以是內部生成的變量,可以是數據庫中的查詢結果。優點:減少腳本的大小和數量虛擬用戶腳本更接近真實的用戶行為VuserGenerator-腳本增強-參數化參數類型Date/Time:時間類型的參數GroupName:使用虛擬用戶所在的組名稱代替參數LoadGeneratorName:使用虛擬用戶所在的LoadGenerator機器名來替換IterationNumber:使用該測試腳本當前循環的次數來生成參數。RandomNumber:隨機數。可以設置產生隨機數的范圍。UniqueNumber:唯一的數。在屬性中可以設置第一個數以及遞增的數的大小。遞增含義:假如起始數為1,遞增為5,那么第一個用戶第一次循環取值為1,第二次循環取值為2;第二個用戶第一次循環取值為6,第二次為7;VuserGenerator-腳本增強-參數化參數類型VuserID:使用虛擬用戶的ID來代替參數值,該ID是由Controller來控制的。Vuser中,VuserID為1。File:可以從屬性文件中設置編輯文件,添加內容,也可以從數據庫中提取數據。UserDefinedFunction:從開發的dll中獲取數據。VuserGenerator-腳本增強-參數化File類型VuserGenerator-腳本增強-參數化File類型-如何獲取每行數據Sequential:按照順序一行行的讀取,每次當Vuser訪問數據表時都返回到下一個可用的數據行。如果表中沒有足夠的值,返回到表的第一個值,一直循環到測試結束。強調虛擬用戶的一致性,每個虛擬用戶運行到該點時取值一致。Random:每次Vuser訪問數據表時都分配一個隨機值。Unique:唯一的值。為每個Vuser的參數分配一個唯一的值;Unique強調用戶的差異性,即每個用戶取到的參數值不一致。Samelineasxxxx:如果一個腳本中定義了多個參數,其中某些參數應該是對應的,如Seed和SN;用戶名和密碼等;VuserGenerator-腳本增強-參數化File類型-何時訪問數據表更新參數Updatevalueon定義了何時訪問數據表更新參數值。VuserGenerator-腳本增強-參數化File類型-何時訪問數據表更新參數Eachiteration:每次迭代時訪問數據表獲得下一個值。在一次迭代中一個參數可能會出現多次。如用戶名、密碼出現兩次,如果希望這兩次的參數取一樣的值,就選擇此項。用戶名和密碼兩個參數只在不同的迭代之間進行參數的更新,在同一次迭代中取同一個值。Eachoccurrence:該參數的每次出現都需要更新值。即一次迭代中參數如果多次出現將會取不同的值。Once:在一個Vuser中同一個參數取同一個值。VuserGenerator-腳本增強-參數化集合點(Rendezvous)集合點可以控制各個vuser以便在同一時刻執行任務。借助集合點,可以在LoadRunner中實現真正意義上的完全一樣的并發。使用集合點,可以在系統上模擬較重的用戶負載。當某個Vuser達到該集合點時,Controller會將其保留,直到參與該集合的全部Vuser都到達。當滿足條件時,Controller將釋放Vuser,這樣可以產生非常密集的同一類用戶操作或請求。如下,在驗證口令時增加集合點,提供最密集的同時驗證操作。VuserGenerator-腳本增強-集合點檢查點檢查Web服務器返回的網頁結果是否正確。VuGen支持在腳本中插入Text/Imag檢查點。Web_find:主要針對HTML頁面顯示的內容進行搜索。有時候在頁面顯示正確的情況下也無法搜索到判斷信息。(屬于丟棄的方法)Web_reg_find
針對HTML源文件進行搜索。VuserGenerator-腳本增強-檢查點Web_reg_find用法web_reg_find("Text=ABC","SaveCount=abc_count",LAST);web_url("Step","URL=...",LAST);if(strcmp(lr_eval_string("{abc_count}"),"0")==0)ActionAelseActionB特點:該函數必須寫在要查找的內容請求之前,一般情況下都會寫在如下六個函數之前:Web_custom_request(),web_image(),web_link(),web_submit_data(),web_submit_form(),web_url().VuserGenerator-腳本增強-檢查點web_find()和web_reg_find()的區別:這兩個函數函數類型不同,web_find()是普通函數,web_reg_find()是注冊函數;2.VUruntime設置中的“enableimageandtextcheck”對web_find有效,而對web_reg_find無效。
3.web_find()只能只用在基于HTML模式錄制的腳本中,而web_reg_find()沒有此限制;4.web_find()是在返回的頁面中進行內容查找,web_reg_find()是在緩存中進行查找、web_find()在執行效率上不如web_reg_find(),web_reg_find先注冊的優勢是腳本能夠一邊接收Server的數據緩沖,一邊進行查找,提高了查找的效率5.web_reg_find的參數與web_find并不完全一樣,其中有個參數叫做SaveCount,它能夠記錄查找匹配的次數。而web_find的機制是一旦查找匹配成功,就立即返回,并不繼續查找和記錄匹配次數。
6.用web_reg_find的優先級要遠遠高于web_find(),所以web_find()已經屬于向后兼容的功能,不再推薦使用;Web_find和Web_reg_find區別關聯將一條語句的結果當作另一條語句的輸入來鏈接語句;把腳本中某些寫死的數據,轉變成是擷取自服務器所送的、動態的、每次都不一樣的數據。通常使用web_reg_save_para函數進行關聯,也是從頁面源文件查找需要的字符串。VuserGenerator-腳本增強-關聯如頁面源碼部分:<trbgcolor=#66cccc><th>Flight<th>Departuretime<th>Cost<trbgcolor=#66CCff><tdalign=center><inputtype=radioname=outboundFlightvalue=230;378;11/20/2003checked>BlueSkyAir230<tdalign=center>8am<tdalign=center>$378<trbgcolor=#eeeeee><tdalign=center><inputtype=radioname=outboundFlightvalue=231;337;11/20/2003>BlueSkyAir231<tdalign=center>1pm<tdalign=center>$337VuserGenerator-腳本增強-關聯VuserGenerator-腳本增強-關聯/*Thisweb_reg_save_paramcallappliestothefollowingactionfunction:web_submit_form.*/
web_reg_save_param("outFlightVal",
"LB=outboundFlightvalue=","RB=checked>",LAST);
web_submit_form("reservations.pl",
"Snapshot=t4.inf",
ITEMDATA,
…….
LAST);//NowusethesavedoutFlightVal
web_submit_form("reservations.pl_2",
"Snapshot=t5.inf",
ITEMDATA,
"Name=outboundFlight","Value={outFlightVal}",ENDITEM,
"Name=reserveFlights.x","Value=92",ENDITEM,
"Name=reserveFlights.y","Value=10",ENDITEM,
LAST);ParameterSubstitution:parameter"outFlightVal"="230;378;11/20/2003"*/Lr_save_string
將非空的字符串保存到指定的參數中。如將字符串“777”保存到emp_id變量中。VuserGenerator-常用函數lr_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO 5840-3:2021/Amd 1:2025 EN Cardiovascular implants - Cardiac valve prostheses - Part 3: Heart valve substitutes implanted by transcatheter techniques - Amendment 1
- 【正版授權】 IEC TR 61597:1995 FR-D Overhead electrical conductors - Calculation methods for stranded bare conductors
- 【正版授權】 IEC 60364-4-41:2005 EN-D Low-voltage electrical installations - Part 4-41: Protection for safety - Protection against electric shock
- 2025年部門工作方案演講稿
- 護理新生兒評估與處理
- 2025年新員工入職培訓方案
- 單位食堂2025年度工作方案
- 高中班主任工作方案2025年
- 2025年度工作方案書
- 酒業知識培訓課件
- 2025-2030全球及中國軍事無線電系統行業市場現狀供需分析及市場深度研究發展前景及規劃可行性分析研究報告
- 2025年中國光纖放大器行業競爭格局及市場發展潛力預測報告
- 護理禮儀中的稱呼禮儀
- 校長在高考動員大會上講話:高考不是獨木橋人生處處有航道
- 觀賞魚國際貿易的可持續發展策略
- 2025年浙江紡織服裝職業技術學院單招職業適應性測試題庫新版
- 2024年河北省普通高中學業水平選擇性考試物理試題含答案
- 新版《醫療器械經營質量管理規范》(2024)培訓試題及答案
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 最新mywife系列全部姓名資料
- 暖通設備公司噴粉前處理涂裝生產線投標文件技術文件
評論
0/150
提交評論