軟件測(cè)試工程師的修煉之道
最近因?yàn)橄朕D(zhuǎn)行做測(cè)試,最近看了不少關(guān)于測(cè)試的文章、博客、這篇文章是前不久看的,和大家分享一下,不知道作者和出處,這里就不標(biāo)明,希望原作者原諒哈,主要勉勵(lì)以后自己測(cè)試道路,有共同意向的一起加油哈!!!
本文引用地址:http://m.butianyuan.cn/article/201807/384035.htm軟件測(cè)試修煉之道
前言
軟件測(cè)試發(fā)展到今天,已經(jīng)逐漸形成一門學(xué)科,但是還不夠系統(tǒng)。
初學(xué)者面對(duì)鋪天蓋地的資料應(yīng)該如何選取?應(yīng)該從哪里入手?如何迅速的掌握各種業(yè)務(wù)各項(xiàng)測(cè)試技能以便開展工作?在保證測(cè)試質(zhì)量的前提下,一日內(nèi)編寫或執(zhí)行1000個(gè)測(cè)試用例是不是夢(mèng)想?
入行多年者面對(duì)復(fù)雜的業(yè)務(wù)邏輯,海量的測(cè)試需求,如何在最短的時(shí)間內(nèi)進(jìn)行測(cè)試?如何盡可能更早的開展測(cè)試?如何對(duì)系統(tǒng)架構(gòu)進(jìn)行測(cè)試?如何全面提高測(cè)試質(zhì)量與測(cè)試效率?如何百尺竿頭更進(jìn)一步?
本文將針對(duì)這些問題進(jìn)行初步解答,主要闡述解決這些問題應(yīng)該具備哪些能力及如何鍛煉這些能力,至于實(shí)際工作中解決問題的具體操作步驟本文不做表述,可關(guān)注后續(xù)文章。前兩章主要探討一名合格的測(cè)試工程師應(yīng)該具備哪些能力,對(duì)列舉的能力將會(huì)做簡(jiǎn)要說明。第三章重點(diǎn)說明應(yīng)該如何鍛煉這些能力,此為本文的重點(diǎn)。最后一章是筆者對(duì)軟件測(cè)試虛無縹緲雜亂無章的一些想法。
本文的讀者群涵蓋所有對(duì)軟件測(cè)試感興趣的朋友。
下面,我們開始。
第一章綜合素質(zhì)
筆者以為,作為一名合格的測(cè)試工程師,綜合素質(zhì)是最重要的,綜合素質(zhì)也就是我們常說的軟技能,它代表著一個(gè)人的潛力有多大,未來發(fā)展有多寬廣。核心素質(zhì)有以下五點(diǎn):溝通、分析、組織、學(xué)習(xí)、心態(tài),下面將會(huì)分別闡述。
溝通
作為一名軟件測(cè)試工程師,優(yōu)先加強(qiáng)的應(yīng)該是哪方面的溝通能力?是文字溝通能力。試想,如果連缺陷描述都無法準(zhǔn)確清晰的用文字表達(dá)出來,還有開發(fā)愿意和你合作嗎?特別是隨著異地開發(fā)的項(xiàng)目越來越多,文字溝通的場(chǎng)景也會(huì)越來越多。
當(dāng)然,口頭溝通也很重要,通過面對(duì)面或者電話語音交流是很直接的方式,這也是為什么許多鼓吹敏捷開發(fā)的團(tuán)隊(duì)喜歡坐在一起的原因,認(rèn)為這樣會(huì)降低溝通成本。但事實(shí)上,真的在任何時(shí)刻都能降低成本嗎?無效冗長(zhǎng)的會(huì)議大家都參與過,這里不做深入討論。
不知道其他人有沒有這種體驗(yàn),筆者偶爾在查閱測(cè)試用例庫或閱讀工作郵件的時(shí)候會(huì)忍不住哈哈大笑,語句不通錯(cuò)別字也就罷了,寫的像聊天記錄一樣盡是口頭語就讓人很無奈了。
所以,這里首先強(qiáng)調(diào)的是提高文字表達(dá)能力,其次才是口頭溝通能力。
另外要特別注意的是,溝通能力包含兩方面,一方面是說(寫),一方面是聽(讀),表達(dá)與聆聽同等重要。筆者發(fā)現(xiàn)很多測(cè)試工程師表達(dá)能力不錯(cuò),但聆聽能力很差,有時(shí)候甚至忽略聆聽。對(duì)方話沒講完就急匆匆的打斷,即使聽了兩句也馬上反駁對(duì)方,這是惡習(xí),比抽煙喝酒打老婆還要惡虐。
分析
早期我們認(rèn)為測(cè)試的唯一工作就是發(fā)現(xiàn)問題,在很多文獻(xiàn)資料上均有類似描述。但筆者以為,測(cè)試發(fā)展到今天,單純的發(fā)現(xiàn)問題已不再是測(cè)試工作的全部,測(cè)試工作應(yīng)包含發(fā)現(xiàn)問題、分析問題、解決問題三個(gè)方面。發(fā)現(xiàn)問題以測(cè)試人員為主開發(fā)人員為輔,分析問題開發(fā)測(cè)試共同完成,解決問題以開發(fā)人員為主測(cè)試人員為輔。
在測(cè)試工作中每時(shí)每刻都需要用到分析能力,同時(shí),分析能力是評(píng)估一名測(cè)試工程師是否優(yōu)秀最重要的考核點(diǎn)。就像我們常說的缺陷預(yù)防一樣,怎么預(yù)防?對(duì)已發(fā)生問題的產(chǎn)生原因能準(zhǔn)確定位并把類似問題進(jìn)行歸類,對(duì)未發(fā)生問題能充分預(yù)知風(fēng)險(xiǎn)并準(zhǔn)備應(yīng)對(duì)方案,這就是我們追求的零缺陷,這些工作有不需要高度分析能力的嗎?
再例如測(cè)試計(jì)劃,我們做計(jì)劃是拍腦袋亂猜嗎?是掐指算命嗎?肯定很多人回答不是,但實(shí)際上往往很多人就是這么做的。測(cè)試計(jì)劃的制定過程是首先收集大量相關(guān)信息,然后抽絲剝繭在雜亂無章的信息中尋找到關(guān)鍵點(diǎn)并梳理清脈絡(luò),最終據(jù)此定出計(jì)劃。我們說部分未來是可以推測(cè)出來的,就是這個(gè)道理。在做計(jì)劃時(shí)會(huì)用到許許多多輔助分析的理論方法,這里就不一一闡述了。
艾森豪威爾有句名言:“Aplan is nothing,planningis everything.”Planning就是分析的過程。
組織
劉備自己不會(huì)帶兵打仗,為什么他下面的五虎將會(huì)死心塌地的服從他?因?yàn)槲寤?huì)將兵,劉備會(huì)將將。“運(yùn)籌帷幄之中,決勝千里之外”,這是帥才;“三軍中取敵上將之首級(jí)如探囊取物”,這是將才。帥才也好將才也好,都離不開組織能力。這里說的是廣義上的組織能力,不僅僅指團(tuán)隊(duì)管理、跨部門協(xié)調(diào)這些內(nèi)容。
不少人認(rèn)為開發(fā)與測(cè)試的工作是對(duì)立的,經(jīng)常會(huì)有沖突,沒錯(cuò),的確會(huì)有。出現(xiàn)沖突怎么辦?這時(shí)候需要通過高度的組織能力對(duì)雙方的合作關(guān)系進(jìn)行充分的調(diào)整。人與人之間本來就會(huì)不斷的有磨擦,有人的地方就有恩怨,有恩怨就有江湖,人就是江湖。那為什么有的人能左右逢源,讓人感覺與他合作如沐春風(fēng)呢?這就是組織能力的表現(xiàn)。
再比方說,在真正的敏捷團(tuán)隊(duì)中,無論工作有多苦多累,無論團(tuán)隊(duì)成員構(gòu)成有多復(fù)雜,整個(gè)團(tuán)隊(duì)都會(huì)有一個(gè)共同的表象,那就是“開心”,真正的敏捷團(tuán)隊(duì)一定是個(gè)開心的團(tuán)隊(duì)。所以筆者常說,敏捷團(tuán)隊(duì)的領(lǐng)導(dǎo)者一定要有非常強(qiáng)烈的人格魅力,能牢牢的把整個(gè)團(tuán)隊(duì)凝聚在一起,這種人格魅力往往就體現(xiàn)在組織能力上。
有人也許會(huì)問,舉辦大型活動(dòng)算不算組織能力的體現(xiàn)?算,當(dāng)然算。但現(xiàn)在很多人白白浪費(fèi)了這樣的機(jī)會(huì),在籌備過程中僅僅起到工作分解或傳聲筒的作用,可惜。
學(xué)習(xí)
“一目十行過目不忘”,這種天才是有的,筆者非常羨慕有時(shí)甚至是嫉恨他們。普通人需要花費(fèi)一兩年才能掌握的知識(shí),這些天資縱橫的人只用一兩天就可以了,并且很多技能仿佛天生就會(huì),根本不用后天的學(xué)習(xí)。幸好這種人非常少,否則根據(jù)社會(huì)達(dá)爾文主義的觀點(diǎn),我們普通人沒有任何生存空間。
軟件測(cè)試從業(yè)人員有個(gè)明顯特點(diǎn)——復(fù)合型。“知己知彼百戰(zhàn)百勝”,當(dāng)我們要對(duì)某項(xiàng)產(chǎn)品進(jìn)行測(cè)試,那么必然要先了解此產(chǎn)品的各種背景,這導(dǎo)致測(cè)試人員需要學(xué)習(xí)各種各樣的知識(shí),并且要不斷的學(xué)習(xí),快速的學(xué)習(xí)。入行幾年后或許我們會(huì)感到掌握的技能雜而不精,此時(shí)需要深入的學(xué)習(xí),全面的學(xué)習(xí)。
學(xué)習(xí)能力往往被看作是一個(gè)人有無潛力的重要標(biāo)志,針對(duì)軟件測(cè)試工程師而言,“快速學(xué)習(xí)”尤為重要。筆者一直想尋找一種方法,能讓測(cè)試人員不了解行業(yè)背景不懂測(cè)試技術(shù)也能正常開展測(cè)試工作,但可惜的是一直沒找到。那么變通下,通過“快速學(xué)習(xí)”是否也能達(dá)到類似的效果呢?應(yīng)該是可以的。
學(xué)習(xí)最核心的是什么?知之者不如好之者,好之者不如樂之者。
心態(tài)
多年前筆者讀過一篇文章——《寫給浮躁的IT同仁》,讀后深有同感。一個(gè)浮躁的社會(huì)造就了眾多浮躁的人,軟件測(cè)試本該是個(gè)做學(xué)問的領(lǐng)域,可惜啊可惜。
人往往是自私的,荀子曰:“人之初,性本惡。”筆者深以為然。絕大多數(shù)人都認(rèn)為自己是最可憐最委屈最被不公正對(duì)待的,捫心自問真是這樣嗎?佛教有個(gè)觀點(diǎn)“明心見性”,這是筆者孜孜不倦所追求的精神境界,與大家共勉。
大家應(yīng)該都明白,沒有絕對(duì)的公平社會(huì),從來就沒有,縱觀古今中外歷朝歷代什么時(shí)候絕對(duì)公平過?我們不要一味的怨天尤人,如果改變不了環(huán)境就努力的去適應(yīng)它,這是升斗小民應(yīng)該具備的心態(tài)。
先做人后做事,不論是綜合素質(zhì)還是專業(yè)技能,在所有能力中,心態(tài)是最重要的。但要特別說明下,心態(tài)和態(tài)度不是一碼事。此外,有人認(rèn)為工作態(tài)度高于工作能力,筆者并不贊同這種觀點(diǎn),更有甚者把工作態(tài)度與是否聽話混為一談這就更扯淡了。
國人講究“君以國士待我,我必國士報(bào)之”,一顆平常心加上一顆感恩心,足夠了。
第二章專業(yè)技能
《笑傲江湖》里有寫到華山派分為劍氣二宗,金大師在書中是褒揚(yáng)劍宗的,令狐沖全無內(nèi)力單憑神鬼莫測(cè)的劍法就打遍天下無敵手。那么在測(cè)試領(lǐng)域里,方法與技術(shù)哪個(gè)更重要?此話題爭(zhēng)論太多一時(shí)半會(huì)說不清楚,但筆者是贊同方法更重要的。有道是萬法歸宗,一力降十會(huì),就是這個(gè)道理。下文所說的技能涵蓋了方法與技術(shù)。另請(qǐng)注意,當(dāng)專業(yè)能力上升到一定程度后,需要從廣度轉(zhuǎn)為深度,即要在某一特定領(lǐng)域內(nèi)做深做強(qiáng),切勿變成雜而不精。
測(cè)試方法
目前測(cè)試領(lǐng)域內(nèi)大大小小的測(cè)試方法上百種,有的被廣大測(cè)試工程師所接受并在實(shí)際工作中大量運(yùn)用,有的僅停留在理論研究階段,還有的只是某些機(jī)構(gòu)為了發(fā)表學(xué)術(shù)論文東拼西湊胡亂編造的。那么這么多方法應(yīng)該如何選擇?《神雕俠侶》里有這么一段:
法王笑道:“人各有志,那也勉強(qiáng)不來。楊兄弟,你的武功花樣甚多,不是我倚老賣老說一句,博采眾家固然甚妙,但也不免駁而不純。你最擅長(zhǎng)的到底是那一門功夫?要用甚麼武功去對(duì)付郭靖夫婦?”這幾句話可將楊過問得張口結(jié)舌,難以回答。他一生遭際不凡,性子又是貪多務(wù)得,全真派的、歐陽鋒的、古墓派的、九陰真經(jīng)、洪七公的、黃藥師的,諸般武功著實(shí)學(xué)了不少。這些功夫每一門都是奧妙無窮,以畢生精力才智鉆研探究,亦難以望甚涯岸,他東摘一鱗、西取半爪,卻沒一門功夫練到真正第一流的境界。遇到次等對(duì)手之時(shí),施展出來固然是五花八門,叫人眼花撩亂,但遭逢到真正高手,卻總是相形見絀,便和金輪法王的弟子達(dá)爾巴、霍都相較,也是頗有不及。他低頭凝思,覺得金輪法王這幾句話實(shí)是當(dāng)頭棒喝,說中了他武學(xué)的根本大弊。
楊過第一反應(yīng)是什么呢?
他走出茅棚,在山頂上負(fù)手而行,苦苦思索,甚是煩惱,想了半天,突然間心念一動(dòng):“我何不取各派所長(zhǎng),自成一家?天下武功,均是由人所創(chuàng),別人既然創(chuàng)得,我難道就創(chuàng)不得?”想到此處,眼前登時(shí)大現(xiàn)光明。
最終他的決定是什么?
楊過睡了半夜,次晨一早起來又想。七日之中,接連昏迷了五次。說要綜納諸門,自創(chuàng)一家,那是談何容易?以他此時(shí)的識(shí)力修為固然絕難成功,那更不昃十天半月間之事。但連想數(shù)日之後,恍然有悟,猛地明白諸般武術(shù)皆可為我所用,既不能合而為一,也就不必強(qiáng)求,日後臨敵之際,當(dāng)用則用,不必去想武功的出處來歷,也已與自創(chuàng)一派想差無幾。想明白了此節(jié),登時(shí)心中舒暢。
這就是筆者想要表達(dá)的。作為一名合格的測(cè)試工程師首先一定要見識(shí)廣博,最新的行業(yè)動(dòng)態(tài),各種測(cè)試方法等等都需要了解。然后在此基礎(chǔ)上,實(shí)際工作中需要用到什么方法就用什么方法,信手拈來,千萬不要書到用時(shí)方恨少。筆者一直在勸喻團(tuán)隊(duì)中的工程師,不要整天只知道埋頭干活像鴕鳥一樣,要經(jīng)常抬起頭來放眼看世界,井底之蛙坐井觀天是要不得的,這樣下去路只會(huì)越走越窄。最后,當(dāng)各方面積累到一定程度會(huì)發(fā)生量變到質(zhì)變,如果還具備過人的天賦并能百尺竿頭更進(jìn)一步,則可開宗立派自成一家,就象楊過最后自創(chuàng)“黯然銷魂掌”一樣。
筆者在日常工作中最常用的是路徑法、場(chǎng)景法,以組合測(cè)試、探索性測(cè)試作為輔助。路徑法主要用來做測(cè)試需求分析,關(guān)注的是節(jié)點(diǎn);場(chǎng)景法主要用來做測(cè)試設(shè)計(jì),關(guān)注的是路徑;組合測(cè)試主要用來對(duì)規(guī)則性的用例進(jìn)行篩選,減少測(cè)試用例數(shù)量;探索性測(cè)試主要用于交叉測(cè)試或測(cè)試大掃除之類的測(cè)試活動(dòng)。這些方法的詳細(xì)論述網(wǎng)上有很多,這里就不一一闡述了。如何把這些方法貫穿在一起?之前的分享有詳細(xì)表述過,這里也不嗦了。
現(xiàn)在業(yè)內(nèi)有兩種測(cè)試?yán)砟詈芰餍?,一種是基于模型測(cè)試(MBT),一種是云測(cè)試。筆者以為這兩種測(cè)試方式一定是未來測(cè)試行業(yè)發(fā)展的大方向。隨著測(cè)試智能化的發(fā)展,今后測(cè)試工程師入行的門檻會(huì)越來越低乃至于消失。到那時(shí),只需要很少一部分測(cè)試精英維護(hù)測(cè)試智能化平臺(tái),其它大部分的測(cè)試工作可交由任何人來完成,真正實(shí)現(xiàn)“IT民工”的夢(mèng)想。
很多人應(yīng)該都讀過“四人幫”的《設(shè)計(jì)模式》,大多數(shù)人雖然看不懂但都明白這是核心,是重中之重。測(cè)試方法也是如此,它是測(cè)試工作的靈魂,測(cè)試用例與測(cè)試腳本孰重孰輕?不言而喻。
最后說明一點(diǎn),在筆者印象中測(cè)試人員是肯定要參與需求分析及系統(tǒng)設(shè)計(jì)過程的。記得很早前有位工作十來年的開發(fā)工程師對(duì)筆者說:“你真牛叉這些工作你都參與”。實(shí)際上他沒明白,這本身就是測(cè)試人員的工作,測(cè)試人員本來就需要具備這些能力。所以筆者總說現(xiàn)在國內(nèi)合格的測(cè)試工程師很少,大部分都是濫竽充數(shù),同時(shí)也是筆者為什么在所帶領(lǐng)團(tuán)隊(duì)中大力提倡組員多研究測(cè)試方法的原因。
基礎(chǔ)技能
基礎(chǔ),或許說基本更合適一點(diǎn)。工欲善其事,必先利其器。前面已經(jīng)談到測(cè)試人員是復(fù)合型的,要對(duì)待測(cè)產(chǎn)品的行業(yè)背景、技術(shù)背景有深入了解。在測(cè)試智能化遠(yuǎn)沒有發(fā)展成熟的今天,測(cè)試工程師必需掌握基礎(chǔ)技能。
筆者遇到過不少剛?cè)胄械男氯耍麄儐柕淖疃鄦栴}是“測(cè)試人員是否需要懂編碼”。筆者一般回答“欲窮千里目,更上一層樓”。其實(shí)不僅僅是測(cè)試人員,但凡和技術(shù)沾邊的工種都需要懂編碼。編碼是最基礎(chǔ)的技能,無論哪一門語言,至少要會(huì)一種,如果能再具備一定的產(chǎn)品開發(fā)經(jīng)驗(yàn)?zāi)蔷透昧?。但?qǐng)注意,過猶不及,不要單純拿編碼能力的高低來衡量測(cè)試人員水平的高低,測(cè)試人員最核心的技能仍是在測(cè)試設(shè)計(jì)上,不要本末倒置。
同樣,像數(shù)據(jù)庫、操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議、建模等等都屬于基礎(chǔ)技能的范疇??赡軠y(cè)試人員在這些技能的掌握程度上沒有專業(yè)人士強(qiáng),沒關(guān)系,因?yàn)檫@些技能最終是為測(cè)試專有技能所服務(wù)的,如此而已。當(dāng)然,如果個(gè)人有興趣深入研究那是最好。筆者記得剛接觸Linux系統(tǒng)的時(shí)候拼命讀源碼,剛接觸網(wǎng)絡(luò)協(xié)議的時(shí)候厚厚幾本《TCP/IP詳解》放在床頭,可惜的是都沒堅(jiān)持下來。
為什么說測(cè)試工程師轉(zhuǎn)崗容易?現(xiàn)在該明白了吧。
測(cè)試模式
瀑布開發(fā)、快速開發(fā)、迭代開發(fā)、敏捷開發(fā)等等等等,這么多開發(fā)模式聽著是不是犯暈?探討哪種模式更好其實(shí)是扯淡,就象探討是由“開明君主治理的封建制度國家”好,還是由“腐朽無能政府統(tǒng)治的民主制度國家”好一樣,均屬于哲學(xué)問題。同理,測(cè)試模式有V模型、X模型、H模型、前置模型,淘寶還提出了SPR模型以及最近正在探索的CCI模型,哪種更好?合適的就是最好的。
盡信書不如無書,這道理很多人都說懂,實(shí)際上呢?大多數(shù)人依然是照本宣科,死搬硬套。在大多數(shù)情況下,工程師應(yīng)該盡量追求神似而不是形似,特別是奮戰(zhàn)在一線的工程師,要明白“將在外君命有所不受”的道理。在當(dāng)前以結(jié)果為導(dǎo)向這種西式管理的氛圍下,更多的是要拿出讓各方面滿意的成績(jī)單。當(dāng)然,也有部分人以此為借口逃避流程逃避制度,高舉敏捷大旗卻行偷懶之實(shí)。要知道能量守恒,在某方面偷懶在其它方面會(huì)付出更多,這樣做其實(shí)是把自身工作轉(zhuǎn)嫁到他人身上,比方說把自身應(yīng)該完成的保證產(chǎn)品質(zhì)量工作轉(zhuǎn)嫁給他人,這樣的人要招天譴。“適可而止”這四個(gè)字說起來簡(jiǎn)單,真要做到非常難,需要大量的實(shí)踐經(jīng)驗(yàn),這也是為什么測(cè)試工程師職業(yè)生命周期較長(zhǎng)的原因。
筆者認(rèn)為,在當(dāng)下絕大多數(shù)項(xiàng)目團(tuán)隊(duì)里,V模型足夠使用,或者在部分地方進(jìn)行改良即可適應(yīng)項(xiàng)目團(tuán)隊(duì)工作的需要。要知道,經(jīng)典是永遠(yuǎn)不會(huì)過時(shí)的。那么在行政體系上呢?一個(gè)測(cè)試部門應(yīng)該采用怎樣的組織結(jié)構(gòu)?目前流行的是一分為二,一部分做技術(shù)支撐,另一部分做產(chǎn)品測(cè)試,還有極端的是測(cè)試人員只做測(cè)試技術(shù)支撐,產(chǎn)品測(cè)試交由開發(fā)人員自行完成。至于在產(chǎn)品測(cè)試?yán)镌偌?xì)分單元測(cè)試、集成測(cè)試或功能測(cè)試、性能測(cè)試等角色,竊以為不需要,因?yàn)樵趶V義上,都是功能。測(cè)試要做的就是VV,檢驗(yàn)已實(shí)現(xiàn)的功能是否正確,檢驗(yàn)是否正確實(shí)現(xiàn)了功能。
測(cè)試工具
這里所說的工具是廣義上的,可以說各種各樣只要能輔助測(cè)試人員開展測(cè)試工作的工具都包含在內(nèi)。
為什么Mercury(筆者還是習(xí)慣稱為mercury而不是hp)的產(chǎn)品能得到廣大測(cè)試工程師的認(rèn)可?因?yàn)樗鼭M足了測(cè)試工程師工作的需要。工具干嘛用的?輔助測(cè)試工作用的。筆者一直覺得Mercury的架構(gòu)師真是不得了,產(chǎn)品設(shè)計(jì)的如此漂亮。什么是測(cè)試架構(gòu)師?這就是。
測(cè)試工具有很多,這里不一一列舉了。每年國際上會(huì)評(píng)選年度最佳測(cè)試工具,有興趣的朋友可以多了解下,這算是測(cè)試工具的風(fēng)向標(biāo)。
有人曾經(jīng)爭(zhēng)論什么才能稱之為測(cè)試工具,例如針對(duì)某一特定產(chǎn)品開發(fā)的一段測(cè)試代碼是否算是測(cè)試工具。筆者以為,從廣義上講是,但在通常所說的范圍下不是,因?yàn)樗痪邆渫ㄓ眯?,它只能為特定產(chǎn)品服務(wù)。所以筆者常常告誡測(cè)試人員,第一不要總吹噓自己開發(fā)了多少測(cè)試工具,充其量那只能算是一段測(cè)試代碼;第二要理解測(cè)試工具的本質(zhì),開發(fā)了一堆工具結(jié)果根本不能有效提高測(cè)試質(zhì)量、測(cè)試效率,無法幫助測(cè)試人員發(fā)現(xiàn)更多的缺陷,有意義嗎?
當(dāng)然,有一點(diǎn)肯定沒錯(cuò),多試用不同種類的測(cè)試工具并研究其原理,如果能對(duì)其進(jìn)行改進(jìn),那么恭喜,離專家又進(jìn)了一步。
第三章能力修煉
修煉要素
以下列舉的十八要素僅供參考,這些要素并沒有優(yōu)先級(jí)或前后順序,但有一點(diǎn)是必需確保的,那就是堅(jiān)持,至少堅(jiān)持一個(gè)月。如果能把全部要素堅(jiān)持做一個(gè)月,筆者保證測(cè)試工程師自身能力會(huì)有大幅度提高。如果能堅(jiān)持一年甚至更長(zhǎng)時(shí)間直至養(yǎng)成習(xí)慣,那么恭喜,離牛人不遠(yuǎn)了。
1、 每日至少抽出30分鐘關(guān)注測(cè)試行業(yè)新聞,包括各種業(yè)內(nèi)動(dòng)向,技術(shù)前沿等。推薦國內(nèi)網(wǎng)站:51testing、ITPUB、Javaeye、infoq、博客園、Oracle中國用戶組……。
2、 每日寫一篇博文,200字左右,記錄當(dāng)日工作完成情況及次日需完成工作,流水帳也可。
3、 每晚入睡前回顧當(dāng)天表現(xiàn),檢討一言一行。
4、 每日清晨計(jì)劃當(dāng)日需完成工作并確定優(yōu)先級(jí)。
5、 每日早晚對(duì)著鏡子微笑一次。
6、 每日閱讀,書的種類不限,不一定是技術(shù)類。
7、 每日選取一位從來沒交流過的同事進(jìn)行交流。
8、 每日至少編寫30行代碼。
9、 每日收看新聞聯(lián)播,重播也可。
10、每日洗澡。
11、至少每隔兩日看一集推理類電視劇,推薦《金田一少年事件簿》。
12、至少每隔三日參加一次益智分析類游戲,推薦“圍棋”、“三國殺”。
13、每三日研究一個(gè)技術(shù)類工具并發(fā)表研究文章,推薦從Excel開始研究。
14、每周至少與朋友外出活動(dòng)一次,推薦極放松的活動(dòng),例如喝酒。
15、一周內(nèi)不要連續(xù)兩天加班。
16、每周至少一次與上級(jí)開展交流。
17、每月至少單身外出一次,推薦西湖邊靜坐。
18、每月至少儲(chǔ)蓄20%當(dāng)月收入,至多儲(chǔ)蓄60%。
測(cè)試工程師的一天
7:30 起床
7:35 洗漱,計(jì)劃當(dāng)天工作
8:00 出門,面對(duì)鏡子給自己個(gè)微笑
8:30 早餐,什么都不要想
8:50 公司,開機(jī)接收郵件、消息
9:10 瀏覽業(yè)內(nèi)新聞
9:40 大多數(shù)人已到公司,開始當(dāng)天工作
12:00中飯,小飯桌上別談工作更別一副憂國憂民的樣子大談國計(jì)民生
13:00技術(shù)研究并沉淀
14:00繼續(xù)本日工作,編碼,主動(dòng)與沒交流過的同事進(jìn)行交流,組織晚上活動(dòng)
18:00晚飯,總結(jié)本日工作
18:30撰寫當(dāng)日工作博文
18:45加班
19:45三國殺
21:00回家,洗澡
21:30中央新聞?lì)l道,喝酒
22:00電視劇,喝酒
22:30讀書,喝酒
23:00上床,自我反省
23:15呼呼呼呼
注意:以上主要表達(dá)一種思路,勿糾結(jié)勿全部模仿。
進(jìn)階目錄
通常情況下,能力提升是一個(gè)漸進(jìn)過程,但提升到某一高度遇到瓶頸時(shí)則需要突破。這有點(diǎn)類似大乘佛法里所說的,從漸修到頓悟,再從頓悟到圓修。本身中國佛教界對(duì)此就有不少爭(zhēng)論,南方慧能系(稱南頓)與北方神秀系(稱北漸)分別講究頓悟與漸悟,而在頓悟中又有道生頓悟、禪宗頓悟,所以說每個(gè)人的進(jìn)修道路是不盡相同的,也不一定有高下之分,主要看對(duì)自我認(rèn)知是否清晰,在不同階段需要何種提升方式,這才是重點(diǎn)。
在個(gè)人能力提升的道路上,上級(jí)主管的支持及培養(yǎng)是非常重要的。好主管會(huì)因地制宜因人而異,每次安排超出其能力一點(diǎn)的工作,讓其不斷的有挑戰(zhàn)。同時(shí)在實(shí)施過程中,主管會(huì)默默支持,與其一同制定解決方案并跟進(jìn)實(shí)施過程,最終讓其獨(dú)享成功的成果與喜悅。
此外,每人擅長(zhǎng)的領(lǐng)域不同,有的人所具備的能力很契合當(dāng)前工作,因此會(huì)成為主攻手,有的不太符合只能做輔助。但請(qǐng)注意,在多方協(xié)作工作中,必然有人在前攻城拔寨做明星,有人在后默默耕耘做后勤,這些不能單純的以高下來衡量,況且說不定哪天換成其它工作,這主次之分就倒過來了。
以下是能力漸進(jìn)提升的階梯目錄,從前到后有順序之分。
1、基礎(chǔ):前文所說的基礎(chǔ)技能必需掌握,推薦Java+Oracle+Uml組合。掌握程度一般不用太深,測(cè)試工具開發(fā)職位的除外。特別注明,Junit是一定要掌握的。市面上書籍很多,筆者推薦《Java編程思想》、《Oracle9i參考手冊(cè)》、《UML精粹》。
2、專業(yè):前文所說的測(cè)試方法、測(cè)試工具必需掌握。其中對(duì)于測(cè)試工具,如果開源則盡可能閱讀源碼。推薦書籍《計(jì)算機(jī)軟件測(cè)試技術(shù)》、《軟件測(cè)試藝術(shù)》、《軟件測(cè)試》。
3、實(shí)戰(zhàn):前文所說的測(cè)試模式必需掌握。至少全程參與二十次項(xiàng)目,至少參與兩次50人以上規(guī)模的項(xiàng)目,至少編寫測(cè)試用例10000個(gè),至少發(fā)現(xiàn)缺陷5000個(gè),至少編寫測(cè)試腳本20000行,至少擔(dān)任過三次測(cè)試負(fù)責(zé)人,所有產(chǎn)品發(fā)布后遺漏缺陷總數(shù)小于50個(gè)并呈收斂趨勢(shì)。推薦書籍《設(shè)計(jì)模式》、《人月神話》、《軟件測(cè)試經(jīng)驗(yàn)與教訓(xùn)》。
4、沉淀:深入了解質(zhì)量控制原理,對(duì)功能性(含安全)、效率、易用性、可移植性、可維護(hù)性、可靠性等質(zhì)量特性均有實(shí)際測(cè)試經(jīng)驗(yàn)。推薦書籍《質(zhì)量無淚》、《質(zhì)量免費(fèi)》、《ISO9126》等所有軟件質(zhì)量相關(guān)國標(biāo)。
5、領(lǐng)域:選取一至兩門測(cè)試技術(shù)作為長(zhǎng)期研究的方向,中途可適當(dāng)調(diào)整,這里說的長(zhǎng)期指的是五年、十年及以上,在這個(gè)層次重點(diǎn)是要做到專精。推薦方向“云測(cè)試”、 “基于模型測(cè)試”。
6、專家:理論計(jì)算機(jī)科學(xué)研究。筆者不是專家,因此不敢臆測(cè)到達(dá)此層次后應(yīng)該做些什么以及怎么做,但“P/NP問題”是筆者一直有興趣并持續(xù)關(guān)注的,也是很多科研工作者選取的研究課題,在此鄭重推薦。
第四章雜談
筆者剛?cè)胄袝r(shí)有次參加公司組織的培訓(xùn),是一個(gè)微軟的老外來講課。培訓(xùn)那天會(huì)議室的前三排基本沒人坐,有位副總站起來罵“這就是Chinese”,當(dāng)即有人反問“你不是Chinese?”,說起來他還真不是,已經(jīng)移民到加拿大了。做人切勿忘本,做事前要先學(xué)會(huì)做人。作為一名測(cè)試人員不要崇洋媚外迷信權(quán)威,但也不能做土八路。業(yè)內(nèi)一般的說法是“做事要高調(diào)做人要低調(diào)”,筆者以為“做事要高調(diào)做人也要高調(diào)”,心有多大,舞臺(tái)就有多大。
測(cè)試行業(yè)發(fā)展到今天需要求新求變,就象當(dāng)年武俠小說一樣。筆者一直很喜歡古龍,不知道誰能成為測(cè)試行業(yè)的古龍。
有位偉人曾經(jīng)說過,“不管黑貓白貓能抓到老鼠的就是好貓”。同理,不管黑盒白盒能找到缺陷的就是好盒。工作中不論用的是正道、奇道還是王道,不論用的是陰謀還是陽謀,能解決問題的就是我們所需要的。
男女搭配,干活不累,這是至理名言。測(cè)試團(tuán)隊(duì)的男女比例1:3最好。
社會(huì)是個(gè)大染缸,測(cè)試人員要保持一顆純真的心。做事要又猛又持久,做人要很傻很天真。
世上不如意事十常居八九,人生總會(huì)經(jīng)歷很多挫折。真的爺們,敢于直面慘淡的人生,敢于正視淋漓的鮮血。如果不愛測(cè)試,請(qǐng)盡早離開。
后記
終于寫完了,原本就想寫一千來字的,結(jié)果提筆后洋洋灑灑的寫了這么多,看來還是高度不夠,語言不夠精煉。
文中提到的鍛煉方法還有待臨床驗(yàn)證,故征集小白鼠,欲被蹂躪者可向筆者報(bào)名。
筆者已能預(yù)計(jì)到本文發(fā)出后會(huì)引來多少質(zhì)疑與唾罵,但沒關(guān)系,“我可以不同意你丫說的話但我誓死捍衛(wèi)你丫得瑟的權(quán)力”。歡迎大家拍磚,爭(zhēng)議越多越好,討論越激烈筆者越出名,哇哈哈哈哈。
評(píng)論