Google的測(cè)試策略從來沒有變過,我們執(zhí)行測(cè)試的策略隨著公司的演化而演化。我們現(xiàn)在是一個(gè)集搜索、應(yīng)用、廣告、移動(dòng)、操作系統(tǒng)等業(yè)務(wù)于一體的公司。每一個(gè)我們關(guān)注的領(lǐng)域都是在該領(lǐng)域有意義的問題。隨著我們不斷的增加新的“關(guān)注領(lǐng)域”(Focus Areas),延伸已經(jīng)存在的領(lǐng)域,我們的測(cè)試也在不斷的擴(kuò)展和改善。而我們當(dāng)下在做的以及我們預(yù)計(jì)未來將會(huì)發(fā)展的方向,是我將要在這系列文章中將要闡述的問題。

  讓我們先從組織結(jié)構(gòu)的介紹開始,這個(gè)或許會(huì)讓你感到驚奇。在Google并不存在一個(gè)真正意義上的測(cè)試部門。測(cè)試實(shí)際存在于一個(gè)關(guān)注領(lǐng)域,我們稱它為“生產(chǎn)率工程”(EngineeringProductivity)!吧a(chǎn)率工程”是一個(gè)擁有一定數(shù)量的橫向和縱向的工程學(xué)科,測(cè)試是大的一個(gè)。而在這個(gè)組織中,“生產(chǎn)率工程”是由以下三部分組成:

  1、產(chǎn)品團(tuán)隊(duì)。他們?cè)O(shè)計(jì)的內(nèi)部的和開源的工具由公司里的所有工程師完成。他們負(fù)責(zé)構(gòu)建和維護(hù)代碼分析器、開發(fā)環(huán)境、測(cè)試用例管理系統(tǒng)、自動(dòng)化測(cè)試工具、構(gòu)建系統(tǒng)、源代碼控制系統(tǒng)、代碼回顧計(jì)劃、缺陷數(shù)據(jù)庫。他們的目標(biāo)是設(shè)計(jì)一種能讓工程師更有效率的工具。工具是在檢測(cè)預(yù)防的戰(zhàn)略目標(biāo)中占非常大的一部分。

  2、服務(wù)團(tuán)隊(duì)。他們?cè)谝粋(gè)非常寬泛的領(lǐng)域內(nèi)向產(chǎn)品團(tuán)隊(duì)提供諸如包含工具(includingtools)、文檔、測(cè)試、發(fā)布管理、培訓(xùn)等方面的專業(yè)技能。他們的專業(yè)技能涵蓋可靠性、安全性、國際化等方面,也會(huì)處理產(chǎn)品團(tuán)隊(duì)可能遇到的關(guān)于功能細(xì)節(jié)方面的問題。任何一個(gè)其他“關(guān)注領(lǐng)域”的服務(wù)團(tuán)隊(duì)也可以為產(chǎn)品團(tuán)隊(duì)提供專業(yè)技能服務(wù)。

  3、嵌入式工程師。他們有效的擔(dān)負(fù)起了Google產(chǎn)品團(tuán)隊(duì)在有需要時(shí)的需求。有些工程師會(huì)跟著同一個(gè)的產(chǎn)品團(tuán)隊(duì)數(shù)年,另一些則只會(huì)在一個(gè)較短的周期內(nèi)為產(chǎn)品團(tuán)隊(duì)的需要提供服務(wù)。Google鼓勵(lì)所有的工程師經(jīng)常更換自己服務(wù)的產(chǎn)品團(tuán)隊(duì),以保持飽滿的精神狀態(tài),并保證有效和客觀的工作。測(cè)試工程師也一樣,更換團(tuán)隊(duì)的節(jié)奏也是因人而異的。有些測(cè)試工程師在Chrome項(xiàng)目下數(shù)年,而有一些則在加入團(tuán)隊(duì)18個(gè)月后去了別的團(tuán)隊(duì)。在產(chǎn)品知識(shí)與新穎的視角間保持一個(gè)良好的平衡,是一個(gè)測(cè)試管理者需要關(guān)注的。

  所以這意味著測(cè)試同學(xué)向工程生產(chǎn)力部門的經(jīng)理匯報(bào),但是他們會(huì)把自己看成產(chǎn)品部門團(tuán)隊(duì)的一員,像搜索、郵箱、和Chrome部門。從組織架構(gòu)上看,測(cè)試都是兩個(gè)團(tuán)隊(duì)的一部分。測(cè)試和產(chǎn)品團(tuán)隊(duì)坐在一起,參與計(jì)劃,一起吃飯,共享獎(jiǎng)金,享受像全職的產(chǎn)品團(tuán)隊(duì)成員一樣的待遇。這種單獨(dú)的組織匯報(bào)關(guān)系的好處是可以給測(cè)試人員之間提供良好的共享信息的討論機(jī)會(huì),好的測(cè)試思路可以很容易的在工程生產(chǎn)力部門內(nèi)部蔓延,無論公司內(nèi)的哪條產(chǎn)品線,都可以很快地使用這些好的測(cè)試技術(shù)。

  測(cè)試人員的這種項(xiàng)目分離和匯報(bào)組織結(jié)構(gòu)也有它的缺點(diǎn),目前來看,大的問題是測(cè)試人員被看做外部資源。產(chǎn)品部門團(tuán)隊(duì)不能對(duì)測(cè)試人員有太多的依賴,他們自己必須要合理地控制產(chǎn)品質(zhì)量。是的,沒錯(cuò),在谷歌,是產(chǎn)品部門團(tuán)隊(duì)對(duì)產(chǎn)品質(zhì)量負(fù)責(zé),而不是測(cè)試人員。每個(gè)產(chǎn)品部門的開發(fā)人員都需要做測(cè)試工作,測(cè)試人員的任務(wù)是為產(chǎn)品部門團(tuán)隊(duì)搭建自動(dòng)化測(cè)試基礎(chǔ)設(shè)施和流程,測(cè)試人員讓開發(fā)可以自給自足地、獨(dú)立地做完成測(cè)試工作。

  在這種模式下,我比較喜歡的是,開發(fā)和測(cè)試將有相同的地位。在質(zhì)量方面,開發(fā)和測(cè)試成為了真正的伙伴,大的質(zhì)量重?fù)?dān)交給本應(yīng)屬于的開發(fā)人員,開發(fā)的職責(zé)是正確地實(shí)現(xiàn)產(chǎn)品功能。另外這樣可以保持多對(duì)一的開發(fā)測(cè)試比率,開發(fā)人員在數(shù)量上遠(yuǎn)超測(cè)試人員,并且測(cè)試工作做的越多,開發(fā)測(cè)試比率會(huì)越大。產(chǎn)品部門團(tuán)隊(duì)也會(huì)對(duì)這樣的高開發(fā)測(cè)試比率而感到驕傲。

  好,現(xiàn)在好像大家都是好朋友了,對(duì)吧? 相信你已經(jīng)看到這種模式的一個(gè)問題,開發(fā)人員不能很好地驅(qū)動(dòng)缺陷【Bug】的運(yùn)轉(zhuǎn),開發(fā)不會(huì)測(cè)試。難道我要否認(rèn)這一點(diǎn)么?不管怎樣,我都不會(huì)否認(rèn),尤其是在我去年做的一次關(guān)于開發(fā)工程師與測(cè)試工程師對(duì)比的游戲之后(告訴你:測(cè)試工程師贏得了較量)。

  在谷歌,解決這個(gè)問題的辦法是將角色再細(xì)分,我們通過設(shè)立不同的測(cè)試角色來解決這兩種不同的測(cè)試問題。在下一篇文章里,我將詳細(xì)闡述這些測(cè)試角色和谷歌是怎樣將測(cè)試問題分成兩部分來分別解決的。