軟件測試在職業(yè)發(fā)展上,概括說來可以分為“管理”和“技術(shù)”兩大類。除此之外,軟件測試還可以在質(zhì)量領(lǐng)域發(fā)展。
一、軟件測試在管理上的發(fā)展
軟件測試管理是大家比較熟悉的軟件測試職業(yè)發(fā)展路線之一,比較流行的設(shè)置包括測試組長、測試經(jīng)理、測試代表、測試主管、測試總監(jiān)、測試部長等。不同的公司中相同職位的工作范圍可能略有不同,按照管理級別的高低,大致又可分為以下三級。
1、初級軟件測試管理者:測試組長
測試組長一般由有兩年左右工作經(jīng)驗的測試工程師擔(dān)當(dāng)。
由于企業(yè)的規(guī)模和產(chǎn)品復(fù)雜度存在差異,測試組長可能會管理2~5名軟件測試工程師。一般來說,測試組長不會負(fù)責(zé)整個產(chǎn)品,只是負(fù)責(zé)其中的一個或多個特性。
測試組長并不是完全的管理者。他們從事的管理工作大多僅集中在測試計劃的制訂和執(zhí)行上;在產(chǎn)品測試上,他們常會負(fù)責(zé)產(chǎn)品重點、難點的測試;除此之外,他們還要負(fù)責(zé)帶新員工,讓測試工作可以順利進(jìn)行下去。
2、中級軟件測試管理者:測試經(jīng)理、測試代表、測試主管
測試經(jīng)理、測試代表、測試主管排名不分先后,都屬于中級軟件測試管理者,一般由有4年左右工作經(jīng)驗的測試工程師擔(dān)當(dāng)。
中級軟件測試管理者負(fù)責(zé)的對象為產(chǎn)品,可能會管理10~20名軟件測試工程師(其中包括測試組長)。
中級軟件測試管理者最重要的工作還是運作測試項目,制訂并執(zhí)行測試計劃,測試結(jié)束后還需要對產(chǎn)品質(zhì)量進(jìn)行評估,給出產(chǎn)品發(fā)布建議。要做好這些,需要他們掌握更多的項目管理知識,深入理解項目價值,做好項目范圍管理、質(zhì)量管理、成本管理、時間管理、風(fēng)險管理和人力管理。除此之外,他們還要和開發(fā)人員、市場人員、服務(wù)人員等密切配合、緊密合作,其間,溝通協(xié)調(diào)能力必不可少。
他們依然是產(chǎn)品測試的骨干,還是會負(fù)責(zé)產(chǎn)品測試的重點、難點工作,所以他們也不是純粹的管理者。
3、高級軟件測試管理者:測試總監(jiān)、測試部長
測試總監(jiān)、測試部長是軟件測試的高級管理者,一般都有10年以上軟件測試工作經(jīng)驗,負(fù)責(zé)的對象是產(chǎn)品線或公司。
高級軟件測試管理者需要理解產(chǎn)品的商業(yè)目標(biāo),直接對產(chǎn)品成功負(fù)責(zé)。他們需要對測試團(tuán)隊的發(fā)展負(fù)責(zé),進(jìn)行人員招聘和培養(yǎng),留住關(guān)鍵人才,提高或更新不合格人員,提升團(tuán)隊的勝任力和職業(yè)能力;負(fù)責(zé)項目財務(wù)管理(預(yù)算和控制);負(fù)責(zé)資源的計劃與分配;持續(xù)改進(jìn)測試能力,提升效率和產(chǎn)品質(zhì)量,從測試的角度對交付產(chǎn)品的成本、周期和質(zhì)量負(fù)責(zé)。
我認(rèn)為,即使是高級軟件測試管理者,也不可能是純粹的管理者。他們依然需要保持對軟件測試各種技術(shù)的領(lǐng) 先性,因為軟件測試技術(shù)是上述工作能夠順利開展的基礎(chǔ)。
二、軟件測試在技術(shù)上的發(fā)展
軟件測試在技術(shù)上的發(fā)展方向,似乎不像軟件測試在管理上的發(fā)展方向那么明確。一種觀點是按照測試資歷和能力分為助理軟件測試工程師(或者是實習(xí)軟件測試工程師)、初級軟件測試工程師、中級軟件測試工程師、高級軟件測試工程師和主任軟件測試工程師(或是資深軟件測試工程師)。但是我認(rèn)為這種分類方式并沒有突出“軟件測試技術(shù)”,所以我個人更傾向于一種簡單的分法——產(chǎn)品測試技術(shù)和專項測試技術(shù)。
產(chǎn)品測試技術(shù)是指把某個具體(或一類)產(chǎn)品測試得更好的技術(shù);專項測試技術(shù)并不是針對具體的產(chǎn)品,而是測試領(lǐng)域普遍適用的技術(shù)。
1、產(chǎn)品測試專家:軟件測試架構(gòu)師
軟件測試在技術(shù)上可以向產(chǎn)品測試技術(shù)專家方向發(fā)展。
有些公司稱產(chǎn)品測試技術(shù)專家為軟件測試系統(tǒng)架構(gòu)師(簡稱為測試架構(gòu)師),我認(rèn)為這個稱謂是非常貼切的。
測試架構(gòu)師和系統(tǒng)架構(gòu)師在職責(zé)上是有一定對應(yīng)關(guān)系的。
系統(tǒng)架構(gòu)師在業(yè)務(wù)(需求)向開發(fā)技術(shù)轉(zhuǎn)換的過程中起到了橋梁作用,負(fù)責(zé)產(chǎn)品開發(fā)的整體架構(gòu)設(shè)計;測試架構(gòu)師是在業(yè)務(wù)(需求)向測試技術(shù)轉(zhuǎn)換的過程中起橋梁作用,負(fù)責(zé)產(chǎn)品測試的整體架構(gòu)設(shè)計。
系統(tǒng)架構(gòu)師負(fù)責(zé)對產(chǎn)品開發(fā)中的技術(shù)重點和難點進(jìn)行研究與攻關(guān);測試架構(gòu)師負(fù)責(zé)對產(chǎn)品測試中的測試重點和難點進(jìn)行研究與攻關(guān),為測試組織提供最 優(yōu)的測試方法。
系統(tǒng)架構(gòu)師協(xié)助開發(fā)項目經(jīng)理制訂項目計劃和控制項目進(jìn)度;測試架構(gòu)師負(fù)責(zé)協(xié)助測試經(jīng)理制訂測試項目計劃和控制測試項目進(jìn)度。
系統(tǒng)架構(gòu)師負(fù)責(zé)組織開發(fā)項目團(tuán)隊內(nèi)部的技術(shù)培訓(xùn)工作;測試架構(gòu)師負(fù)責(zé)組織測試團(tuán)隊內(nèi)部的技術(shù)培訓(xùn)工作。
系統(tǒng)架構(gòu)師需要有一定的戰(zhàn)略規(guī)劃能力、業(yè)務(wù)建模能力、數(shù)據(jù)分析處理能力、面向產(chǎn)品生命周期的質(zhì)量**和持續(xù)改進(jìn)能力;測試架構(gòu)師同樣需要這些能力。
有人評價系統(tǒng)架構(gòu)師是產(chǎn)品開發(fā)的“靈魂”,那么測試架構(gòu)師就是產(chǎn)品測試的“靈魂”。
2、專項測試工程師
軟件測試在技術(shù)上,還可以向?qū)m棞y試工程師方向發(fā)展,成為軟件測試某領(lǐng)域的專家。
從測試體系的角度來看,軟件測試發(fā)展至今,已經(jīng)形成了一套完整的測試體系。測試體系中的任何一個環(huán)節(jié),測試策略、測試分析設(shè)計、測試執(zhí)行、測試評估、測試流程等每個領(lǐng)域的內(nèi)涵都很豐富,包含了很多可以深入發(fā)展研究的技術(shù),比如自動化測試技術(shù)、測試工具(包括產(chǎn)品測試模擬工具和測試流程管理工具)開發(fā)、缺陷分析和測試評估技術(shù)等。
從產(chǎn)品質(zhì)量屬性的角度來看,專項測試技術(shù)還可以包含性能測試技術(shù)、可靠性測試技術(shù)、安全性測試技術(shù)等。
實際上,產(chǎn)品測試專家(軟件測試架構(gòu)師)也需要精通上文提到的各項測試技術(shù),如測試分析和設(shè)計、自動化測試技術(shù)、性能測試技術(shù)。但是,產(chǎn)品測試專家使用的任何技術(shù)都是為產(chǎn)品服務(wù)的,他需要針對當(dāng)前測試的特定產(chǎn)品選擇最合適的測試技術(shù),并針對不同的產(chǎn)品對測試技術(shù)進(jìn)行適配調(diào)整。而專項測試技術(shù)專家并不關(guān)注具體產(chǎn)品,而是偏向技術(shù)共性方面的研究。