談談自動化測試(二)

lotus_pavilion

前文講到自動化測試的概念,今天我們來談談自動化測試的意義,也即為什么要做自動化測試。

通過觀察業界的自動化測試實踐,總結有大致這么幾個點:

一 . 它可以縮短測試周期,提高效率
前兩天聽羅輯思維,講到一個例子,有一位朋友的女兒剛剛學會說話,就接管了他的iPad,還沒怎么學會走路,就可以用iPad里的App畫畫,并操作一些復雜的任務。有一天,朋友將一張打印出來的照片放在咖啡桌上。他注意到女兒走上前去,努力拖放照片想使它變大。她嘗試了幾次,都沒有成功,然后困惑地看著他:“爸爸,壞了。”

人類已經養成了一種做一件事情能夠得到反饋的習慣,并且這個趨勢會繼續下去,并且反饋速度越快越好。就像我們的工資能否變為按天來發或者按照每小時來發,這樣人類的工作是否更加有干勁呢?

軟件開發中的人們也希望寫好代碼快速得到反饋,越快越好,靠手工測試驗證,反饋速度是無法接受的,一個轉測試版本測試1周甚至2,3周,人們已經沒有耐心了,能否有什么辦法在1小時,5分鐘,甚至秒級得到反饋,自動化測試是一種較好的解決辦法,充分利用機器,集群替代人工,縮短測試周期,快速反饋結果。

二 . 避免人為出錯 說到自動化測試,與之對應的就是手工測試,所謂“人非圣賢,孰能無過”,傳統的手工測試很大部分依賴于人,簡單概括起來出錯的可能性會有:

  • 用例執行方法出錯
  • 輸入數據出錯
  • 用例執行步驟出錯
  • 測試報告數據出錯
  • 忘了執行某些用例
  • 忘了設置預置條件
  • 錯誤的理解被測系統的行為

通過實現自動化,可以避免出現這些錯誤,同時人類可以把精力投入到更有個價值的工作中。

三. 測試信息存儲 自動化測試主要通過自動化腳本實現,和傳統的手工用例相比,腳本中可以記錄測試點,測試拓撲圖,測試設計思路等信息,是非常理想的測試信息存儲處,即“腳本體現思路”。

同時帶來的好處是新人接收測試時,可以快速掌握已測試點,因為可以通過運行了解測試。進而如果對待測試用例像對待代碼一樣,做好版本管理,將達到測試可回溯的目的。

四. 輕易獲取覆蓋率 在較好的自動化框架下,測試執行完自動化腳本,可以輕易的獲取到代碼覆蓋率,進而根據覆蓋情況分析,進行測試用例補充。

五. 其他 比如:自動生成清晰的測試報告,定時執行測試套,數據驅動測試的測試套重用等。

最后, 自動化測試增強軟件人員的幸福愉悅感。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.測試與軟件模型 軟件開發生命周期模型指的是軟件開發全過程、活動和任務的結構性框架。軟件項目的開發包括:需求、設...
    Mr希靈閱讀 21,987評論 7 278
  • 1.測試與軟件模型 軟件開發生命周期模型指的是軟件開發全過程、活動和任務的結構性框架。軟件項目的開發包括:需求、設...
    宇文臭臭閱讀 6,751評論 5 100
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,215評論 2 126
  • 1.問:你在測試中發現了一個 bug ,但是開發經理認為這不是一個 bug ,你應該怎樣解決。 首先,將問題提...
    qianyewhy閱讀 9,291評論 4 123
  • 變量(variable)是任何一門語言的構成基礎, 對 Swift 也不例外. 大家可能會想, 這東西還有什么"細...
    銅鑼燒的夢想閱讀 1,932評論 10 18