1. 程式人生 > >軟體測試系列二自動化測試

軟體測試系列二自動化測試

 1. 什麼是自動化測試?你理解的自動化測試的表現形式是什麼? 
自動化測試的一般定義:各種測試活動的管理與實施,包括測試指令碼的開發與執行,以便使用一種自動化測試工具來驗證測試需求。
注:不用將自動化測試的概念理解的過於狹窄,只i關係由工具或程式設計產生的測試指令碼。實際上自動化一詞包含了更為廣闊的含義。


一個好的自動化測試工具其實與一個好的開發工具有很多相似的特性,也可以說:一個自動化測試過程實際也是一個軟體開發的過程




2GUI 自動化測試工具特點
支援指令碼語言(Scripting Language)
  支援多種常用的變數和資料型別
  支援陣列、列表‘結構‘以及其他混合資料型別
  支援各種條件迴圈(if ,select  Case等語句)
  支援迴圈(For,While)’
  支援函式的建立和呼叫
  Perl‘VBSctipt、javascript,指令碼語言的功能越強大,就越能夠為測試開發人員提供更靈活的
  使用空間,而且又肯呢個用一個複雜的語言寫出比被測軟體還要複雜的測試系統
對程式介面中物件的識別能力
  滑鼠位置識別,物件識別,點陣圖物件識別(影象比較)
支援函式的可重用
  指令碼比較容易實現對函式的呼叫,指令碼與被調函式之間的引數傳遞
支援外部函式庫
  如WIndows中DLL訪問,如採用
支援抽象層
分散式測試支援
 支援資料驅動測試
支援錯誤處理
支援原始碼管理
支援指令碼的命令方式執行
GUI錄製回放方式
錄製/回放工具解決的問題:記錄使用者操作不走,當代碼被修改後,可以重複進行迴歸測試


自動化測試是一個廣義的說法,具體的說應該包括白盒(代  碼)自動化測試,GUI自動化測試和效能自動化測試等方面
 GUI自動化測試的原理:通過軟體模擬使用者實際的滑鼠和鍵盤操作,實現自動化執行和測試的過程


 效能自動化測試原理:通過在客戶端模擬多虛擬使用者併發請求,檢驗和驗證伺服器的效能行為是否滿足系統要求


自動化測試的有優點
1.對程式的新版本執行已有的測試 提高迴歸測試的執行效率
2可以執行更多更頻繁的測試 ,可以在較少時間內執行更多的測試
3.可以執行一些手工測試困難或不可能做的測試,模擬多個使用者進行併發測試
4.更好的利用資源,將繁瑣的任務自動化,利用晚上和週末的時間執行自動化測試
5測試具有一致性和可重複性 可以重複多次相同的測試,可以在不同配置下測試,
可以在不同的作業系統測試
6測試的複用性
7.縮短測試時間和週期 


自動化測試的限制
不能取代手工測試
手工測試比自動化測試發現的缺陷更多
對測試智聯的依賴性極大
自動化測試不能提高有效性
工具本身不具有想象力
自動化測試的誤區
所有的測試都能夠實現自動化
既然自動化測試能如此顯著地提高生產率,就能以更少的人員完成所有的測試(精簡人員)
自動化測試如此簡單,無需任何培訓
自動化方法將縮減整體測試工作量
我們無需制定任何測試方案和測試設計工作