<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>
        • 軟件測試技術
        • 軟件測試博客
        • 軟件測試視頻
        • 開源軟件測試技術
        • 軟件測試論壇
        • 軟件測試沙龍
        • 軟件測試資料下載
        • 軟件測試雜志
        • 軟件測試人才招聘
          暫時沒有公告

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

        使用Rational Functional Tester 完成自動化功能測試

        發布: 2007-9-24 15:42 | 作者: 寧德軍 | 來源: IBM | 查看: 663次 | 進入軟件測試論壇討論

        領測軟件測試網  
        本文將向讀者介紹 IBM Rational Functional Tester 的強大的功能和良好的易用性,以及如何幫助測試人員輕松的完成自動化的功能測試。

        1 解析自動化測試的困惑
        在軟件工程領域,如果說有一種工作讓人在痛苦中感受它的價值、在無休止的加班中體會它的苦澀、在技術的進步中體驗它的快樂的話,那它一定是軟件測試。計算機技術發展到今天,自動化測試工具的廣泛應用使人們重新認識到測試的源動力:最優的質量成本,軟件
        開發過程中的測試及各種質量保證活動,無疑是在追求軟件質量成本和收益間的最佳平衡點。

        談到自動化測試,首先我們要明確什么情況下需要自動化。自動化測試的目的是通過自動執行測試腳本,使測試人員在更短的時間內能夠更快地完成更多的軟件測試,并提供以更高的頻率執行測試的能力,從而有效降低測試成本、提高測試效率。從軟件測試的成本來看,使用測試工具進行軟件自動化測試的成本可以以下公式表示:

        自動化測試的成本=測試工具成本+測試腳本的創建成本+測試腳本的維護成本

        既然自動化測試的目的在于降低測試成本、提高測試效率,因此,測試團隊在選擇自動化測試工具時,必須在提高測試效率的同時,盡量做到自動化測試的總體成本小于手工測試成本。因此,自動化測試工具的腳本自動化創建能力和可維護性,就成了衡量自動化測試工具的重要因素。

        在實際的測試工作中,一般說來,我們選擇自動化的功能測試工具無外乎要解決以下三個問題:

        • 自動化的功能回歸測試
        • 大批量數據驅動的軟件測試
        • 整個軟件測試生命周期的管理

        在選擇自動化測試工具解決這些問題的過程中,人們主要關心的問題是使用自動化測試工具創建測試腳本的能力、工具的易用性、測試腳本的編程和擴展能力、測試腳本的參數化技術以及作為軟件開發重要環節的測試工作和其它軟件生命周期管理工具的集成能力。

        因此,擺脫自動化測試困惑的根本途徑,就是理解自動化測試的本質,明確自己的自動化測試需求,選擇合適的自動化測試工具,幫助測試團隊提高效率、降低成本,最終實現軟件開發過程的全過程質量保證。

        2 IBM最新自動化功能測試解決方案:Rational Functional Tester
        IBM Rational Functional Tester(簡稱RFT)是一款先進的、自動化的功能和回歸測試工具,它適用于測試人員和GUI開發人員。使用它,測試新手可以簡化復雜的測試任務,很快上手;測試專家能夠通過選擇工業標準化的腳本語言,實現各種高級定制功能。通過IBM的最新專利技術,例如基于Wizard的智能數據驅動的軟件測試技術、提高測試腳本重用的ScriptAssurance技術等等,大大提高了腳本的易用性和可維護能力。同時,它第一次為Java和Web測試人員,提供了和開發人員同樣的操作平臺(Eclipse),并通過提供與IBM Rational整個測試生命周期軟件的完美集成,真正實現了一個平臺統一整個軟件開發團隊的能力。

        3 使用IBM RFT輕松完成自動化功能測試

        3.1 基于與開發人員同一開發平臺的功能測試
        IBM RFT的最大特色就是基于開發人員的同一開發平臺(Eclipse),為Java和Web測試人員提供了自動化測試能力。如圖一所示,使用RFT進行軟件測試時,我們只要在開發人員工作的Eclipse環境中打開Functional Test透視圖,就會馬上擁有專業的自動化功能測試工具所擁有的全部功能。

        圖一、IBM Rational Functional Test工作界面
        圖一、IBM Rational Functional Test工作界面

        在RFT中實現測試腳本的過程和大部分的自動化測試工具一樣,是基于錄制的腳本生成技術。當我們完成測試用例后,只要在功能測試工具條上選擇測試腳本錄制按鈕,就會啟動測試用例的腳本實現過程。

        如圖二所示,在腳本錄制的"選擇腳本資產"對話框中,用戶可以選擇預定義好的公用測試對象圖和公用測試數據池,也可以選擇在腳本錄制過程中生成私有測試對象圖和數據池。測試對象圖是IBM用來解決測試腳本在不同被測版本間,成功回放的關鍵技術,它為測試腳本的重用提供了重要保證;而測試數據池是IBM用來實現數據驅動的自動化功能測試的重要手段,使用智能化的數據驅動測試向導,測試腳本的參數化幾乎變得易如反掌。

        圖二、"選擇腳本資產"對話框
        圖二、選擇腳本資產對話框

        如圖三所示,在功能測試的錄制監視窗口,測試員可以根據提示啟動被測應用系統,執行測試用例中規定的測試步驟,實現測試腳本的錄制。在測試腳本錄制過程中,測試員可以根據需要插入驗證點和數據驅動的測試腳本,驗證點是在指令中比較實際結果和預期結果的測試點,自動化功能測試工具正是通過它實現對被測系統功能需求的驗證。

        圖三、測試腳本錄制窗口
        圖三、測試腳本錄制窗口

        完成腳本錄制過程以后,RFT會自動生成用工業標準語言Java描述的測試腳本,如下所示:


        import resources.ThirdwithDatapoolHelper;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.*;/** * Description   : Functional Test Script * @author ndejun */public class ThirdwithDatapool extends ThirdwithDatapoolHelper{ /**  * Script Name   : ThirdwithDatapool  * Generated     : 2005-4-17 15:22:36  * Description   : Functional Test Script  * Original Host : WinNT Version 5.1  Build 2600 (S)  *   * @since  2005/04/17  * @author ndejun  */ public void testMain(Object[] args)  {    startApp("ClassicsJavaB");    // Frame: ClassicsCD  classicsJava(ANY,MAY_EXIT).close(); }}

        基于Java的測試腳本,為高級測試軟員提高了更強大的編程和定制能力,測試員甚至可以通過在Helper類中加入各種客戶化腳本,實現各種高級測試功能。

        3.2 使用RFT輕松實現數據驅動的軟件測試
        RFT具有基于向導(Wizards)的數據驅動的功能測試能力。在功能測試腳本的錄制過程中,如圖四所示,我們可以方便選擇被測應用圖形界面上的各種被測對象,進行參數化,通過生成新的數據池字段或從數據池中選擇已存在數據字段,實現數據驅動的功能回歸測試。

        圖四、數據驅動的功能測試
        圖四、數據驅動的功能測試

        在生成測試腳本的同時,RFT還能夠幫助測試員在驗證點中使用正則表達式或使用數據驅動的方法建立動態驗證點。動態驗證點用來處理普通驗證點的期望值隨著輸入參數不同而發生變化的情況。在下面的例子中,如圖五所示,訂單總金額會隨著購買商品數量的不同而變化,通過數據驅動的功能測試方法,測試員首先要對購買的商品數量和訂單總金額進行參數化,然后編輯驗證點中的期望值,將其用數據池中的對應訂單總金額代替,這樣驗證點中的總金額就隨著購買商品數量的不同而得出正確的總金額。通過簡單操作、無需任何編程,測試員就可以很方便地實現動態驗證點的功能。

        圖五、生成動態驗證點
        圖五、生成動態驗證點

        此外,測試員還可以通過在驗證點中使用正則表達式,建立更加靈活的驗證點,保證測試腳本的重用性。

        圖六、正則表達式在驗證點中的應用
        圖六、正則表達式在驗證點中的應用

        3.3 提供多種專利技術,提高腳本的可維護性
        使用IBM Rational Functional Test工具進行Java和Web應用
        系統測試時,標準Java的測試腳本語言,為測試腳本的可重用性和腳本能力提供了第一層保證。此外,通過維護"測試對象圖",IBM為測試員提供了不用任何編程就可以實現測試腳本在不同的被測系統版本間的重用能力。"測試對象圖"分為兩種,一種是公用"測試對象圖",它可以為項目中的所有測試腳本使用;另一種是私有"測試對象圖",它只被某一個管理的測試腳本所使用。在軟件開發的不同版本間,開發員會跟據系統需求的變化,修改被測系統和用于構建被測系統的各種對象,所以測試腳本在不同的版本間進行回歸測試時經常會失敗。因此,通過維護公用"測試對象圖",如圖七所示,測試員可以根據被測應用系統中對象的改變,更新測試對象的屬性值及對應權重,這樣在不修改測試腳本的前提下,就能使原本會失敗的測試腳本回放成功。同時,為了方便測試員對測試對象圖的修改和維護能力,RFT還提供了強大的查詢和查詢定制能力,幫助測試腳本維護人員快速找到變化的測試對象,進行修改和維護工作。

        圖七、測試對象圖的維護
        圖七、測試對象圖的維護

        其次,IBM提供的ScriptAssurance專利技術,使測試員能夠從總體上改變工具對測試對象變更的容忍度,在很大程度上提高了腳本的可重用性。ScriptAssurance技術主要使用以下兩個參數:腳本回放時,工具所容忍被測對象差異的最大門值和用于識別被測對象的屬性權重。使用這種技術,測試員可以通過Eclipse的首選項設定腳本回放的容錯級別,即門值,如圖八和圖九所示:

        圖八、IBM專利技術:ScriptAssurance容錯級別設定
        圖八、IBM專利技術:ScriptAssurance容錯級別設定

        點擊高級,能夠看到各種具體的可接受的識別門值。

        圖九、ScriptAssurance門值設定
        圖八、ScriptAssurance門值設定

        其次,測試員可以根據被測對象實際更改情況,在測試對象圖中(如圖七所示)修改用于回放時識別被測對象的屬性及其權重。在測試腳本回訪時,測試對象的識別分數將由以下公式計算得出:


        int score = 0;for ( int i = 0; i < property.length;   i )score  = (100 - match(property[i])) * weight;

        其中,match()將根據屬性的符合程度返回0~100之間的值,完全符合返回100,完全不符合返回0。

        測試腳本回放成功與否則取決于:識別得分 < 識別門值。通過這一技術,如圖十所示,通過設置恰當的ScriptAssurance門值和為用于識別對象的屬性設置合適的權重,即使在兩個回歸測試的版本間測試對象有多個屬性不同,對象仍有可能被正確識別,腳本仍有可能回放成功。這為測試腳本的重用提供了最大程度的靈活性。

        圖十、ScriptAssrance技術保證腳本的重用
        圖十、ScriptAssrance技術保證腳本的重用

        3.4 與其它生命周期管理軟件的完美集成
        IBM Rational的自動化功能測試工具基于Eclipse平臺,提供了和
        需求管理工具(RequisitePro)、建模工具、代碼級測試工具和變更及配置管理工具(ClearQuestClearCase)的完美集成,這使得系統測試人員能夠和整個軟件開發團隊在同一個軟件平臺上,實現系統功能測試,完成測試腳本的配置管理和缺陷追蹤。

        4 小結
        如果一種軟件工具能夠在提供強健的自動化測試腳本錄制和自動化測試能力的同時,很好地解決測試腳本的可維護性、大批量數據驅動的軟件測試和整個軟件開發生命周期的集成問題,它無疑為降低軟件測試的質量成本提供了重要保證,而IBM Rational Functional Tester正是這樣的工具,它的出現必將使我們的測試生活變得更加美好!

        5 參考資料

        • IBM Rational Functional Tester工具幫助
        • Evaluating Automated Functional Testing Tools by Carey Schwaber and Mike Gilpin



        關于作者
        寧德軍,現為IBM中國有限公司軟件部Rational高級技術專員。在Rational中國工作的三年的時間里,曾經為華為、中興通訊、大唐移動、浙江移動、江蘇移動、武漢精倫等多家公司提供過軟件管理咨詢服務。在此之前,寧德軍曾任職于貝爾阿爾卡特公司,主要從事
        電信交換機、電子商務軟件分析設計和開發工作。參加過ALCATEL多個版本的電信交換機系統、基于JAVA和XML的“WEB系統通信平臺”等軟件項目的開發設計工作。在軟件工程技術方面,寧德軍有著多年的實踐經驗,對于Rational的軟件工程技術有著深刻的理解。目前主要專注于軟件測試技術、面向對象的可視化建模和軟件配置管理等技術的研究。在軟件測試方面,曾為中興通訊、大唐移動、中國移動、中國工商銀行、南瑞電力、UTStarCom等公司進行過專業咨詢服務,內容包括主機和嵌入式軟件的功能、性能、可靠性測試管理咨詢。

        延伸閱讀

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

        TAG: functional rational tester


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