好多人極力推薦《微軟的軟件測(cè)試之道》這本書(shū),于是在網(wǎng)上搜索了一番,英文版的閱讀起來(lái)有難度,在51CTO上發(fā)現(xiàn)了前第二章和第三章中文的內(nèi)容。
在這個(gè)世界頂級(jí)的企業(yè)里,軟件測(cè)試工程是的測(cè)試是怎樣的。
------------------------------------------------------------------------------------------------
一、職位名稱(chēng)含義:
即使你給玫瑰花起不同的名字,它聞起來(lái)可能還是同樣的香。但是,如果你給工程師不同的職位名稱(chēng),他們對(duì)自己職責(zé)的理解就會(huì)大不相同。微軟將那些通過(guò)編寫(xiě)代碼來(lái)開(kāi)發(fā)產(chǎn)品功能的軟件工程師統(tǒng)稱(chēng)為"軟件開(kāi)發(fā)工程師"(Software Development Engineer,SDE)。而微軟測(cè)試工程師的正式職位名稱(chēng)是"軟件開(kāi)發(fā)測(cè)試工程師"(Software Development Engineer in Test,SDET)。這兩個(gè)職稱(chēng)聽(tīng)起來(lái)很像,因?yàn)槲④浀臏y(cè)試工程師也同時(shí)做開(kāi)發(fā)。測(cè)試工程師的其他主要職責(zé)包括:制定測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試用例、分析缺陷的根本原因、參與程序代碼的審查和產(chǎn)品設(shè)計(jì)的審查,以及開(kāi)發(fā)測(cè)試自動(dòng)化程序。有時(shí)測(cè)試工程師也參與產(chǎn)品源代碼的開(kāi)發(fā),或缺陷的修正等工作。但總的來(lái)說(shuō),因?yàn)闇y(cè)試工程師的工作量很大,所以直接參與產(chǎn)品開(kāi)發(fā)的情況并不是很普遍。
雇用對(duì)測(cè)試有激情的軟件工程師做測(cè)試工作是微軟行之有效的創(chuàng)新,它完全不同于軟件行業(yè)其他公司的做法。對(duì)此外界常得出一種結(jié)論,認(rèn)為我們雇用會(huì)編寫(xiě)程序代碼的工程師來(lái)做測(cè)試工作是因?yàn)槲覀兿胱屗麄兙帉?xiě)有效的自動(dòng)化測(cè)試程序,從而排除手工測(cè)試。其實(shí)這只是其中的一小部分原因。那些懂得怎樣編寫(xiě)程序和計(jì)算機(jī)基本構(gòu)造的測(cè)試工程師,常常具有軟件測(cè)試所必備的分析技能。他們能夠盡早發(fā)現(xiàn)缺陷并分析其根本起因,這使得他們能很快發(fā)現(xiàn)類(lèi)似的缺陷。擁有和開(kāi)發(fā)工程師一樣的計(jì)算機(jī)基礎(chǔ)增強(qiáng)了測(cè)試工程師的技能,給了我們的測(cè)試工程師更靈活和動(dòng)態(tài)的生產(chǎn)力。
二、微軟的測(cè)試架構(gòu)師
微軟1999年設(shè)立測(cè)試架構(gòu)師職稱(chēng)。是專(zhuān)門(mén)為那些對(duì)產(chǎn)品有影響的高級(jí)獨(dú)立貢獻(xiàn)者而設(shè)的。測(cè)試架構(gòu)師的職稱(chēng)反映了一個(gè)SDET對(duì)其所工作的產(chǎn)品的廣泛影響力。而高級(jí)SDET、首席SDET、合伙人SDET的職稱(chēng)則主要是給那些對(duì)某個(gè)產(chǎn)品的功能產(chǎn)生影響的人。
不過(guò)請(qǐng)記住,很重要的一點(diǎn)是測(cè)試架構(gòu)師是一種角色而不是一個(gè)職位。盡管一個(gè)高級(jí)測(cè)試工程師可能會(huì)晉升為測(cè)試架構(gòu)師,但是并不是所有的人都會(huì)成為測(cè)試架構(gòu)師。通常,有些部門(mén)會(huì)出于商業(yè)需要或策略需求設(shè)立一個(gè)測(cè)試架構(gòu)師的角色。但有時(shí)候你也會(huì)看到一個(gè)高級(jí)測(cè)試工程師發(fā)揮測(cè)試架構(gòu)師的作用,但是卻沒(méi)有測(cè)試架構(gòu)師的職稱(chēng)。注意,此處所討論的是測(cè)試架構(gòu)師的角色而不是測(cè)試架構(gòu)師的職稱(chēng)。
微軟并沒(méi)有具有普遍性或代表性的測(cè)試架構(gòu)師角色。微軟的測(cè)試架構(gòu)師們致力于各種各樣的目標(biāo),承擔(dān)著各種各樣的任務(wù)。有些人花時(shí)間開(kāi)發(fā)測(cè)試的基本結(jié)構(gòu)、測(cè)試框架,或者評(píng)估產(chǎn)品功能、創(chuàng)立復(fù)雜的測(cè)試。有些人則負(fù)責(zé)管理其所在部門(mén)的某項(xiàng)特殊技術(shù)。還有些人負(fù)責(zé)怎樣提高測(cè)試效率的咨詢(xún)。所有測(cè)試架構(gòu)師的角色的共同點(diǎn)和主要職責(zé)是為本部門(mén)提供技術(shù)指導(dǎo)和制定策略方向。測(cè)試架構(gòu)師的級(jí)別通常表明他們的職責(zé)范圍--是致力于產(chǎn)品的一組功能、一條產(chǎn)品線,還是跨越整個(gè)部門(mén)。當(dāng)然,除了被期待對(duì)現(xiàn)有產(chǎn)品負(fù)責(zé)外,測(cè)試架構(gòu)師還應(yīng)該超越產(chǎn)品的現(xiàn)有版本而能高瞻遠(yuǎn)矚,如果可能的話,還擁有兩三個(gè)不與某個(gè)特別產(chǎn)品的發(fā)行有直接關(guān)系的成果。
微軟的測(cè)試架構(gòu)師不僅要有效地影響測(cè)試領(lǐng)域,還要在開(kāi)發(fā)和項(xiàng)目管理方面發(fā)揮影響力。測(cè)試架構(gòu)師必須能駕馭產(chǎn)品的質(zhì)量、提供指導(dǎo)、反饋和建議,以提高整個(gè)工程部門(mén)的質(zhì)量規(guī)范。
前面談?wù)摿藴y(cè)試架構(gòu)師"是什么",那么,測(cè)試架構(gòu)師"不是什么"呢?測(cè)試架構(gòu)師的職稱(chēng)不是因?yàn)榧?jí)別或經(jīng)驗(yàn)而授予的。設(shè)立測(cè)試架構(gòu)師是一種投資。這種投資結(jié)合了市場(chǎng)對(duì)有能力幫助產(chǎn)品做靈活變化的人才的需求。值得強(qiáng)調(diào)的是測(cè)試架構(gòu)師并不是一種職業(yè)發(fā)展軌道。對(duì)測(cè)試架構(gòu)師的技能要求和對(duì)相似級(jí)別的其他職務(wù)的職業(yè)階段發(fā)展要求是一致的,都強(qiáng)調(diào)跨組織的溝通和推動(dòng)變革的能力。提示:
截止至2008年,微軟全球的9000多名測(cè)試工程師中只有四十幾位測(cè)試架構(gòu)師。
三、微軟的測(cè)試職業(yè)的發(fā)展道路
1. 從SDET獨(dú)立貢獻(xiàn)者開(kāi)始的職業(yè)發(fā)展歷程
影響力的范圍從一個(gè)狹窄定義的產(chǎn)品功能擴(kuò)展到一個(gè)系列產(chǎn)品的功能、一個(gè)完整的產(chǎn)品。比如Microsoft Office Word或者M(jìn)icrosoft Media Player,直到最后達(dá)到一條產(chǎn)品線,比如Office或者Windows系統(tǒng)。影響力可以像測(cè)試架構(gòu)師的職位那樣,基于測(cè)試的各個(gè)方面橫向延伸,也可以基于一個(gè)像協(xié)議安全那樣的技術(shù)領(lǐng)域縱向延伸。
合伙人SDET并不是一個(gè)工程師的職業(yè)發(fā)展軌道的最高點(diǎn),卻是測(cè)試職業(yè)發(fā)展軌道的最高點(diǎn)。合伙人SDET 比杰出工程師(Distinguished Engineers)(相當(dāng)于公司副總裁級(jí)別)要低一個(gè)級(jí)別。這并不是因?yàn)槲④浻X(jué)得在測(cè)試領(lǐng)域不需要杰出工程師,而是我們相信隨著工程師們?cè)诼殬I(yè)道路上不斷地前進(jìn)發(fā)展,他們的行為表現(xiàn)變得越來(lái)越相似,不同學(xué)科的差異所帶來(lái)的影響價(jià)值在減少。在某種意義上,每一個(gè)從事10個(gè)工程學(xué)科中的任何一個(gè)學(xué)科的工程師,隨著他們技術(shù)領(lǐng)域的發(fā)展,都可以達(dá)到成為另外一個(gè)學(xué)科的工程師的水平。
2. 從SDET管理開(kāi)發(fā)的職業(yè)發(fā)展歷程簡(jiǎn)介
在微軟,當(dāng)一個(gè)工程師轉(zhuǎn)向管理職位時(shí),這是一個(gè)"平級(jí)"的變化,轉(zhuǎn)為管理人員這并不說(shuō)明你有更高的工資,更好的辦公環(huán)境。也就是說(shuō)微軟有技術(shù)人員都有資深的技術(shù)背景,而他們?cè)诠芾淼耐瑫r(shí)也要分擔(dān)技術(shù)工作。
有一點(diǎn)很重要,在決定一個(gè)SDET主管能否在職業(yè)道路上繼續(xù)前進(jìn)和發(fā)展的因素中,技術(shù)復(fù)雜度和他的技術(shù)水平遠(yuǎn)比他所管理的測(cè)試組的大小重要。負(fù)責(zé)測(cè)試產(chǎn)品安全的小組就是一個(gè)例子。這些規(guī)模小,但技術(shù)含量高的組通常對(duì)產(chǎn)品的質(zhì)量有著重要的影響,所以在這樣的組里,你可能常會(huì)發(fā)現(xiàn)一個(gè)更資深的SDET主管。在一個(gè)相對(duì)規(guī)模較小的組,SDET主管自己也需要做很多的測(cè)試、編程、分析和記錄軟件漏洞的工作。從最高級(jí)別的執(zhí)行董事到剛加入的新員工,產(chǎn)品組的每一個(gè)成員在發(fā)現(xiàn)產(chǎn)品漏洞的時(shí)候都應(yīng)該對(duì)漏洞記錄存檔。隨著一個(gè)組的規(guī)模越來(lái)越大,主管需要承擔(dān)更多的管理職責(zé),而在具體的技術(shù)工作上花費(fèi)的時(shí)間較少。無(wú)論組的規(guī)模大小,SDET主管都應(yīng)該具備很強(qiáng)的技術(shù)能力,同時(shí)也擔(dān)負(fù)起一個(gè)組的技術(shù)領(lǐng)導(dǎo)工作SDET主管通常都是組里對(duì)一個(gè)產(chǎn)品功能懂得最多的工程師,同時(shí)也是組里最好的測(cè)試和開(kāi)發(fā)人員之一。
3. 測(cè)試經(jīng)理職稱(chēng)
測(cè)試經(jīng)理很少需要親自作具體的測(cè)試工作事項(xiàng),比如編寫(xiě)和執(zhí)行測(cè)試用例。但每一個(gè)在測(cè)試領(lǐng)域的人,無(wú)論他是什么級(jí)別,都會(huì)親自動(dòng)手找軟件的缺陷。測(cè)試經(jīng)理仍然需要懂得技術(shù),但要求他們多注重建立測(cè)試的流程和工具,而不是在具體的功能測(cè)試上。
----------------------------------------------------------------------------------------------------------------------
個(gè)人看法:
1. 關(guān)于測(cè)試人員是否需要懂開(kāi)發(fā)的問(wèn)題是許多測(cè)試人員討論的問(wèn)題,個(gè)人看法,當(dāng)測(cè)試走到一定深度就會(huì)有瓶頸,要想做的更遠(yuǎn),學(xué)習(xí)開(kāi)發(fā)是一個(gè)突破口,我覺(jué)得不懂開(kāi)發(fā)的測(cè)試猶如“隔衣?lián)习W”,什么感覺(jué)?自己體會(huì)!提示并一定要精通開(kāi)發(fā),但一定要有開(kāi)發(fā)思想。也許微軟的產(chǎn)品特殊,所以他們所有測(cè)試人員都整成了SDET(軟件測(cè)試開(kāi)發(fā)工程師),既然存在就有它的意義,而且還是在那么牛叉的公司存在,希望和我一樣的小初級(jí)測(cè)試員它當(dāng)做一個(gè)目標(biāo)去努力。
2. 微軟的工程師轉(zhuǎn)管理職位是“平級(jí)”的,而且要轉(zhuǎn)管理一定在技術(shù)上優(yōu)于同事,可見(jiàn)微軟把技術(shù)看的很重要,就目前我所知道的測(cè)試人員相對(duì)來(lái)說(shuō)比較浮躁,工作內(nèi)容散而不深,工資相對(duì)開(kāi)發(fā)人員低,尤其剛?cè)胄械臏y(cè)試員,好多公司沒(méi)有給出很好的定位,職業(yè)發(fā)展比較迷茫,這是我們測(cè)試行業(yè)的現(xiàn)狀,但我還是希望各位平心專(zhuān)注于技術(shù)上。
(以上個(gè)人觀點(diǎn),歡迎拍磚~!呵呵)
聯(lián)系客服