LoadRunner之協議

Loadrunner之協議選擇

       Loadrunner首先是一個測試工具,其次是一個性能測試工具,然後是該工具是一個基於協議,也就是說LoadRunner測試的對象都需要使用通信協議,對於那些不使用通信協議僅僅進行本地處理的軟件例如Microsoft Word,LoadRunner就不適用。

      以下列出一些LoadRounner支持的協議:
一般應用:C Vuser、VB Vuser、VB scrīpt Vuser、JAVA Vuser、Javascrīpt Vuser
電子商務:WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDual Protocol
客戶端/服務器:MS SQL Server、ODBC、Oracle、DB2、Sybase CTlib、Sybase DBlib、Domain Name Resolution(DNS)、Windows Socket 
分佈式組件:COM/DCOM、Corba-Java、Rmi_Java
EJB:EJB、Rmi_Java
ERP/CRP:Oracle NCA、SAP-Web、SAPGUI、SAPGUI/SAP-Web Dual Protocol、PropleSoft_Tuxedo、Siebel Web、Siebel-DB2 CLI、Sieble-MSSQL、Sieble Oracle
遺留系統:
Terminal Emulation (RTE)
Mail 服務:Internet Messaging(IMAP)、MS Exchange(MAPI)、POP3、SMTP
中間件:Jacada、Tuxedo 6、Tuxedo 7
無線系統:i-mode、voiceXML、WAP
應用部署軟件:Citrix_ICA流:Media Plays(MMS)、Real

         協議不同,其數據報文的結構也有所不同;在錄製時,lr應該會對你從本機發出去的數據進行截包,並拆包。因爲我們知道協議的不同就是體現在數據包的結構不同,lr應該通過對包結構的分析,判斷是不是它支持的協議,對包數據的分析,來獲取用戶發送的東西。比如你用ftp的協議去錄製一個訪問網頁的IE操作,那肯定是無所收穫的。因爲lr沒有在網絡截獲到 ftp協議格式的包,都是http協議格式的包,它不認,當然就是一個錄製爲空的結果了。現在我們弄懂了這個事情,就知道該如何選擇協議了。

         協議的確定,通常有如下幾種方法:

1、通過詢問開發人員獲知所使用的協議,通常這是最簡單也是最直接的方法;因爲沒有人比開發人員更清楚他們所開發的應用程序使用的什麼通信協議了;
2、通過概要或詳細設計手冊獲知所使用的協議,在沒有開發人員支持的情況,通過概要設計或詳細設計獲知所使用的協議不失爲第二簡便方法; 
3、通過協議分析工具捕包分析,然後確定被測對象所使用的協議。在使用協議分析工具分析協議過程當中一定要摒除底層協議,不要被底層協議所迷惑;
4、通過以往測試經驗確定被測對象所使用的協議,不過這種方法確定的協議有一定的不準確性。

        下面說幾個測試的原則:

1、一般情況下對於b/s構架的只要選擇WEB(Http/Html)協議就可以了,如果有中間件的則選擇中間件服務器的協議;
2、對於C/S結構,可以根據後端數據庫的類型來選擇。如SybaseCTLib協議用於測試後臺的數據庫爲Sybase的應用;MS SQL Server協議用與測試後臺數據庫爲 SQL Server的應用;對於一些沒有數據庫的windows應用,可選用windows sockets底層協議;使用了數據庫但使用的是ODBC連接的數據則選擇ODBC協議;
3、一般不是基於瀏覽器的,對於一些沒有數據庫的Windows應用,我們在測試的過程中都會選擇WinSocket協議來錄製,理論上來講我們這樣選擇是正確的,但我們要知道在錄製的時候所選擇的協議就決定了LR如何捕獲數據包,如果我們選擇錯誤了,將會捕獲到一些無用的數據包。C/S結構是比較複雜的,一定要搞清楚C/S是client-database還是client-server-database結構的,只有這樣我們才能夠決定是選擇WinSocket協議還是sql協議,或者說選擇多個協議;當然協議的選擇也是一個探索的過程,只要能夠得到我們想要的結果,那就是正確的。還有一點,我們在做性能測試的時候應該是有測試重點的. 
4、關於單協議和雙協議,我只知道IE6內核的瀏覽器在錄製腳本的時候要選擇單協議,而IE7內核的瀏覽器在錄製腳本的時候要使用雙協議。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章