qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          LoadRunner錄制腳本時(shí)的protocol選擇

          首先這個(gè)ptotocol是指應(yīng)用層的協(xié)議,是你的客戶端使用什么協(xié)議訪問(wèn)你的服務(wù)器server

            在選擇protocol遇到困難時(shí),說(shuō)明我們?cè)趯W(xué)習(xí)LR的過(guò)程中,至少存在兩個(gè)方面的問(wèn)題:

            1、對(duì)LR的工作原理認(rèn)識(shí)不清。

            LoadRunner屬于應(yīng)用在客戶端的測(cè)試工具,在客戶端模擬大量并發(fā)用戶去訪問(wèn)服務(wù)器,從而達(dá)到給服務(wù)器施加壓力的目的。所以說(shuō)LoadRunner模擬的就是客戶端,其腳本代表的是客戶端用戶所進(jìn)行的業(yè)務(wù)操作,即只要腳本能表示用戶的業(yè)務(wù)操作就可以。

            2、網(wǎng)絡(luò)通信的基礎(chǔ)知識(shí)不牢。

            不了解這個(gè)協(xié)議的選擇原則,不了解被測(cè)試系統(tǒng)的總體架構(gòu)。

            說(shuō)到通信協(xié)議我們來(lái)熟悉一下協(xié)議的分層,按照OSI的分層模型,分層結(jié)構(gòu)如下:

            按照TCP/IP協(xié)議的分層,分層結(jié)構(gòu)如下:

            第一個(gè)分層是由OSI制定但不實(shí)用,后一個(gè)是目前廣泛運(yùn)用且被業(yè)界認(rèn)做既定標(biāo)準(zhǔn)的協(xié)議分層,下文探討的LoadRunner協(xié)議選擇即按TCP/IP協(xié)議的分層模型討論。

            接著來(lái)說(shuō)說(shuō)LoadRunner-VuGen中的協(xié)議分類,VuGen(LR8.1)中的協(xié)議分類如下表所示:

            那現(xiàn)在來(lái)說(shuō)說(shuō)如何解決問(wèn)題,首先,你要通過(guò)一定的渠道來(lái)了解測(cè)試對(duì)象的應(yīng)用層通信協(xié)議:

            1、通過(guò)詢問(wèn)開(kāi)發(fā)人員獲知所運(yùn)用的協(xié)議,通常這是最基本也是最直接的要領(lǐng) ;因?yàn)闆](méi)有人比開(kāi)發(fā)人員更清楚他們所開(kāi)發(fā)的運(yùn)用 程序運(yùn)用的什么通信協(xié)議了;

            2、通過(guò)概要或細(xì)致設(shè)計(jì)手冊(cè)獲知所運(yùn)用的協(xié)議,在沒(méi)有開(kāi)發(fā)人員支持的情況,通過(guò)概要設(shè)計(jì)或細(xì)致設(shè)計(jì)獲知所運(yùn)用的協(xié)議不失為第二簡(jiǎn)便要領(lǐng) ;

            3、通過(guò)協(xié)議分析工具捕包分析,然后確定被測(cè)對(duì)象所運(yùn)用的協(xié)議。在運(yùn)用協(xié)議分析工具分析協(xié)議流程當(dāng)中一定要摒除底層協(xié)議,不要被底層協(xié)議所迷惑;

            4、通過(guò)以往測(cè)試體會(huì)確定被測(cè)對(duì)象所運(yùn)用的協(xié)議,當(dāng)然通過(guò)這種要領(lǐng)確定的協(xié)議有一定的不準(zhǔn)確性;

            其實(shí)也可以嘗試用多種協(xié)議來(lái)分別錄制腳本,看哪些是成功的,哪些錄制的腳本內(nèi)容為空。錄制成功的,也可以比較一下腳本的差別。

            最后來(lái)說(shuō)一說(shuō)選擇腳本的一些基本原則【轉(zhuǎn)載】:

            B/S結(jié)構(gòu),選擇WEB(Http/Html)協(xié)議;

            C/S結(jié)構(gòu),可以根據(jù)后端數(shù)據(jù)庫(kù)的類型來(lái)選擇,如SybaseCTLib協(xié)議用于測(cè)試后臺(tái)的數(shù)據(jù)庫(kù)為Sybase的運(yùn)用 ;MSSQLServer協(xié)議用與測(cè)試后臺(tái)數(shù)據(jù)庫(kù)為SQL Server的運(yùn)用 ;對(duì)于一些沒(méi)有數(shù)據(jù)庫(kù)的Windows運(yùn)用 ,可選用Windows Sockets底層協(xié)議;運(yùn)用了數(shù)據(jù)庫(kù)但運(yùn)用的是ODBC連接的數(shù)據(jù)則選擇ODBC協(xié)議;

            對(duì)于有些運(yùn)用純JAVA編寫(xiě)的C/S結(jié)構(gòu)的東東,采用JAVA,而且不能錄制只能手工編寫(xiě)代碼(工作量和難度還是有的)。同樣不能錄制的還包括C、VB Script、VB、VBNet User協(xié)議。

            對(duì)于Windows Sockets協(xié)議來(lái)說(shuō),最適合的那些基于Socket開(kāi)發(fā)的運(yùn)用 程序;但是由于網(wǎng)絡(luò)通訊的底層都是基于Socket的,因此幾乎所有的運(yùn)用 程序都能夠通過(guò)Socket來(lái)錄制,哪可能有人會(huì)問(wèn),哪既然Socket都能錄制下來(lái),還要那么多協(xié)議做什么,價(jià)格還賊貴,其實(shí)最主要的原由就是Socket錄制的代碼可讀性較差,如果Socket的腳本可讀性較高的話,實(shí)話就沒(méi)有其他協(xié)議出現(xiàn)的必要性了。

            對(duì)于郵件來(lái)說(shuō),首先要看你收郵件的途徑,如果你通過(guò)WEB頁(yè)面收發(fā)郵件,毫無(wú)疑問(wèn),你選擇協(xié)議時(shí)就須要選擇HTTP協(xié)議,如果你通過(guò)郵件客戶端,像OutLook、FoxMail之類的,則須要根據(jù)操作不同選擇不同的協(xié)議了,例如發(fā)郵件你可能要選擇SMTP、收郵件你可能須要選擇POP3。

          posted on 2012-10-09 10:45 順其自然EVO 閱讀(689) 評(píng)論(0)  編輯  收藏 所屬分類: 性能測(cè)試

          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 冀州市| 康乐县| 汉沽区| 湟中县| 漳州市| 浮山县| 会同县| 正蓝旗| 章丘市| 富源县| 台江县| 苏尼特右旗| 色达县| 苗栗市| 高安市| 射阳县| 南和县| 河东区| 大荔县| 额尔古纳市| 阜城县| 且末县| 梓潼县| 长汀县| 东宁县| 普兰店市| 玛沁县| 荣成市| 云南省| 会东县| 寿阳县| 平远县| 壶关县| 安仁县| 商都县| 枣阳市| 望谟县| 景洪市| 涿鹿县| 昌乐县| 江山市|