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

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

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

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

    軟件測試工具中使用WinRunner的幾點建議

    發布: 2010-1-05 16:10 | 作者: 網絡轉載 | 來源: 領測軟件測試 | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試工具中使用WinRunner的幾點建議

    分解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 的話,就應該堅持這樣一個原

      則:“誰打開、誰關閉”,這樣才便于管理。

      此外如果對數據庫的操作也要根據具體要求考慮恢復。這些操作可以考慮通過錄制通過

      數據庫客戶端的操作來實現。

      WinRunner 腳本標準格式

      目錄結構

      存放目錄要求:

      1、根目錄與項目名稱相同,如江西移動BOSS 測試目錄為JXBOSS

      2、根目錄下應該是按子項目存放,如SALES、ACCOUNT。如果有公共腳本,存

      放在Share 目錄下面

      3、子項目下面應該根據功能/TestCase 來存放,如果有公共腳本也應該存放在

      Share 目錄下

      4、為存取及備份方便,目錄不能使用中文。使用的名稱應該盡量與開發保持一致

      5、GUI 文件應該存放在腳本的同一目錄,并且名稱相同

      6、正確性測試(使用完全正確數據來檢查程序功能是否完成)目錄名稱規定為

      validity

      以下是一個目錄例子

      JxBoss

      -Sales

      --ChangeSimCard

      --validity

      --CheckSimNoExistAnIdError

      --Share

      --Share

      -Account

      腳本要求

      注釋要求

      腳本創建及修改說明注釋

      每個腳本的開頭注釋格式如下:

      #腳本名稱:文件名稱

      #創建人:創建人

      #創建日期:格式為YYYY/MM/DD

      #功能:腳本完成的功能描述

      #運行前要求:運行前的要打開的窗口及狀態要求、數據庫中的數據要求、被測試

      程序運行目錄等

      #參考文檔:描述錄制代碼是參考的有關設計測試文檔

      #修改歷史:

      # 修改人:

      # 修改 http://www.csai.cn 格式為YYYY/MM/DD

      # 主要修改內容:

      注意創建人及修改人必須是中文完整姓名,不允許使用其它任何名稱。運行前的要求一

      定要描述清楚

      子功能注釋

      

    延伸閱讀

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

    TAG: winrunner WinRunner Winrunner 工具 建議 軟件測試

    21/212>

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