1. 程式人生 > >測試小故事86:自動化測試

測試小故事86:自動化測試

  記得很早之前的一件事:一起合作的一名手工測試轉向自動化測試,一個不錯的轉變,新的領域和開始。

  過了段時間再次相遇聊到,卻有了一些無耐和迷茫:做的自動化要求全部通過,問之原因是因為要求給客戶看到一切正常的表現;每天在編碼,只是在定位元素,最初設想的從底層的測試提升質量卻基本耗在了介面層上驗證,懷疑為什麼要實現軟體測試的自動化,投入了那麼多時間、花了那麼多錢卻看不到效果。

  我只是笑笑說:自動化,這是個方向,一個趨勢,一個理想,一個前進的動力。也許有些做樣子,同樣也許應該看看他所帶來的益處。做的不好、做的不深入不是自動化本身的錯,真正的原因還在於人。

  其實在我心中,也是苦笑,也存在著同樣的疑惑和迷茫。

  再聊自動化測試:目的 和 成本。

 

  目的。

  自動化測試的目的是什麼?

  自動化測試仍是測試,測試的目的是儘可能早的、儘可能多的發現問題,提升軟體質量是測試工作存在和執行的根本原因。

  儘可能早、儘可能多,這是個效率問題。如何平衡手工和自動化?如何讓彼此產生最大效應?這不僅是技術的問題,還包括過程實施、方法的介入、配合等多方面的問題,需要不斷的摸索。

  手工測試的優勢是什麼、劣勢是什麼?人的主觀能動性高,執行效率低,發現缺陷的效率高。

  自動化測試的優勢是什麼、劣勢是什麼?執行效率高,只是生硬的執行而不能主動發現缺陷。

  也許把那些重複的、確認的、不做大的變動的功能交給自動化來做,比如維護階段;把新的功能的驗證、更多的與人相關實際業務驗證交給手工。把更多早期的方法、功能驗證用自動化實現,重複執行減少底層實現的錯誤率,也許AI的發展可以把人為參與的探索性測試更多的用自動化實現,也許。。。。。。一切都有待驗證。

  如論怎樣,讓自動化參與進來,讓測試的效率提升起來,讓軟體的質量提高起來。

  

  成本。

  軟體最大的成本是人力,如論是手工測試還是自動化測試。與手工測試相比,自動化測試的成本更多了程式碼的實現和維護。

  對於自動化成本更多的疑慮是這些投入是否得到了真正的回報,也就是投入產出是否成比例。

  很遺憾,目前我還沒看到我想要的自動化所能帶來的真正效果。更多的理解和安慰是自動化解決了成熟的系統在維護階段的人力成本投入,還有就是自動化在效能、容量、安全等方面所產生的作用。

  真正長期投入到自動測試的仍是些大公司、產品型的軟體。小公司也會有自動化測試,但更多的是使用成型的工具對基本的功能進行驗證,對軟體質量是否有所提升已經很難評判,不過一份自動化報告的確會讓關心軟體質理的軟體開發者有一絲安慰,會讓軟體使用客戶有一份心安。

  投入、產出是否失調?如何讓投入產生真正的效用,產生更大的效果?做手工測試的時候在考慮,做自動化測試的時候在疑惑,做專案管理的時候在實踐。

 

  改變仍需要時間的驗證。  

  無論目的和成本如何不盡人意,自動化測試仍將繼續,希望自動化測試真正的能做到實處,真正的讓手工與自動化聯合起來,讓測試與開發中的各個階段互動起來,需要做的仍然很多。