開發與測試的抉擇
當我初入職場時,加入的是一家創業公司,做了一名python後臺開發。記得那時候團隊人力不足,一切的一切都是以完成任務為第一要務,彼時的我們,高歌猛進,連續加班也不覺得累,那時的我,是有激情的,開發上自由度比較大,一切受限於當時的認知水平,完成即可。

image.png
測試?測試與開發比例為1:6(可能比這個還誇張),而且他們還要兼顧ios、android、運營後臺臺的測試任務,人力是嚴重不足的,很多時候,運營人員都充當測試的角色。這樣的壞處就是上線前,總能發現很多bug, 於是,在我加入的第一個月,就經歷了一次上線,一直到凌晨4點才勉強結束,心身俱疲。那時,我還沒有認識到測試的重要性,可以說不怎麼懂得軟體工程這件事,很多時候,我們的上線都是粗糙進行,甚至不用測試,質量完全在於開發工程師的水平,那時的我,同時兼顧了好幾條產品線的開發與維護,疲於應付,加之水平夠菜,很慚愧,跟測試同學關係處的不太好,長期感覺身陷泥潭,這個狀況直到我離職前半年才有所緩和,原因是團隊人員逐漸壯大,我不用那麼費力多線作戰,有條件也有精力去開發與優化程式碼,覆蓋更多的測試用例,還有一個原因是我們轉用golang,不像python寫起來那麼隨意,golang程式碼編譯成功後, 問題相對就會比較少了。
真正讓我認識到測試重要性的是我的第二家公司,也就是現在這家公司。團隊是做公司的支付平臺的(我們沒有支付牌照,只是接其它第三方支付),錢可不是小事,多一分少一釐都不行。開發模式上也發生了很大變化,先出產品需求文件,再來開發設計文件,相關開發測試一起參與評審,一輪不行兩輪,直至達成一致,然後開始迭代開發。因為我們微服務模式,在測試環節,是主打介面測試的,這包括出參與入參、介面邏輯、資料庫變化等等,開始用typescript寫測試程式碼了,看資料庫了,這各工作模式,讓我很驚訝,顯然,這不是我認知中的測試。不過坦白講,從工作量來講,測試要比開發重(雖然剛開始開發也寫測試用例,但是發現測試用例的程式碼比功能程式碼多出好多倍,逐漸寫的少了)。由於這一套開發模式是小團隊作戰,有問題扭頭說一下就行,改完繼續,這樣的好處是開發測試速度很快,質量也很高,當然,是在沒有上線壓力的情況下。這時的我,開始參與github專案,開始更加重視效率這一問題,開始寫更多的測試程式碼,當我邁開大步準備修煉的時候,公司發生鉅變,有其它團隊被併入到支付團隊,而且這些併入進來的團隊有Java棧的,也有php的,工作流也各不相同,但都必須轉golang,於是支付的兄弟們都去支援新進團隊了,我也不例外,沒有了強力的評審流程的支援,面臨緊迫的上線時間線,還有開發與產品異地的溝通問題,新舊團隊的磨合,第三方介面也還在開發中……種種交織,我彷彿又一次身陷泥潭了,這感覺很糟糕,彼時,為了不深陷泥潭,自己不得不扛起更多的開發任務,以致於連續加班一個月,晚上12點還在家裡待命或者處理問題。現在看來,我既輸了格局,也輸了細節。作為專案臨時負責人,自己的任務難道不是相信隊友,協調並爭取更多資源,更多的從全域性看待問題嗎?

image.png
兩家公司,一家ToC, 一家ToB, 不同的技術棧,存在的問題卻是那麼的似曾相識,我曾自問,我付出了什麼?又得到了什麼?讓自己手上的任務完成的更好,而不僅僅只是完成;讓自己變的更好,讓團隊變的更好,這一切都要從自己開始:堅持分享與學習。

image.png
當我重新審視自己的時候發現,我就是想做更好的軟體啊,我可是是一名軟體工程師?在見識過優秀的開源專案與工程師後,我只能算是合格吧,對新技術有熱度,缺深度,對開發是有情懷的,但是天賦與水平擺在眼前,雖然自己不在意年齡,但也確實到了30歲這個傳說中的十字路口,我是沒法放棄做技術的,理想與現實都不允許我這樣做,但卻難以染指男主(架構師),不是還有最佳男配嗎?開發測試?當我萌生這一想法的時候,被自己驚到了,這是在給自己的不進步找藉口?我懂開發,也瞭解測試流程,但是不懂正統的測試理論,測試工具的使用對我來說不是難事,我自己也會用一些工作做測試,我看到的測試問題:流程自動化缺乏,主要在於測試不懂開發,難以定製工具,抽象流程,優點是逆向思維重,而開發正好相反,通常正向思維較重。我的開發經驗是優勢,劣勢自然是缺乏測試經驗。但這些都不是問題,關鍵在於我想做什麼?回想著這幾年的從業之路,頗多感慨,不過唯一能確定的是,工作固然重要,但是沒有成就感也很可怕,做軟體的成就感在於產品簡單好用,這一切離不開產品、開發、測試、運營、客服等等各個環節,而我,能在測試環節做的更好,能做更好的自己,不存在上坡與下坡(雖然這一想法還是被老婆鄙視了),開發與測試本就相輔相成,漸有融合之勢(比如混沌工程開發也未必瞭解),如果有合適的測試開發職位,為了更好的自己,我願一試。老婆提醒我,若你覺得做的不好,又想換成開發,怎麼辦?我坦言,不知道,但是,沒試過,怎麼知道?或許會更好也說不定的。
前路未知,卻又逐漸清晰,我欲乘風歸去,不懼瓊樓玉宇。

image.png