寫給想作自動化的我和咱們

寫在前面

進入測試行業多年,一直都是在作手工測試或者半自動測試。也接觸了不少同行,都很迫切的但願能作自動化測試,其中不乏工做5年以上的人羣。 我也作測試多年,因沒有編程能力,沒有拿得出手的測試高技能,常常爲換工做苦苦掙扎,切身體會到沒有自動化技能的痛楚。在此,借鑑下前輩們大牛們的經驗,總結些我的體驗和所得。php

想作自動化,首先得了解自動化測試一些常見的問題 

一、什麼叫自動化?css

自動化測試,就是把以人爲驅動的測試行爲轉化爲機器執行的一種過程。即模擬手工測試步驟經過執行程序語言編制的測試腳本自動地測試軟件。通常全部測試階段都適用,多平臺多語言都適用。html

 

二、爲何要進行自動化測試?java

隨着國家計算機信息化的發展,軟件都是須要快速迭代,像一些重複性的工做能夠經過自動化來完成,從而提升工做的效率和準確性,達到快速迭代的目的。更實際的說:python

a. 自動化測試節約成本(根據項目) web

    畢竟自動化測試確實解放了一批人力(人力成本纔是IT公司最大的成本),可讓機器沒日沒夜的執行一些重複勞動。編程

b. 有些測試項目手工很難實現 (手工成本較高)c#

    好比12306的壓力測試、負載測試,同時找那麼多人去測試不現實能夠經過機器去模擬。ruby

c. 項目質量流程須要架構

    好比版本管理須要build verify,以保證check in的code不會影響版本庫。

  

 

三、自動化測試的優缺點

A、優勢

避免測試人員因重複勞動產生厭倦
提升測試效率
保證每次測試地一致性和可重複性
更好的利用無人值守時間
進行一些手工沒法進行的測試
維護成本相對比較高

B、缺點

系統開發時間不必定能縮短
沒有手工測試發現缺陷多
UI layout issue 不容易發現

 

四、什麼樣的項目適合作自動化測試(Dev手一抖,Auto忙一宿)

     有如下幾個特色的項目比較適合自動化測試:

  1. 軟件需求變更不頻繁
  2. 項目週期長
  3. 項目資源充裕
  4. 自動化測試腳本可重複利用

 

五、自動化測試的學習步驟

1. 作好手工測試(瞭解各類測試的知識)->  2. 學習編程語言-> 3. 學習Web基礎-> 4. 學習自動化測試工具 ->5. 學習自動化測試框架 -> 6. 實現自動化測試用例 -> 7. 開發自動化測試工具 ->8. 開發自動化測試框架

 

六、什麼樣的人適合作自動化測試?

a. 擁有代碼能力
    掌握一門開發語言,java、Python、ruby、c#
b. 熟悉被測系統
    好比你是web測試,你就得懂js、css、html、xpath
    你是移動端測試,你就得具有Android 開發基礎和iOS開發基礎,會Debug app
    你是 C/S測試你就要很熟悉TCP、IP協議
c. 掌握一套自動化測試框架(工具)
    好比 selenium/appium
    nunit/testng
    robot framework/cucumber
d. 善於學習,達到知其然知其因此然

曾經QTP很火,曾經Selenium也很火,如今Appium也很火。

IT行業變化太快,軟件行業從桌面軟件到web端,又從web端遷移到移動端,誰也無法預測未來有什麼新技術出現。而咱們做爲軟件行業的從業者,最爲核心的能力就是學習能力。

 

七、選擇什麼工具進行自動化測試

  首先要先確認你所測試的產品是桌面程序(C/S)仍是Web應用(B/S)。

  桌面程序的工具備:QTP、AutoRunner

  Web應用的工具備:QTP、AutoRunner、Robot Framework、Watir、Selenium

  因爲B/S架構的諸多優點,早幾年前大量C/S架構的應用轉爲B/S結構。從而也推進了web開發與測試技術的發展。假如,被測試有產品是C/S架構的,那麼推薦QTP ,QTP在UI自動化測試領域佔到了一半的試用率。因此,足以說明QTP在自動化領域強大,易用性等。學習主流的工具也可使你得到更多的機會。市面上關於QTP的書籍也很是豐富。固然,要想學好QTP ,你必需要掌握VBS腳本語言。

  若是,被測產品是B/S 結構,那麼推薦Selenium ,爲何不是QTP 或其它工具?由於Selenium 對B/S應用支持很好,更重要的一點,它支持多語言的開發,真正的試用Selenium ,你所要掌握的不只僅是一個工具而已,你還須要學習一門語言。我爲何要選擇Selenium?還要學一門語言,這無疑增長了個人學習成本。增長成本的同時,也增長的你的競爭力,並且,在這個過程當中你不僅僅只是學會了一個自動化工具而已,你徹底可使用所學的語言去作更多的事情。

  好吧!假如你決定試用Selenium 了以後,你又面臨了一個新的問題,選擇一門語言。selenium 是支持java、python、ruby、php、C#、JavaScript 。

  從語言易學性來說,首選 ruby ,python

  從語言應用廣度來說,首選 java、C#、php、

  從語言相關測試技術成度(及 資料)來說:ruby ,python ,java

  或者你能夠考慮整個技術團隊主流用什麼語言,而後選擇相應的語言。 

相關文章
相關標籤/搜索