上周末去參加了第二屆(杭州)互聯(lián)網(wǎng)測試技術(shù)交流會(huì ),下午結束了以后有個(gè)小型的交流會(huì ),會(huì )中淘寶的郭芙在自我介紹的時(shí)候提出了一個(gè)問(wèn)題,就是開(kāi)發(fā)人員與測試人員比例多少才是合適的呢?這個(gè)話(huà)題引起了各位嘉賓們的踴躍討論,infoQ的泰穩整理了這次討論(推薦看1樓回復),我也想談?wù)勛约旱囊恍┛捶ā?/p>
其實(shí)算上實(shí)習,我已經(jīng)在4個(gè)公司工作過(guò)了,回頭來(lái)看看這些公司研發(fā)團隊的開(kāi)發(fā)測試比例,從一個(gè)小職員的角度。
第一個(gè)公司是一家年收入10億美元的百年老店,傳統軟件企業(yè),在那里,開(kāi)發(fā)和測試的比例大概是3:1。作為一個(gè)傳統的軟件企業(yè),這家公司的自動(dòng)化測試在那時(shí)候(2006年)才是剛起步,公司內部有較為規范的流程,QA在公司里面的工作大概就是從需求文檔開(kāi)始到各種設計文檔進(jìn)行review,之后dev開(kāi)始寫(xiě)code,這時(shí)候QA也開(kāi)始寫(xiě)測試用例,當時(shí)用的是QC。寫(xiě)好以后QA會(huì )review用例,然后就開(kāi)始執行用例(真的是step by step,不夸張)。一個(gè)人一天如果能執行完40個(gè)用例,那是相當的高效率。3:1這個(gè)比率,看上去挺正常,但是其實(shí)QA做的工作并不多,總的來(lái)說(shuō)QA的工作效率不是很高。在自動(dòng)化測試程度不高的情況下,要保持產(chǎn)品質(zhì)量,所以需要更多的QA來(lái)達到這個(gè)要求。我個(gè)人認為3:1的比率有點(diǎn)高。
之后在一家做統計分析的美資企業(yè)實(shí)習過(guò)一段時(shí)間,這個(gè)公司現在已經(jīng)被IBM收購鳥(niǎo)……在這個(gè)公司,開(kāi)發(fā)和測試比大概是2:1。QA的工作主要是閱讀設計文檔,設計測試用例,執行測試。同樣,我覺(jué)得這個(gè)公司跟之前那個(gè)公司有著(zhù)相同的問(wèn)題,自動(dòng)化測試程度不高,但是產(chǎn)品的質(zhì)量要求非常高,所以需要更多人力物力在QA團隊,而且由于各種各樣的問(wèn)題,團隊的效率好像不是非常高。所以2:1這個(gè)比率有點(diǎn)高,但是其中是有他的原因的。
在MySpace,我們的開(kāi)發(fā)測試比大概是5:1,互聯(lián)網(wǎng)公司,要的就是一個(gè)快字,所以對產(chǎn)品的質(zhì)量不需要很高,有Bug沒(méi)關(guān)系,只要改的快就行了,搶在競爭對手前把產(chǎn)品發(fā)布出去才是根本。那時(shí)候基本上是一個(gè)人負責一個(gè)項目,一個(gè)項目可能持續2~3個(gè)月,完了以后繼續第二個(gè)項目,QA要做的事情是,在拿到產(chǎn)品的設計文檔以后,跟開(kāi)發(fā)一起開(kāi)會(huì )做設計,做測試用例,測試,上線(xiàn),回歸。我做的是后臺的測試,所以我這邊其實(shí)是4個(gè)開(kāi)發(fā)寫(xiě)的代碼給我1個(gè)人測試,那些接口測試用例其實(shí)都是自動(dòng)化的(VSTS的mstest)。所以工作基本能很好完成。在這個(gè)互聯(lián)網(wǎng)公司,有互聯(lián)網(wǎng)的血統(快),但是對產(chǎn)品的質(zhì)量要求也不低,QA做的工作比較細(其實(shí)主要是要經(jīng)常性地在IE6的樣式上糾結)。在自動(dòng)化測試開(kāi)展的還可以的情況下,比率是5:1。
終于到FreeWheel了,首先說(shuō)一下我們的開(kāi)發(fā)測試比,1.2:1,具體說(shuō)就是12個(gè)開(kāi)發(fā)對10個(gè)測試。說(shuō)一下那么多QA都是干嘛的呢?QA的工作主要是拿到PM的設計以后,參與開(kāi)發(fā)的設計,之后設計用例,測試,把測試轉化為自動(dòng)化回歸測試(其實(shí)很方便的);解答客戶(hù)遇到的各種問(wèn)題(為什么我的廣告沒(méi)出來(lái),我想要XXX的數據,等等)。我個(gè)人覺(jué)得這套服務(wù)的特點(diǎn)是(相對于其他系統來(lái)說(shuō))商業(yè)邏輯非常復雜,軟件本身的復雜度相對商業(yè)邏輯來(lái)說(shuō)較低。據我的工作的體會(huì ),DEV很少會(huì )出現比較低級的bug,出現bug的地方大多數都是在商業(yè)邏輯上,說(shuō)白了這是一套business driven的系統,客戶(hù)需求是第一位,如果他說(shuō)要一個(gè)算法,要1+1=7的,都是要實(shí)現的。所以QA在看需求的時(shí)候需要看的非常細,所以就需要更多的QA,并且會(huì )花比較多的時(shí)間去解決客戶(hù)遇到的問(wèn)題。
這個(gè)開(kāi)發(fā)測試比,基本上每家公司都是不一樣的。這個(gè)原因有很多,公司傳統,領(lǐng)導風(fēng)格,人員素質(zhì),工作內容,等等……如果離開(kāi)了當前公司的這個(gè)Context去談開(kāi)發(fā)測試比,并沒(méi)有太多的意義。就譬如說(shuō)兩家公司的開(kāi)發(fā)測試比都是3:1,但是其中一家公司的可能很糟蹋,另一家很高效。談這個(gè)開(kāi)發(fā)測試比例,最好是在相同的類(lèi)型的公司(創(chuàng )業(yè)型VS大公司),相同的行業(yè)(互聯(lián)網(wǎng)VS傳統),人員素質(zhì)在同一個(gè)水平,等等。。。在這些前提條件下,如果發(fā)現自己的所在的組織的效率不如其他公司,可以參考同行有什么好的實(shí)踐,取其精華去其糟粕。
原文轉自:http://kjueaiud.com