天天看點

熊志男:寫給一名測試工程師

你要為自己每一次的懦弱而忏悔:曾經不願承認自己出生于農村,曾經不敢面對自己是一名外包員工,曾經一次次的不甘心自己隻是一名測試工程師。

不做失敗者

微軟、IBM、Oracle、華為等等,這些公司選拔的測試工程師應該都是出類拔萃的人才。可惜不是你,說起你的大學,就想起郭敬明的《一夢三四年》。你開始想做測試是因為數次面試程式員被拒,但是卻看見了“月薪8000不是夢”的廣告。比起進入外企、國企、名企的同學,比起考上公務員的同學,比起做軟體開發的同學,你在心裡問自己“我是個失敗者嗎?”。我隻能說你還沒有成功,但是你已經開始挑戰失敗。

一名測試工程師

你有了正式的Title“測試工程師”,我隻能改編《雙城記》裡語句來形容“這是一個最美好的職業,這是一個最糟糕的職業。”

你的腦子裡充斥了各種詞彙“白盒測試、自動化測試、測試工具”,可是開始測試任務以後才發現自己用的最多的測試工具就是缺陷管理工具,用到最多的測試技術就是點、點、點,測試組裡最受重視的是懂業務的老員工,項目組裡最低三下四的是測試。被開發說“這不是BUG,你操作有誤,就是這樣設計的”,被需求人員鄙視“怎麼最基本的業務也不知道?”,測試經理找你談話時委婉的說“在發現BUG的數量上你還需要努力”,馬上就要發版本了,項目經理召集測試組開會“今天開始不要再關注界面的、易用性的、與核心業務無關緊要的BUG”…

受了最多的委屈,拿着項目組裡最低的工資,你都承受下來了,我佩服你。

今天你再回頭看看,肯定會微笑的領會當時的收獲。高強度的手工測試培養了測試的Sense,BUG數量的壓力激發了逆向發散的潛力,研究複雜的業務鍛煉了測試思維。經過與開發、與需求的交鋒,逐漸從逆來順受轉變為對抗。逐漸學着站在項目的角度思考測試,為什麼要提前測試?為什麼要首先關注核心業務?有些BUG為什麼不應該提?

最重要的是你加入了一個團隊。當發現一個牛X的BUG,隻有在給大家分享時才覺得無限光榮;當抱怨需求變更時,那麼一幫人一起洩憤才最解氣;當測試一個子產品時,幾個人一起搶BUG那才刺激。

跳出去

逐漸适應了環境,你就開始了幾個階段的胡思亂想:“我不要做手工測試了,我要做自動化測試”;“我不要做測試了,我要轉開發”;“我不要做測試了,我要轉管理”;“我不要在這個公司了,我要換更好的公司”。

當你開始在組裡照葫蘆畫瓢的錄起來自動化測試腳本,你問自己“這就是自動化?”。你覺得用錄制工具沒有技術含量,就開始用開源工具、開始自己寫測試架構,一遍遍調試,面對需求的變更整晚加班來特性化自動測試程式,你對自己說“寫程式真繁瑣”。你受夠了技術工作,開始主動承擔些帶新人、任務配置設定、計劃文檔編寫等工作,你和别人抱怨說“我怎麼成了個打雜的了?”

那麼回過頭來發現,認認真真投入項目中,仔細研究需求、認真的設計用例、嚴謹的來執行測試、适度的實作自動化、積極的分擔别人的任務,隻有這樣才感覺最充實。當面對繁雜的需求文檔,理清了思路畫出了流程圖;當看着自己設計密密麻麻的測試用例;當發現自己在原有架構上所作的特性化修改可以完美地運作;當看着自己負責的測試任務井井有條的進行着,自己輔導的新人積極向上的成長着;這一切的喜悅的感覺,都是全身心投入你目前的工作所換來的。

學無先後

你已經不再是二十歲出頭,開始懷疑自己還能學會新的技術嗎?不是說過了25歲就開始記憶衰退了嗎?那你知不知道,随着年齡增長,閱曆的豐富,了解和領悟能力會越來越強,雖然你比新人學得慢,但是在項目經驗方面的優勢卻能幫助你有更深入的了解。知識是相通的,就比如當你研究明白了一門程式設計語言,那麼再學習新的就會很快。測試也一樣,測試工具、測試思想、測試流程都有很多種,不可能樣樣都會,深度的擴充是廣度的前提。

有人說程式員幾天不學習新技術就跟不上時代了,那麼測試工程師在工作中用到的技術卻是穩定的。不斷地重複類似的項目,不斷地重複測試、修改測試腳本,你被惰性包圍了嗎?開始覺得不需要學習了嗎?即使學習了新的技術和思想在項目中用不上又有什麼用?

學了一定要用,大多數時候上司為了規避風險,不會太支援你把新的技術或思想引入測試項目中。原來是傳統疊代流程,你說要學習靈活;原來是QTP,你說要換Selenium;原來是ST測試,你說要開展ET測試。你必須要私底下多做研究、多做實踐、有較成熟的方案和技術。那麼在真正有機會實施的時候,你才能夠一展拳腳。實踐—-學習—-實踐,循環中不斷進步。

繼續閱讀