手動關(guān)聯(lián)的步驟如下:
1.錄制二份腳本,確保流程與數(shù)據(jù)保證一樣
2.找出兩份腳本中服務(wù)器返回的不同值,確認她的左右邊界
3.確定腳本中有差異的地方是否需要關(guān)聯(lián)
4.確定關(guān)聯(lián)函數(shù)的插入位置
5.使用web_reg_save_param函數(shù)手動建立關(guān)聯(lián)
6.參數(shù)化要關(guān)聯(lián)的動態(tài)值,然后在腳本中完成替換。
什么是關(guān)聯(lián)呢,關(guān)聯(lián)是loadrunner的精髓。?所謂的關(guān)聯(lián)就是把腳本中某些寫死的數(shù)據(jù),轉(zhuǎn)變成是摘自服務(wù)器所送的、動態(tài)的、每次都不一樣的數(shù)據(jù)。
性能測試怎么做的,性能測試流程
1.做性能需求分析,挑選了用戶使用最頻繁的功能來做性能測試,比如:登陸,搜索,提交訂單,確定性能指標(biāo)(比如:事務(wù)通過率為100%,90%的事務(wù)響應(yīng)時間不超過5秒,并發(fā)用戶為1000人,CPU和內(nèi)存的使用率為70%以下)
2.性能測試計劃,明確測試時間(通常在功能穩(wěn)定后,如第一輪測試后進行)和測試環(huán)境和測試工具的選擇
3.編寫性能測試用例
4.搭建性能測試環(huán)境,準(zhǔn)備好性能測試數(shù)據(jù)
5.通過性能測試用例,編寫性能測試腳本
6.性能測試腳本進行調(diào)優(yōu),設(shè)置檢查點、參數(shù)化、關(guān)聯(lián)、集合點、思考時間,調(diào)整思考時間,刪除冗余的腳本等
7.設(shè)計性能測試場景,使用nmon工具監(jiān)控服務(wù)器,運行測試場景
8.分析性能測試結(jié)果,如果有問題,收集相關(guān)的日志和圖片提單給開發(fā)修改
9.開發(fā)修改好后,回歸性能測試
10.編寫性能測試報告
如何確定系統(tǒng)能夠承載的最大用戶數(shù)??參考答案:通過負載測試,不斷增加用戶數(shù),隨著用戶數(shù)的增加,各項性能指標(biāo)也會相應(yīng)產(chǎn)生變化,當(dāng)出現(xiàn)了性能拐點,比如,當(dāng)用戶數(shù)達到某個數(shù)量級時,響應(yīng)時間突然增長,那么這個拐點處對應(yīng)的用戶數(shù)就是系統(tǒng)能承載的最大用戶數(shù)。
你們系統(tǒng)哪些地方(哪些功能)做了性能測試?參考答案:我們選用了用戶使用最頻繁的功能來做性能測試,比如:登陸,搜索,提交訂單。
你們的并發(fā)用戶數(shù)是怎么確定的??參考答案:這種電商(面向互聯(lián)網(wǎng)用戶)的系統(tǒng),我們是會先上線一段時間,根據(jù)收集到的用戶訪問數(shù)據(jù)進行預(yù)估的。
你們性能測試在哪里做的??參考答案:我們會搭建一套獨立的性能測試環(huán)境進行測試。
你們性能測試什么時間做??參考答案:功能測試之后,系統(tǒng)比較穩(wěn)定的時候再做。
怎樣分析性能測試結(jié)果??參考答案: 思路:首先查看結(jié)果概況,了解大概情況,查看有沒有大面積失敗的事務(wù),有沒有大量Error的數(shù),虛擬用戶數(shù)有沒有正常加載,點擊率和HTTP響應(yīng)曲率是否一致,如果都正常,表明測試結(jié)果可信,可以繼續(xù)分析其他性能指標(biāo);反之,測試結(jié)果不可信,要分析異常的原因,修改后重新測試。
響應(yīng)時間不達標(biāo)怎么定位問題?分析思路:添加“網(wǎng)頁細分圖”,選中要細分的事務(wù),選擇”第一次緩沖時間”,查看事務(wù)所消耗的時間主要在網(wǎng)絡(luò)傳輸還是服務(wù)器,如果是網(wǎng)絡(luò),就結(jié)合Throughput(網(wǎng)絡(luò)吞吐量)圖,計算帶寬是否存在瓶頸,如果存在瓶頸,就要考慮增加帶寬,或?qū)?shù)據(jù)的傳輸進行壓縮處理;如果不存在瓶頸,那么,可能是網(wǎng)路不穩(wěn)定導(dǎo)致。如果主要時間是消耗在服務(wù)器上,就要分別查看web服務(wù)器和數(shù)據(jù)庫服務(wù)器的CPU,內(nèi)存的使用率是否過高,因為過高的CPU,內(nèi)存必定會造成響應(yīng)時間過長,如果是web服務(wù)器的問題,就把web服務(wù)器對應(yīng)上對應(yīng)的用戶操作日志取下來,發(fā)給開發(fā)定位;如果是數(shù)據(jù)庫的問題,就把數(shù)據(jù)庫服務(wù)器對應(yīng)上對應(yīng)的日志取下來,發(fā)給開發(fā)定位。
--------- 遇到下面這些問題,都可以說:把服務(wù)器對應(yīng)的日志取下來發(fā)給開發(fā)定位 問題二:web服務(wù)器CPU超過性能測試指標(biāo) 分析思路:就把web服務(wù)器對應(yīng)上對應(yīng)的用戶操作日志取下來,發(fā)給開發(fā)定位。
問題三:數(shù)據(jù)庫CPU超過性能測試指標(biāo) 分析思路:把數(shù)據(jù)庫服務(wù)器對應(yīng)上對應(yīng)的日志取下來,發(fā)給開發(fā)定位。
問題四:內(nèi)存泄漏 分析思路:把內(nèi)存的heap數(shù)據(jù)取下來,在用MAT工具分析是哪個對象消耗內(nèi)存最多,然后發(fā)給開發(fā)定位。
問題五:程序在單用戶場景下運行成功,多用戶運行則失敗,提示連不上服務(wù)器。 原因:程序沒有做多線程處理。
問題六:程序?qū)崿F(xiàn)的功能是,隨機給用戶分配不同的任務(wù),單用戶運行時,能成功分配;多用戶并發(fā)申請任務(wù)時,所有用戶得到的任務(wù)都是一樣的。 原因:程序存在線程同步的問題。
如果性能測試腳本出現(xiàn)錯誤,會從哪些方面分析呢??參考答案:通過檢查回放日志,定位出錯的位置,然后做響應(yīng)的修改?;胤拍_本時腳本出錯,一般有兩種原因,第一、語法出錯,比如,不小心多打了個符合;第二、關(guān)聯(lián)的左右邊界沒設(shè)置對,導(dǎo)致關(guān)聯(lián)失??;如果在運行場景的時候,提示腳本出錯,一般就是參數(shù)化列表最后一行沒有回車,或者,回車大于一個,或者,參數(shù)值不夠用。
如何判斷系統(tǒng)的性能是變好了還是變壞了?參考答案:做回歸測試時,看系統(tǒng)的TPS是不是增加了。
你們的性能測試需求哪里來的??參考答案:我們的需求文檔上有的,不過有時候不太合理,我們可能需要和BA進行討論。比如,我之前做了一個公司內(nèi)部用的OA系統(tǒng)的性能測試時,要求并發(fā)用戶200人,我們整個公司都沒有100人,很明顯,做200人并發(fā)是沒有必要的,后來,我們只做了50人并發(fā)。
如何實現(xiàn)200用戶的并發(fā)??參考答案:先在腳本對應(yīng)的請求前面添加集合點,再在controller中將集合點的釋放策略設(shè)置為等到200人到達集合點的時候在釋放。
什么情況下要做關(guān)聯(lián)?參考答案:當(dāng)腳本需要使用服務(wù)器返回來的值,就用關(guān)聯(lián)。
有驗證碼的功能,怎么做性能測試?
1.將驗證碼暫時屏蔽,完成性能測試后,再恢復(fù)。注意:屏蔽驗證碼是不會給性能測試的結(jié)果帶來影響的。
2.使用一個萬能的驗證碼。
LoadRunner有哪些部件組成?
1.Virutal User Generator 簡稱VuGen,提供了基于 錄制的可視化圖形開發(fā)環(huán)境,可以方便簡潔地生 成用于負載的性能腳本。
2.壓力調(diào)度和監(jiān)控系統(tǒng)?Controller?負責(zé)對整個負載的過程進行設(shè)置,指定負載的 方式和周期,同時提供了系統(tǒng)監(jiān)控的功能。
3.結(jié)果分析工具?Analysis?通過Analysis我們可以對負載生成后的相關(guān)數(shù)據(jù) 進行整理分析。
4.負載生成器?Load Generator?Load Generator簡稱LG,負責(zé)將VuGen腳本復(fù)制 成大量虛擬用戶對系統(tǒng)生成負載。
簡述使用Loadrunner的步驟?參考答案: 新建腳本 -- 選擇協(xié)議 — 腳本錄制設(shè)置 — 錄制腳本—調(diào)試腳本 — 場景設(shè)計和運行 — 結(jié)果分析。