天天看點

如何學習自動化測試

本篇文章轉自網絡,學習收藏,轉載請聯系原作者。

原文出處:http://www.cnblogs.com/TankXiao/p/3316355.html#automationDisplin

自動化測試是我們進階軟體測試人員必備的技能。進階軟體測試人員不光會做測試,還會做開發。

我從自己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. 開發自動化測試架構

自動化測試的最高境界是:  開發測試工具,設計自動化測試架構, 讓别人用。

自動化測試的本質是:用程式測試程式。 也就是說學習“程式設計語言”是學習自動化測試的基礎。

很多人問我學自動化測試,應該去學什麼自動化工具。 我的回答是,第一步:應該先學習程式設計語言,以後再去學自動化測試工具

自動化測試是一定要寫代碼的, 程式設計語言水準的高低決定了自動化測試水準的高低, 有了紮實的程式設計技術,幹什麼都可以。

學習程式設計語言時, 要把自己當做開發人員, 系統地學習各種程式設計知識。

很多新手一開始,就學習複雜的自動化測試工具, 我覺得這樣是本末倒置了。

如果不先了解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自動化測試分兩類: 

第一類是:模拟使用者真實操作,比如,模拟點選滑鼠,鍵盤輸入,等,去操作浏覽器上的控件。 (代表架構有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 

如何學習自動化測試

繼續閱讀