無用的自動化測試

2021-06-17 20:21:17 字數 2517 閱讀 2311

自動化測試,特別是ui級的自動化測試是一件費力而不討好的事情。自動化測試使得測試人員疲於應付,朝不顧夕,如坐針氈,苟延殘喘。ui級的自動化測試看起來很美好,就像罌粟,如果你經不住**冒然嘗試,那麼後果很嚴重,下場很慘淡。

也許這個世界上就不應該出現自動化測試這個東西,起碼在中國不應該出現,因為這個是無效的,無用的,宿命是失敗的東西。

應該怪罪於****有用心的積極分子,他們推廣敏捷,推廣自動化測試,推崇人應該追求挑戰,追求自由,應該把重複性的工作交給機器去完成。他們也許目的是崇高的,是正確的,但是在中國推廣這個,他們是不合時宜的,是注定失敗的,因為自動化測試是無用的東西,我們看到過太多的嘗試,太多的失敗,太多的先驅變成先烈,太多的媳婦熬不成婆,所以我們可以自豪的說,中國是沒有自動化測試滋生的土壤的,一切妄圖進行自動化測試的行為最終都會以失敗告終,被遺忘在歷史的角落。

讓我們回到沒有自動化測試的那遺失的美好的時代中吧。那時候沒有自動化發布,沒有自動化打包,800臺機器一台一台人工發布,修改配置檔案。儘管效率不高,但好在可控;儘管人工操作會犯錯(筆者曾經以root身份rm -rf /*過),但人非聖賢孰能無過,大不了影響一下使用者或客戶,這總比絞盡腦汁寫發布指令碼,搭建發布框架要好的多。指令碼和框架寫起來是很費時間的,有那個時間我們早就發完800臺機器了。

那時候也沒有自動化測試回歸。回歸時間緊張?沒關係,中國別的不多,就人多,我多招幾個來點,加班加點的點,總能勉強完成趕上deadline;回歸時人會出錯,從而遺漏bug,沒關係,大不了影響一下使用者和客戶,這總比費盡心力去寫自動化測試指令碼要好,有那個時間去寫指令碼,我們早就回歸完好幾輪了。而且這個專案是一錘子買賣,一咬牙,一閉眼,乙個專案就交付了,一閉眼,一咬牙,乙個版本就發布了。儘管回歸很痛苦,但是忍過去總會守得雲開見月明。

沒有自動化測試的時代確實是測試人員的**時代!從業三年的測試人員,除了點來點去還會什麼?

會寫測試用例?可以不客氣的說,剛畢業的大學生也會寫,價錢便宜還主動加班,用例寫的一坨一坨的,價錢便宜量又足;

懂業務邏輯?不好意思,現代社會變化太快,業務邏輯這東西也不是一成不變的。搞不好哪一天一覺醒來,原先的既定業務邏輯就變成了過去時,懂的越多反而越是負累;

有經驗,做過專案?很可惜,這種經驗不是核心競爭力。但有人成本比你低的時候,經驗完全就是奧尼爾的罰球———可以隨意忽略。

那這個測試人員到底會什麼?答案很簡單————點來點去。除了點來點去,錄乙個bug,跟開發人員爭論,與客戶周璇(很可惜,最底層的測試人員連客戶的影子都見不到),會寫一些專案必須的文件(測試策略,測試計畫。很可惜,低階的測試人員連寫這些文件的權利都沒),除了這些,到底還有什麼呢?

有時候現實就是這麼殘酷,靜下心來仔細想想,除了點來點去,很多測試人員真的什麼都不會。

我不是說寫測試用例,懂業務邏輯是一文不值,這些技能是不錯的,而且經驗有時候確實很重要,但這些都不是核心技能。就像lol和dota裡的英雄,如果他們沒有大招那會怎麼樣?沒有大招的英雄就是萬年隕石坑!同樣沒有核心技能的測試人員自然就不太那麼值錢了。於是只能嘆息自己入錯了行,鄙視開發高薪低能(拿那麼多錢寫的**還全是bug),自怨自艾,不思進取。

讓這樣的乙個群體去做自動化測試,不失敗才是見了鬼。

讓無能之人去做一些有技術含量,甚至是很有挑戰的事情,這才是自動化測試在中國注定失敗的原因。

這就像是讓潘長江去扣籃,讓林黛玉去舉重一樣,能力不足,自然事倍功半,功敗垂成。

說到這裡,我們終於從眾多的流言蜚語中發掘到了一絲事情的真相,確實,在中國,這是國情使然。

其實自動化測試的作用是很明顯的。自動化測試是敏捷的乙個實踐,敏捷提倡讓一切能自動化的工作都自動化起來,比如部署,發布,測試等等。這些都是重複勞動的重災區,解決了這些環節的自動化能很大程度上提公升整個專案團隊的能力與生產率。記住一點,生產率是與能力相關,不太與流程相關。說形象一點,讓林黛玉舉重,你的流程再規範,你教給她的動作再標準,恐怕她也舉不起幾十斤的槓鈴。能力只有一瓢,怎能指望他去充當弱水三千?

所以在這裡我反而不想討論自動化測試真正的意義與實踐,存在即是合理,這點已經足夠說明問題。

在這裡我想要討論的是測試人員怎麼才能真正的去提高自己的水平。放大招很爽,也很厲害,但是6級之前,在那些沒有大招的日子裡,辛苦一點是無法避免的。

開發之所以賺的多說白了就是他們會的多。如果你想賺的比他們多,其實也很容易,比他們會的多就成。當然你也可以完全逆襲,自己開個公司,請一批開發做測試,招一票測試做開發,讓開發也嚐嚐痛苦的滋味,這個也可以,但不在本文討論的範疇之內了。

其實做自動化測試是提公升自己的乙個很好的契機,哪怕你所在的團隊沒有正式的提出要進行自動化,你也可以嘗試著自己去一些這樣的工作,因為一旦你的重複勞動被機器分擔,那麼你完全可以省下不少的時間去自我充電。

混開發也好,做測試也罷,其實都是逆水行舟,不進則退。技術是一條學無止盡的不歸路,如果你沒做好這個準備,請移步,這裡沒有一勞永逸,只有不斷學習,無限迴圈。

於是我的觀點也很清楚了,自動化測試其實是每個測試人員都值得去嘗試的一件事情。開始總是會很痛苦,但是先苦後甜。不要忘了在什麼什麼的時候,女生起初也很痛苦,後來反覆實踐才會有快感出現。所以開始挫折一點是可以接受的。大招總在6級後,陽光總在風雨後,這個道理人人都懂。

web自動化測試是需要一定能力的。

怎麼開始?

我分享過一些資料,儘管有些已經年事已高,但還是比較有幫助的

測試自動化 自動化測試的定義

相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

測試自動化

自動化測試有兩種含義 開發過程的自動化單元測試和功能驗證階段的自動化黑盒測試。這兩者融合到daily build中,是daily build的最重要核心。daily build和自動化單元測試另文詳述,此處主要說說自動化功能測試。自動化測試的投入產出比以及實際應用效果其實不高 自動化測試作為提高測試...