如果一個(gè)人很認(rèn)真的看待自己的工作,那么可能會(huì)常常想到發(fā)展的問題,所謂人無遠(yuǎn)慮,必有近憂嘛。同樣的,測試人員也會(huì)常常問發(fā)展的方向在哪里,這其中,剛?cè)胄,?zhǔn)備入行或者做了幾年的恐怕都有。

近,在訂閱的blog上也看到類似的討論文章,比如:

測試架構(gòu)師Jack同學(xué)有兩篇關(guān)于測試專家的討論。

《關(guān)于什么是測試專家的討論》

《3種類型的測試專家之路選擇》

另外近在淘寶的QA blog上也看到一篇他們的測試總監(jiān),郭芙女士的文章,叫做《測試者之路》,探討了測試人員的兩條發(fā)展路線,她稱之為P路線和M路線,大概相當(dāng)于我們平時(shí)說的tech track和management track。

都是很好的探討,看了覺得很受益,不過又覺得不過癮,好像還有話要說,遂決定撰文贅述一下。先聲明一下,觀念有時(shí)候受限于個(gè)人經(jīng)驗(yàn),所以難免狹隘,不過我不準(zhǔn)備大而全,而只說說自己看到的,寧愿少也不要誤導(dǎo)大家。

為討論方便,我把我看到的發(fā)展道路分了兩大類,測試相關(guān)領(lǐng)域和非測試直接相關(guān)的。

1、先說繼續(xù)留在測試領(lǐng)域的。
1.1 再細(xì)分,第一類是管理路線。學(xué)而優(yōu)則士也是有傳統(tǒng)的,所以并不奇怪。

這一路線的發(fā)現(xiàn)大概是QA lead à QA manager (QM) à QA director

各公司叫法不同,大概的意思如此。一般是先開始做測試團(tuán)隊(duì)的lead,或者叫組長。嚴(yán)格意義上,這個(gè)還不算是管理的職位,但是也算是預(yù)備。不過實(shí)際中,做lead并不一定意味著要發(fā)展到manager,很多技術(shù)路線的也可能在一段時(shí)間擔(dān)任lead。其中的一個(gè)原因是做lead是非常鍛煉人的,即便以后走技術(shù)路線很多的知識(shí)和技能還是必備的,也是相通的,比如協(xié)調(diào)的能力,溝通的能力,對全局的把握。

我個(gè)人的觀察,不同的group可能風(fēng)格不同,或者取決于QM管的范圍,有些項(xiàng)目,QM介入很多,有的則很少,所以相應(yīng)的lead的職責(zé)和空間也不同。

如果是管理路線,到后面是QM了,當(dāng)然也可能會(huì)有acting(實(shí)習(xí))的階段。到QM后是比較純粹的管理路線了。當(dāng)然,看個(gè)人的風(fēng)格,有些QM也是比較technical的,也會(huì)經(jīng)常研究測試工具技術(shù)和方法,并出去分享。但是職能上講,很多一部分工作是team的建設(shè)管理和人員的選擇培養(yǎng),按照我們公司的劃分,是屬于people manager的范圍了。

再往高處,是QA Director,比如在blog上活躍的Kerry老師,下面帶一些manager,產(chǎn)品的范圍也更大,有些可能不看具體的項(xiàng)目了,而更多思考一些全局性的方法和策略,但是人員的培養(yǎng)應(yīng)該也還是主責(zé)。

看公司的大小,也可能會(huì)有更多的層級,不過大致是一樣的。在這條路上,到某個(gè)時(shí)候,再往上,可能越界了,意思是不再直接和測試相關(guān)了,比如升任研發(fā)總監(jiān)或者VP,到這個(gè)層面,已經(jīng)不分開發(fā)和測試,因?yàn)閮蛇叺膔eport line匯總到一個(gè)人上面了。我們公司三大RD head中有一個(gè)做了很多年測試,有次和他吃飯聊起這個(gè)話題,他說早期公司人少,全職的測試人員也少,所以有機(jī)會(huì)接觸很多不同的產(chǎn)品,也得益于此。

1.2 技術(shù)路線

這個(gè)想必大家也不陌生,國內(nèi)很多的公司,特別是稍大的公司都在提。其中有一個(gè)很直接的原因,那是上面的管理路線會(huì)很依賴于組織結(jié)構(gòu)和組織的成長,通俗的說是要有坑才行。另一個(gè)方面,產(chǎn)品的精深對于高層次的技術(shù)人員也有更多的需求,而且不是所有人都想或者都適合走管理路線。那么對應(yīng)的技術(shù)路線也很自然的出來了。其實(shí)關(guān)于這一部分,近幾年我們的討論也很多,一度大家也很迷茫,一個(gè)簡單的問題是,大家沒有想明白一個(gè)和manager,甚至director拿一樣薪水的QA engineer應(yīng)該是什么樣的,有什么樣的能力和貢獻(xiàn)?

現(xiàn)在我們有了一些思路。這里說的是我個(gè)人的一些看法,不是官方的定義。

1.2.1 Domain Expertise

第一類是測試領(lǐng)域的專家,這一類Jack在文章中也有討論。比如說automation,performance,security,compatibility等等領(lǐng)域,都是需要長久的積累,也很有專業(yè)性,可以產(chǎn)生對應(yīng)的領(lǐng)域的專家。這樣的專家也是從產(chǎn)品和項(xiàng)目中鍛煉出來的,但是慢慢的發(fā)現(xiàn),他們的經(jīng)驗(yàn)和技能越來越深,而且也變得更加通用,可以讓其他產(chǎn)品和項(xiàng)目也收益,這種影響力甚至可以擴(kuò)展到其他部門,有點(diǎn)橫向的發(fā)展。

關(guān)于這條該怎么去走,這里不展開了,姑且先知道有這么條路,應(yīng)該有很多值得討論的。

1.2.2 Engineer Productivity Developer

測試中會(huì)用到很多的工具和系統(tǒng),如果組織夠大的話,通常為了效率和ROI,會(huì)把這一部分抽取出來給一個(gè)部門來做,我們稱之為engineering tools and service。其實(shí)這也是一條發(fā)展的路線,因?yàn)楹芏嗳讼矚g去開發(fā)工具,讓更多人的從中收益。不過目前我個(gè)人的看法,這條路在一個(gè)不以測試工具為產(chǎn)品的組織里面會(huì)有瓶頸。畢竟國內(nèi)純粹開發(fā)測試工具的廠商還很少,沒有像Spirent,IXIA, Micro Focus, 還有以前的Mercury之類的公司。

說到developer,很多人會(huì)說,轉(zhuǎn)到developer也是tester的一個(gè)track。我不這樣以為,因?yàn)槟菢佣詼y試不是一個(gè)獨(dú)立的工作,而只是developer的預(yù)科,在有些公司,特別是一些測試不正規(guī)的小公司,可能這種認(rèn)識(shí)會(huì)比較普遍。但是這個(gè)不在我這里討論的范圍,因?yàn)榍疤崾前褱y試做為一個(gè)獨(dú)立的工作類別。

1.2.3 Solution Architect

開發(fā)人員要一邊學(xué)習(xí)開發(fā)技術(shù),比如編程語言,設(shè)計(jì)模式等等,另一方面要了解和熟悉產(chǎn)品相關(guān)的領(lǐng)域知識(shí)。比如設(shè)計(jì)和開發(fā)銀行的業(yè)務(wù)系統(tǒng)的人要了解銀行的業(yè)務(wù)。對于測試人員而言,同樣如此,甚至要了解更多。試想一樣,如果你去測銀行的利息計(jì)算的程序,你都搞不清楚利息計(jì)算的方式和銀行業(yè)的各種規(guī)章,又如何能判斷測試結(jié)果的對錯(cuò),被測系統(tǒng)設(shè)計(jì)得是否正確或者合理?換到別的行業(yè)和領(lǐng)域,也是一樣。長此以往,很多測試人員慢慢成為了領(lǐng)域?qū)<,對業(yè)務(wù)和產(chǎn)品都非常熟悉。這種熟悉和developer不一樣,通常developer是對某個(gè)他做的模塊細(xì)節(jié)實(shí)現(xiàn)有深入的了解,受限于時(shí)間和精力,無法了解產(chǎn)品功能的全貌,而QA的角色使得難以了解到代碼級別的實(shí)現(xiàn)細(xì)節(jié),但是對于產(chǎn)品的各個(gè)功能,用戶的部署和使用場景等方面比較熟悉。于是乎又了solution architect這樣的概念出來了,是要針對具體的市場或者客戶過來的問題,能做評估和分析,給出相應(yīng)的技術(shù)方案,并做技術(shù)的驗(yàn)證。

我們公司現(xiàn)在有QA engineer在這種方向上走到和director同等的級別。這方面需要對產(chǎn)品的知識(shí)有非常深廣的積累。

1.2.4 Industry expert/leader

上面的三條路,你會(huì)發(fā)現(xiàn)其實(shí)是講平時(shí)的工作從幾個(gè)不同的角度去延伸,分別是深度,通用性和產(chǎn)品領(lǐng)域。其實(shí)還有一個(gè)延伸的角度,是影響力的范圍,如果可以超出公司的范疇,可以超出行業(yè)的范疇,變成我這里說的industry expert或者leader。這一方面,目前國內(nèi)還不多,大家聽得多的還是國外的一些同行,比如James Bach, Alberto Savoia, James Whittaker, Scott Barber等等。

他們在很多公司工作過,不過大家記住和尊敬他們是因?yàn)樗麄冏龅难葜v,寫的書,提出的理論和方法,可以benefit到其他人,讓別人從中學(xué)到有用的東西。

這其實(shí)也是一條路線,獨(dú)立于公司和產(chǎn)品。但是這條路顯然不容易,至少要有深厚的積累,而且要有很強(qiáng)的歸納總結(jié)能力,能寫能講。當(dāng)然很多這樣的人本身也在公司里面上班,也有一些是自己開辦自己的咨詢公司,比如James Bach。

好吧,和測試相關(guān)的談完了,下面我們來看看別的方面。

2、轉(zhuǎn)換到別的角色
2.1 項(xiàng)目經(jīng)理,Project Manager,簡稱JM

測試人員,特別是QA Lead轉(zhuǎn)項(xiàng)目經(jīng)理的例子在我身邊還不少。分析來看,有很多skill方面的東西是相通的,比如要做進(jìn)度的管理,良好的協(xié)調(diào)和溝通能力,等產(chǎn)品的比較深的理解,對公司各種相關(guān)的部門和流程的熟悉。

2.2 產(chǎn)品經(jīng)理,Product Manger, 簡稱PM

這種例子沒有上面多,但是也有一些。在我們的體系里面,PM負(fù)責(zé)整個(gè)產(chǎn)品roadmap的制訂,簡單來說是決定下一版要做什么feature,以及對產(chǎn)品的市場定位和規(guī)劃,有一部分是偏向marketing的。相對于JM,可能更偏向于business,對產(chǎn)品所在的行業(yè),客戶,以及競爭對手有比較深入的了解。相對而言,跨度要更大一些,而且對個(gè)人性格特質(zhì)的要求也不太一樣,因?yàn)镴M畢竟還是屬于R&D的范疇,而PM不是。

2.3 售后和技術(shù)支持

這方面的例子也有,我前老板的老板去做了support的director,不過這個(gè)好像還是偏管理的。engineer也是有的,不過這方面要看組織的結(jié)構(gòu)是把support做為完全獨(dú)立的機(jī)構(gòu)還是開發(fā)的一部分。

寫到這里,大部分都是我在工作中看到的例子,發(fā)現(xiàn)其實(shí)也不少。但是我深信這個(gè)列表一定是很局限的,一定有更多的。

其實(shí)真的又更多,再舉一個(gè)例子,比如去賣車。賣車?是的,大家不要笑,我說的是real case。前段時(shí)間,某天中午和同事去一家4S店看車,遇到一個(gè)sales,看了半天,也問了半天。末了,快要走的時(shí)候,他問我是做什么的,估計(jì)我們看了半天又不買所以要看看能否買得起,我說軟件大道上做軟件的。哦, 他說他以前也是做軟件的,搞數(shù)據(jù)庫方面的,后來受不了加班改行了。嗯,所以你看嘛,這也是一條路啊。