經(jīng)過軟件測試崗位洗禮的人才往往是行業(yè)中的多面手,,比其它IT人才具有更強(qiáng)的可塑性,,在技術(shù)、管理,、市場甚至其它非IT領(lǐng)域都能得到良好的發(fā)展,。
這個(gè)職業(yè)講求的經(jīng)驗(yàn)和方法,只要你比別人掌握的方法多,,經(jīng)驗(yàn)更豐富,,在這個(gè)行業(yè)中就有立足之地,,并且很快就會(huì)脫穎而出,。一個(gè)初級(jí)測試人可以想出3-5種測試方法,但不一定會(huì)測出bug,,即便測出了,,也無法用規(guī)范的語言表述錯(cuò)誤,增加開發(fā)人員的工作負(fù)擔(dān),。而訓(xùn)練有素的專業(yè)測試人員,,可以想出10-20種測試方法,運(yùn)用邊界值,,等價(jià)類,,因果圖,探索法等各種方法來編寫測試用例,,最大限度地發(fā)現(xiàn)bug,,并使用規(guī)范的語言撰寫測試文檔,從而有效提升軟件缺陷的修復(fù)率,。
要想從事軟件測試工作,,需要具備專業(yè)的測試?yán)碚撝R(shí),,更重要的是豐富的測試經(jīng)驗(yàn)和方法,不斷培養(yǎng)自己的逆向思維的測試思想,,同時(shí)由于很多軟件的測試是針對(duì)某一特定行業(yè)或領(lǐng)域,,因此,掌握該領(lǐng)域?qū)I(yè)知識(shí)也是非常關(guān)鍵的因素,。
以下軟件測試職業(yè)發(fā)展的各個(gè)階段,,看看大家現(xiàn)在都到什么階段了,為自己好好規(guī)劃下自己的職業(yè)道路,。這是國外公司的職位分布,,中國國內(nèi)一些走在前列的公司,也差不多在國內(nèi)可能晉升要快的多,。1,、初級(jí)測試工程師 剛?cè)腴T的擁有計(jì)算機(jī)科學(xué)學(xué)位的個(gè)人或具有一些手工測試經(jīng)驗(yàn)的個(gè)人。開發(fā)測試腳本并開始熟悉測試生存周期和測試技術(shù),。
2,、測試工程師/程序分析員 具有1-2年經(jīng)驗(yàn)的測試工程師或程序員。編寫自動(dòng)測試腳本程序并擔(dān)任測試編程初期的領(lǐng)導(dǎo)工作,。進(jìn)一步拓展編程語言,、操作系統(tǒng)、網(wǎng)絡(luò)與數(shù)據(jù)庫方面的技能,。
3,、高級(jí)測試工程師/程序分析員 具有3-4年經(jīng)驗(yàn)的測試工程師或程序員。幫助開發(fā)或維護(hù)測試或編程標(biāo)準(zhǔn)與過程,,負(fù)責(zé)同級(jí)的評(píng)審,,并為其它初級(jí)的測試工程師或程序員充當(dāng)顧問。繼續(xù)拓展編程語言,、操作系統(tǒng),、網(wǎng)絡(luò)與數(shù)據(jù)庫方面的技能。
4,、測試組負(fù)責(zé)人 具有4-6年經(jīng)驗(yàn)的測試工程師或程序員,。負(fù)責(zé)管理1至3名測試工程師或程序員。擔(dān)負(fù)一些進(jìn)度安排和工作規(guī)模/成本估算職責(zé),。更集中于技能方面,。
5、測試/編程負(fù)責(zé)人 具有6-10年經(jīng)驗(yàn)的測試工程師或程序員,。負(fù)責(zé)管理8至10名技術(shù)人員,。負(fù)責(zé)進(jìn)度安排、工作規(guī)模/成本估算,、按進(jìn)度表和預(yù)算目標(biāo)交付產(chǎn)品,。負(fù)責(zé)開發(fā)項(xiàng)目的技術(shù)方法,。為一些用戶提供支持與演示。開發(fā)一些特定領(lǐng)域的技術(shù)專長,。
6,、測試/質(zhì)量保證/開發(fā)(項(xiàng)目)、經(jīng)理 具有10多年的工作經(jīng)驗(yàn),。管理8名或更多的人員參加的1個(gè)或多個(gè)項(xiàng)目,。負(fù)責(zé)這一領(lǐng)域(測試/質(zhì)量保證/開發(fā))內(nèi)的整個(gè)開發(fā)生存周期業(yè)務(wù)。為一些用戶提供交互和大量演示,。負(fù)責(zé)項(xiàng)目成本,、進(jìn)度安排、計(jì)劃和人員分工,。
7,、計(jì)劃經(jīng)理 具有15年以上開發(fā)與支持(測試/質(zhì)量保證)活動(dòng)方面的經(jīng)驗(yàn)。管理從事若干項(xiàng)目的人員以及整個(gè)開發(fā)生存周期,。負(fù)責(zé)把握項(xiàng)目方向與盈虧責(zé)任,。
軟件測試實(shí)際上是貫穿整個(gè)軟件工程的,從需求分析,、功能點(diǎn)覆蓋,、系統(tǒng)分析、代碼開發(fā),,一直到最后的測試和驗(yàn)收,。因此,軟件測試人員必須要具有縝密的邏輯思維能力,、全面的技術(shù)能力,、較強(qiáng)的責(zé)任心和團(tuán)隊(duì)合作精神以及出色的溝通能力等專業(yè)素質(zhì)。這些素質(zhì)都需經(jīng)過專門的培訓(xùn)才可擁有,。中國國內(nèi)軟件測試人才的培訓(xùn)主要有三種機(jī)構(gòu):企業(yè),、高等院校和IT培訓(xùn)機(jī)構(gòu),。企業(yè)培養(yǎng)的人才大多是通過參與項(xiàng)目自己摸索的軟件開發(fā)人員,,由于缺乏對(duì)軟件測試全面的認(rèn)識(shí),在測試思想,、技能,、思維方式、溝通能力等方面都需要進(jìn)一步提高,。高校培養(yǎng)出來的人才具備一定理論知識(shí),,但動(dòng)手能力較差,進(jìn)入企業(yè)后需要再培養(yǎng),,不能立即到崗,。培訓(xùn)機(jī)構(gòu)則能彌補(bǔ)前兩種方式的不足,,通過理論講解、上機(jī)操作,、案例探討,、項(xiàng)目實(shí)踐等方式,讓學(xué)員系統(tǒng)地提升軟件測試工程師的各項(xiàng)專業(yè)素質(zhì),。絕大多數(shù)的大學(xué)畢業(yè)生,,由于接收過良好的素質(zhì)培養(yǎng),如果再經(jīng)過一段時(shí)間的職業(yè)培訓(xùn),,掌握專業(yè)的軟件測試技能,,都能夠勝任企業(yè)的測試崗位要求。中國軟件測試行業(yè)發(fā)展才剛起步,,僅有幾家培訓(xùn)機(jī)構(gòu)開設(shè)了軟件測試人才的專業(yè)培養(yǎng)課程,,其培訓(xùn)的學(xué)員更是成為眾多IT企業(yè)爭搶的目標(biāo)。
國家及時(shí)出臺(tái)相關(guān)政策,,要求大力培養(yǎng)軟件測試人才,。在信息產(chǎn)業(yè)部等五部委聯(lián)合頒布的124號(hào)文件中明確指出:加快培養(yǎng)軟件測試人才,開展軟件評(píng)測技術(shù)的研究……形成政府引導(dǎo),、社會(huì)各方參與,、有效監(jiān)督和管理的軟件評(píng)測體系。
在IT職業(yè)培訓(xùn)大力發(fā)展的同時(shí),,一直默默無聞的國內(nèi)高等院校也開始試水,。在2007年8月,由教育部軟件工程專業(yè)教學(xué)指導(dǎo)委員會(huì),、上海交通大學(xué)軟件學(xué)院,、清華大學(xué)出版社等組織的第一次軟件測試教學(xué)研討會(huì)在滬舉行。會(huì)上首次明確提出“軟件測試”是軟件工程的核心課程之一,。會(huì)后各大高校就軟件測試專業(yè)開設(shè)問題進(jìn)行深入探討,。對(duì)此,曾參與微軟Windows95,、Internet Explorer 5.0等項(xiàng)目開發(fā)與測試工作的陳宏剛博士認(rèn)為,,雖然高校能部分緩解軟件測試人才培養(yǎng)的一些壓力,但借鑒國外發(fā)展歷史來看,,職業(yè)培訓(xùn)仍將是專業(yè)人才供給的主流渠道,。軟件測試的人才缺口不是年內(nèi)就能彌補(bǔ),需要教育,、企業(yè),、人才三方的通力配合,才能逐步實(shí)現(xiàn)供需平衡的良性發(fā)展結(jié)構(gòu)。
1,、就業(yè)競爭小最大的優(yōu)勢(shì)應(yīng)該說是就業(yè)競爭小,,一方面,由于市場競爭的加劇,,軟件企業(yè)對(duì)軟件的質(zhì)量越來越重視重視,,為了保證軟件產(chǎn)品能夠充分滿足客戶的需求,軟件企業(yè)需要大量的軟件測試人員來對(duì)軟件產(chǎn)品進(jìn)行檢測,;另一方面,,由于軟件測試職業(yè)在中國尚是新興職業(yè),中國國內(nèi)人才培養(yǎng)機(jī)制不健全,,社會(huì)人才供給量嚴(yán)重不足,,這就使得懂軟件測試技能的人才所面對(duì)的就業(yè)競爭遠(yuǎn)小于其他IT職業(yè)。
2,、高薪沒商量
剛?cè)胄械能浖y試人員,,起步月薪大多在3000-5000元左右,高于同齡人1000-2000元的薪資水平,,另外還可享受帶薪年假,、內(nèi)部培訓(xùn)、住房公積金等福利待遇,,工作2-3年月薪大約在8000-13000元之間,,甚至超出很多相同服務(wù)年限的軟件開發(fā)人員的薪資水平。
3,、無性別歧視
如果把軟件開發(fā)領(lǐng)域比作男子單打,,那么軟件測試領(lǐng)域就是混合雙打。由于工作的特殊,,軟件測試人員往往更偏好認(rèn)真,、耐心、細(xì)致,、敏感等個(gè)性元素,,而這在一定程度上與女性的個(gè)性氣質(zhì)相吻合。很多IT企業(yè)中軟件測試人員的比例更趨向平衡,,甚至出現(xiàn)女性員工成主流的情況,。
4、多元化發(fā)展
與其他IT職位相比,,軟件測試人員最大的優(yōu)勢(shì)就是發(fā)展方向太多了,。由于工作的特殊性,,測試人員不但需要對(duì)軟件的質(zhì)量進(jìn)行檢測,,而且對(duì)于軟件項(xiàng)目的立項(xiàng)、管理,、售前,、售后的等領(lǐng)域都要涉及,。
軟件測試工程師應(yīng)該具備的三項(xiàng)基本素質(zhì):
1、計(jì)算機(jī)專業(yè)技能計(jì)算機(jī)領(lǐng)域的專業(yè)技能是測試工程師應(yīng)該必備的一項(xiàng)素質(zhì),,是做好測試工作的前提條件,。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發(fā)展空間或者持久競爭力的測試工程師,,則計(jì)算機(jī)專業(yè)技能是必不可少的,。計(jì)算機(jī)專業(yè)技能主要包含三個(gè)方面:
2、測試專業(yè)技能
現(xiàn)在軟件測試已經(jīng)成為一個(gè)很有潛力的專業(yè),。要想成為一名優(yōu)秀的測試工程師,,首先應(yīng)該具有扎實(shí)的專業(yè)基礎(chǔ)。因此,,測試工程師應(yīng)該努力學(xué)習(xí)測試專業(yè)知識(shí),,告別簡單的“點(diǎn)擊”之類的測試工作,讓測試工作以自己的專業(yè)知識(shí)為依托,。
測試專業(yè)知識(shí)很多,,主要以測試人員應(yīng)該掌握的基礎(chǔ)專業(yè)技能為主。測試專業(yè)技能涉及的范圍很廣:既包括黑盒測試,、白盒測試,、測試用例設(shè)計(jì)等基礎(chǔ)測試技術(shù),也包括單元測試,、功能測試,、集成測試、系統(tǒng)測試,、性能測試等測試方法,,還包括基礎(chǔ)的測試流程管理、缺陷管理,、自動(dòng)化測試技術(shù)等知識(shí),。
3、軟件編程技能
軟件編程技能實(shí)際應(yīng)該是測試人員的必備技能之一,,在微軟,,很多測試人員都擁有多年的開發(fā)經(jīng)驗(yàn)。因此,,測試人員要想得到較好的職業(yè)發(fā)展,,必須能夠編寫程序。只有能給編寫程序,,才可以勝任諸如單元測試,、集成測試、性能測試等難度較大的測試工作。
此外,,對(duì)軟件測試人員的編程技能要求也有別于開發(fā)人員:測試人員編寫的程序應(yīng)著眼于運(yùn)行正確,,同時(shí)兼顧高效率,尤其體現(xiàn)在與性能測試相關(guān)的測試代碼編寫上,。因此測試人員要具備一定的算法設(shè)計(jì)能力,。依據(jù)作者的經(jīng)驗(yàn),測試工程師至少應(yīng)該掌握Java,、C#,、C++之類的一門語言以及相應(yīng)的開發(fā)工具。
網(wǎng)絡(luò),、操作系統(tǒng),、數(shù)據(jù)庫、中間件等知識(shí)與開發(fā)人員相比,,測試人員掌握的知識(shí)具有“博而不精”的特點(diǎn),,“藝多不壓身”是個(gè)非常形象的比喻。由于測試中經(jīng)常需要配置,、調(diào)試各種測試環(huán)境,,而且在性能測試中還要對(duì)各種系統(tǒng)平臺(tái)進(jìn)行分析與調(diào)優(yōu),因此測試人員需要掌握更多網(wǎng)絡(luò),、操作系統(tǒng),、數(shù)據(jù)庫等知識(shí)。
在網(wǎng)絡(luò)方面,,測試人員應(yīng)該掌握基本的網(wǎng)絡(luò)協(xié)議以及網(wǎng)絡(luò)工作原理,,尤其要掌握一些網(wǎng)絡(luò)環(huán)境的配置,這些都是測試工作中經(jīng)常遇到的知識(shí),。
操作系統(tǒng)和中間件方面,,應(yīng)該掌握基本的使用以及安裝、配置等,。例如很多應(yīng)用系統(tǒng)都是基于Unix,、linux來運(yùn)行的,這就要求測試人員掌握基本的操作命令以及相關(guān)的工具軟件,。而WebLogic,、Websphere等中間件的安裝、配置很多時(shí)候也需要掌握一些,。
數(shù)據(jù)庫知識(shí)則是更應(yīng)該掌握技能,,現(xiàn)在的應(yīng)用系統(tǒng)幾乎離不開數(shù)據(jù)庫。因此不但要掌握基本的安裝,、配置,,還要掌握SQL,。測試人員至少應(yīng)該掌握Mysql、MSSqlserver,、Oracle等常見數(shù)據(jù)庫的使用,。
作為一名測試人員,,盡管不能精通所有的知識(shí),,但要想做好測試工作,應(yīng)該盡可能地去學(xué)習(xí)更多的與測試工作相關(guān)的知識(shí)
隨著中國IT行業(yè)的發(fā)展,,產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為企業(yè)生存與發(fā)展的核心,。從軟件、硬件到系統(tǒng)集成,,幾乎每個(gè)中大型IT企業(yè)的產(chǎn)品在發(fā)布前都需要大量的質(zhì)量控制,、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)軟件人才來完成,。而軟件測試工程師就是其中之一,。
由于軟件測試工程師處于重要崗位,所以必須具有電子,、電機(jī)類相關(guān)專業(yè)知識(shí)背景,,并且還應(yīng)有兩年以上的實(shí)際操作經(jīng)驗(yàn)。他們應(yīng)熟悉中國和國際軟件測試標(biāo)準(zhǔn),,熟練掌握和操作國際流行的系列軟件測試工具,,能夠承擔(dān)比較復(fù)雜的軟件分析、測試,、品質(zhì)管理等任務(wù),,并能獨(dú)立擔(dān)任測試、品質(zhì)管理部門的負(fù)責(zé)人,。一般情況,,軟件測試工程師可分為測試工程師、高級(jí)測試工程師和資深測試工程師三個(gè)等級(jí),。
在具體工作過程中,,測試工程師的工作是利用測試工具按照測試方案和流程對(duì)產(chǎn)品進(jìn)行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,,設(shè)計(jì)和維護(hù)測試系統(tǒng),,對(duì)測試方案可能出現(xiàn)的問題進(jìn)行分析和評(píng)估。對(duì)軟件測試工程師而言,,必須具有高度的工作責(zé)任心和自信心,。任何嚴(yán)格的測試必須是一種實(shí)事求是的測試,因?yàn)樗P(guān)系到一個(gè)產(chǎn)品的質(zhì)量問題,,而測試工程師則是產(chǎn)品出貨前的把關(guān)人,,所以,,沒有專業(yè)的技術(shù)水準(zhǔn)是無法勝任這項(xiàng)工作的。同時(shí),,由于測試工作一般由多個(gè)測試工程師共同完成,,并且測試部門一般要與其他部門的人員進(jìn)行較多的溝通,所以要求測試工程師不但要有較強(qiáng)的技術(shù)能力而且要有較強(qiáng)的溝通能力,。
因此,,在企業(yè)內(nèi)部,軟件測試工程師基本處于“雙高”地位,,即地位高,、待遇高,有的人月薪可高達(dá)8000元,??梢哉f他們的職業(yè)前景非常廣闊,從企業(yè)人才需求和薪金水平來看,,軟件測