熊志男:寫給一名測(cè)試工程師
你要為自己每一次的懦弱而懺悔:曾經(jīng)不愿承認(rèn)自己出生于農(nóng)村,曾經(jīng)不敢面對(duì)自己是一名外包員工,曾經(jīng)一次次的不甘心自己只是一名測(cè)試工程師。
不做失敗者
微軟、IBM、Oracle、華為等等,這些公司選拔的測(cè)試工程師應(yīng)該都是出類拔萃的人才。可惜不是你,說起你的大學(xué),就想起郭敬明的《一夢(mèng)三四年》。你開始想做測(cè)試是因?yàn)閿?shù)次面試程序員被拒,但是卻看見了“月薪8000不是夢(mèng)”的廣告。比起進(jìn)入外企、國企、名企的同學(xué),比起考上公務(wù)員的同學(xué),比起做軟件開發(fā)的同學(xué),你在心里問自己“我是個(gè)失敗者嗎?”。我只能說你還沒有成功,但是你已經(jīng)開始挑戰(zhàn)失敗。
一名測(cè)試工程師
你有了正式的Title“測(cè)試工程師”,我只能改編《雙城記》里語句來形容“這是一個(gè)最美好的職業(yè),這是一個(gè)最糟糕的職業(yè)。”
你的腦子里充斥了各種詞匯“白盒測(cè)試、自動(dòng)化測(cè)試、測(cè)試工具”,可是開始測(cè)試任務(wù)以后才發(fā)現(xiàn)自己用的最多的測(cè)試工具就是缺陷管理工具,用到最多的測(cè)試技術(shù)就是點(diǎn)、點(diǎn)、點(diǎn),測(cè)試組里最受重視的是懂業(yè)務(wù)的老員工,項(xiàng)目組里***三下四的是測(cè)試。被開發(fā)說“這不是BUG,你操作有誤,就是這樣設(shè)計(jì)的”,被需求人員鄙視“怎么最基本的業(yè)務(wù)也不知道?”,測(cè)試經(jīng)理找你談話時(shí)委婉的說“在發(fā)現(xiàn)BUG的數(shù)量上你還需要努力”,馬上就要發(fā)版本了,項(xiàng)目經(jīng)理召集測(cè)試組開會(huì)“今天開始不要再關(guān)注界面的、易用性的、與核心業(yè)務(wù)無關(guān)緊要的BUG”…
受了最多的委屈,拿著項(xiàng)目組里***的工資,你都承受下來了,我佩服你。
今天你再回頭看看,肯定會(huì)微笑的領(lǐng)會(huì)當(dāng)時(shí)的收獲。高強(qiáng)度的手工測(cè)試培養(yǎng)了測(cè)試的Sense,BUG數(shù)量的壓力激發(fā)了逆向發(fā)散的潛力,研究復(fù)雜的業(yè)務(wù)鍛煉了測(cè)試思維。經(jīng)過與開發(fā)、與需求的交鋒,逐漸從逆來順受轉(zhuǎn)變?yōu)閷?duì)抗。逐漸學(xué)著站在項(xiàng)目的角度思考測(cè)試,為什么要提前測(cè)試?為什么要首先關(guān)注核心業(yè)務(wù)?有些BUG為什么不應(yīng)該提?
最重要的是你加入了一個(gè)團(tuán)隊(duì)。當(dāng)發(fā)現(xiàn)一個(gè)牛X的BUG,只有在給大家分享時(shí)才覺得無限光榮;當(dāng)抱怨需求變更時(shí),那么一幫人一起泄憤才最解氣;當(dāng)測(cè)試一個(gè)模塊時(shí),幾個(gè)人一起搶BUG那才刺激。
跳出去
逐漸適應(yīng)了環(huán)境,你就開始了幾個(gè)階段的胡思亂想:“我不要做手工測(cè)試了,我要做自動(dòng)化測(cè)試”;“我不要做測(cè)試了,我要轉(zhuǎn)開發(fā)”;“我不要做測(cè)試了,我要轉(zhuǎn)管理”;“我不要在這個(gè)公司了,我要換更好的公司”。
當(dāng)你開始在組里照葫蘆畫瓢的錄起來自動(dòng)化測(cè)試腳本,你問自己“這就是自動(dòng)化?”。你覺得用錄制工具沒有技術(shù)含量,就開始用開源工具、開始自己寫測(cè)試框架,一遍遍調(diào)試,面對(duì)需求的變更整晚加班來特性化自動(dòng)測(cè)試程序,你對(duì)自己說“寫程序真繁瑣”。你受夠了技術(shù)工作,開始主動(dòng)承擔(dān)些帶新人、任務(wù)分配、計(jì)劃文檔編寫等工作,你和別人抱怨說“我怎么成了個(gè)打雜的了?”
那么回過頭來發(fā)現(xiàn),認(rèn)認(rèn)真真投入項(xiàng)目中,仔細(xì)研究需求、認(rèn)真的設(shè)計(jì)用例、嚴(yán)謹(jǐn)?shù)膩韴?zhí)行測(cè)試、適度的實(shí)現(xiàn)自動(dòng)化、積極的分擔(dān)別人的任務(wù),只有這樣才感覺最充實(shí)。當(dāng)面對(duì)繁雜的需求文檔,理清了思路畫出了流程圖;當(dāng)看著自己設(shè)計(jì)密密麻麻的測(cè)試用例;當(dāng)發(fā)現(xiàn)自己在原有框架上所作的特性化修改可以***地運(yùn)行;當(dāng)看著自己負(fù)責(zé)的測(cè)試任務(wù)井井有條的進(jìn)行著,自己輔導(dǎo)的新人積極向上的成長著;這一切的喜悅的感覺,都是全身心投入你目前的工作所換來的。
學(xué)無先后
你已經(jīng)不再是二十歲出頭,開始懷疑自己還能學(xué)會(huì)新的技術(shù)嗎?不是說過了25歲就開始記憶衰退了嗎?那你知不知道,隨著年齡增長,閱歷的豐富,理解和領(lǐng)悟能力會(huì)越來越強(qiáng),雖然你比新人學(xué)得慢,但是在項(xiàng)目經(jīng)驗(yàn)方面的優(yōu)勢(shì)卻能幫助你有更深入的理解。知識(shí)是相通的,就比如當(dāng)你研究明白了一門編程語言,那么再學(xué)習(xí)新的就會(huì)很快。測(cè)試也一樣,測(cè)試工具、測(cè)試思想、測(cè)試流程都有很多種,不可能樣樣都會(huì),深度的擴(kuò)展是廣度的前提。
有人說程序員幾天不學(xué)習(xí)新技術(shù)就跟不上時(shí)代了,那么測(cè)試工程師在工作中用到的技術(shù)卻是穩(wěn)定的。不斷地重復(fù)類似的項(xiàng)目,不斷地重復(fù)測(cè)試、修改測(cè)試腳本,你被惰性包圍了嗎?開始覺得不需要學(xué)習(xí)了嗎?即使學(xué)習(xí)了新的技術(shù)和思想在項(xiàng)目中用不上又有什么用?
學(xué)了一定要用,大多數(shù)時(shí)候領(lǐng)導(dǎo)為了規(guī)避風(fēng)險(xiǎn),不會(huì)太支持你把新的技術(shù)或思想引入測(cè)試項(xiàng)目中。原來是傳統(tǒng)迭代流程,你說要學(xué)習(xí)敏捷;原來是QTP,你說要換Selenium;原來是ST測(cè)試,你說要開展ET測(cè)試。你必須要私底下多做研究、多做實(shí)踐、有較成熟的方案和技術(shù)。那么在真正有機(jī)會(huì)實(shí)施的時(shí)候,你才能夠一展拳腳。實(shí)踐—-學(xué)習(xí)—-實(shí)踐,循環(huán)中不斷進(jìn)步。
學(xué)習(xí)分享,在公司里,你開始學(xué)習(xí)了一門新技術(shù),很新鮮,很有成就感,心里竊喜“看他們都不會(huì)”。這樣下去有一天你會(huì)失落的發(fā)現(xiàn),同事們開始對(duì)你的新技術(shù)不感興趣,因?yàn)樗麄儾焕斫?,你提倡的技術(shù)思想因?yàn)闊o人認(rèn)同而無法執(zhí)行下去。與同行交流,你想炫耀一下剛學(xué)習(xí)來的“探索性測(cè)試”思想,她給你來一句“和自由測(cè)試有啥區(qū)別?我早就知道這個(gè)”,你想推廣一下敏捷,她給你說“敏捷就是沒有文檔嗎?好啊,終于不用寫文檔了。”你哭笑不得。
這時(shí)才會(huì)發(fā)現(xiàn),個(gè)人的發(fā)展和進(jìn)步,需要團(tuán)隊(duì)的共同進(jìn)步,需要行業(yè)的共同發(fā)展。這一切都來源每一個(gè)你這樣的測(cè)試工程師的進(jìn)步與分享。