軟件測試自動化中腳本開發經驗分享(2)

發表于:2014-08-27來源:uml.org.cn作者:不詳點擊數: 標簽:腳本
Case3:對2個有序文件進行merge,構造case的時候,構造文件$1,$2進行 merge,如果$1先結束,會造成$1的最后一條還 會不斷打印出來,使文件無序,如果$2文件

  Case3:對2個有序文件進行merge,構造case的時候,構造文件$1,$2進行 merge,如果$1先結束,會造成$1的最后一條還 會不斷打印出來,使文件無序,如果$2文件先結束,則不會出現該情況,構造數據驗證時要注意等價類劃分情況,保證所有情況都被測試到。

  錯誤代碼:

 
77 awk '
78 BEGIN{
79 key_url=""
80 key_all=""
81 ret=1
82 }
83 {
84 if($2<'$OLDEST_TIME') next
85 url=$1
86 while( url>key_url){ ######修改為while(ret>0 && url>key_url)

87 if(key_all) print key_all
88 while((ret=getline line < "'$1'")>0){
89 sp=index(line, " ")
90 tmp_url=substr(line, 1, sp-1)
91 if(tmp_url>key_url){
92 key_url=tmp_url
93 key_all=line
94 break
95 }
96 print line
97 }
98 if(ret==0) break
99 }
100 print
101 }
102 END{
103 if(ret) print line
104 while(ret=getline line < "'$1'"){ #######修改為((ret=getline line < "'$1'")>0 print line
105 print line
106 }
107 }' $2

  4、加快腳本測試方法

  做任何事情,如果想加快,都有一些熟知的方法:1、并行處理; 2、借助于工具,自動化不需要人工介入的部分;3、加快必須人工部分的速度。如果把上面的基本方式映射到我們的腳本測試中:

  4.1 并行執行多個CASE

  我們可以對多次運行做并行化。對于腳本類測試,大多數是挖掘類,基于一個比較復雜的測試周邊環境,但是,不會修改本模塊以外的環境和數據。

  我們可以利用一個周邊環境,部署多個被測程序,通過修改conf來保證運行:

  a)對同一臺機器部署多個不同目錄(減少搭建周邊環境)

  b)對不同機器相同路徑部署(減少修改conf)

  對不同目錄進行不同case運行。比如,新舊對比,性能,功能等同時進行。同時對多個粒度進行測試,避免因為某次運行,占用環境,而堵塞我們的測試過程。

  4.2 借助工具

  自動化操作步驟,這個我們自己可以編寫test腳本來完成,比如性能監控,環境清理等功能。

  借助于自動化通用工具,比如類似編譯器的變量檢查,路徑檢查,函數接口檢查等,實現腳本之間調用關系和數據依賴關系的檢查等。對很多產品線的公共問題,統一處理,這些都是大組、專人來開發和維護。

  4.3 腳本測試技巧

  人是靈活的,不是所有的工作都適合自動化。腳本測試設計中和代碼邏輯強相關的部分,不易自動化,因為自動化要兼容多種可能性的時候,太復雜,而且不能保證100%的準確率,還是需要人工參與,比如:

  問題1:if的異常分支,空文件構造,數據的清空邏輯,數據的歷史維護邏輯,ssh邏輯,如何快速驗證?

  問題2:我們為了不同粒度的測試,需要多次運行腳本,有些腳本運行時間很長,是否可以一次運行,測試完所有粒度的功能?

  上面這個例子中的一些技巧:

  A)異常分支,我們可以通過添加語句mkdir –p a;rm a,來保證#?的檢測

  B)構造各種邏輯,或者看代碼,看是否滿足線上對數據邏輯的需求。

  C)中間數據的保留,對需要長時間運行的代碼塊兒,插上樁,將結果cp到其他文件,縮短時間,后續修改腳本代碼,利用備份的中間文件多次獨立運行,節省時間。

  D)成功運行一次,和多次運行相結合,對中間文件如果在腳本被刪除,需要我們再需要關注的關鍵點cp得到bak文件,運行一次后,保證任何段的代碼(粒度),單獨都可以運行。加上多環境,我們就可以在一次成功運行后,測試完所有的功能,同時并行完成性能測試。)

  E)多機不同用戶部署,可以變為單機不同用戶部署;總控和運行機器,也可以通過單臺模擬,和自己建立信任關系,來驗證功能。

原文轉自:http://www.uml.org.cn/Test/201206143.asp

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