在軟件測試中談軟件測試工程師的前景如何及需要通過哪些認(rèn)證?

軟件測試職場的持續(xù)升溫乃至火爆這一現(xiàn)象可從各大招聘網(wǎng)站和各個(gè)IT招聘專場的情況看到。一方面,在職位的需求方面,軟件測試工程師這一職位占據(jù)了 IT職位需求前三甲的位置。另一方面在薪資水平方面,軟件測試工程師的身價(jià)也逐漸被看好。下面分別從這兩個(gè)方面來了解一下軟件測試這一職位在職場中的份量。

軟件測試工程師職位需求報(bào)道

  據(jù)中國青年報(bào)報(bào)道,近日,英特爾、微軟等跨國IT企業(yè)及騰訊、攜程、聯(lián)想、百度等國內(nèi)IT企業(yè)紛紛開出極具誘惑力的條件,吸引IT人才加盟。其中,軟件測試工程師占據(jù)了需求位置。
  來自中華英才網(wǎng)的職位數(shù)據(jù)顯示,軟件測試工程師、高級(jí)軟件工程師、網(wǎng)絡(luò)安全工程師等職位成為今年IT企業(yè)的招聘重點(diǎn),其中對(duì)軟件測試工程師的招聘需求尤為明顯,目前僅中華英才網(wǎng)有300多個(gè)崗位空缺,多數(shù)企業(yè)瞄準(zhǔn)有2年以上經(jīng)驗(yàn)的工程師。

  據(jù)國內(nèi)知名招聘網(wǎng)站前程無憂新人才市場數(shù)據(jù)顯示,軟件測試工程師將成為2006年緊缺的人才,該類職位的需求主要集中在沿海發(fā)達(dá)城市,其中北京、上海的需求量分別占去33%和29%。

  據(jù)中新網(wǎng)北京報(bào)道:2006年2月中、下旬,在國展舉辦的大型招聘會(huì)上,記者了解到,多家企業(yè)紛紛打出各類高薪招聘軟件測試人員的海報(bào),出人意料的是收到的簡歷尚不足招聘崗位數(shù)的50%,而合格的竟不足30%。記者還了解到,目前像微軟、愛立信、用友等IT企業(yè),因?yàn)檎衅覆坏胶线m的人才,而不得已著手培養(yǎng)自己的軟件測試人才。在招聘會(huì)上,應(yīng)聘軟件測試人員的求職者不太多。

  軟件測試這一職場“新貴”的需求為什么像雨后春筍一樣?而面對(duì)這樣的人才需求還不能及時(shí)產(chǎn)生合格有效的人才供應(yīng)?其實(shí)這種現(xiàn)象是符合我國軟件產(chǎn)業(yè)發(fā)展的。在我國,軟件產(chǎn)業(yè)的興起和發(fā)展也是這短短十幾年。在前面的興起和發(fā)展壯大階段,一般的軟件公司都是重開發(fā)輕測試,甚至存在把測試工作都放在用戶那里去做的錯(cuò)誤思想;追求眼前功能的實(shí)現(xiàn),開發(fā)軟件追求“短”、 “平”、“快”。不太考慮性能和功能的優(yōu)化。軟件產(chǎn)業(yè)發(fā)展到,如果還是用以前的思路、辦法(公司里絕大部分、甚至全部都是開發(fā)人員在做產(chǎn)品,只要能做出來可以用行),企業(yè)的產(chǎn)品肯定沒有競爭力,從而導(dǎo)致這樣的軟件企業(yè)生存極其困難。正是因?yàn)檫@個(gè)原因,軟件測試人才以往一直被中小IT企業(yè)所忽視,只有一些知名企業(yè)才有專門的軟件測試崗位,因此國內(nèi)測試人才的儲(chǔ)備相對(duì)較少。造成現(xiàn)在的測試人才供需極不平衡,F(xiàn)在,更多的國內(nèi)企業(yè)認(rèn)識(shí)到測試的重要性,紛紛加大對(duì)軟件測試技術(shù)人員的招聘。對(duì)軟件測試工程師的認(rèn)識(shí)也從過去的“可有可無”到了的“測”才難求了。

  “軟件測試工程師地位‘翻天覆地’的變化,源自信息產(chǎn)業(yè)的發(fā)展以及軟件企業(yè)自身、用戶成熟度的不斷加深! 軟件測試專家、清華大學(xué)教授鄭人杰教授如示表示。一方面,計(jì)算機(jī)使用越來越普及,越來越多的領(lǐng)域使用了計(jì)算機(jī),特別是一些重要領(lǐng)域如國防、銀行、金融、通訊、航天等,他們對(duì)軟件質(zhì)量要求很高。同時(shí)一些重大事故的發(fā)生,也引發(fā)了人們對(duì)軟件質(zhì)量的關(guān)注。如2002年歐洲載重10噸的阿麗亞娜5型 火箭發(fā)射失敗,后證實(shí)是軟件質(zhì)量問題;還有國內(nèi)的一些銀行金融系統(tǒng),因軟件質(zhì)量問題不得不暫停營業(yè)。毋庸置疑,在經(jīng)歷了長期的不為人知和可有可無后,軟件測試工程師目前已變得炙手可熱。有調(diào)查數(shù)據(jù)顯示,目前國內(nèi)軟件企業(yè)測試人員和開發(fā)人員之比為1:5,與國外軟件業(yè)1:1的比例相去甚遠(yuǎn),軟件測試人才的招聘戰(zhàn)將進(jìn)一步繼續(xù)。

其實(shí)我覺得軟件測試工程師是個(gè)非常有前途的職業(yè).現(xiàn)在軟件測試工程師的缺口非常的大.
程序員跟測試員是相互對(duì)應(yīng)的.以前國內(nèi)認(rèn)為只要有好的程序員行了,其實(shí)還要有好的測試員.現(xiàn)在國內(nèi)的軟件廠商越來越注重測試員.

軟件測試工程師

一提到軟件測試工程師,很多人會(huì)想到那些反復(fù)使用軟件,試圖在頻繁操作中尋找到錯(cuò)誤發(fā)生的低層次人員或者軟件用戶。其實(shí)這是一種錯(cuò)誤的概念,軟件測試早已超越了用戶使用來發(fā)現(xiàn)Bug的基本測試階段。

陳宏剛介紹說,微軟的軟件測試工程師分為三種:測試執(zhí)行者(Basic Software Tester)、測試工具軟件開發(fā)工程師(Software Development Engineer in Test)和高級(jí)軟件測試工程師(Ad_hoc Tester)

測試執(zhí)行者負(fù)責(zé)理解產(chǎn)品的功能要求,然后根據(jù)測試規(guī)范和測試案例對(duì)其進(jìn)行測試,檢查軟件有沒有錯(cuò)誤,決定軟件是否具有穩(wěn)定性,屬于低級(jí)的執(zhí)行角色。

測試工具軟件開發(fā)工程師負(fù)責(zé)寫測試工具代碼,并利用測試工具對(duì)軟件進(jìn)行測試;或者開發(fā)測試工具為軟件測試工程師服務(wù)。產(chǎn)品開發(fā)后的性能測試、提交測試等過程,都有可能要用到開發(fā)的測試工具。對(duì)技術(shù)要求強(qiáng)的是這些人,因?yàn)樗鼈円邆鋵懗绦虻募夹g(shù)!耙?yàn)椴煌a(chǎn)品的特性不一樣,對(duì)測試工具要求也是不同的,像Windows的測試工具不能用于Office,office的也不能用于SQLserver,微軟很多測試工程師是負(fù)責(zé)專門為某個(gè)產(chǎn)品寫測試程序的。”

而Ad_hoc Testet屬于比較有經(jīng)驗(yàn),自己會(huì)找方向并做的很好的測試工程師,這要求具有很強(qiáng)的創(chuàng)造性。剛進(jìn)入微軟時(shí),老板也是只給陳宏剛一個(gè)操作流程,每天按照這個(gè)規(guī)程去做,幾天下來,一個(gè)Bug都沒有發(fā)現(xiàn)。陳宏剛也很沮喪,覺得這樣挺對(duì)不起公司,后來自己問自己:為什么非要這樣做!于是換了其他的方法試試,令他吃驚的是,一下找到很多嚴(yán)重的Bug,當(dāng)時(shí)也不敢聲張。有,他找到10多個(gè)非常嚴(yán)重的Bug,開發(fā)經(jīng)理一下驚呆了,怒沖沖的跑到陳宏剛面前問:“你是不是改變了測試方式和測試步驟?”陳宏剛有些嚇住,說道:“可能改變了一點(diǎn)!睂(duì)方說:“我非常生氣,但我不是生你的氣,而是因?yàn)橐郧皽y試人員水平太差,或者以前的測試方面有問題,軟件中有些Bug存在了半年甚至一年,但直到現(xiàn)在才發(fā)現(xiàn),現(xiàn)在修補(bǔ)這些錯(cuò)誤要困難很多!”后來陳宏剛得到了老板的贊許,可以按照自己的想法去做測試。對(duì)此,陳宏剛感受頗深:“一方面我體會(huì)到了微軟非常鼓勵(lì)創(chuàng)造的文化,同時(shí)也感到只遵守教條不是好的測試人員,和用戶一樣了。做軟件測試工程師同樣需要開拓和創(chuàng)造性!

在開發(fā)管理上,測試不應(yīng)該歸屬于項(xiàng)目管理,也不應(yīng)該歸屬開發(fā)人員。這三個(gè)部門應(yīng)該是并駕齊驅(qū),相互協(xié)作,測試工程師終決定產(chǎn)品是否能夠發(fā)布。

軟件測試工程師的素質(zhì)

因?yàn)檐浖䴗y試仍然處在發(fā)展階段,還沒有上升到理論層次。對(duì)人員的評(píng)測,包括微軟在內(nèi),都還沒有一個(gè)統(tǒng)一標(biāo)準(zhǔn),因此評(píng)定軟件測試工程師只能根據(jù)工作實(shí)踐進(jìn)行自然淘汰。

軟件測試對(duì)邏輯思維、學(xué)習(xí)能力、反應(yīng)要求很高,是否有嚴(yán)密的思維和逆向思維也非常重要。陳宏剛介紹說,在五六個(gè)人的測試小組時(shí),一半以上的Bug都是他找到的。他認(rèn)為這同自己數(shù)學(xué)專業(yè)的背景關(guān)系密切,數(shù)學(xué)中有邏輯思維的培訓(xùn),要善于找出來各方面的因素。比如要證明一個(gè)定理,各個(gè)方面都考慮到,一個(gè)條件不滿足無法證明;但如果證明其不成立,常用的是找到一個(gè)反例,只要有一點(diǎn)證明不成立可以了,軟件測試也是找這一點(diǎn)。


做測試還要考慮到所有出錯(cuò)的可能性,還要做一些不是按常規(guī)做的、非常奇怪的事。除了漏洞檢測,測試還應(yīng)該考慮性能問題,也是要保證軟件運(yùn)行得很好,沒有內(nèi)存泄漏,不會(huì)出現(xiàn)運(yùn)行越來越慢的情況;在不同的使用環(huán)境下,考慮軟件的兼容性同樣重要。軟件測試同產(chǎn)品的規(guī)模也有很大的關(guān)系,因?yàn)檐浖腷ug往往出在大型軟件的連接處。

做軟件測試工程師需要對(duì)軟件抱有懷疑態(tài)度。這是因?yàn)殚_發(fā)人員喜歡想當(dāng)然,總是找一些有利于自己程序執(zhí)行的數(shù)據(jù),有些開發(fā)人員甚至認(rèn)為不利于程序執(zhí)行的數(shù)據(jù)是對(duì)代碼的玷污和褻瀆。而軟件測試卻要策略性的準(zhǔn)備各種數(shù)據(jù),從每個(gè)細(xì)節(jié)上設(shè)計(jì)不同的應(yīng)用場景,不去想當(dāng)然的假定任何一個(gè)數(shù)據(jù)是可行的。

在職業(yè)素質(zhì)和交際方面方面,并不是測試工程師愛挑別人毛病才好,反而這個(gè)工作要求很強(qiáng)的溝通能力。經(jīng)常的和開發(fā)人員進(jìn)行溝通,說話辦事要很得當(dāng),不能指責(zé)別人,否則會(huì)事倍功半。性格隨和才能和開發(fā)人員順暢的溝通,對(duì)人和對(duì)事是完全不同的兩個(gè)問題。

如何培養(yǎng)的軟件測試工程師

朗川軟件測試工程師張建陽從北大力學(xué)系畢業(yè)之后,曾開發(fā)流體力學(xué)分析軟件,軟件缺少測試而產(chǎn)生的問題給她留下了很深的印象。后來去大唐電信做UIM(統(tǒng)一消息管理系統(tǒng)),她發(fā)現(xiàn)盡管公司為了鼓勵(lì)員工找bug采取了很多獎(jiǎng)勵(lì)方法,但還是很少人愿意去做系統(tǒng)測試。而張建陽卻從那時(shí)查閱翻譯了很多國內(nèi)外的資料,對(duì)軟件測試產(chǎn)生了濃厚的興趣。

像張建陽這樣在工作中自己定位在軟件測試領(lǐng)域的開發(fā)人員并不多見,因?yàn)槌绦騿T更愿意去做開發(fā)而不是測試,從大環(huán)境上,測試人員收入水平低也是原因之一。而在微軟,測試人員和開發(fā)人員的工資水平是相同的。

如何改變這種現(xiàn)狀呢?有人說可以可以派人去先進(jìn)的國外軟件企業(yè)學(xué)習(xí),但這種方式因?yàn)闋可娴缴虡I(yè)秘密,可操作性不大。陳宏剛博士認(rèn)為更好的方法是引進(jìn)人才,把在國外大型軟件公司工作過、有經(jīng)驗(yàn)的人才引進(jìn)來,甚至要高薪聘請(qǐng)。他表示,這不僅僅是一個(gè)人的問題,關(guān)鍵是能夠把整個(gè)軟件測試的水準(zhǔn)提高一個(gè)層次。

引進(jìn)人才只是開始,更重要的是培養(yǎng)一批軟件測試人才。軟件開發(fā)的教育培訓(xùn)都是比較正規(guī)的,各個(gè)學(xué)校也都設(shè)有專業(yè),但軟件測試還沒有正規(guī)的專業(yè)畢業(yè)生,而且沒有評(píng)判的標(biāo)準(zhǔn)。陳宏剛博士給很多軟件學(xué)院建議,開設(shè)四方面的軟件測試專業(yè)基礎(chǔ)課:軟件測試基礎(chǔ)、軟件測試開發(fā)、高級(jí)軟件測試案例和行業(yè)軟件特色測試方法。國內(nèi)現(xiàn)在已經(jīng)有了一些軟件測試基礎(chǔ)的教材,但其他的教材還沒有。高級(jí)軟件測試案例主要是大型軟件測試案例,大型軟件出現(xiàn)的問題具有很強(qiáng)的代表性。而行業(yè)特色軟件測試的課程可以開闊學(xué)生的視野。陳博士介紹說,在國外,也是極少的高等院校開設(shè)測試專業(yè),但可以借鑒民間的培訓(xùn)機(jī)構(gòu)課程。在有一批專業(yè)的測試人才出現(xiàn)之后,人們會(huì)認(rèn)識(shí)到他們的重要性。

如果你已經(jīng)開始從事軟件測試工作,千萬不要認(rèn)為軟件測試沒有什么發(fā)展的潛力和前途。劉忠從1995年接下IBM的OS2漢化版本的測試開始到現(xiàn)在,他一直工作在軟件測試領(lǐng)域,并升到了公司高級(jí)副總裁的位置。和騰軟件也培養(yǎng)了一批測試工程師,它們從對(duì)測試職業(yè)將信將疑到明確自己的測試方面的職業(yè)目標(biāo)。劉忠介紹說:“很多人開始做測試執(zhí)行工作時(shí)會(huì)說很麻煩、很枯燥,只是一味的埋怨,而不是主動(dòng)的去學(xué)習(xí),他沒有看到軟件測試背后所隱藏的知識(shí)。因?yàn)閷W(xué)習(xí)可以做這些工作,不學(xué)習(xí)也可以做這些工作,但質(zhì)量是不同的。有些人自學(xué)和請(qǐng)教了很多測試技術(shù)和管理方面的知識(shí),公司自然會(huì)在下個(gè)項(xiàng)目中去培養(yǎng)他。”

因此對(duì)于一個(gè)新手,要在各方面培養(yǎng)自己的能力。首先是要理解各種測試流程,并在理解的基礎(chǔ)上轉(zhuǎn)化為自己的知識(shí),以后遇到相似的問題能自己去解決。在測試技能上,要知道測試有那些手段,比如壓力測試有哪些方法,哪些工具可以輔助做測試。從專業(yè)技能上,面向不同的技術(shù)方向,像操作系統(tǒng)、網(wǎng)絡(luò)、通信等都要從專業(yè)上深入了解。這三方面要同步去成長。

軟件測試工程師未來的發(fā)展

從事軟件測試有沒有前途,未來的職業(yè)發(fā)展方向怎樣呢?

陳宏剛博士表示,軟件測試工程師在微軟的發(fā)展有幾種途徑:一種走技術(shù)路線,成長為高級(jí)軟件測試工程師,這時(shí)他能夠獨(dú)立測試很多軟件,再向上可以成為軟件測試架構(gòu)設(shè)計(jì)師。第二種是向管理方向發(fā)展,從測試工程師到組長(Lead),再到項(xiàng)目經(jīng)理(Manager),到更高的職位。第三種可以換職業(yè),做項(xiàng)目管理,做開發(fā)人員都可以,很多測試工具軟件開發(fā)工程師在寫測試軟件的過程中,因?yàn)殚_發(fā)方面積累了經(jīng)驗(yàn),同時(shí)對(duì)軟件產(chǎn)品本身產(chǎn)生了自己的看法,很容易轉(zhuǎn)去做產(chǎn)品編程。

陳宏剛博士現(xiàn)在還帶著一個(gè)測試小組,兩個(gè)清華軟件學(xué)院的學(xué)生,一個(gè)南開的專門做軟件測試的博士生,一個(gè)北郵的學(xué)生,他們負(fù)責(zé)總部一個(gè)產(chǎn)品的測試。陳博士表示,在自己簡單的講講思路,共同探討之后,他們一星期找出了70多個(gè)Bug,也感覺學(xué)了很多知識(shí),并表示以后專注于軟件測試專業(yè),因?yàn)樗麄兏杏X軟件測試真的是一門很深的學(xué)科,有很多可以研究的課題。其實(shí)微軟的測試人員很多也都是碩士、博士,他們同樣在做創(chuàng)造性的工作,保證著程序質(zhì)量,推動(dòng)著軟件的進(jìn)步。

軟件測試是正在快速發(fā)展,充滿挑戰(zhàn)的領(lǐng)域。盡管現(xiàn)在單機(jī)版桌面軟件的測試已經(jīng)成熟了很多,但對(duì)于網(wǎng)絡(luò)時(shí)代的到臨,包括微軟在內(nèi)的公司對(duì)基于網(wǎng)絡(luò)的測試也沒有一套完整的體系,也是處于探索中,網(wǎng)絡(luò)中被攻擊的可能性太大,這是為什么黑客在網(wǎng)絡(luò)上能興風(fēng)作浪的原因。網(wǎng)絡(luò)測試是一個(gè)新環(huán)境,而且是很大的挑戰(zhàn)。

軟件測試未來的發(fā)展空間很大,軟件測試工程師的職業(yè)之路同樣充滿希望。