1. 程式人生 > >Loadrunner性能測試協議選擇

Loadrunner性能測試協議選擇

工作量 模型 服務器 你我 分布 還需要 內容 通信協議 odbc

按照TCP/IP協議的分層,分層結構如下:
TCP/IP協議
對應的服務
應用層
WWW、SMTP、FTP、Telnet、Gopher、SNMP
Socket、NetBIOS
傳輸層
TCP、UDP
網絡層
IP(ARP、RARP、ICMP)
網絡接口層
Ethernet、X.25、PPP、SLIP
第一個分層是由OSI制定但不實用,後一個是目前廣泛使用且被業界認做既定標準的協議分層,下文探討的LoadRunner協議選擇即按TCP/IP協議的分層模型討論。
接著來說說LoadRunner VuGen中的協議分類,VuGen(LR8.1)中的協議分類如下表所示:
javascript:;" target=_self>

應用程序部署解決方案
Citrix ICA
客戶端/ 服務器
DB2 CLI、DNS、Informix、MS SQL Server、ODBC、Oracle(2 層)、Sybase Ctlib、Sybase Dblib 和 Windows Sockets 協議
自定義
C 模板、Visual Basic 模板、Java 模板、Javascript 和 VBScript 類型的腳本。
分布式組件
適用於 COM/DCOM、Corba-Java 和 Rmi-Java 協議。
電子商務
FTP、LDAP、Palm、PeopleSoft 8 mulit-lingual、SOAP、Web(HTTP/HTML) 和雙 Web/WinSocket 協議。
Enterprise Java Bean
EJB 測試和 Rmi-Java 協議。
ERP/CRM
Baan、Oracle NCA、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、Siebel-DB2 CLI、Siebel-MSSQL、Siebel-Web 和 Siebel-Oracle 協議
傳統
終端仿真 (RTE)。
郵件服務
Internet 郵件訪問協議 (IMAP)、MS Exchange (MAPI)、POP3 和SMTP。
中間件
Jacada 和 Tuxedo (6、7)協議。
流數據
Media Player (MMS) 和 Real 協議。
無線
i-Mode、VoiceXML 和 WAP 協議。

應用類型 協議選擇

  1. Web網站 HTTP/HTML

  2. FTP服務器 FTP

  3. 郵件服務器 IMAP,POP3,SMTP

  4. C/S (第一種)客戶端以ADO,OLEDB方法連接後臺數據庫 MS SQL Server,Oracle,Sybase,DB2,Infrmix

     C/S (第二種)客戶端以ODBC方法連接後臺數據庫 ODBC

     C/S (第三種)沒有後臺數據庫 Socket

  5. ERP系統 SAP Peoplesoft

  6.分布式組件 COM/DACOM EJB

  7.無線應用 WAP PALM

仔細研究發現LoadRunner VuGen中的協議與文章開頭所說的通信協議還是有一定的區別的,例如像LoadRunner VuGen中的C 模板、Visual Basic 模板、Java 模板、

Javascript 和 VBScript 類型的腳本均為開發語言,非通信協議,但LoadRunner即把它列在這兒,我們也就暫且認可。
了解了LoadRunner的協議類型之後,我們進入正式話題,即測試時如何選擇協議。
正式測試之前,測試人員都需要預先熟悉被測對象,我們需要知道我們的被測對象是一個什麽樣的結構,是B/S結構還是C/S結構,了解這個之後,我們還需要了

解被測對象所使用的協議是什麽,也許有的人說我們的程序使用的是TCP/IP協議,其實他的回答跟我們需要知道的差別很大,因為我們知道,所有的通信軟件都需要使用

TCP/IP協議,為什麽呢,因為這個協議是底層協議,所有應用層數據都必須經過這個協議封裝之後才能向更底一層傳輸。我們需要知道的是被測對象在應用層使用的是什

麽協議,就像我們使用郵件客戶端發送郵件一樣,我們知道使用的應用層協議是SMTP,使用郵件客戶端接收郵件時使用的時POP3協議。了解上述信息之後,我們的定位也

就準確了,也就是說在LoadRunner中所說的協議基本上都是應用層協議(也有底層協議,例如 Windows Sockets),知道這點之後,我們在詢問開發人員時就避免了不少

麻煩,省的開發人員告訴你我們使用的是TCP/IP協議或者其他底層協議。
了解了LoadRunner中的協議之後,我們就進入協議確定階段,協議的確定,通常有如下幾種方法:
1、通過詢問開發人員獲知所使用的協議,通常這是最簡單也是最直接的方法;因為沒有人比開發人員更清楚他們所開發的應用程序使用的什麽通信協議了;
2、通過概要或詳細設計手冊獲知所使用的協議,在沒有開發人員支持的情況,通過概要設計或詳細設計獲知所使用的協議不失為第二簡便方法;
3、通過協議分析工具捕包分析,然後確定被測對象所使用的協議。在使用協議分析工具分析協議過程當中一定要摒除底層協議,不要被底層協議所迷惑;
4、通過以往測試經驗確定被測對象所使用的協議,當然通過這種方法確定的協議有一定的不準確性;
通過以上四種方法我們基本就確定了錄制時應該選擇什麽協議,光確定協議是沒有用的,最主要的是付諸行動,確定了協議之後,我們進入VuGen開始錄制腳本,錄制完

成後看看是否生成相應腳本,如果腳本內容為空可能我們選擇的協議不正確,我們可以嘗試選擇其他協議。
一般來說協議選擇有如下原則:
B/S 結構,選擇WEB(Http/Html)協議;
C/S結構,可以根據後端數據庫的類型來選擇,如SybaseCTLib協議用於測試後臺的數據庫為Sybase的應用;MS SQL Server協議用與測試後臺數據庫為 SQL Server的應

用;對於一些沒有數據庫的Windows應用,可選用Windows Sockets底層協議;使用了數據庫但使用的是ODBC連接的數據則選擇ODBC協議;
對於有些使用純JAVA編寫的C/S結構的東東,采用JAVA,而且不能錄制只能手工編寫代碼(工作量和難度還是有的)。同樣不能錄制的還包括C、VB Script、VB、VBNet

User協議。
對於Windows Sockets協議來說,最適合的那些基於Socket開發的應用程序;但是由於網絡通訊的底層都是基於Socket的,因此幾乎所有的應用程序都能夠通過Socket來

錄制,哪可能有人會問,哪既然Socket都能錄制下來,還要那麽多協議做什麽,價格還賊貴,其實最主要的原因就是Socket錄制的代碼可讀性較差,如果Socket的腳本可

讀性較高的話,實話就沒有其他協議出現的必要性了。
對於郵件來說,首先要看你收郵件的途徑,如果你通過WEB頁面收發郵件,毫無疑問,你選擇協議時就需要選擇HTTP協議,如果你通過郵件客戶端,像OutLook、FoxMail

之類的,則需要根據操作不同選擇不同的協議了,例如發郵件你可能要選擇SMTP、收郵件你可能需要選擇POP3。

Loadrunner性能測試協議選擇