談自動化精神
關於自動化這個被炒了無數次的概念,我不想再多說什麼了。這裡我想提一個概念,我暫且把它叫做自動化精神,意思是盡一切可能讓程式來對程式負責,讓程式碼來保障程式碼,讓軟體來管理軟體,因為傳統方式裡,這些都是由人來做,不管這個人多麼熟練細心、人出錯的機率也絕對遠遠大於機器,這就是自動化精神。
我經常覺得自動化總被跟測試繫結在一起來說,企業招聘動不動就問你會不會自動化測試。筆者看來,現在特別是國內的IT公司裡,需要自動化遠遠不止測試這個領域。我們來細數專案團隊中那些由人來做的事吧:
- 產品設計需求,發起專案
- 設計師美工設計產品原型
- 開發構建框架完成程式開發
- 打包部署工程師完成安裝包製作
- 測試按照需求驗證結果
- 市場客服人員收集使用者反饋
- 開發、測試、產品針對反饋不斷的改善產品
在每一個環節中,其實都存在許多本來由人來做但是卻可以被機器代替來做的事。機器代替人來做一來可以7x24不停歇,二來機器在一定的規則範圍內也絕對不會出錯。而這些統統都可以叫做自動化,現代IT行業不再是人海戰術堆積苦力幹活的時代了,專案也不再是動不動上百人規模了,技術的水平也允許機器在遵循規則的時候可以更加智慧高效了。在各個公司、各個團隊,其實大家都或多或少正在做著自動化的事:
- 因為需求經常變更,有的團隊會自研發需求變更管理系統,把需求分模組的儲存和組合,變化的畢竟大多數情況下是個別模組,這樣各個模組獨立維護也能方便的衍生出各種User Story
- 美工做出來的icon,為了適應瀏覽器的併發下載模型,經常需要被合成整圖然後頁面按座標訪問,但是任何單個icon的變更,意味著整圖也需要重新合成,於是有些團隊的前端工程師就會研發工具來自動做這件事
- 開發寫完程式碼,許多團隊裡經常會互相review,畢竟程式碼的質量直接決定了產品的質量,同時也會使用靜態程式碼檢查程式,讓程式碼來檢查程式碼,更優秀的團隊會隨時更新完善靜態程式碼檢查的邏輯,使得工具能夠與時俱進甚至自我學習進化
- 測試就不必多提了,為了驗證功能經常要重複的執行很多重複的操作,然後檢查日誌、檢視資料庫、稽核頁面,這些都可以被機器來代替,甚至衡量監控產品軟體長期執行的效能和資料,讓程式來監視檢查程式,效率比人要高得多
- 打包部署裡一個很火的概念就是持續整合,Hudson/Jenkins的日益流行,讓每天團隊的進度都可以被自動的做一個總結,方方面面的做一個稽核,從編譯、到單元測試、到打包、到部署、到功能自動化、到issue/bug統計、到最終報表的生成。這一切都在有條不紊的進行著,而且是由機器來完成,而不是一群不同職能的人跑來跑去……
- 市場客戶的工作裡,為了服務10萬使用者公司不可能僱傭10萬客服,可以根據使用者的問題進行20/80分類然後把常見固定模式匹配的使用者諮詢,做成機器人程式,機器人客戶來智慧回答,只有剩下20%的複雜場景需要真實的客服人員介入提供服務。
- 市場運營收集使用者的資料進行分析,就更不用多做解釋了:Google Analysis,網際網路的人都懂的
其實這一切都是在讓機器代替人來做事,也是未來必然發生的改變。本質上來說它們都是自動化的範疇,當然Google/Facebook喜歡稱呼它們為工具文化,而在中國測試領域平均技術水平的落後,也導致了這些例子其實由測試人員來完成的部分寥寥無幾。筆者覺得拋開測試和開發不說,企業是需要這種角色來完成這些自動化工作的,可以稱呼它們為自動化工程師,而企業也時刻需要鼓勵團隊擁有這種自動化精神,然後就不必再區分什麼開發、測試的職位定義了,整個團隊時刻不忘自動化精神,提高工作效率降低出錯機率最終產出更出色的產品。
當然,這一切都是隻是筆者的個人願景而已,大部分的公司還是在守舊堅持傳統的方式,用堆人來解決問題,惡性迴圈下人的技能也被固定死了……
相關文章
- Android 談談自動化測試Android
- 淺談自動化測試
- 淺談SAP Cloud for Sales 自動化Cloud
- 談談最近做的一個自動化平臺
- 淺談倉儲UI自動化之路UI
- 淺談自動化構建之grunt
- 淺談自動化構建之gulp
- 淺談自動化測試框架開發框架
- JB測試之旅-淺談自動化知識
- [淺談 ui 自動化專案的個人套路]UI
- 談軟體自動化測試工具的評測方法
- java自動化——web自動化複習JavaWeb
- FastDFS作者餘慶談真正的開源精神AST
- 自動化
- 介面自動化與ui自動化區別UI
- Selenium自動化實現web自動化-1Web
- 自動化測試系列 —— UI自動化測試UI
- 自動化(五)
- appium自動化APP
- 前端自動化前端
- 【自動化】淺度分析自動化行業,深度好文!行業
- 漫談前端自動化測試演進之路及測試工具分析前端
- 精神股東淺談部落格園盈利的問題
- 什麼是任務自動化與流程自動化? - infoworld
- 【自動化測試入門】自動化測試思維
- [自動化]基於kolla的自動化部署ceph叢集
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- jenkins 自動化流程Jenkins
- python 介面自動化Python
- java自動化——testNGJava
- Maven 自動化部署Maven
- 全自動化介面
- selenium自動化操作
- Httpclient 介面自動化HTTPclient
- Maven自動化部署Maven
- 自動化構建
- 前端流程自動化前端
- 自動化之旅--AppiumAPP