如何成為一個優秀的軟件測試工作者和管理者?
想要成為一名優秀的的軟件測試工作者,首先應該具備素質。
而軟件測試工程師需要具備什么樣的素質呢?。
結合了其他人的答案總結下來,這里的基本素質包括比如邏輯思維能力、分析問題能力、溝通能力、協作能力、懷疑精神等方面。
作為一名優秀的測試工程師,需要比較強的綜合素質,具體包括比如前面朋友講的“五心”,責任心、細心、耐心、專心、信心等,具體這里不闡述了。
在這講下,五大“學問”還是比較重要的。邏輯學,很多公司在招聘的過程中會刻意來考察下測試工程師的邏輯思維能力。
刑偵學,測試工程師需要通過分析問題的表象,借助專業的工具,良好的知識背景來分析問題背后深層次的根本原因。
心理學,測試工程師,需要不僅僅站在用戶的角度來測試,也需要清楚開發人員的心理,分析他們的出錯模式。
統計學,測試報告就是統計學知識很好的展現。
經濟學,好的測試一定是為了幫助提高軟件質量,從而提高用戶滿意度,帶來更多的市場,從而實現盈利。
溝通能力體現在測試工程師需要跟開發人員和用戶溝通。協作和懷疑精神對于測試工程師而言也是非常重要的素質。
有人說性格決定命運,從某種意義上來說也是對的,性格會在一定程度上決定一個人的興趣,一個人會喜歡那種類型的工作。
從全面性的角度來看,作為一名優秀的測試工程師,性格上最好是相對外向點,雖然這個不代表你需要像銷售人員那樣外向,善于與人交流。
但起碼你要愿意主動與開發人員,與用戶溝通。
另外,對于性格而言,要求測試工程師更加敏感,更具備懷疑精神,挑剔的,追求完美的性格以及刨根問底的心態也是比較重要的。
從溝通的角度來看,太過于內向的人不太合適軟件測試這個行業,起碼不適合一線的測試工程師。
再來說說專業要求,網絡上很多人都在說,軟件測試入職門檻低,軟件開發入職門檻高。
其實這個觀點有失偏頗。
一個優秀的測試工程師需要的知識結構,從全面性角度來看,包括如下幾個方面,第一是計算機知識,包括編程語言,掌握至少一門開發語言,比如C、Java、C#等,一門腳本語言,比如Python、Perl、Ruby、Shell中對于測試工程師未來更廣的職業發展非常有幫助。
數據庫知識,對于絕大部分項目或互聯網項目,都會有數據庫,所以掌握至少一門數據庫,比如Oracle、SQl Server,DB2、Mysql等。另外操作系統,比如Linux、Unix,Windows核心命令也非常重要。
對于有些涉及到網絡的,網絡和通信知識,比如TCP/IP協議也非常重要。
第二部分是軟件測試核心技術,掌握軟件測試核心的方法論,具體包括軟件測試需求分析與軟件測試用例設計核心工程方法。
掌握主流的軟件測試工具,比如性能測試工具JMeter/LoadRunner,自動化工具典型代表Selenium/UFT/Appium,測試管理工具等,事實上光有這些工具還不夠,還需要真正理解其背后的實現原理。
掌握核心的研發流程,比如RUP,測試流程,比如雙V模型,或者是現在流行的敏捷測試等,也是同樣重要。方法是秘笈、工具是兵器、流程是套路。
雖然測試好比武術,棍術好比黑盒測試,劍術好比白盒測試。不同的武術對知識結構要求是不一樣。這個也是前面講到的進入軟件測試領域的方式相比開發要多的原因之一。
第三個部分是行業知識與背景,這個對于有些行業而言,非計算機專業的人會有些相對的優勢。
第四部分是英語,英語好對于做好軟件測試也有非常大的幫助,尤其是國際化軟件測試。但是也沒要求你達到跟外國人“叨叨”的那種要求。
就說這么多吧,不見得完全對,也不一定可以幫到各位朋友。更多的東西,歡迎私聊交流探討。祝好!