筆記loadr課程1、性能測試等級劃分_第1頁
筆記loadr課程1、性能測試等級劃分_第2頁
筆記loadr課程1、性能測試等級劃分_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1、Loadrunner課程筆記整理1、性能測試等級劃分:外行:只會(huì)使用LR等基本性能測試工具入行:中高級:分析、資深:調(diào)優(yōu)、性能自動(dòng)化:性能2、性能指標(biāo):、容量(1) 并發(fā)量:在某同一時(shí)刻有多少用戶或者多少個(gè)請求來(2) 響應(yīng)時(shí)間:反映完成某個(gè)業(yè)務(wù)所需要的時(shí)間。系統(tǒng)的某一個(gè)功能舉例:從單擊登錄按鈕到登錄完成返回登錄頁面需要消耗1秒鐘,那么就是說這個(gè)操作的響應(yīng)時(shí)間是1秒。響應(yīng)時(shí)間由請求(3)吞吐量:反映時(shí)間、網(wǎng)絡(luò)傳輸時(shí)間和服務(wù)器處理時(shí)間 部分組成。時(shí)間內(nèi)能夠處理的事物數(shù)目,直接體現(xiàn)軟件系統(tǒng)的性能承載能力。舉例:對于系統(tǒng)來說一個(gè)用戶登錄需要1秒鐘,如果系統(tǒng)同時(shí)支持10個(gè)用戶登錄,且響應(yīng)時(shí)間是秒鐘,那

2、么系統(tǒng)的吞吐量就 是10個(gè)/秒。在性能測試工具中,吞吐量也被稱為TPS(Transaction Per Second,每秒事務(wù)數(shù))也就是說在計(jì)算一般是通過的事務(wù)數(shù)除以時(shí)間。另一概念,PRS(Request Per Second):每秒請求數(shù)時(shí)間內(nèi)能完成的事務(wù)數(shù)目。TPS的(4)服務(wù)器占用:反映在負(fù)載下系統(tǒng)的利用率。的占用率越低,說明系統(tǒng)越優(yōu)秀。有統(tǒng)計(jì),對于一個(gè)用戶來說,如果某系統(tǒng)的響應(yīng)時(shí)間小于2秒,那么用戶會(huì)感覺很快,比較滿意;如果某系統(tǒng)的響應(yīng)時(shí)間在2-5秒,可以接受,但是對速度有些不滿;如果響應(yīng)時(shí)間超過10秒,用戶將無法接受。服務(wù)器(網(wǎng)絡(luò)以及數(shù)據(jù)庫)的CPU利用率、內(nèi)存利用率、磁盤利用率、網(wǎng)

3、絡(luò)帶寬利用率等。除了上述,我們還應(yīng)該考慮數(shù)據(jù)庫連接池使用情況,JVM內(nèi)存使用情況,sql執(zhí)行效率等。3、做性能是要有并發(fā)參照物:響應(yīng)時(shí)間、工具和系統(tǒng);響應(yīng)時(shí)間與并發(fā)量是成對出現(xiàn)的,缺少任何一個(gè)都全,都會(huì)出現(xiàn)缺少參照物的情況4、http協(xié)議也就是通過瀏覽器前端加載的js或者jQuery數(shù)據(jù))5、性能測試分類:的響應(yīng)時(shí)間包括前端頁加載時(shí)間,但lr里不包括此部分時(shí)間(因?yàn)閘r中的都是數(shù)據(jù)包,不包含那些(1)負(fù)載測試(Load Testing):在一定的軟件、硬件以及網(wǎng)絡(luò)環(huán)境下,運(yùn)行一種或多種業(yè)務(wù),在不同虛擬用戶數(shù)量的情況下,測試服務(wù)器的性能指標(biāo)是否在用戶的要求范圍內(nèi),以此確定系統(tǒng)所能承載的最大用戶數(shù)

4、、最大有效用戶數(shù)以及不同用戶數(shù)下的系統(tǒng)響應(yīng)時(shí)間以及服務(wù)器的利用率。負(fù)載測試強(qiáng)調(diào)的是在一定環(huán)境下系統(tǒng)能夠達(dá)到的峰值指標(biāo)。(2)測試(Stress Testing):在一定的軟件、硬件以及網(wǎng)絡(luò)環(huán)境下,模擬大量的虛擬用戶向服務(wù)器產(chǎn)生負(fù)載,使服務(wù)器的處于極限狀態(tài)下并長時(shí)間連續(xù)運(yùn)行。(3) 容量測試(Volume Testing):在一定的軟件、硬件以及網(wǎng)絡(luò)環(huán)境下,在數(shù)據(jù)庫中構(gòu)造不同數(shù)量級別的數(shù)據(jù),運(yùn)行一種或者多種業(yè)務(wù)在一定虛擬用戶數(shù)量的情況下,獲取不同數(shù)量級別的服務(wù)器性能指標(biāo),以確定數(shù)據(jù)庫的最佳容量和最大容量。負(fù)載測試和容量測試的區(qū)別在于:負(fù)載測試同時(shí)關(guān)注how much和how fast;而容量測試

5、主要關(guān)系how much。(4) 配置測試(Configuration Testing):在一定的軟件、硬件以及網(wǎng)絡(luò)環(huán)境下,運(yùn)行一種或多種業(yè)務(wù),在一定的虛擬用戶數(shù)量情況下,獲得不同配置的性能指標(biāo),用于選擇最佳的設(shè)備以及參數(shù)配置。(5) 基準(zhǔn)測試(Benchmark Testing):在一定的軟件、硬件以及網(wǎng)絡(luò)環(huán)境下,模擬一定數(shù)量的虛擬用戶運(yùn)行一種或者多種業(yè)務(wù),將測試結(jié)果作為基線數(shù)據(jù),在系統(tǒng)調(diào)優(yōu)或系統(tǒng)評測的過程中,通過運(yùn)行相同的業(yè)務(wù)場景比較測試結(jié)果,確定調(diào)優(yōu)的結(jié)果是否達(dá)到預(yù)期效果或者為系統(tǒng)的選擇提供決策數(shù)據(jù)。(6)并發(fā)測試(Concurrency Testing):通過模擬多個(gè)用戶并發(fā)在死鎖、數(shù)

6、據(jù)錯(cuò)誤等故障。同一個(gè)應(yīng)用、過程或數(shù)據(jù)以及其他并發(fā)操作,測試是否存6、性能測試流程:2. LoadRunner簡介3. LoadRunner工具組成4.Virtual User Generator:簡稱VuGen,提供了基于錄制的可視化圖形開發(fā)環(huán)境,可以方便、簡潔地生成用于負(fù)載的性能。5.調(diào)度和系統(tǒng)Controller:負(fù)載對整個(gè)系統(tǒng)的過程進(jìn)行設(shè)置,制定負(fù)載的方式和周期,同時(shí)提供了系統(tǒng)監(jiān)測的功能;6.Load Generator:負(fù)責(zé)將VuGen成大量虛擬用戶對系統(tǒng)生成負(fù)載。7. 結(jié)果分析工具Analysis:對負(fù)載生成后的相關(guān)數(shù)據(jù)進(jìn)行整理分析。8. 性能測試原理9. 用戶行為模擬:不同用戶使用

7、不用的數(shù)據(jù)(LR通過“參數(shù)化”實(shí)現(xiàn));多用戶并發(fā)操作(LR通過“集合點(diǎn)”實(shí)現(xiàn));用戶請求間的依賴關(guān)系(LR通過“關(guān)聯(lián)”實(shí)現(xiàn)); 請求間的延時(shí)時(shí)間(LR通過“思考時(shí)間”實(shí)現(xiàn))。2. 性能指標(biāo)請求響應(yīng)時(shí)間服務(wù)器處理能力:(LR通過“事務(wù)”實(shí)現(xiàn));(LR通過“事務(wù)”計(jì)算吞吐量獲得)服務(wù)器利用率(LR提供全面簡潔的計(jì)數(shù)器接口)3. 性能調(diào)優(yōu):后期補(bǔ)充會(huì)學(xué)到的4. 介紹VuGen(1) VuGen僅能錄制Windows平臺(tái)上的會(huì)話。但是錄制的Vuser(2) Recording Options選項(xiàng)設(shè)置位置:tools->Recording Options;既可以在Windows平臺(tái)上運(yùn)行,也可以在

8、UNIX平臺(tái)上運(yùn)行。General-Recording頁:選擇哪種錄制方式HTML-based scriptURL-based scriptAdvanced頁:可以設(shè)置錄制時(shí)的think time,支持的字符集標(biāo)準(zhǔn)等Correlation4. 創(chuàng)建測試操作步驟:頁:手工設(shè)置關(guān)聯(lián)1. 啟動(dòng)VuGen:選擇需要新建的協(xié)議,可以創(chuàng)建單協(xié)議,或是多協(xié)議;2. 點(diǎn)擊Start Record按鈕,輸入程序地址,開始進(jìn)入錄制;3. 使用VuGen進(jìn)行錄制:創(chuàng)建的每個(gè)Vuser都至少包含 部分:vuser init、一個(gè)或多個(gè)actions及vuser end。錄制期間,可以選擇中VuGen要已錄制函數(shù)的部分

9、。運(yùn)行多次迭代的Vuser時(shí),只有的Actions部分重復(fù),而vuser init和vuser end部分將不重復(fù)。4. 完善測試事務(wù)A.事務(wù)為衡量服務(wù)器的性能,需要定義事務(wù)。LR運(yùn)行到該事務(wù)的開始點(diǎn)時(shí),LR就會(huì)開始計(jì)時(shí),直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn),這個(gè)事務(wù)的運(yùn)行時(shí)間在結(jié)果中會(huì)有反映。選擇性能測試工具設(shè)計(jì)性能測試分析系統(tǒng)性能調(diào)優(yōu)制定性能測試 標(biāo)事務(wù)操作可以在錄制過程中進(jìn)行,也可以在錄制結(jié)束后進(jìn)行。LR運(yùn)行在中不限數(shù)量的事務(wù)。在菜單中點(diǎn)擊Insert->Start Transaction 后,輸入事務(wù)名稱,也可在錄制過程中進(jìn)行,在需要定義事務(wù)的操作后面事務(wù)的“結(jié)束點(diǎn)”。默認(rèn)情況下,事務(wù)的名稱

10、列出最近的一個(gè)事務(wù)名稱。一般情況下,事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認(rèn)情況下是LR AUTO。一般情況下,我們也不需要修改狀態(tài)的。B.集合點(diǎn)(Rendezvous)集合點(diǎn)是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況。在測試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000人同時(shí)提交數(shù)據(jù),在LR中可以通過在提交數(shù)據(jù)操作前面加入集合點(diǎn),當(dāng)虛擬用戶運(yùn)行到提 交數(shù)據(jù)的集合點(diǎn)時(shí),LR就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),從而達(dá)到測試計(jì)劃中的需求。具體得的操作方法如下:在需要集合點(diǎn)的前面,點(diǎn)擊菜單Insert->Rendezvous,也可在錄制時(shí)安集合點(diǎn)按鈕。注意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來使用。集合點(diǎn)只能C.模擬用

11、戶思考時(shí)間到Action部分,vuser init和vuser end中不能集合點(diǎn)。用戶在執(zhí)行兩個(gè)連續(xù)操作期間等待的時(shí)間稱為“思考時(shí)間”。Vuser使用lr think time函數(shù)模擬用戶思考時(shí)間。錄制Vuser時(shí),VuGen將錄制實(shí)際的思考時(shí)間并將相應(yīng)的lr think time語句到Vuser。可以編輯已錄制的lr think time語句,也可在中手動(dòng)添加lr think time語句。以秒為指定所需的思考時(shí)間。D.參數(shù)化輸入a 參數(shù)的類型介紹數(shù)據(jù)文件:文件(現(xiàn)有文件或者用VuGen或MS Query創(chuàng)建的文件)中包含的數(shù)據(jù)分配內(nèi)部數(shù)據(jù):Vuser內(nèi)部生成的數(shù)據(jù)。這包括日期/時(shí)間、組名

12、、迭代編號、負(fù)載用戶定義的函數(shù):使用外部DLL函數(shù)生成的數(shù)據(jù)。b 參數(shù)化設(shè)置屬性界面名、隨機(jī)編號、唯一編號和Vuser IDc 參數(shù)屬性設(shè)置定義選取列:表示指定選取哪一列的值定義“列分隔符“:用來分隔表格中的列的字符選取下一個(gè)值的方式:表示在Vuser執(zhí)行期間如何選擇表格數(shù)據(jù)。選項(xiàng)包括:順序、隨機(jī)和唯一。從”更新值的時(shí)間“列表中選擇更新選項(xiàng)。選項(xiàng)包括”每次迭代“、”每次出現(xiàn)“和“一次“。d 從現(xiàn)有數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)通過lr,可以從數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)以用于參數(shù)化。可通過以下方法導(dǎo)入數(shù)據(jù):一是新建;二是指定SQL語句VuGen提供一個(gè)指導(dǎo)您完成從數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)的過程的向?qū)АT谠撓驅(qū)е校梢灾付ㄈ绾?/p>

13、導(dǎo)入數(shù)據(jù);導(dǎo)入數(shù)據(jù)之后,它被另存為一個(gè)擴(kuò)展名為.dat的文件,并且Text/Imag檢查點(diǎn)為常規(guī)參數(shù)文件。E.在進(jìn)行比較大的測試時(shí),為了檢查web服務(wù)器返回的網(wǎng)頁是否正確,這些檢查點(diǎn)驗(yàn)證網(wǎng)頁上是否存在指定的Text或者Image,還可以測試在測試環(huán)境中,被測的功能是否保持正確。操作步驟:a 可以將視圖切換到TreeView視圖;b 在樹形菜單中選中需要(Insert After);檢查點(diǎn)的一項(xiàng),然后點(diǎn)擊鼠標(biāo)右鍵,選擇將檢查點(diǎn)插到該操作執(zhí)行前(Insert Before)還是執(zhí)行后c 在彈出框中選擇web checks 下面的Image Check或者Text Checkd 對需要檢查點(diǎn)設(shè)置相關(guān)

14、的屬性F.關(guān)聯(lián)語句定義:就是把中某些寫死的數(shù)據(jù),轉(zhuǎn)變成是截取自服務(wù)器所送的、動(dòng)態(tài)的、每次都不一樣的數(shù)據(jù)。簡單的說,就是每一次執(zhí)行都會(huì)變動(dòng)的值,就有可能需要做關(guān)聯(lián)。VuGen提供兩種方式幫助找出需要做關(guān)聯(lián)的值:自動(dòng)關(guān)聯(lián)、手動(dòng)關(guān)聯(lián)關(guān)聯(lián)函數(shù):web reg save param:最常用來做關(guān)聯(lián)的函數(shù)。 a 自動(dòng)關(guān)聯(lián)b 手動(dòng)關(guān)聯(lián)首先,錄制二份業(yè)務(wù)過程與數(shù)據(jù)其次,使用winDiff工具比較兩份的數(shù)據(jù)最后,使用web reg save param函數(shù)手動(dòng)建立關(guān)聯(lián)。G.Run-time Setting選項(xiàng)Run Logic:用來設(shè)置Action部分重復(fù)運(yùn)行幾次Pacing:用來設(shè)置以怎樣式開始下一次反復(fù)Lo

15、g:設(shè)置是否啟用日志Think Time:關(guān)于中think time的設(shè)置Miscellaneous:配置其他運(yùn)行時(shí)設(shè)置Speed Simulation:用來模擬網(wǎng)速Browser Emualation:設(shè)置瀏覽器屬性 Proxy:設(shè)置試1. 單機(jī)運(yùn)經(jīng)過以上的各個(gè)步驟后,點(diǎn)擊Run按鈕,即可運(yùn)行;VuGen會(huì)先編譯行。,檢查是否有語法錯(cuò)誤。如果有錯(cuò)誤,VuGen將會(huì)提示錯(cuò)誤。雙擊錯(cuò)誤提示VuGen能夠到出現(xiàn)錯(cuò)誤的那一為了驗(yàn)證的正確性,我們還可以調(diào)試,比如在中加斷點(diǎn)等。如果編譯通過,就會(huì)開始運(yùn)行。然后會(huì)出現(xiàn)運(yùn)行結(jié)果,運(yùn)行結(jié)束后自動(dòng)彈出一個(gè)結(jié)果窗口。1. Controller:可以使用Contro

16、ller來管理和維護(hù)方案。LR使您可以從一個(gè)單一的2. Controller窗體介紹3. 創(chuàng)建運(yùn)行場景點(diǎn)簡單有效地所有的Vuser。計(jì)劃方案:按方案計(jì)劃:定義整個(gè)方案的設(shè)置。”加壓“選項(xiàng)卡,”持續(xù)時(shí)間“選項(xiàng)卡、”減壓“選項(xiàng)卡。按組計(jì)劃:定義各個(gè)組的設(shè)置。從左側(cè)的框中,選擇要計(jì)劃的Vuser組。”開始時(shí)間“選項(xiàng)卡、”加壓”選項(xiàng)卡、“持續(xù)時(shí)間”選項(xiàng) 卡、“減壓”選項(xiàng)卡。注:Vuser組設(shè)置不適用于百分比模式。1. 創(chuàng)建手動(dòng)方案2. 創(chuàng)建面向目標(biāo)的方案&Controller設(shè)置:單場景下,一般加壓時(shí)間為15分鐘,如果選擇慢就壓的方式,如果在最開始的時(shí)候,首先設(shè)置一個(gè)用戶來跑數(shù)據(jù):目的是跑基準(zhǔn)

17、數(shù)據(jù);沒有好,那么很可能得到不符合條件的值;配置如上,并且跑2分鐘。然后好時(shí)間。注:測試的時(shí)候除了跑一下需求是否滿足,也要把最大值測試出來lr的場景:單場景(同一個(gè))、混合場景、穩(wěn)定性場景單場景:一定要做全,目的是測試單個(gè)接口或者這一類的接口是否滿足性能要求,是否能發(fā)現(xiàn)性能瓶頸混合場景:一個(gè)場景中包含多個(gè)請求。目的是為了測試多場景一塊壓測的時(shí)候是否會(huì)發(fā)生線程死鎖和數(shù)據(jù)庫死鎖混合場景有讀混合(登錄,帖子,回帖),寫混合(、發(fā)帖,回帖,刪帖,編輯帖子)和讀寫混合(所有的都叫) 穩(wěn)定性場景:就是增加時(shí)間。目的是測試項(xiàng)目長時(shí)間運(yùn)行下,是否會(huì)出現(xiàn)內(nèi)存泄露的情況,然后再看其穩(wěn)定性。注:以上的東西都要看日志

18、Generator常見報(bào)錯(cuò):1、一旦出現(xiàn)了超時(shí),就改timeout的120秒超時(shí)時(shí)間的配置是不可取的; 正確的解決方法是:應(yīng)該去超時(shí)的,而不是去改120秒的超時(shí);2、連不上服務(wù)器,如500和302等等;此時(shí)需要看看的頁面是否有問題了然后在具體:某事務(wù)響應(yīng)時(shí)間為2秒的最大并發(fā)數(shù),主要看LAST。如果標(biāo)準(zhǔn)方差太小,就看平均值。:用這個(gè)去看最大TPS支持?jǐn)?shù)如果TransResponseTime中的std(標(biāo)準(zhǔn)方差)不是很大的話,那么就不看last了,就取平均的響應(yīng)時(shí)間,做最終的響應(yīng)時(shí)間;如果std很大(5或者8以上)的話,那么就取analysis中的這個(gè)來看;TPS得到的方法:當(dāng)每次加并發(fā)數(shù)的時(shí)候,

19、如果曲線每次都一點(diǎn)點(diǎn)往上漲,那么就一直加用戶,然后看曲線平穩(wěn)時(shí)的數(shù)據(jù) 如果曲線有下降趨勢,那么就是拐點(diǎn)出現(xiàn)了如果想測試200個(gè)用戶的響應(yīng)時(shí)間:Vuser設(shè)置為200,然后run15分鐘,然后看響應(yīng)時(shí)間 一般在做性能測試時(shí)可能需要測試的東西:測試并發(fā)、測試響應(yīng)時(shí)間、測試tps,其中測試并發(fā)和測試響應(yīng)時(shí)間需要成對出現(xiàn),如200個(gè)并發(fā)在響應(yīng)時(shí)間為2秒下是否符合需求一般是258原則,2秒是合理,5秒是勉強(qiáng)能接受,8秒完全無法接受;目前一些接口的響應(yīng)時(shí)間一般都是毫秒級的;如搜狗輸入法的一些接口就是100毫秒集合點(diǎn)的使用:如果覺得并發(fā)量不大,可以加集合點(diǎn);或者如果覺得必須加那就加;加集合點(diǎn)的時(shí)候一定會(huì)出現(xiàn)

20、響應(yīng)時(shí)間加大的情況,如果覺得報(bào)告不好看,那么就去掉集合點(diǎn);如果是秒殺的話,那么就加集合點(diǎn)吧當(dāng)tps的曲線突然下降了的:vuser太大了(這個(gè)是主因),數(shù)據(jù)庫了,環(huán)境了,等等等(其他的都是外因)一般情況下壓測環(huán)境是的,是不可以讓其他人動(dòng)的,這樣才能在的環(huán)境內(nèi)沒有外界的干擾;一個(gè)action中有一個(gè)請求或者兩個(gè)請求的區(qū)別:1、如果很理想的話,那就前期把準(zhǔn)備工作都做完,最后集中對一個(gè)請求測試,如回帖和發(fā)帖中測試回帖,那么我們可以把發(fā)帖都搞完, 然后最后單壓回帖;2、如果很懶得話,那么就把發(fā)帖和回帖放在一個(gè)action中,一個(gè)中是單事務(wù)還是多事務(wù),對響應(yīng)時(shí)間沒有影響,唯一區(qū)別就是在并發(fā)用戶數(shù)相同的情況

21、下,時(shí)間內(nèi)哪種事務(wù)數(shù)會(huì)多一點(diǎn)。然后可能會(huì)影響下tps的數(shù)據(jù),這種情況可以通過提高Vuser的并發(fā)數(shù)來解決。場景一般跑15分鐘,windows的組件:perfmon.exeperformance monitorLinux工具:spotlight Nmon的書的P2221、lr頁面時(shí)響應(yīng)時(shí)間不包含前端頁面的加載時(shí)間;2、jmeter和lr接受返回結(jié)果,接受整個(gè)結(jié)果包,apacheAB等兩款工具,只會(huì)建立3次握手, 么的會(huì)比lr的快。=1、并發(fā)和并發(fā)數(shù)返回?cái)?shù)據(jù)的結(jié)果,所以他的響應(yīng)時(shí)間什并發(fā):在某一同時(shí)刻有多少用戶或者多少個(gè)請求來系統(tǒng)的某一個(gè)功能;并發(fā)分為廣義并發(fā)和狹義并發(fā);并發(fā)數(shù)(并發(fā)用戶數(shù)):并發(fā)

22、是指在某一個(gè)給定時(shí)間內(nèi),某個(gè)特定點(diǎn)上進(jìn)行會(huì)話操作的用戶數(shù);(分為用戶和系統(tǒng))LR對外提供多少個(gè)并發(fā),指的就是多少個(gè)VU,是多少個(gè)人 2、http 協(xié)議重點(diǎn)掌握webservice 要掌握J(rèn)DBC 數(shù)據(jù)庫協(xié)議 - jmeter學(xué)習(xí)Java接口 - jmeter學(xué)習(xí)Sockets協(xié)議 - 額外的作業(yè)3、HTML和URL recording的區(qū)別4、錄制htp協(xié)議時(shí),選在錄入level為WinlNet level data 5、運(yùn)行l(wèi)r:F5:run allF10:單步調(diào)試6、事務(wù)的添加要對稱,比如說start叫,那么end也要叫7、檢查點(diǎn):請求是不是返回了正確的返回結(jié)果函數(shù):web reg fin

23、d()進(jìn)入insert-new step函數(shù)是預(yù)的,所以檢查點(diǎn)要方便被檢查的函數(shù)前面; 為了系統(tǒng)的測試性能,盡量少用檢查點(diǎn);對于insert update delete等寫操作,不建議加入檢查點(diǎn),這種寫操作最好在數(shù)據(jù)庫里面去看。對于select操作,需要加入檢查點(diǎn) ,檢查點(diǎn)必須是后一定能返回的唯一的標(biāo)示。8、做性能測試要保證事務(wù)的率,行業(yè)中的標(biāo)準(zhǔn)是率為99.99%LR中Contorllor中的pass數(shù)并不代表真正的率,只能說明請求過去了,但是不代表請求了,這種就要查數(shù)據(jù)庫了!9、參數(shù)化:適用于場景:1)唯一字段或者用完了以后再不能使用了,這樣的就需要參數(shù)化。2)數(shù)據(jù)庫有緩存,為了避免一直數(shù)據(jù)

24、庫的緩存,所以要加入?yún)?shù)化避免去緩存。避免緩存這種有兩種方式:一是參數(shù)化,使每次請求不同;二是關(guān)閉數(shù)據(jù)庫緩沖池功能。市面上SB的想法:為了真實(shí)的模擬用戶的用戶行為(面試時(shí)先說這個(gè)吧然后在寫的理解)10、為了防止多個(gè)用戶之間取相同的值,就會(huì)用到參數(shù)化-取值選擇unique、習(xí)題:100個(gè)用戶并發(fā),每個(gè)用戶1秒鐘能處理10個(gè)請求,服務(wù)器的tps=50,運(yùn)行10分鐘,問題測試參數(shù)化文件有多少個(gè)? 60秒*10分鐘=600s600*50=30000 因此是3W個(gè)值 給每個(gè)用戶分配30000/100個(gè)用戶=300個(gè)值,所以準(zhǔn)備數(shù)據(jù)時(shí)要造大于3W個(gè)值注:因?yàn)榉?wù)器的tps=50,所以無論多少個(gè)用戶并發(fā),服

25、務(wù)器的最大處理數(shù)據(jù)就是每秒50個(gè),所以不要在乘以100個(gè)并發(fā)用戶了若服務(wù)器的tps無限大,那么參數(shù)化文件的數(shù)據(jù)就準(zhǔn)備60秒*10分鐘*10個(gè)參數(shù)*100個(gè)用戶=60W個(gè),因此給每個(gè)用戶分配6000個(gè)參數(shù)關(guān)聯(lián):將服務(wù)器返回給我們的動(dòng)態(tài)變化的值保存稱為一個(gè)參數(shù),以供后面用到這個(gè)值得地方來使用 1、什么值需要關(guān)聯(lián):和數(shù)據(jù)庫打交道的,session和cookie,數(shù)據(jù)與數(shù)據(jù)之間存在關(guān)聯(lián)關(guān)系,并且需要用到這種關(guān)聯(lián)關(guān)系生成的數(shù)據(jù),后面有其他操作需要用到這個(gè)數(shù)據(jù)(只要是數(shù)據(jù)庫的insert的操作,后面如果需要調(diào)取這個(gè)insert語句中的id信息,那么這個(gè)信息的主鍵id就需要關(guān)聯(lián))2、關(guān)聯(lián)函數(shù)放置在哪里:哪一

26、步請求執(zhí)行完之后,需要哪一步他返回給我們的值,就把這個(gè)值放在這一步之前3、左右邊界怎么確定&關(guān)聯(lián)1、為什么要關(guān)聯(lián):有些數(shù)據(jù)如果不關(guān)聯(lián)就過不去,會(huì)報(bào)錯(cuò)2、什么樣的值需要關(guān)聯(lián):動(dòng)態(tài)的且后面需要用到的值;方法:首先session和hash必須要參數(shù)化,其次url中有些參數(shù)需要關(guān)聯(lián),可以通過業(yè)務(wù)去想一下參數(shù)里的東西要有敏感性,像輸入的東西只要參數(shù)化3、關(guān)聯(lián)函數(shù)放在哪里:永遠(yuǎn)放在第一次有這個(gè)關(guān)聯(lián)數(shù)據(jù)的請求前面關(guān)聯(lián)設(shè)置快捷方式:在response中找到需要關(guān)聯(lián)的函數(shù),然后右鍵選擇create parameter,然后就會(huì)添加一個(gè)關(guān)聯(lián),需要注意的是如果關(guān)聯(lián)的左右邊界是中文,會(huì)出現(xiàn)亂碼,此時(shí)只要將亂碼

27、手動(dòng)改成中文即可。關(guān)聯(lián)定義:找到服務(wù)器動(dòng)態(tài)變化的值,把它保存成一個(gè)參數(shù),以供后面需要的地方來使用ctrl+h:快捷鍵,替換4、什么時(shí)候需要進(jìn)行關(guān)聯(lián):(1)和數(shù)據(jù)庫關(guān)聯(lián)的東西需要關(guān)聯(lián):a、前面一條數(shù)據(jù),后面需要對這條數(shù)據(jù)進(jìn)行使用:update和deleteb、數(shù)據(jù)與數(shù)據(jù)之間有關(guān)聯(lián)關(guān)系:insert 用到了外鍵的類型c、返回給我們的信息,后面需要使用,就需要關(guān)聯(lián):select(2)應(yīng)用程序需要對傳入的參數(shù)進(jìn)行校驗(yàn):比如usersession面試如如果有人問:回放不正確。我們首先要考慮的是關(guān)聯(lián)或者就是數(shù)據(jù)重復(fù)了,應(yīng)該不唯一注:面試時(shí)參數(shù)化和關(guān)聯(lián)會(huì)經(jīng)常被問到你做過哪些類型的接口測試:比如說http(90%)、webservice(socp)、api、java、json,socket,jdbc等等等需要掌握的:http javauser jdbc webservice api socket5、手動(dòng)關(guān)聯(lián)怎么寫tps上不去:把思考時(shí)間去掉、服務(wù)器tps到了極限lr默認(rèn)50個(gè)用戶為一個(gè)進(jìn)程在做手動(dòng)關(guān)聯(lián)時(shí),取邊界值的時(shí)候,會(huì)經(jīng)常用到轉(zhuǎn)義字符,現(xiàn)將轉(zhuǎn)義字符整理如下:b 退格f 換頁n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論