前文講到自動化測試的概念胧沫,今天我們來談談自動化測試的意義昌简,也即為什么要做自動化測試占业。
通過觀察業(yè)界的自動化測試實踐,總結(jié)有大致這么幾個點:
一 . 它可以縮短測試周期江场,提高效率
前兩天聽羅輯思維纺酸,講到一個例子,有一位朋友的女兒剛剛學會說話址否,就接管了他的iPad餐蔬,還沒怎么學會走路,就可以用iPad里的App畫畫佑附,并操作一些復雜的任務樊诺。有一天,朋友將一張打印出來的照片放在咖啡桌上音同。他注意到女兒走上前去词爬,努力拖放照片想使它變大。她嘗試了幾次权均,都沒有成功顿膨,然后困惑地看著他:“爸爸,壞了叽赊×滴郑”
人類已經(jīng)養(yǎng)成了一種做一件事情能夠得到反饋的習慣,并且這個趨勢會繼續(xù)下去必指,并且反饋速度越快越好囊咏。就像我們的工資能否變?yōu)榘刺靵戆l(fā)或者按照每小時來發(fā),這樣人類的工作是否更加有干勁呢塔橡?
軟件開發(fā)中的人們也希望寫好代碼快速得到反饋梅割,越快越好,靠手工測試驗證葛家,反饋速度是無法接受的户辞,一個轉(zhuǎn)測試版本測試1周甚至2,3周,人們已經(jīng)沒有耐心了癞谒,能否有什么辦法在1小時咆课,5分鐘,甚至秒級得到反饋扯俱,自動化測試是一種較好的解決辦法,充分利用機器喇澡,集群替代人工迅栅,縮短測試周期,快速反饋結(jié)果晴玖。
二 . 避免人為出錯 說到自動化測試读存,與之對應的就是手工測試为流,所謂“人非圣賢,孰能無過”让簿,傳統(tǒng)的手工測試很大部分依賴于人敬察,簡單概括起來出錯的可能性會有:
- 用例執(zhí)行方法出錯
- 輸入數(shù)據(jù)出錯
- 用例執(zhí)行步驟出錯
- 測試報告數(shù)據(jù)出錯
- 忘了執(zhí)行某些用例
- 忘了設置預置條件
- 錯誤的理解被測系統(tǒng)的行為
通過實現(xiàn)自動化,可以避免出現(xiàn)這些錯誤,同時人類可以把精力投入到更有個價值的工作中尔当。
三. 測試信息存儲 自動化測試主要通過自動化腳本實現(xiàn)莲祸,和傳統(tǒng)的手工用例相比,腳本中可以記錄測試點椭迎,測試拓撲圖锐帜,測試設計思路等信息,是非常理想的測試信息存儲處畜号,即“腳本體現(xiàn)思路”缴阎。
同時帶來的好處是新人接收測試時,可以快速掌握已測試點简软,因為可以通過運行了解測試蛮拔。進而如果對待測試用例像對待代碼一樣,做好版本管理痹升,將達到測試可回溯的目的建炫。
四. 輕易獲取覆蓋率 在較好的自動化框架下,測試執(zhí)行完自動化腳本视卢,可以輕易的獲取到代碼覆蓋率踱卵,進而根據(jù)覆蓋情況分析,進行測試用例補充据过。
五. 其他 比如:自動生成清晰的測試報告惋砂,定時執(zhí)行測試套,數(shù)據(jù)驅(qū)動測試的測試套重用等绳锅。
最后西饵, 自動化測試增強軟件人員的幸福愉悅感。