軟件測(cè)試工程師在工作中常常扮演著用戶的角色,但是大家千萬(wàn)不要一看到“用戶”就馬上聯(lián)想到“上帝”,認(rèn)為軟件測(cè)試工程師的工作很舒服。在實(shí)際工作中,每個(gè)產(chǎn)品在發(fā)布前都會(huì)有很多版本,軟件測(cè)試工程師在每個(gè)版本中都要模擬用戶使用的各種場(chǎng)景,遍歷用戶可能會(huì)使用到的各種輸入參數(shù),通過(guò)系統(tǒng)輸出來(lái)判斷這些操作結(jié)果是否能夠滿足預(yù) 期。其中很多操作都是重復(fù)的,這就需要軟件測(cè)試工程師有一份“外在”的細(xì)致和耐心。
除了“外在美”,軟件測(cè)試還要求軟件測(cè)試工程師有“內(nèi)涵”——懂用戶。他們不僅要保證產(chǎn)品滿足用戶明確提出的功能需求,還需要理解在這些功能背后隱藏的“潛在”需求,如性能、可靠性、易用性、可操作 性、可移植性等。可見(jiàn),要想內(nèi)外兼修,真正做好做深軟件測(cè)試,絕對(duì)不是一件容易的事情。
軟件測(cè)試在“入門”上相對(duì)軟件開發(fā)的確要容易些,但是軟件測(cè)試和軟件開發(fā)不同的是,軟件開發(fā)人員只需要理解自己負(fù)責(zé)的模塊就可以勝任工作,而軟件測(cè)試則需要對(duì)整個(gè)系統(tǒng)都要有整體的把握,需要站在用戶的角度去理解需求,所以軟件測(cè)試比軟件開發(fā)更難深入。
但現(xiàn)實(shí)是,測(cè)試“深入難”的這個(gè)特點(diǎn)往往被忽視,“門檻低”卻被放大。“門檻低”的另一層意思就是“誰(shuí)都能做”,技術(shù)含量不高。在這種背景下,軟件測(cè)試工程師在職業(yè)發(fā)展上自然很難受到重視
對(duì)那些工作了兩三年的軟件測(cè)試工程師來(lái)說(shuō),他們?cè)诋a(chǎn)品和軟件測(cè)試技術(shù)上都有了基本的認(rèn)識(shí),足以勝任每天的日常工作后,很自然就會(huì)開始尋找新的發(fā)展方向和目標(biāo)。
一個(gè)發(fā)展方向是軟件測(cè)試管理。但軟件測(cè)試的管理職位其實(shí)并不 多,即使是有獨(dú)立測(cè)試部門的大中型公司,也只會(huì)到高級(jí)測(cè)試經(jīng)理級(jí) 別,更別提那些沒(méi)有獨(dú)立測(cè)試部門的小企業(yè)了。所以軟件測(cè)試工程師在測(cè)試管理方面想要有所發(fā)展,不僅需要能力,還需要機(jī)遇。
軟件測(cè)試在技術(shù)方面又有哪些發(fā)展呢?
要想在技術(shù)方面有所發(fā)展,“深入”是必需的。這本來(lái)就不是一件容易的事情,而軟件測(cè)試技術(shù)在“深入”上又比其他領(lǐng)域更難一些,可謂“難上加難”。當(dāng)軟件測(cè)試工程師開始進(jìn)入軟件測(cè)試職業(yè)發(fā)展的平臺(tái) 期,變得迷茫、困惑,看不清自己未來(lái)的發(fā)展方向,需要指引時(shí),又往往找不到方向。我的一位前輩曾經(jīng)拿“布朗運(yùn)動(dòng)”來(lái)形容他自己在平臺(tái)期的感覺(jué),我覺(jué)得這個(gè)比喻是非常貼切的。正如《奧德賽》中描述的一樣,還有什么比徘徊不前更讓人感到難受的呢?
職業(yè)發(fā)展遇到“瓶頸”本來(lái)是一件非常正常的事情,但是如果這種情況得不到改善,老是處于平臺(tái)期的狀態(tài),卻是“致命”的。在我身邊,就有很多從事測(cè)試工作3年左右的同事離職或者轉(zhuǎn)崗。《中國(guó)軟件測(cè)試從業(yè)人員調(diào)查報(bào)告》(2011年)也指出,中國(guó)軟件測(cè)試行業(yè)有超過(guò)七成的從業(yè)人員工作年限是0~3年,只有18%的人是3~5年。需要注意的是,這個(gè)比值從2009年開始就沒(méi)有發(fā)生過(guò)變化。這說(shuō)明中國(guó)軟件測(cè)試人員在工作經(jīng)驗(yàn)的分布上并不合理,缺乏持續(xù)性。我們?cè)诓粩唷皝G失”工作3年左右的、有經(jīng)驗(yàn)的測(cè)試工程師,如果這種情況一直持續(xù)下去,很難說(shuō)中國(guó)的軟件測(cè)試不會(huì)“青黃不接”。
所以我想對(duì)中國(guó)的軟件測(cè)試來(lái)說(shuō),引進(jìn)測(cè)試技術(shù),提升產(chǎn)品知識(shí), 追求更完美的測(cè)試流程,或許都不是最重要的。我們需要討論“發(fā)展”, 在軟件測(cè)試工程師職業(yè)發(fā)展出現(xiàn)困惑迷茫的時(shí)候,可以為他們解惑。
認(rèn)識(shí)軟件測(cè)試的優(yōu)勢(shì)和劣勢(shì)
我們需要先對(duì)軟件測(cè)試進(jìn)行一場(chǎng)“再”認(rèn)識(shí)。
從“成熟度”來(lái)講,軟件開發(fā)行業(yè)的整體成熟度更高,人們對(duì)軟件開發(fā)的理解也更為全面深入。正因?yàn)檫@樣,人們也更習(xí)慣將軟件測(cè)試和軟件開發(fā)放在一起比較。雖然軟件開發(fā)和軟件測(cè)試都屬于產(chǎn)品研發(fā),但是人們的關(guān)注點(diǎn)是不同的。軟件開發(fā)偏向“創(chuàng)造”,而軟件測(cè)試卻偏向“驗(yàn)證”和“確定”,所以軟件開發(fā)和軟件測(cè)試對(duì)技能要求也是不同的。但是 要廣度和深度的認(rèn)識(shí) ‘’軟件‘’ 開發(fā)能力必須具備
人們將軟件測(cè)試和軟件開發(fā)放在一起比較的時(shí)候,容易陷入“用軟件開發(fā)的要求來(lái)評(píng)價(jià)軟件測(cè)試”的思維中,只看到軟件測(cè)試和軟件開發(fā)相比的弱勢(shì),卻看不到軟件測(cè)試自身的優(yōu)勢(shì)。
那么作為軟件測(cè)試,和軟件開發(fā)相比,又有哪些優(yōu)勢(shì)呢?
雖然軟件測(cè)試存在不少困境和迷局,但是這并不能掩蓋軟件測(cè)試自身的優(yōu)勢(shì)。
和軟件開發(fā)相比,軟件測(cè)試入門相對(duì)更容易些。這是軟件測(cè)試行業(yè)的一大特點(diǎn),其實(shí)也是軟件測(cè)試的優(yōu)勢(shì)之一。較低的“門檻”給了軟件測(cè)試行業(yè)和軟件測(cè)試從業(yè)者更多的選擇余地。一些企業(yè)在招聘軟件測(cè)試人員的時(shí)候,不一定只招聘有計(jì)算機(jī)、通信相關(guān)經(jīng)驗(yàn)的人,他們可能會(huì)根據(jù)產(chǎn)品的特點(diǎn),招聘一些更能理解產(chǎn)品和用戶需求的人員,如金融、財(cái)會(huì)專業(yè)的人等,所以軟件測(cè)試從業(yè)者可以是“雜家”,或者說(shuō)對(duì)某些領(lǐng)域來(lái)說(shuō),“雜家”反而更適合軟件測(cè)試。從軟件開發(fā)相對(duì)“封閉”的行業(yè)特點(diǎn)來(lái)說(shuō),軟件測(cè)試就要“開放”多了。另外對(duì)想改行從事軟件研發(fā)工作的人來(lái)說(shuō),選擇“軟件測(cè)試”作為轉(zhuǎn)型的切入點(diǎn)也是比較合適的。
在軟件開發(fā)項(xiàng)目中,大多數(shù)軟件開發(fā)工程師都會(huì)被分配一個(gè)或幾 個(gè)“模塊”來(lái)編碼實(shí)現(xiàn),幾個(gè)軟件開發(fā)工程師合作才能完成一項(xiàng)功能是非常普遍的現(xiàn)象。這種割裂式的開發(fā)工作模式,讓其中的軟件開發(fā)工程師很難理解產(chǎn)品的全貌,甚至不知道最終用戶會(huì)如何使用自己的產(chǎn)品。相對(duì)來(lái)說(shuō),軟件測(cè)試人員是產(chǎn)品研發(fā)團(tuán)隊(duì)中最理解產(chǎn)品全貌、最理解用戶的人,這是由軟件測(cè)試的工作內(nèi)容決定的。
軟件測(cè)試人員不必關(guān)心產(chǎn)品究竟是如何編碼實(shí)現(xiàn)的,不必關(guān)心用的是C語(yǔ)言還是C++,不必關(guān)心這部分代碼是軟件開發(fā)人員從網(wǎng)上復(fù)制下來(lái)的還是自己原創(chuàng)的;他們需要關(guān)注的是“產(chǎn)品的實(shí)現(xiàn)是否和開發(fā)承諾要實(shí)現(xiàn)的功能是一致的”,這讓測(cè)試人員自然會(huì)去關(guān)注“功能”,理解產(chǎn)品的全貌,而不會(huì)陷入實(shí)現(xiàn)細(xì)節(jié)。
軟件測(cè)試人員還會(huì)對(duì)產(chǎn)品進(jìn)行“黑盒測(cè)試”,這種看似“摸瞎”的系統(tǒng)測(cè)試方法,需要站在用戶的角度分析用戶使用場(chǎng)景,所以軟件測(cè)試人員必須想辦法去全面理解用戶,不僅要理解用戶明確的需求,還要理解用戶“隱形”的需求,如用戶的使用習(xí)慣、用戶行業(yè)潛在規(guī)則等。所以在產(chǎn)品研發(fā)領(lǐng)域,測(cè)試人員才是最理解用戶的人。
在大多數(shù)人的印象中,軟件開發(fā)整天面對(duì)著電腦,兩耳不聞窗外 事,十指翻飛只為編寫程序,是一個(gè)很“宅”的職業(yè)。你千萬(wàn)不要以為軟件測(cè)試也是一樣的,和軟件開發(fā)相比,軟件測(cè)試人員需要有一定的溝通交流能力,這不僅有助于就產(chǎn)品測(cè)試中發(fā)現(xiàn)的bug和開發(fā)人員進(jìn)行溝通,更重要的是,在很多企業(yè),軟件測(cè)試人員都會(huì)作為產(chǎn)品研發(fā)的接 口,在用戶出現(xiàn)問(wèn)題的時(shí)候和用戶進(jìn)行溝通。除此之外,想要做好測(cè) 試,協(xié)調(diào)能力、風(fēng)險(xiǎn)評(píng)估能力、數(shù)據(jù)統(tǒng)計(jì)分析能力和報(bào)告撰寫能力都是必不可少的“軟技能”。所以和軟件開發(fā)要求“深度”不同,軟件測(cè)試更注重“廣度”,要求軟件測(cè)試人員是“多面手”,有很強(qiáng)的綜合能力。
軟件測(cè)試的這一特點(diǎn),讓軟件測(cè)試人員可以有更多的職業(yè)外延可供選擇。換句話說(shuō),即使一名軟件測(cè)試工程師在從事了幾年軟件測(cè)試工作后轉(zhuǎn)行,無(wú)論他是改行做銷售、客服或其他工作,都可以很快上手,得到認(rèn)可。這是因?yàn)檐浖y(cè)試人員對(duì)產(chǎn)品理解,在研發(fā)領(lǐng)域可能不夠“深入”,但是在非研發(fā)領(lǐng)域卻做得很好。在廣度方面,軟件測(cè)試人員不會(huì)輸于其他非研發(fā)領(lǐng)域的從業(yè)人員;對(duì)用戶需求的理解,軟件測(cè)試人員也不會(huì)遜色;而溝通協(xié)調(diào)、分析總結(jié)、風(fēng)險(xiǎn)意識(shí)等軟能力也能幫助軟件測(cè)試人員很快掌握新領(lǐng)域的知識(shí)技能。所以相對(duì)來(lái)說(shuō),軟件測(cè)試人員其實(shí)更能適應(yīng)這個(gè)復(fù)雜多變的社會(huì)。
軟件測(cè)試的劣勢(shì)
客觀來(lái)講,和軟件開發(fā)相比,軟件測(cè)試也存在很多劣勢(shì)。
雖然軟件測(cè)試的“出口”看起來(lái)很廣闊,但是和同在軟件研發(fā)領(lǐng)域的軟件開發(fā)人員相比,軟件測(cè)試在軟件研發(fā)領(lǐng)域的發(fā)展卻比軟件開發(fā)人員有限得多,至少這是現(xiàn)狀。我們很少看到軟件測(cè)試人員去做產(chǎn)品研發(fā)管理工作,成為開發(fā)代表、產(chǎn)品線經(jīng)理或研發(fā)總監(jiān);很少看到軟件測(cè)試人員去做系統(tǒng)架構(gòu)師(SE)。很多企業(yè),軟件測(cè)試在管理上的職位,最高就是測(cè)試代表或測(cè)試經(jīng)理,在技術(shù)上甚至沒(méi)有職位,沒(méi)有發(fā)展方向。
車開到這里,有人會(huì)反駁我,說(shuō)不是有 開發(fā)測(cè)試么;開發(fā)測(cè)試也是測(cè)試,并不是全棧開發(fā),崗位職責(zé)的烙印 ‘測(cè)試’依舊在身上;不要忘卻了,你是測(cè)試開發(fā),就不是測(cè)試了
-
測(cè)試工程師
+關(guān)注
關(guān)注
6文章
124瀏覽量
12431
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論