第二章:如何學習自動化測試

最近園子裏不少作軟件測試的朋友問我,如何學習自動化測試(Automation test)。 有些人說日常的測試工做很枯燥無味,沒有技術含量,迷失了方向。 還有的說閒得要命,想學點自動化測試。html

自動化測試是咱們高級軟件測試人員必備的技能。高級軟件測試人員不光會作測試,還會作開發。web

我從本身8年的經驗出發,總結了下我對自動化測試的見解。若有不對的地方, 還請你們糾正。正則表達式

 

閱讀目錄數據庫

  1. 軟件自動化測試的學習步驟
  2. 自動化測試的本質
  3. 自動化測試學習的誤區
  4. 自動化測試的職位
  5. 自動化測試分類
  6. Web自動化測試分類
  7. 自動化測試的知識點
  8. 自動化測試的書籍推薦
  9. 自動化測試工具

 

軟件自動化測試的學習步驟

大概步驟以下:編程

1. 作好手工測試(瞭解各類測試的知識)->  2. 學習編程語言-> 3. 學習Web基礎(HTML,HTTP,CSS,DOM,Javascript)或者 學習Winform瀏覽器

-> 4. 學習自動化測試工具 ->5. 學習自動化測試框架 -> 6. 實現自動化測試用例 -> 7. 開發自動化測試工具 ->8. 開發自動化測試框架

框架

自動化測試的最高境界是:  開發測試工具,設計自動化測試框架, 讓別人用。編程語言

自動化測試的本質

自動化測試的本質是:用程序測試程序。 也就是說學習「編程語言」是學習自動化測試的基礎。工具

不少人問小坦克我學自動化測試,應該去學什麼自動化工具。 個人回答是,第一步:應該先學習編程語言,之後再去學自動化測試工具post

自動化測試是必定要寫代碼的, 編程語言水平的高低決定了自動化測試水平的高低, 有了紮實的編程技術,幹什麼均可以。

學習編程語言時, 要把本身當作開發人員, 系統地學習各類編程知識。

 

自動化測試學習的誤區

不少新手一開始,就學習複雜的自動化測試工具, 我以爲這樣是本末倒置了。

若是不先理解HTTP協議, 就不會理解Jemeter, LoadRunner, Fiddler, SoapUI這些工具的。

若是不先理解HTML,DOM, 就不會理解Firebug 這種工具的

若是不先理解Win32 API,  就不會理解Windows 窗體自動化測試的原理的。

若是本身沒有開發過網站, 就不會理解網站的各個方面,測試起來不免有遺漏。

 

總之學習自動化測試,須要按部就班, 把基礎打好。

 

自動化測試的職位

自動化測試工程師的職位叫作: (SDET) Software Development Engineer in Test.   專一於自動化測試

手動測試工程師叫:               (STE)Software test enginer.           專一於手動測試

在微軟有不少SDET的職位,可是沒有STE的職位, STE職位通常都是外包給外包公司的,  目前自動化測試仍是很是吃香的。

 

自動化測試分類

自動化測試也有很是多的種類, 

  1. 對Web UI 的自動化測試程序
  2. 對Windows 窗體UI的自動化測試程序
  3. API測試, 好比(測試WCF service, Web API 等)
  4. 數據庫測試, 好比測試存儲過程
  5. 接口測試 (這種只能用自動化測) 
  6. 單元測試
  7. 性能測試, 性能測試都須要用到自動化

Web自動化測試分類

目前大部分項目都是Web的, 因此咱們說的自動化測試,大部分都是針對Web程序的自動化測試, Web自動化測試分兩類: 

 

第一類是:模擬用戶真實操做,好比,模擬點擊鼠標,鍵盤輸入,等,去操做瀏覽器上的控件。 (表明框架有selenium-webdriver,   VS Coded UI)

這類的自動化測試的是經過高級語言(C#, JAVA, Python 等)來調用selenium的一些工具來操做瀏覽器,幫助咱們實行Web UI自動化

 

第二類是:模擬HTTP請求。 相似於這種【12306火車票網站自動登陸工具】, 這方面的知識,目前市面上資料比較少。 (之後我會出一個系列的教程)

 

自動化測試的知識點 

應該像開發人員同樣的心態去學習技術, 自動化測試須要掌握如下的知識:

 

瞭解Javascript, CSS的知識。 

熟練掌握DOM和HTML知識, (用來解析Web界面)

熟練掌握XML技術,(須要用XML保存測試數據,用XML展示測試報告)

熟練使用C# P/inoke技術調用Windows API (能夠用來操做Winform 窗口)

熟練掌握窗體"句柄"的概念

熟練使用C# 操做Windows 註冊表 

熟練使用C# 中的Process 類

熟練掌握數據庫的基本操做語句 (測試數據庫確定要用到)

熟練掌握HTTP協議的知識 (請參考個人 HTTP系列博客 [HTTP協議詳解])

熟練掌握C# 中的HttpWebRequest 類的用法 (用於模擬HTTP請求)

熟練掌握正則表達式

 

自動化測試的書籍推薦

關於軟件自動化測試的書,真心很少, 我查過市面上全部關於自動化測試的書,只找到下面這邊書, 掌握了這邊書,基本上自動化測試就入門了。 

 

  

 

自動化測試工具

測試套件工具: JUnit,  Nunit,  MSTest,  這幾個工具功能都同樣學起來比較簡單。   

性能測試工具: JMeter, VSTS 負載測試, LoadRunner(收費), QTP(收費)

Web UI 測試框架:WebDriver/Selenium,  VSTS Coded UI, Watri

Windows UI 測試框架:VSTS Coded UI 

其餘工具:   firebug,  Fiddler 

 

 
相關文章
相關標籤/搜索