寫給一名軟體測試工程師
你要為自己每一次的懦弱而懺悔:曾經不願承認自己出生於農村,曾經不敢面對自己是一名外包員工,曾經一次次的不甘心自己只是一名測試工程師。
不做失敗者
微軟、IBM、Oracle、華為等等,這些公司選拔的測試工程師應該都是出類拔萃的人才。可惜不是你,說起你的大學,就想起郭敬明的《一夢三四年》。你開始想做測試是因為數次面試程序員被拒,但是卻看見了「月薪8000不是夢」的廣告。比起進入外企、國企、名企的同學,比起考上公務員的同學,比起做軟體開發的同學,你在心裡問自己「我是個失敗者嗎?」。我只能說你還沒有成功,但是你已經開始挑戰失敗。
一名測試工程師
你有了正式的Title:「測試工程師」,我只能改編《雙城記》里語句來形容「這是一個最美好的職業,這是一個最糟糕的職業。」
你的腦子裡充斥了各種辭彙「白盒測試、自動化測試、測試工具」,可是開始測試任務以後才發現自己用的最多的測試工具就是缺陷管理工具,用到最多的測試技術就是點、點、點,測試組裡最受重視的是懂業務的老員工,項目組裡最低三下四的是測試。被開發說「這不是BUG,你操作有誤,就是這樣設計的」,被需求人員鄙視「怎麼最基本的業務也不知道?」,測試經理找你談話時委婉的說「在發現BUG的數量上你還需要努力」,馬上就要發版本了,項目經理召集測試組開會「今天開始不要再關注界面的、易用性的、與核心業務無關緊要的BUG」…
受了最多的委屈,拿著項目組裡最低的工資,你都承受下來了,我佩服你。
今天你再回頭看看,肯定會微笑的領會當時的收穫。高強度的手工測試培養了測試的Sense,BUG數量的壓力激發了逆向發散的潛力,研究複雜的業務鍛煉了測試思維。經過與開發、與需求的交鋒,逐漸從逆來順受轉變為對抗。逐漸學著站在項目的角度思考測試,為什麼要提前測試?為什麼要首先關注核心業務?有些BUG為什麼不應該提?
最重要的是你加入了一個團隊。當發現一個牛X的BUG,只有在給大家分享時才覺得無限光榮;當抱怨需求變更時,那麼一幫人一起泄憤才最解氣;當測試一個模塊時,幾個人一起搶BUG那才刺激。
跳出去
逐漸適應了環境,你就開始了幾個階段的胡思亂想:「我不要做手工測試了,我要做自動化測試」;「我不要做測試了,我要轉開發」;「我不要做測試了,我要轉管理」;「我不要在這個公司了,我要換更好的公司」。
當你開始在組裡照葫蘆畫瓢的錄起來自動化測試腳本,你問自己「這就是自動化?」。你覺得用錄製工具沒有技術含量,就開始用開源工具、開始自己寫測試框架,一遍遍調試,面對需求的變更整晚加班來特性化自動測試程序,你對自己說「寫程序真繁瑣」。你受夠了技術工作,開始主動承擔些帶新人、任務分配、計劃文檔編寫等工作,你和別人抱怨說「我怎麼成了個打雜的了?」
那麼回過頭來發現,認認真真投入項目中,仔細研究需求、認真的設計用例、嚴謹的來執行測試、適度的實現自動化、積極的分擔別人的任務,只有這樣才感覺最充實。當面對繁雜的需求文檔,理清了思路畫出了流程圖;當看著自己設計密密麻麻的測試用例;當發現自己在原有框架上所作的特性化修改可以完美地運行;當看著自己負責的測試任務井井有條的進行著,自己輔導的新人積極向上的成長著;這一切的喜悅的感覺,都是全身心投入你目前的工作所換來的。
學無先後
你已經不再是二十歲出頭,開始懷疑自己還能學會新的技術嗎?不是說過了25歲就開始記憶衰退了嗎?那你知不知道,隨著年齡增長,閱歷的豐富,理解和領悟能力會越來越強,雖然你比新人學得慢,但是在項目經驗方面的優勢卻能幫助你有更深入的理解。知識是相通的,就比如當你研究明白了一門編程語言,那麼再學習新的就會很快。測試也一樣,測試工具、測試思想、測試流程都有很多種,不可能樣樣都會,深度的擴展是廣度的前提。
有人說程序員幾天不學習新技術就跟不上時代了,那麼測試工程師在工作中用到的技術卻是穩定的。不斷地重複類似的項目,不斷地重複測試、修改測試腳本,你被惰性包圍了嗎?開始覺得不需要學習了嗎?即使學習了新的技術和思想在項目中用不上又有什麼用?
學了一定要用,大多數時候領導為了規避風險,不會太支持你把新的技術或思想引入測試項目中。原來是傳統迭代流程,你說要學習敏捷;原來是QTP,你說要換Selenium;原來是ST測試,你說要開展ET測試。你必須要私底下多做研究、多做實踐、有較成熟的方案和技術。那麼在真正有機會實施的時候,你才能夠一展拳腳。實踐----學習----實踐,循環中不斷進步。
學習分享,在公司里,你開始學習了一門新技術,很新鮮,很有成就感,心裡竊喜「看他們都不會」。這樣下去有一天你會失落的發現,同事們開始對你的新技術不感興趣,因為他們不理解,你提倡的技術思想因為無人認同而無法執行下去。與同行交流,你想炫耀一下剛學習來的「探索性測試」思想,她給你來一句「和自由測試有啥區別?我早就知道這個」,你想推廣一下敏捷,她給你說「敏捷就是沒有文檔嗎?好啊,終於不用寫文檔了。」你哭笑不得。
這時才會發現,個人的發展和進步,需要團隊的共同進步,需要行業的共同發展。這一切都來源每一個你這樣的測試工程師的進步與分享。
推薦閱讀:
※必備!CAE有限元工程師面試中的純技術問答
※工程師職稱評定流程?如何申請工程師職稱?
※電影《普羅米修斯》里,為何造物主工程師想要毀滅人類?
※深度 | 阿里新供應鏈體系架構解讀
※工程師的五個等級