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

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

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

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

    模塊化:使用IBM Rational Functional Tester實現自動化框架(1)

    發布: 2007-6-11 17:27 | 作者: Michael Kelly | 來源: | 查看: 224次 | 進入軟件測試論壇討論

    領測軟件測試網

    編者注:本文是基于使用IBM® Rational® Functional Tester for Java™和Web 6.1以及Windows XP Professional SP2進行編寫的。代碼范例將使用Java語言,但是所有概念也同樣適用于Rational Functional Tester的.NET版本。

    抽象、封裝,以及其它計算機科學術語

    我通常不會大量使用術語,但是由于模塊化框架是基于一些計算機科學基本原理的,所以看起來我們要花一些時間來談論這些基本原理。一個模塊化框架的第一個基本原理是,努力嘗試在一個時間關注于一個邏輯功能塊,也稱作為抽象。使用抽象,您可以減少和排除一些細節,不用立即關聯到您要進行編碼的功能上。在模塊中,您要關注于將控制從您的測試用例中分解出來。通過控制,我的意思是被測試應用程序中的用例流和功能。對比數據驅動的框架(本系列中所涵蓋的下一個框架),在那您更加關注于將數據從您的測試用例中提取出來。而控制的抽象就是活動的抽象。

    模塊化框架的第二個基本原理與抽象緊密相關。這就是封裝的基本原理。在封裝中,您要將關系緊密的程序元素(腳本、類等等)放在一個更大的、更抽象的實體(其它腳本和類)中。封裝為您提供了將相關聯的任務和操作集成在一起的技術。它也通過提供一個穩定的接口來為您保護您的腳本免受程序變更的影響,此接口能夠隱藏您的腳本所執行的實際操作。這是一類隱藏的信息,您將在這里保護您的測試腳本;讓它們都調用相同的腳本和類集合,這樣在您需要進行變更時,這些變更將自然地對您的所有測試腳本生效。

    模塊化框架的第三個基本原理關注分離。關注分離是將一個程序分解成在功能上盡可能少重疊的獨立特性。這個基本原理在您執行封裝時會給您提供指導。通常,在您計劃如何為被測試應用的特性和行為進行分離和組織測試代碼時,您將會使用關注分離這個基本原理。

    在本系列的三個框架中,模塊化應當是最容易理解和掌握的。以上描述的這三個基本原理是眾所周知的編程方法,并且今天的大多數開發人員在使用它們時甚至沒有積極地思考過。模塊化框架的目標就是通過應用這些基本原理,以改進您的自動化測試套件的可維護性和可擴展性。讓我們看一下模塊化的幾個簡單例子,然后我們將返回來,討論一下有關這種方法的優勢和劣勢。

    使用一個類來實現模塊化

    在這個例子中,我們將使用對www.BookPool.com的一個測試。在列表1中所顯示的記錄腳本啟動了訪問BookPool.com的瀏覽器,搜索有關軟件測試方面的書籍,并驗證應當在第一個返回結果頁面中的三本書。

    列表1.記錄的BookPool.com搜索腳本

    在我查看這段測試腳本時,我看到了某些我想要能夠在許多其它腳本--執行一個搜索(圖1)--中做的東西。有三行代碼用于搜索:在qs域上的點擊,用于我們的搜索標準的inputChars,以及在搜索按鈕上的點擊。

    BookPool.com search form

    圖1:BookPool.com搜索表單

    我們知道,有可能開發人員某天會修改qs域的名字,或者他們可能使用一個搜索按鈕的不同gif文件,您應當創建一個模塊為您做這件事情。使用這種方式,如果您在某一時間必須修改您搜索的方法,您可以在一個地方修改它,它會在您所有調用該模塊的測試腳本中生效。除此之外,您在您所有的測試腳本中,減少了執行一個搜索的代碼行數量,從三個減少到一個。

    列表2顯示了此搜索模塊的代碼。

    列表2.BookPool.com搜索類

    列表3.顯示了新的測試腳本:

    列表3.模塊化的BookPool.com搜索腳本

    Package tests;

    import classes.*;

    import com.rational.test.ft.*;

    import com.rational.test.ft.object.interfaces.*;

    import com.rational.test.ft.script.*;

    import com.rational.test.ft.value.*;

    import com.rational.test.ft.vp.*;

    public class bookpool_search_modularity extends bookpoolHelper{

    public void testMain(Object[] args) 

    {//Start the browser and load BookPool.com

    startApp("www.BookPool.com");

    //Search for 'software testing' 

    new bookpool_search().performSearch("software testing");

    //Verify these three books are returned in

    //the first results page

    TestingComputerSoftware_textVP().performTest(2.0, 20.0);        

    LessonsLearnedInSoftwareTestinVP().performTest(2.0, 20.0);        

    HowToBreakSoftware_textVP().performTest(2.0, 20.0);

    //Exit  browser_htmlBrowser(document_bookpoolDiscountCompu(),

    MAY_EXIT).close(); }

    }

    |- XML error:  The previous line is longer than the max of 90 characters -|

    這和創建一個搜索類并復制和粘貼搜索代碼相比,并不完全一樣簡單(就像上面的代碼所體現的)。我也必須更改腳本的幫助類。如果您注意到列表3,現在有一個bookpoolHelper類代替了原來的bookpool_search_recordHelper類。這個步驟是一個簡單的復制和粘貼。我們在新的bookpoolHelper類中所有必須修改的就是類的名字。如果您不熟悉IBM® Rational® Functional Tester中幫助類的概念,您需要花一些時間閱讀在線幫助來熟悉它們。除了特別細節的任務描述,您將需要理解那里所有的內容。

    要繼續這個例子,您現在可以增加您想要的類。您可能要增加一些類,處理主頁左邊上的BookPool.com的瀏覽樹。然后,所有這些類可以用到任何腳本中。所有您必須做的就是,在您增加更多的測試腳本和覆蓋更多的程序功能時,確保更新bookpoolHelper類。


    共3頁: 1 [2] [3] 下一頁

    延伸閱讀

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


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>