如何學習自動化測試

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

原文出處: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程序的自動化測試, 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 

 

 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章