近年來,由于IT行業(yè)的人才稀缺,越來越多人轉(zhuǎn)向了IT相關(guān)職業(yè)。
由于IT軟件業(yè)的薪資較高,吸引了不少人選擇了IT軟件專業(yè),IT軟件專業(yè)包括軟件開發(fā)、Java工程師、軟件測試工程師等。
軟件測試工程師主要是負責(zé)理解產(chǎn)品的功能要求,并對其進行測試,檢查軟件有沒有錯誤(Bug),決定軟件是否具有穩(wěn)定性(Robustness),寫出相應(yīng)的測試規(guī)范和測試案例。
簡單的說,軟件測試工程師在一家軟件企業(yè)中擔(dān)當(dāng)?shù)氖恰百|(zhì)量管理”角色,及時糾錯及時更正,確保產(chǎn)品的正常運作。
那么要成為一個軟件測試工程師應(yīng)具備哪些職業(yè)素質(zhì)呢?
#01分析能力
軟件測試的核心其實應(yīng)該就是設(shè)計測試用例了,而設(shè)計測試用例,就是依賴與分析能力了。這里我們不說那些常用的設(shè)計方法,從一個稍高的層面上來講,就是怎么將一個復(fù)雜的系統(tǒng)進行抽象,分析拆成幾個不同的維度,結(jié)合維度可能出現(xiàn)的情況進行有選擇的組合,以最小成本獲取最大的收益。無法將一個復(fù)雜系統(tǒng)拆解成簡單的維度,是沒法做好用例設(shè)計的。
#02編程語言
語言其實就像說話一樣,只不過我們常說的英語日語之類是與人溝通,計算機語言就是與計算機進行溝通的。對于測試工程師來說,精通一門語言,熟悉其它幾門語言是有必要的。對于不同語言編寫的被測程序,是有不同特點的,如果對實現(xiàn)的語言不了解,無法進行白盒測試,沒法看代碼diff(結(jié)合代碼diff做測試)來提高效率。對于特點不了解,可能也會導(dǎo)致自己漏掉部分內(nèi)容。
#03設(shè)計能力
不要認為設(shè)計能力就是開發(fā)工程師的事情,擁有好的設(shè)計能力,就可以在設(shè)計評審的時候多提意見,促進開發(fā)工程師使用好的設(shè)計,不僅對開發(fā)有好處,對測試也是很有好處的。這樣才能防患于未然,不僅自己的勞動力,也節(jié)省團隊的勞動力。
#04對業(yè)務(wù)的理解
對業(yè)務(wù)的理解越充分,就越能夠理解最終用戶的需求,促進產(chǎn)品設(shè)計使用好的方式,促進產(chǎn)品成功。難道你想做一大堆不成功的項目么,那樣是多么沒有成就感的一件事啊。
#05自動化相關(guān)的考慮
隨著項目越來越多,系統(tǒng)的測試項目也會積累的越來越多,每次有新功能了,難道要用手工來回歸一下原有的case么。自動化測試是提高回歸測試效率的唯一解決方案(如果你說還有解決方案就是不回歸,我…),以高效率促進高質(zhì)量,才是一個良性循環(huán)的發(fā)展方式啊。
在很多企業(yè)的開發(fā)團隊中,測試人員的地位越來越重要,測試人員把控著產(chǎn)品的質(zhì)量,驅(qū)動著開發(fā)的流程。
國際標準開發(fā)團隊的開發(fā)人員和測試人員的比例為1:1,而我們國內(nèi)卻是8:1,一個測試人員要對方8個開發(fā)人員。巨大的測試人才缺口期待我們的選擇。
雖然測試的技術(shù)門檻相對于開發(fā)較低,但是軟件測試工程師在企業(yè)中的重要程度不容小覷,特別是具備一定編程能力、精通功能和性能測試的高端軟件測試工程師絕對是軟件企業(yè)中的VIP!