• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    如何使用LoadRunner開發JAVA Vuser

    發布: 2009-9-25 10:10 | 作者: 網絡轉載 | 來源: 領測軟件測試網 | 查看: 202次 | 進入軟件測試論壇討論

    領測軟件測試網

    如何使用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.kjueaiud.com/

    TAG: java JAVA Java loadrunner LoadRunner Loadrunner loadRunner vuser Vuser 開發


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>