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

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

  • <strong id="5koa6"></strong>
  • 使用 J2EE 和 STAF/STAX 實現全生命周期的自動化回歸測試(3)

    發表于:2012-03-16來源:IBM作者:楊銳 張沖 支雷點擊數: 標簽:自動化回歸測試;J2EE
    對于 測試用例 ,可以將其保存在 VM 鏡像中,隨鏡像的啟動自動部署,也可以使用 STAF 的 File System 服務自動下載。原理相同,不再贅述。 回頁首 執行 測

      對于測試用例,可以將其保存在 VM 鏡像中,隨鏡像的啟動自動部署,也可以使用 STAF 的 File System 服務自動下載。原理相同,不再贅述。

      回頁首

      執行測試用例

      使用 python 管理測試信息

      Python 是一種功能強大的編程語言。Python 簡潔的語法和對動態輸入的支持,再加上解釋性語言的本質,使得它在大多數平臺上的許多領域都是一個理想的腳本語言,特別適用于快速的應用程序開發。

      STAF 的執行引擎 STAX 就是基于 Python 實現變量和表達式的處理。也就是說除了 STAX 語言之外,用戶也可以使用任何的 Python 庫。這種特性極大地豐富了 STAX 的功能,給用戶帶來了方便。

      通常來說,總是由一組測試用例來測試軟件的一個功能,我們把這一組用例叫做一個 Bucket 并用一個與之同名的 Python 文件管理所有的信息。格式如下:

      清單 3. Bucket 的 Python 文件格式

    				
    ## Comment: Enter the bucket name here 
    bucketName='bucket1'
    
    ## Comment: Enter the owner of the bucket, Your short internet email address 
    owner='Susan'
    
    …………
    …………
    
    #List of testcases need to run 
    bucket=[ 
        'com.xxx.testcase1', 
        'com.xxx.testcase2', 
        'com.xxx.testcase3', 
    ] 
    

      一次回歸測試一般都需要執行很多的 Bucket,而每個 Bucket 的 Python 文件不能完全記錄每個 Bucket 的執行條件和場景,所以我們新建了一個 Python 文件來集中記錄所有 Bucket 的執行場景以及 STAX 引擎所要用到的變量和表達式,暫命名為 RegInfo.py。這個文件方便與集中管理每個 Bucket 的信息,有利于維護和查找。其格式如下:

      清單 4.RegInfo.py

    				
     staxMonitor = 'reg1.XXX.com'
    mailServer = 'reg1.XXX.com'
    clientMachine = 'reg1.XXX.com'
    scenario = 'Reg_01A'
    release = 'releaseMain'
    workSpaceHome = 'c:/fvt/regression'
    UtilLoc = 'c:/StaxUtil.xml'
    importDataPath = 'c:/fvt/data'
    port = '4444'
    user = 'ntUser'
    Password = 'ntPwd'
    directoryDuration = '90s'
    compileDuration = '5m'
    testDuration = '60m'
    classpath = '%s;%s/classes;%s/lib'%(workSpaceHome,workSpaceHome, workSpaceHome) 
    java142 = 'c:\\Java142\\bin\\'
    java150 = 'c:\\Java50\\bin\\'
    java160 = 'c:\\Java60\\bin\\'
    javaVer = java160 
    NTV8 	 = 'NTUWV8'
    NTV9 	 = 'NTUWV9'
    NTV95 	 = 'NTUWV95'
    
    emailList = [ 
        'yruicdl@cn', 
        'zhilei@cn'
    ] 
    BucketList = [ 
        ['bucket1',NTV8ONLY,javaVer,JCCALL], 
        ['bucket2',NT9ABOVE, javaVer,JCCALL,'xmldb'], 
        ['bucket3',NT95ABOVE, javadecFP,JCC3MABOVE,'sample'], 
    ] 
    serverList = [ 
        ['reg1.XXX.com', NTV8 ], 
        ['reg2.XXX.com', NTV9 ], 
        ['reg3.XXX.com', NTV95 ], 
    ] 
    

      在下一節中會詳細介紹 STAX 引擎是如何使用這些信息來自動執行測試用例的。

      使用 STAF/STAX 自動執行測試

      STAX 提供一種基于 XML 的,專為自動化而設計的編程語言。STAX 執行引擎以這個 XML 為輸入來管理引擎的行為和任務的執行。所有的 STAF 服務都可以被 STAX 任務所調用。

      我們建立一個 XML 文件作為執行回歸測試的 STAX 任務,命名為 RegExec.xml。首先 RegExec 需要載入 RegInfo.py 從而讀入所需要的信息。腳本如下:

      清單 5. 在 STAX 任務中載入 Python 文件

    				
     <block name='"Regression Test -- Validating T%s driver"%(driverType)'> 
        <sequence> 
            <!-- Get Global Variables Step 1--> 
            <script> 
                import sys 
                try: 
                    sys.path.index('c:/stax/var') 
                except: 
                    sys.path.append('c:/stax/var') 
                import RegInfo as reg_type
    				reload(reg_type)
            </script> 
                       
            <import 
                machine="reg_type.clientMachine"
                file="reg_type.UtilLoc" /> 
    		
            <script> 
                debug = 1 # Set to 0 (no debug) or 1 (debug) 
                dirTimerDuration = reg_type.directoryDuration 
                compileTimerDuration = reg_type.compileDuration 
            </script> 
    
    	…………
            …………
    

      在載入回歸測試需要的信息之后,STAX 引擎將真正開始執行回歸測試。測試的第一步是在測試機上為每個 Bucket 建立一個存放日志的目錄,以便測試人員方便的找到每個 Bucket 的日志來分析問題。建立日志目錄的腳本如下:

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>