1 回答

TA貢獻1946條經(jīng)驗 獲得超4個贊
使用LR對數(shù)據(jù)庫進行性能測試,實際上有多種辦法,包括通過現(xiàn)有的數(shù)據(jù)庫協(xié)議進行CS模式的先錄制后執(zhí)行的模式,以及通過socket方式向服務(wù)器發(fā)包方式的測試方式。這些是常規(guī)書籍上介紹的比較簡單上手的測試方法,但是不具備通用性,受已有協(xié)議或socket編程方式的限制,所以需要更為通用的測試方法。
用Java user的協(xié)議進行所有數(shù)據(jù)庫性能的測試工作:
Java user 不需要錄制,把所有的操作通過java語言進行實現(xiàn),通過lr調(diào)用java的class進行加壓批量操作,這樣可以不關(guān)心被測系統(tǒng)是哪個數(shù)據(jù)庫,只要能夠通過jdbc進行訪問,就能實現(xiàn)性能測試。
一、測試環(huán)境準備
1. 被測服務(wù)器準備,根據(jù)測試目的,搭建需要的數(shù)據(jù)庫服務(wù)器,確保數(shù)據(jù)庫能夠正常訪問,正常操作;
2. Java代碼的準備,無論使用哪種IDE,只要能夠編寫訪問數(shù)據(jù)庫的class就可以,形式可以是j2se,也可以是j2ee,因為在操作時只使用class的部分方法,所以j2ee就可以了;
3. LR的腳本調(diào)試,把java的class導入到腳本調(diào)試模式,根據(jù)需要添加事務(wù)以及其他操作。
二、編寫數(shù)據(jù)庫訪問
1. 使用myeclipse,創(chuàng)建web project,創(chuàng)建如下圖的包目錄:
Java文件中包含各種訪問數(shù)據(jù)庫的方法。
需要注意的是,class中的方法必須是public static,否則LR中無法調(diào)用。由于創(chuàng)建的是j2ee程序,所以不用main函數(shù),在web中就可以進行功能驗證。
確認class中的方法編寫完成,創(chuàng)建一個web.jsp文件,如下:
導入class
聲明類,并實例化,直接調(diào)用剛才編寫的3個方法,因為這3個方法是直接對數(shù)據(jù)庫進行操作,不需要實參,也沒有返回值,所以直接實現(xiàn)即可。
此時啟動web服務(wù),在瀏覽器中輸入jsp的地址,直接刷新頁面,就可以調(diào)用這3個方法,如果正確,就會對相應(yīng)的表進行操作,如果不正確,則需要修改相應(yīng)的代碼。
2. LR腳本準備:
LR腳本實際上就是對訪問代碼的調(diào)用,關(guān)鍵在于需要根據(jù)測試場景劃分不同的腳本布局。
例如:在myEclipse里,我們只編寫了一個class,其中包含三個方法,如果在執(zhí)行性能測試時,這三個方法相互獨立,互不干涉,則最簡單的劃分方法是,創(chuàng)建三個java user,每個java user中包含一個方法,做三份腳本,場景執(zhí)行時分別進行調(diào)用。如果三個方法之間有相互關(guān)系,則需要根據(jù)實際情況,把有關(guān)聯(lián)的方法放在一起,具體情況可按實際靈活分配。
因為已經(jīng)將class文件進行編譯發(fā)布了,所以可以在“java2postgres\WebRoot\WEB-INF\classes\com\lr\test”目錄中找到對應(yīng)的class文件,
復(fù)制這個文件,找到LR的目錄:HP\LoadRunner\classes\com\lr\test\ 如果沒有文件夾,按相同的內(nèi)容創(chuàng)建。
在LR腳本中進行引包操作:
將需要執(zhí)行的java類以及方法,放在action中,可根據(jù)實際測試情況和所需要驗證的內(nèi)容,具體調(diào)試代碼。
在這里可以像編寫普通LR腳本一樣,添加事務(wù)或集合點等內(nèi)容。
由于是通過JDBC對數(shù)據(jù)庫進行訪問,因此要在java user中加載jdbc驅(qū)動。
運行時設(shè)置中,增加jdbc驅(qū)動,需要注意的是java user使用的本地jdk,需要至多1.6版本,若使用1.7版本,回放會有錯誤,這是jdk版本的問題。
操作完成之后,按F5或點擊運行,進行腳本回放,實際此時也對數(shù)據(jù)庫進行了操作,可以直接查詢對應(yīng)的表,檢查功能是否正確。
三、執(zhí)行性能測試
已經(jīng)有了java user的腳本,和普通web性能測試一樣,設(shè)計場景、執(zhí)行測試、收集報告、分析性能瓶頸即可。
- 1 回答
- 0 關(guān)注
- 1217 瀏覽
添加回答
舉報