1. 程式人生 > 實用技巧 >做好測試工程師需要學習掌握的技能

做好測試工程師需要學習掌握的技能

很多年輕或者剛剛從事測試工作的工程師,經常會問:“測試工程師需要什麼技能或者具有什麼素質才是合格的?”與開發人員相比,測試人員不但需要一技之長,還需要掌握諸如作業系統、資料庫、網路等多方面的知識。

  一個有競爭力的測試人員要具有下面三個方面的素質:

1、計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。儘管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。計算機專業技能主要包含三個方面:
1)測試專業技能
現在軟體測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有紮實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點選”之類的測試工作,讓測試工作以自己的專業知識為依託。
測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的範圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、整合測試、系統測試、效能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。
2)軟體程式設計技能
“測試人員是否需要程式設計?”可以說是測試人員最常提出的問題之一。實際上,由於在我國開發人員待遇普遍高於測試人員,因此能寫程式碼的幾乎都去做開發了,而很多人則是因為做不了開發或者不能從事其它工作才“被迫”從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以藉助測試工具進行簡單的自動化測試(主要錄製、修改、回放測試指令碼)。
軟體程式設計技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程式。只有能給編寫程式,才可以勝任諸如單元測試、整合測試、效能測試等難度較大的測試工作。
此外,對軟體測試人員的程式設計技能要求也有別於開發人員:測試人員編寫的程式應著眼於執行正確,同時兼顧高效率,尤其體現在與效能測試相關的測試程式碼編寫上。因此測試人員要具備一定的演算法設計能力。依據作者的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。
3)網路、作業系統、資料庫、中介軟體(web容器)等知識:
與開發人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由於測試中經常需要配置、除錯各種測試環境,而且在效能測試中還要對各種系統平臺進行分析與調優,因此測試人員需要掌握更多網路、作業系統、資料庫等知識。
在網路方面,測試人員應該掌握基本的網路協議以及網路工作原理,尤其要掌握一些網路環境的配置,這些都是測試工作中經常遇到的知識。作業系統和中介軟體方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unix、linux來執行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟體。而WebLogic、Websphere等中介軟體的安裝、配置很多時候也需要掌握一些。
資料庫知識則是更應該掌握技能,現在的應用系統幾乎離不開資料庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MS Sqlserver、Oracle等常見資料庫的使用。作為一名測試人員,儘管不能精通所有的知識,但要想做好測試工作,應該儘可能地去學習更多的與測試工作相關的知識。

2、行業知識
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地瞭解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟體執行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出使用者的業務需求是否得到了實現。行業知識與工作經驗有一定關係,通過時間即可以完成積累。

3、個人素養
作為一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的“五心”。
專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟體缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。
細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些介面的樣式、文字等。
耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到“專心”和“細心”,這將讓很多軟體缺陷從你眼前逃過。
責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給使用者來完成,很可能引起非常嚴重的後果。
自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試程式碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能“解決一切測試問題”的信心。
“五心”只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解“開發人員”,同時要尊重開發人員的勞動成果——開發出來的產品。

手機軟體測試工程師必須掌握的基本技能:
1.會使用程控電源,能手動調節控制程控電源,會採集電流,分析採集資料。
2.會使用電池箱,會測量電池電量,會設定測量電池電量的工具,並能分析電量採集資料圖。
3.會使用校準工具,能夠獨立進行手機校準。
4.瞭解8960的作用,能使用8960進行射頻除錯;會使用遮蔽箱。
5.會使用公司的測試缺陷庫和測試用例庫。
6.瞭解目前市面上流行的bug管理工具,並能列出幾款。
7.會使用下載工具,包括單串列埠和多串列埠工具,並瞭解其基本設定,能夠進行各種方式的下載。
8.會使用IMEI寫碼工具。
9.瞭解自己負責專案的平臺,熟悉所有手機測試指令,能夠手動進行音訊調整。
10.會使用trace工具,能夠配合開發人員抓取trace。

其他需要必備的:
1.思維縝密,能夠舉一反三,由一個問題聯想到其他模組是否也存在類似問題。
2.文筆描述清晰流暢,提交的bug讓人一看就明白,而不是看不懂。
3.善於總結自己漏測的buglist,不定時的溫習,防止漏測。
4.會焊接,能夠自己焊接lcd。
5.能判斷某些bug是硬體問題還是軟體問題或結構問題。