經(jīng)過這幾年的發(fā)展,國內(nèi)IT公司的測試水平有了很大的提高,但是與此同時,很多測試工程師也迎來了個人的發(fā)展瓶頸:很多人從測試工程師做到了測試經(jīng)理的職位,不知道下一步如何發(fā)展;或者每天機械地從事著功能測試工作。
根據(jù)作者多年的經(jīng)驗,一個有競爭力的測試人員要具有下面三個方面的素質(zhì):
計算機專業(yè)技能
計算機領(lǐng)域的專業(yè)技能是測試工程師應(yīng)該必備的一項素質(zhì),是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發(fā)展空間或者持久競爭力的測試工程師,則計算機專業(yè)技能是必不可少的。計算機專業(yè)技能主要包含三個方面:
測試專業(yè)技能
1
現(xiàn)在軟件測試已經(jīng)成為一個很有潛力的專業(yè)。要想成為一名優(yōu)秀的測試工程師,首先應(yīng)該具有扎實的專業(yè)基礎(chǔ),這也是本書的編寫目的之一。因此,測試工程師應(yīng)該努力學(xué)習測試專業(yè)知識,告別簡單的“點擊”之類的測試工作,讓測試工作以自己的專業(yè)知識為依托。
測試專業(yè)知識很多,本書內(nèi)容主要以測試人員應(yīng)該掌握的基礎(chǔ)專業(yè)技能為主。測試專業(yè)技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設(shè)計等基礎(chǔ)測試技術(shù),也包括單元測試、功能測試、集成測試、系統(tǒng)測試、性能測試等測試方法,還包括基礎(chǔ)的測試流程管理、缺陷管理、自動化測試技術(shù)等知識。
軟件編程技能
1
“測試人員是否需要編程?”可以說是測試人員最常提出的問題之一。實際上,由于在我國開發(fā)人員待遇普遍高于測試人員,因此能寫代碼的幾乎都去做開發(fā)了,而很多人則是因為做不了開發(fā)或者不能從事其它工作才“被迫”從事測試工作。最終的結(jié)果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以借助測試工具進行簡單的自動化測試(主要錄制、修改、回放測試腳本)。
軟件編程技能實際應(yīng)該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發(fā)經(jīng)驗。因此,測試人員要想得到較好的職業(yè)發(fā)展,必須能夠編寫程序。只有能給編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟件測試人員的編程技能要求也有別于開發(fā)人員:測試人員編寫的程序應(yīng)著眼于運行正確,同時兼顧高效率,尤其體現(xiàn)在與性能測試相關(guān)的測試代碼編寫上。因此測試人員要具備一定的算法設(shè)計能力。依據(jù)作者的經(jīng)驗,測試工程師至少應(yīng)該掌握Java、C#、C++之類的一門語言以及相應(yīng)的開發(fā)工具。
網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫、中間件等知識:
1
與開發(fā)人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由于測試中經(jīng)常需要配置、調(diào)試各種測試環(huán)境,而且在性能測試中還要對各種系統(tǒng)平臺進行分析與調(diào)優(yōu),因此測試人員需要掌握更多網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫等知識。
在網(wǎng)絡(luò)方面,測試人員應(yīng)該掌握基本的網(wǎng)絡(luò)協(xié)議以及網(wǎng)絡(luò)工作原理,領(lǐng)測認為尤其要掌握一些網(wǎng)絡(luò)環(huán)境的配置,這些都是測試工作中經(jīng)常遇到的知識。
操作系統(tǒng)和中間件方面,應(yīng)該掌握基本的使用以及安裝、配置等。例如很多應(yīng)用系統(tǒng)都是基于Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關(guān)的工具軟件。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
數(shù)據(jù)庫知識則是更應(yīng)該掌握技能,現(xiàn)在的應(yīng)用系統(tǒng)幾乎離不開數(shù)據(jù)庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應(yīng)該掌握Mysql、MS Sqlserver、Oracle等常見數(shù)據(jù)庫的使用。
作為一名測試人員,盡管不能精通所有的知識,但要想做好測試工作,應(yīng)該盡可能地去學(xué)習更多的與測試工作相關(guān)的知識。
行業(yè)知識
行業(yè)主要指測試人員所在企業(yè)涉及的行業(yè)領(lǐng)域,例如很多IT企業(yè)從事石油、電信、銀行、電子政務(wù)、電子商務(wù)等行業(yè)領(lǐng)域的產(chǎn)品開發(fā)。行業(yè)知識即業(yè)務(wù)知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產(chǎn)品的業(yè)務(wù)流程,才可以判斷出開發(fā)人員實現(xiàn)的產(chǎn)品功能是否正確。
很多時候,軟件運行起來沒有異常,但是功能不一定正確。只有掌握了相關(guān)的行業(yè)知識,才可以判斷出用戶的業(yè)務(wù)需求是否得到了實現(xiàn)。
行業(yè)知識與工作經(jīng)驗有一定關(guān)系,通過時間即可以完成積累。
個人素養(yǎng)
作為一名優(yōu)秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業(yè)技能和行業(yè)知識外,測試人員應(yīng)該具有一些基本的個人素養(yǎng),即下面的“五心”。
專心:主要指測試人員在執(zhí)行測試任務(wù)的時候要專心,不可一心二用。經(jīng)驗表明,高度集中精神不但能夠提高效率,還能發(fā)現(xiàn)更多的軟件缺陷,業(yè)績最棒的往往是團隊中做事精力最集中的那些成員。
細心:主要指執(zhí)行測試工作時候要細心,認真執(zhí)行測試,不可以忽略一些細節(jié)。某些缺陷如果不細心很難發(fā)現(xiàn),例如一些界面的樣式、文字等。
耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到“專心”和“細心”,這將讓很多軟件缺陷從你眼前逃過。
責任心:責任心是做好工作必備的素質(zhì)之一,測試工程師更應(yīng)該將其發(fā)揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的后果。
自信心:自信心是現(xiàn)在多數(shù)測試工程師都缺少的一項素質(zhì),尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業(yè)發(fā)展,測試工程師們應(yīng)該努力學(xué)習,建立能“解決一切測試問題”的信心。
“五心”只是做好測試工作的基本要求,測試人員應(yīng)該具有的素質(zhì)還很多。例如測試人員不但要具有團隊合作精神,而且應(yīng)該學(xué)會寬容待人,學(xué)會去理解“開發(fā)人員”,同時要尊重開發(fā)人員的勞動成果——開發(fā)出來的產(chǎn)品。
-
測試工程師
+關(guān)注
關(guān)注
6文章
124瀏覽量
12465
發(fā)布評論請先 登錄
相關(guān)推薦
評論