人類高質量程序員也得做這種事?

平時總能聽到技術圈各種各樣的段子。

昨晚在酒吧玩,忽然:

一個測試工程師走進酒吧,要了一杯啤酒;

一個測試工程師走進酒吧,要了一杯咖啡;

一個測試工程師走進酒吧,要了0.7杯啤酒;

一個測試工程師走進酒吧,要了-1杯啤酒;

一個測試工程師走進酒吧,要了一杯蜥蜴;

一個測試工程師走進酒吧,要了一份asdfQwer@24dg!&*(@;

一個測試工程師走進酒吧,什麼也沒要;

一個測試工程師走進酒吧,要了一杯燙燙燙的錕斤拷;

一個測試工程師走進酒吧,要了NaN杯Null;

一個測試工程師把酒吧拆了;

一個測試工程師化裝成老闆走進酒吧,要了500杯啤酒並且不付錢;

一個測試工程師走進酒吧,要了一杯啤酒';DROP TABLE 酒吧;

測試工程師滿意地離開了酒吧。

我看的肚子都餓了,就喊了句:給我來一份蛋炒飯!

結果,酒吧炸了!

最近,又看到有這樣一個關於測試的段子:每個程序員在修改代碼時都希望有測試,在寫代碼時,都不想寫測試

 

希望有測試,是因爲測試可以給我們帶來安全感。不想寫測試,一方面,很多人會覺得麻煩,另一方面,也是更重要的,團隊沒要求。爲什麼很多團隊不要求程序員都寫測試呢?這裏有一個很可悲的答案,因爲大部分程序員根本都不會寫測試

 

爲什麼這麼說?

 

有次培訓,我問大家每次代碼提交之前,對自己編寫的代碼有信心的舉手,不少程序員驕傲地舉起了手。“你在提交之前,會驗證一下嗎?”大部分的手還是高高地舉着。“你是驗證了這次編寫的代碼呢?還是驗證所有的代碼呢?”,所有人一臉茫然。

 

很多人包括你,是不是都認爲只要保證自己的代碼沒問題,就不用去測試所有的代碼了,而且有沒有破壞已有的代碼那是測試的事兒,與我無關。但事實卻是因爲功能太多,測試也力不從心,最終沒人去驗證系統中所有的功能。

 

這纔是大多數團隊在實際開發中的真相。


 

團隊的放任,加上我們總是對自己編寫的代碼有種憑空的自信,讓我們無法準確判斷自己每次提交的代碼最終會帶來什麼樣的影響。所以,我們總能看到在生產環境中出了問題,定位半天最後發現只是一個簡單的錯誤,浪費了大量時間和精力。

 

但其實只需要做個簡單的自動化測試,這就能輕鬆避免。在當下的大環境,測試,尤其是自動化測試,更應該成爲你我技術能力中的“標配”。

 

這裏我們要先走出一個誤區,一般你想到的測試,大都集中在下圖中“已知的未知”這個象限,比如使用不熟悉的庫帶來未知,然後程序員通過在測試中調用和觀察結果來消除未知等。

 

然而,僅僅關注未知是不夠的,我們還得關注已知。在已知的時間和資源中,如何通過測試在成本和獲得安全的保障之間取得平衡;如何通過測試技術改進使原本難以挽回的決定變得不那麼昂貴等,這些都很重要。


上面這張圖出自鄭曄,他曾任職火幣網擔任首席架構師、ThoughtWorks 首席諮詢師。沉浸在軟件行業近二十年,之前就讀過他的很多專欄,乾貨巨多很實用,我都是邊畫思維導圖邊消化,最近,他在極客時間再次推出了新的專欄《程序員的測試課》。


在專欄中,鄭曄系統的梳理了程序員在日常工作中需要如何編寫自動化測試,不玩虛的,直接用案例實戰帶你上手,將所有東西串聯起來,使測試的知識成爲一個整體。

早鳥秒殺+口令「ceshi9999」

到手僅 ¥69,立省 ¥30

 

怎麼樣才能算是會寫測試呢?最好的辦法是跟着會寫測試的人一起寫一段時間,但整體行業的環境決定能提供這樣機會的公司少之又少。大部分人學習測試,還是要通過閱讀。專欄從三大部分教會你一些上手可用的方法。

 

基礎篇,爲你講解關於測試的基礎知識。每節課我都將從實例直接入手,帶你用測試的方式編寫一段代碼,告訴你一個新項目如何去做測試。當我們有了對於編寫測試一個直觀的認識之後,再來了解具體的測試知識,就可以有更深刻的體驗了。

 

應用篇,爲你介紹在一個後端項目中可以怎樣做測試。在這個部分,主要講解使用Spring 框架如何做測試。之所以選擇 Spring 框架,一方面,它的使用非常廣泛;另一方面,它對測試提供了非常好的支持。

 

擴展篇,爲你介紹 TDD 和 BDD 兩項開發實踐。這兩項實踐離很多人的實際工作是有距離的,之所以大多數人不採用這樣的工作方式,思維習慣是一方面,還有一方面就是欠缺測試的基礎。當經過專欄前部分測試的基礎鋪墊後,再來看這些實踐,你會有不一樣的感受。

 

還有很多具體內容,可以看看課程目錄。

 


爭取到了粉絲專屬福利:

到手僅 ¥69,原價 ¥99

早鳥秒殺+口令「ceshi9999立省 ¥30

 

訂閱後生成海報發給好友,

每成功邀請 1 位好友,可得 ¥20 返現。

 


👇 點擊「閱讀原文」

輸入優惠口令 「ceshi9999」

立省 ¥30 入手,僅限 前 50 人

本文分享自微信公衆號 - 凹凸數據(alltodata)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章