使用WinRunner 進行測試的幾點建議

發表于:2008-02-02來源:作者:點擊數: 標簽:功能測試測試工具winrunner
分解 TestCase 在大型程序測試中,往往有很多任務是可以分開來Record。同時,如果錄制的代碼過長的,進行調試是很麻煩的事情,此外如果今后某一部分的程序進行了修改的話,修改和重新錄制的工作也是非常痛苦的一件使用。因此我們可以將一個TestCase 進行分解
分解TestCase
        在大型程序測試中,往往有很多任務是可以分開來Record。同時,如果錄制的代碼過長的,進行調試是很麻煩的事情,此外如果今后某一部分的程序進行了修改的話,修改和重新錄制的工作也是非常痛苦的一件使用。因此我們可以將一個TestCase 進行分解,分解TestCase 可以采用以下幾種方式
        1、將任務分段,比如Log、Logout、公共窗口的打開、關閉
        2、錯誤處理的分類,比如將某一輸入項目的各中錯誤輸入分開錄制
        3、公共界面的操作函數化統一處理,這種方式主要可以象移動BOSS 的業務受理等不
        同窗口使用同一子界面的情況,如DELPHI/C++ Builder 中的Frame。
將不同任務(TestCASE)的分解之后,我們可以使用call 函數及自定義函數機制來調
用不同的子Script、函數來完成一個的TestCase
        通過隨機組合實現大規模路徑覆蓋
        有時候我們需要將一組數據隨機組合來進行大量數據測試,如填寫某些表單。那么我們
有兩種辦法:一是使用外邊工具隨機生成大量數據,也可用使用先將各個數據按測試要求生
成一小組數據,然后使用rand 方法隨機抽取數據來測試
        偽代碼如下
        data a[];
        date b[];
        for (i=0;i<要測試的次數;i++){
                ca=a[rand()]
                cb=b[rand()]
                dosomething;
        }
        使用這種代碼的好處是隨意調整測試力度,缺點是數據單一,不想外邊工具一樣生產的
數據的多樣化。如果想根據數據分段標準動態產生不同數據,應該使用其他編程工具來生產
而不應采用這種辦法。
        動態修改chk 文件實行參數化的動態Check
        有時候我們知道在測試過程中的某些數據是動態生產的,比如某些按順序或隨機產生的
單號,而我們又往往需要根據這個單號進行一些判斷,比如數據庫中對應的數據是否完整。
還有,當我們需要根據輸入的某些條件來判斷輸出的條件是否正確,這個時候WINRUNNER
就無能為力了,因為它目前沒有提來實現參數化的Check。但是我們可用使用WINRUNNER 的函數及WINNRUNNER 的錄制功能,先錄制一個使用ULTRAEDIT(或類似工具)手工修改chk 文件的函數。然后將要修改的內容參數化,在主SCRIPT 執行Check 以前先調用該函數。
        在Script 里面管理GUI
        使用WINRUNNER 都知道GUI 文件的重要性,MI 推薦的一種方式是專人來管理GUI文件,整個測試使用同一個/系列GUI 文件。但實際我覺得這很困難的,特別是程序比較的話,光是找出所有的窗口就已經是很痛苦的一件事情。我認為應該首先應該將GUI 與SCRIPT同時存儲在同一目錄下。
        然后使用GUI_load 在SCRIPT 開始以前就裝載GUI,在SCRIPT 開始增加:
        if (GUI_load(".\\login.gui")!=0)
        {
        pause ("Can't load login.gui");
        texit;
        }
        使用Winner 做過復雜測試的可能會問,如果不同GUI 文件中的對象名稱相同的話,運
行時候就會出問題。因此我們應該在SCRIPT 完畢的時候加入
GUI_close(".\\login.gui");
        注意恢復測試前的狀態
        此外,如果我們要連續運行多個測試CASE、就必須考慮將被測試程序恢復測試前的狀
態,比如我們在測試SCRIPT A 中打開了窗口A,如果下一個TESTCASE 不需要用到窗口A,
那么在SCRIPT A 窗口A。這樣下一個TESTCASE 才能正常運行。
        如果我們采用采用批處理及CALL 的方式來組織SCRIPT 的話,就應該堅持這樣一個原
則:“誰打開、誰關閉”,這樣才便于管理。
        此外如果對數據庫的操作也要根據具體要求考慮恢復。這些操作可以考慮通過錄制通過
數據庫客戶端的操作來實現。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97