如何使用LoadRunner開發JAVA Vuser

發表于:2009-09-25來源:作者:點擊數: 標簽:loadrunnerLoadrunnerloadRunnerLoadRunnerJava
如何使用LoadRunner 開發 JAVA Vuser 眾所周知,Java語言是一門非常適合 網絡 開發的語言,用 Java語言進行性能 測試 腳本開發將會大大提高測試開發效率。LoadRunner中提供了對Java虛擬用戶的支持。Java虛擬用戶依托于JDK,這大大擴充了LoadRunner的腳本開發

如何使用LoadRunner開發JAVA Vuser

眾所周知,Java語言是一門非常適合網絡開發的語言,用 Java語言進行性能測試腳本開發將會大大提高測試開發效率。LoadRunner中提供了對Java虛擬用戶的支持。Java虛擬用戶依托于JDK,這大大擴充了LoadRunner的腳本開發功能。測試人員既可以用Java虛擬用戶來測試基于Java的應用系統的性能,又可以使用Java語言的強大開發腳本功能來測試其他平臺的系統性能。

   認識Java虛擬用戶

   Java虛擬用戶協議

  Java虛擬用戶腳本主要有Java Vuser、Corba-Java、RMI-Java、EJB等類型。這些類型的虛擬用戶腳本均可以用Java語言來手工編寫。下面將對各類Java虛擬用戶簡單地進行介紹。

  Java Vuser

  Java Vuser是自定義的Java虛擬用戶腳本,腳本中可以使用標準的Java語言。這種虛擬用戶不可以錄制,只能采用純手工編寫,其適用范圍和C Vuser一樣,非常廣泛。

  Java Vuser的開發方法。

  Corba-Java

  Corba-Java類型的虛擬用戶主要用來測試用Java編寫的、使用Corba應用程序或小程序的性能,用戶可以先運行VuGen錄制的腳本,然后使用標準的Java庫函數以及LoadRunner特有的Java方法來增強該腳本。

  RMI-Java

  RMI-Java 虛擬用戶適用于測試RMI(遠程方法調用)Java應用程序或小程序。選擇RMI-Java 用戶進行錄制,VuGen可以創建對應的Java腳本。完成錄制后,可以使用JDK或自定義類,通過標準的Java代碼來增強或修改腳本,還可以通過特定于LoadRunner的Java方法增強該腳本。

  EJB

  EJB虛擬用戶專門用于測試Enterprise Java Beans對象。采用EJB協議,VuGen會自動創建腳本以測試EJB功能,無需錄制或編程,這和標準的Java Vuser明顯不同。

  在使用EJB協議類型的虛擬用戶生成腳本前,需要指定 JNDI屬性和關于應用程序服務器的其他信息。LoadRunner的EJB檢測器首先掃描應用程序服務器并確定哪些EJB可用;接著選擇要測試的 EJB,LoadRunner將生成要測試每個EJB方法的腳本,并為每個方法創建事務,便于度量其性能并找出問題。

  需要注意的是,創建EJB虛擬用戶測試腳本必須在應用程序服務器主機上安裝LoadRunner EJB檢測器,而且檢測器必須處于活動狀態。EJB檢測器是一個獨立的代理程序,必須將其安裝在要掃描查找EJB的每一臺計算機上。安裝EJB檢測器前,計算機上還需要安裝有效的JDK環境。

  本書中將以Java Vuser為例來講解Java虛擬用戶的開發和使用方法。Corba-Java、RMI-Java、EJB、Jacada Vuser等類型的虛擬用戶使用方法可以參考LoadRunner的聯機幫助手冊,但是其手工腳本的開發方法與Java Vuser是一樣的。

  在“新建虛擬用戶”對話框中的“自定義”或“全部協議”類別下選擇“Java Vuser”即可創建空的Java Vuser腳本,如圖7-1所示。

  在自動生成的腳本中,vuser_init、 vuser_end部分沒有任何內容,Actions部分生成的腳本如圖7-2所示。對于Java類型的虛擬用戶,可以編輯Actions類,而 init、end部分則不可以進行編輯。在Actions類中,有三個方法init、action和end,通常在init方法中編寫初始化代碼、在 action方法中編寫業務流程、在end方法中編寫諸如釋放資源之類的代碼。

  Java Vuser腳本中可以放置任何標準Java代碼,這也是Java虛擬用戶的魅力所在。

Java虛擬用戶適用范圍

  LoadRunner完全支持C語言,原則上可以用C語言實現任何想要錄制的功能。但是C語言的特點決定了這樣做是不現實的:一是性能測試腳本開發成本非常高;二是很多企業的測試人員開發基礎不好。因此,性能測試開發多選用C++、C#、Java等面向對象語言——因為這類語言既有成熟的集成開發工具,又有龐大的類庫來支撐,測試腳本開發速度會更快。下一章將重點介紹如何用.NET來開發性能測試腳本。

  Java虛擬用戶適用范圍非常廣,歸納起來主要有兩大類:一類是不太適合錄制的業務功能點的性能測試,例如網頁上Http文件的下載過程、視頻播放等;另一類是基于Java語言開發的應用系統的性能測試,這類應用更適合采用Java虛擬用戶進行測試。

  用Java Vuser實現無法錄制的測試需求

  這類測試需求往往關注于對服務器產生的壓力,重點測試在一定壓力下服務器的負載情況,為評估、部署、調優系統提供參考。在這類測試工作中,Java的作用僅是一門語言,用于輔助測試人員完成測試程序的開發。

  在性能測試工作中,不能錄制的測試點很多,主要有以下幾類:

   含有控件的Web應用

  在Web應用中,很多包含一些插件的瀏覽器應用經常不能錄制。這類應用往往涉及很多協議,因此錄制起來不是特別方便。

  對于這類應用,可以用Java語言調用其功能來完成用戶行為的模擬。

   一些和媒體播放、文件下載等相關的應用

  媒體播放或文件下載等過程的錄制往往不容易控制,如果是應用基于P2P的協議,則會更加復雜。因此,這類測試只能由測試人員開發虛擬用戶腳本來完成。

  用Java Vuser測試基于Java語言的應用系統性能

  相比前面,基于Java語言開發的應用系統,在性能測試中采用Java虛擬用戶更顯得“門當戶對”。這類虛擬用戶主要應用在下面兩類測試中:

   核心算法或業務的執行效率

  對銀行、電信等大型的基于J2EE的架構應用系統中,開發階段的性能測試是必不可少的。為了降低后期遇到性能問題的風險,往往在開發階段進行一些核心業務的性能測試。這些核心業務或要求較高的執行效率,或者要求支持較多用戶的并發。因此,可以利用Java Vuser來測試這些業務的執行效率。

  Java應用中不能錄制的業務模塊

  很多時候,一些J2EE架構的業務系統用 LoadRunner錄制起來不是特別方便,例如一些Java智能客戶端程序。這時可以手工編寫測試代碼,完成測試任務。與非Java應用相比,Java 應用中不能錄制的業務功能更適合采用Java虛擬用戶,因為可以直接對一些方法進行調用。

  由于Java語言的強大功能,Java虛擬用戶的應用遠不止上面這些,讀者可以慢慢挖掘。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97