<ruby id="rxdll"></ruby><strike id="rxdll"></strike>

    <rp id="rxdll"></rp>
      <del id="rxdll"><meter id="rxdll"></meter></del>
      <pre id="rxdll"><font id="rxdll"></font></pre>
        <pre id="rxdll"></pre>
      <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

      <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
      <i id="rxdll"><dfn id="rxdll"></dfn></i>
      <font id="rxdll"><meter id="rxdll"></meter></font>

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

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

        開源軟件測試框架的使用說明

        發布: 2009-3-03 10:45 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 84次 | 進入軟件測試論壇討論

        領測軟件測試網 它向您展示了如何使用一個開源測試框架,比如 JUnit 和 JUnitEE,通過在 IBM WebSphere Application Server 環境中使用 IBM Rational Application Developer 來進行 Java 和 EJB 應用軟件的單元測試。
                對 J2EE 組件進行單元測試的理由
                當我們逐漸趨于一種分布式,多層次以及異構計算時,Java2 platform, Enterprise Edition (J2EE) 技術已經在開發基于組件的多層次,異構、分布式企業開發軟件中變得十分普遍了。J2EE 技術已經集成了應用客戶程序和小程序、Web 組件(JSP 和服務系統),以及 Enterprise JavaBeans(EJB) 組件。 Web 和 EJB 組件運行在一個應用軟件服務器上,比如 IBM WebSphere Application Server 軟件設備。就像人們使用 J2EE 技術來開發大型的、復雜的企業應用軟件一樣,各種不同的組件必然會緊密組合在一起來產生一個集成的應用軟件。 
                在這些集成發生之前,必不可少的也是十分關鍵的是要對每個組件分別進行嚴格的單元測試。有效地對每個組件進行獨立的單元測試可以減少錯誤,并有助于確保高質量的軟件。有些開發人員或者測試人員可能會提出這樣的爭議:對J2EE 組件進行單元測試太浪費時間,需要高密度人力資源,并且易于出錯。盡管深入研究各種 J2EE 組件的單元測試已經超出了這篇文章的范圍,但是它將向您說明用JUnit 和 JUnitEE 測試框架對 EJB 組件進行單元測試是如何的簡單而有效。
                單元測試對于一個開發人員來說僅僅是編寫代碼的問題,它只發揮了被測試代碼中一個很小且很特殊部分的功能。通常情況下,一個單元測試在特殊環境下只測試一些特殊的方法,因此它將白箱測試分為更廣泛的種類。由于對 J2EE 組件進行單元測試的需求變得越來越明顯,開發者們已經開始利用 JUnit 測試框架的優勢來執行這些測試。JUnit 測試框架最初是4由 Enrich Gamma 和 Kent Beck 編寫的,是一個對客戶程序端的 Java 應用軟件進行單元測試的框架。它有以下幾個優點: 
        在 Java 中編寫自動化和自我驗證測試的簡單框架 
        支持測試斷言 
        測試集開發 
        提供及時的測試報告 
                JUnit 提供了一個基于測試的命令行,同時還提供了基于 AWT 和基于 Swing 的圖形化測試報告機制。IBM Rational Application Developer 集成開發平臺(IDE) 包括 JUnit。
                然而,對于想要在應用軟件服務器的容器中進行單元測試,以及想要以 HTML 或者 XML 的形式顯示的開發人員來說,這個 JUnit 框架顯得非常有限,且工作效率低下。這就是為什么 JUnitEE,一個開源開發組,要通過執行那個能夠讓您在應用軟件服務器的容器里運行 JUnit 單元測試的 JUnitEE 測試框架來擴展 JUnit 能力的原因。 
                關于本系列文章
                這個系列的三篇文章向您闡述了怎樣利用 IBM 工具和技術,通過使用 JUnit 和 JUnitEE 測試框架來對 Java 應用軟件,EJBs 和 Web 服務進行單元測試。  [Page]
        第 1 部分 (此篇文章)是以 JUnit 和 JunitEE 的概述開始的,然后展示了 JUnit 和 JUnitEE 在 Rational Application Developer IDE 中的用法,即如何對一個簡單的 Java 應用軟件和一個無狀態的 session bean 進行單元測試。首先,我們介紹了 JUnit 和 JUnitEE 結構的簡單概述,緊接著我們介紹了如何在 JUnit 和 JUnitEE 測試框架中開發,配置以及安裝單元測試。最后,我們闡述了如何在應用軟件服務器環境中布署和執行單元測試。 
        第 2 部分 討論了通過利用 Rational Application Developer 平臺中的 JUnit 和 JUnitEE 測試框架對 Web 服務進行單元測試的問題,同時還討論了如何在 IBM WebSphere Application Server 環境中布署和執行單元測試。 
        第 3 部分 建立在第 2 部分的討論的基礎之上,提供了關于如何開發、部署,以及利用 JUnit 和 JUnitEE 測試框架在 Rational Application Developer 平臺進行單元測試,然后如何在 IBM WebSphere Application Server 環境部署和運行測試的逐步指南。 
                必要條件
                要想從這篇文章受益,您需要對 Web 服務和 Rational Application Developer 有基本的了解。IBM developersWorks Web 網站和這篇文章末尾部分的 參考資源 提供了介紹性的材料。 
                這個指南是利用 JUnitEE Version 1.10 和 Rational Application Developer Version V 6.0.2 的最終版本開發和測試的。針對這個例子您可以下載 Rational Application Developer 的試用版本和雙重文件(請看 資源)。
                JUnit 測試框架
                JUnit 現在是基于 Java 應用軟件單元測試的非官方標準。盡管 Junit.org Web 網站提供了更多有壓縮力的信息和指南(請參見 參考資源),這個部分還是向您提供了 JUnit 測試框架的總的觀點。包含 JUnit 的裝配 APIs 的主要目的是使 Java 單元測試用例的編寫更快更簡單。最低限度,一個 JUnit 測試用例有一個如 列表 1代碼中所示的常用結構。

        列表 1. JUnit 常用結構
        1. Import junit.framework.TestCase;  
        2.   
        3. Public class AddJavaTest extends TestCase { 
        4.   
        5. protected void setUp() throws Exception  
        6.     {  
        7.      // create some object  
        8.     }  
        9. protected void tearDown() throws Exception  
        10. {  
        11.  //release any recourse that was created in          12.   setup()  
        13. }   
        14.      public AddJavaTest (String name){  
        15.            super (name);   [Page]
        16.   
        17.      public void testSimpleAddition (){  
        18.             assertTrue (expect == actual);  
        19.    } 

         

                如 列表 1 第三行所示,所有的 Java 測試用例類都必須擴展junit.framework.TestCase ,它是 JUnit 的核心類。在第五行中,TestCase.setUp() 被重載,從而對測試下的對象進行初始化或者實例化。相反,在第九行中, TestCase.tearDown() 被重載,是釋放任何定位資源的。在第十四行中,為了在日志中顯示這個測試用例的名稱,一個測試用例必須有一個可以將自變量傳遞到它的父類 (TestCase) 的專門的串參數構造器。 
                測試用例必須聲明為 public void ,并且不帶行參。此外,合適的是測試方法名稱都有一個 \"test\" 前綴,這樣測試運行人員就可以自動地執行所有的方法。最后,在第十八行的斷言語句中,決定了這個測試用例的成功與失敗。這個方法 assert在這個特殊的測試情景下,將期望值與實際值進行了對比。您可以利用 fail() 方法強迫這個測試用例失敗,例如您想要迫使一個操作暫停。JUnit 提供了一個額外的決定測試用例成功或者失敗的機制。表格 1 顯示了不同 assert 和 fail 方法簽名的范例。

        表格 1. Assert 方法
        static voidassertEquals (boolean expected, boolean actual) 
        Asserts that two booleans are equal.
        static voidassertFalse (boolean condition) 
        Asserts that a condition is false.
        static voidassertNotNull (java.lang.Object object) 
        Asserts that an object isn’t null.
        static voidassertNotSame (java.lang.Object expected, java.lang.Object actual) 
        Asserts that two objects refer to the same object.
        static voidassertNull (java.lang.Object object) 
        Asserts that an object is null.
        static voidassertSame 
        (java.lang.Object expected, java.lang.Object actual) 
        Asserts that two objects refer to the same object.
        static voidassertTrue (boolean condition) 
        Asserts that a condition is true. 
        static voidfail (java.lang.String message) 
        Fails a test with the given message.
        static voidfailNotEquals 
        (java.lang.String message, java.lang.Object expected, java.lang.Object actual)
        private static voidfailNotSame 
        (java.lang.String message, java.lang.Object expected, java.lang.Object actual) 
        private static voidfailNotEquals 
        (java.lang.String message, java.lang.Object expected, java.lang.Object actual) 
        private static voidfailSame (java.lang.String message) 
        (package private) static java.lang.Stringformat (java.lang.String message, java.lang.Object expected, java.lang.Object actual)  [Page]


                注意: Assert 類包含許多不同的重載方法。下面是一個完全重載 Assert 類方法的完整列表,請看頁面 JUnit.org(參見 參考資源)。
                JUnit 提供了一個 TestRunner 類來執行測試用例。其實測試用例的方法多種多樣。測試報告是利用圖形和文本來顯示的。要獲取最受歡迎的圖形結果,可以利用 junit.swingui.TestRunner 和 junit.awtgui.TestRunner。其次受歡迎的基于文本的結果,可以 利用 junit.textui.TestRunner 來取代。 
                此外, JUnit 測試用例可以從 Rational Application Developer 的IDE 運行或者在 Ant 構成腳本中自動運行。 
                JUnit 還通過利用 junit.framework.TestSuite 類提供了一種將測試歸組為測試套件的方法。一個測試套件是由您能夠在相同時期運行的相關測試組成的。下面有兩種 JUnit 運行測試比較便利的方法:
        對于第一種方法,您可以通過使用這個命令將測試用例傳遞到 TestSuite 構造器:
        TestSuite suite= new TestSuite(testAddJava.class) 在這種情況下,TestRunner 將所有帶測試前綴的測試程序挑選出來,然后自動運行每一個測試用例。 
        另一個可選的方法是,通過使用 TestSuite.addTest 方法添加每個測試用例:
        TestSuite suite = new TestSuite(); suite.addTest(new AddJavaTest(\"testSimpleAddition\")); 
                JUnitEE 測試框架
                JUnit 提供了一個對客戶端 Java 應用軟件進行單元測試的有效且簡便的方法,但是它仍有一些局限性;因此,在每一個應用軟件服務器的容器中進行測試變成了一個冗長且乏味的過程。IBM Rational Application Developer 平臺提供的 Web-based Universal Test Client (UTC) 特性為 Enterprise JavaBeans (EJBs) 提供了一個無縫的完整的單元測試機制。然而,Rational Application Developer UTC 是一個交互式的單元測試機制,因此當進行自動單元測試時它顯得有些不足。 
                JUnitEE 測試框架就是解決這些局限性的,同時還處理這個冗長而乏味的過程。這個框架延伸了標準的 JUnit,從而使它能夠在應用服務器容器中執行單元測試。它在單元測試軟件的 J2EE Web 模塊中配置,利用 TestRunner 輸出 HTML 或者 XML 測試結果。它還包含一個登陸到 JUnit 測試用例登陸口的 TestServlet。因此,根據 JUnitEE.org 的說法, 將您的測試工具構建為一個標準的 J2EE Web 有以下幾點好處: 測試在 J2EE Web 模塊中已經打包(以 WAR 文件的形式),這樣便于部署和執行。 

        延伸閱讀

        文章來源于領測軟件測試網 http://www.k11sc111.com/

        TAG: 開源 框架 軟件測試

        21/212>

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

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

        国产女主播精品_国产片婬乱18一级毛片视频_国产午夜激无码av毛片不卡_国产精品欧美久久久天天影院
          <ruby id="rxdll"></ruby><strike id="rxdll"></strike>

          <rp id="rxdll"></rp>
            <del id="rxdll"><meter id="rxdll"></meter></del>
            <pre id="rxdll"><font id="rxdll"></font></pre>
              <pre id="rxdll"></pre>
            <p id="rxdll"><thead id="rxdll"></thead></p><dl id="rxdll"><progress id="rxdll"><form id="rxdll"></form></progress></dl>

            <ol id="rxdll"><thead id="rxdll"><track id="rxdll"></track></thead></ol>
            <i id="rxdll"><dfn id="rxdll"></dfn></i>
            <font id="rxdll"><meter id="rxdll"></meter></font>

              <mark id="rxdll"><dfn id="rxdll"></dfn></mark>