軟件測試的能力素質(zhì)模型(Job Model),是對不同層級測試工程的能力要求進(jìn)行明確的定義。目的是為了對每位工程師的能力進(jìn)行科學(xué)的評估,然后分配合理的工作,也幫助大家明確職業(yè)規劃的方向。
淘寶測試工程師的最常用的有4個(gè),分別是:
測試工程師(P4)
高級測試工程師(P5)
資深測試工程師(P6)
測試專(zhuān)家(P7)
大家注意,不同軟件公司對工程師的級別命名會(huì )有不同,大家只要理解它們之間的區別就行了,不必糾結具體的名稱(chēng),那些都是虛名,就像浮云一樣。
一般大學(xué)畢業(yè)生加入測試團隊,層級就是P4。對P4工程師的能力要求是比較基礎的:熟悉軟件測試流程,通過(guò)閱讀文檔和溝通可以了解產(chǎn)品的需求,獨立設計測試用例TC,執行TC并記錄缺陷,完成缺陷跟蹤。P4的職責要求是不要出現測試遺漏,特別是不能遺漏一些既嚴重又初級的Bug。
招聘P4工程師的時(shí)候,我們重點(diǎn)關(guān)注應聘者對計算機軟件使用是否熟練,比如測試工作經(jīng)常涉及的操作系統、Office、瀏覽器等等;是否能清晰的描述一個(gè)事物或者一個(gè)過(guò)程,因為在記錄缺陷的時(shí)候,需要讓開(kāi)發(fā)工程師很快了解缺陷的重點(diǎn);與人交流的時(shí)候是否可以很容易的表達和理解,因為測試工程師需要經(jīng)常和產(chǎn)品經(jīng)理、開(kāi)發(fā)工程師交流需求、設計的內容。
與P4工程師相比,P5工程師的一個(gè)關(guān)鍵詞就是“獨立”。P4工程師可以很好的完成你分配給他的單項任務(wù),比如測試某個(gè)功能模塊;P5工程師則能夠完成一個(gè)較大的系統任務(wù),比如一個(gè)項目的測試。你可以放心的把一整件事情交給P5,他會(huì )主動(dòng)的推動(dòng)任務(wù)的完成,會(huì )主動(dòng)解決過(guò)程中遇到的問(wèn)題。
P5工程師需要了解更多的測試類(lèi)型和測試策略,比如性能測試、易用性測試等等,當他接到一個(gè)項目后,可以分析出來(lái),每個(gè)模塊需要使用哪種測試策略,那些模塊需要重點(diǎn)測試。P5也需要制定測試計劃,安排時(shí)間表,這些都是P5的工作重點(diǎn)。
“我已經(jīng)獨立做了好幾個(gè)項目的測試了,能達到P5么?”
由于資源的問(wèn)題,可能很多P4工程師都獨立做過(guò)一些項目,因此會(huì )產(chǎn)生上面的疑問(wèn)。判斷是否達到P5,并不僅僅看是否做了項目,而是重點(diǎn)看你對過(guò)程和質(zhì)量的把握。這么說(shuō)有點(diǎn)抽象,舉兩個(gè)例子說(shuō)明。
在制定測試計劃的時(shí)候,測試組長(cháng)會(huì )決定測試策略(How)和測試工期(When),這時(shí)需要PM和開(kāi)發(fā)對測試計劃進(jìn)行評審。P5制定的測試計劃,會(huì )得到項目組的認可和信服?墒侨绻麥y試組長(cháng)說(shuō),這里要重點(diǎn)測試,開(kāi)發(fā)說(shuō)根本不用,或者測試組長(cháng)說(shuō)測試需要1個(gè)月,PM直搖頭說(shuō),哪要那么久,半個(gè)月就夠了,那就說(shuō)明能力還差把火。
再說(shuō)個(gè)例子,P4可以把一個(gè)模塊的Bug都找出來(lái),但是如果問(wèn)他,項目現在的質(zhì)量好不好,什么時(shí)候可以發(fā)布,P4難以回答。而P5就可以很好的回答這個(gè)問(wèn)題,他可以和PM站在平等的位置上,討論質(zhì)量和風(fēng)險,商量發(fā)布日期,PM也很信任P5做出的質(zhì)量評估。簡(jiǎn)單的說(shuō),P5可以很自信的站在PM面前,說(shuō),我認為現在的質(zhì)量不合格,因為......,現在不能發(fā)布,并且PM也認可。
下面講一下P6,P6的關(guān)鍵詞是“創(chuàng )新”,P6的工作效率較P4、P5有很大的提高,具體表現在下面幾個(gè)方面。
P6對被測軟件的結構和相關(guān)的開(kāi)發(fā)技術(shù)有深入的了解,因此P6在提Bug的時(shí)候,定位非常準確,還可以分析出Bug的原因,也能發(fā)現一些深層次的Bug,開(kāi)發(fā)工程師與P6測試工程師合作時(shí),會(huì )感覺(jué)非常high。P6會(huì )經(jīng)常想出一些新的方法或者技巧進(jìn)行測試,讓測試速度更快,決不是只在UI層測試。
P6善于發(fā)現工作中的一些重復性勞動(dòng),然后用技術(shù)手段,把這些重復工作自動(dòng)實(shí)現。P6善于思考,一刻也停不下來(lái),你總是能從P6的口中,聽(tīng)到一些新的東西,因為他一直在考慮,怎么把工作做得更快更好。
“是不是只有會(huì )編碼,會(huì )開(kāi)發(fā)工具,才能到P6?”
單純的編碼能力,在大學(xué)學(xué)習的時(shí)候,一般就已經(jīng)掌握了。P6需要的是軟件技術(shù)的廣闊知識面,編程語(yǔ)言、編程工具、流行框架、開(kāi)源組件、數據庫等等。當他遇到問(wèn)題的時(shí)候,善于運用這些技術(shù),找到最優(yōu)的解決辦法。單純?yōu)榱司幋a而編碼,沒(méi)有運用在實(shí)際工作中,是沒(méi)有意義的。
最后說(shuō)說(shuō)P7,P7也需要創(chuàng )新,但是比P6的創(chuàng )新要復雜一些,關(guān)鍵詞應該叫做“革新”。P6的創(chuàng )新可以讓自己工作得更加高效,P7的革新則能夠讓整個(gè)團隊的工作效率提升。P7對技術(shù)的理解更加成熟,在解決問(wèn)題的時(shí)候,也不僅只考慮技術(shù)手段,而是要系統的分析,全面考慮各種方案的可行性,制定出最優(yōu)的解決方案,下面的例子可以很好的說(shuō)明。當我們感覺(jué)到工作中有一些環(huán)節,工作量大,重復性高,并且投入產(chǎn)出比較低,P6的做法是開(kāi)發(fā)一個(gè)工具,把自己從這些工作中解放出來(lái);P7的做法是,策劃一次創(chuàng )新,用新的方案取代,并運用技術(shù)手段來(lái)實(shí)現。
關(guān)于各個(gè)層級的測試工程師能力要求,我們就談到這里。關(guān)于Job Model,我想大家最常問(wèn)的問(wèn)題就是:“我想晉升到更高一級,應該怎么做呢?”希望這篇文章能幫您理清一些思路。如果還有問(wèn)題,歡迎在這里和我繼續討論。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/