對於剛進入軟體測試工作崗位的新人,如何快速、健康的在職業道路上成長,我談幾點看法,歡迎大家討論、拍磚。
(1)興趣是最好的老師
對於軟體測試工作,通常是比較枯燥的,如果沒有興趣很難做到持久。
我最近參與了一個軟體測試專案,在測試團隊中,有三位是在校學生,他們以兼職的身份到公司上班,他們都是軟體相關專業的本科生和研究生,基礎都不錯。但是,只有其中一位表現最突出,因為他很珍惜這份社會實踐的工作機會,做事認真,找出了很多高優先順序的Bug。
另兩位同學,在參加項目不到1個月後就以各種理由退出了。在我與他們的交流中,其中一位說測試工作太枯燥了,沒有挑戰性,他更希望做軟體開發的工作。這位同學由於不喜歡做軟體測試,實際上他對軟體測試技術缺乏基本的瞭解。所以他在7天的測試工作中,只找到了3個Bug(正常情況下,其他測試人員每天能找到5個缺陷)。因此,從績效評比中他的成效最低。
另一位同學雖然願意做軟體測試,但是他覺得現在的黑箱測試太簡單,學習不到測試技術的進階技巧,他更願意學習白盒測試,能夠自己測試軟體原始碼。而現在的項目沒有這部分的內容,所以儘管他工作成績也不錯,但是積極性不高。
因此,建議同學們在尋找工作中,首先需要瞭解,你是否願意做軟體測試,願意做白盒測試還是功能的黑箱測試,不要盲目的參與到工作中,否則對於用人單位,對於個人的成長都是浪費。
(2)測試人員要學會思考
測試是個技術工作,需要學會主動思考。如果你遇到一個好的測試主管(組長),他會主動的解決你的測試實際技術痛點,這是你的幸運。但是測試問題錯綜複雜,測試主管工作很忙,他沒有時間解決你遇到的任何技術問題,需要你自己分析問題的性質,嘗試各種解決方案,搜尋網路上的文章,最好如果仍然解決不了才向主管求助。
我們反對遇到問題表現得很茫然失措,不要問一些很“弱智”的問題,否則主管認為你解決問題的能力不做,學習能力欠缺,這樣對於今後的發展不利。
測試人員如何思考?根據問題的現象思考。問題是屬於測試專業知識不足引起的,還是測試案例等測試文檔模糊、錯誤引起的,是個別現象還是測試專案的其他內容都存在的普遍現象。測試要從類比使用者使用的角度展看,因此要用最終用的角度,分析問題的嚴重程度。
在詢問最終的解決方案前,確保你根據自己的經驗嘗試了各種解決方案,並且盡量把你發現的問題和猜測,告訴測試主管,證明你已經主動思考了,但是沒有找到好的解決方案,或者不能確定是否方法可行。
(3)選擇適合的測試學習材料
軟體測試的技術博大精深,對於初學者該從何入手呢?可以從以下幾個方面學習:
第一是公司提供的培訓材料。測試新員工到公司後一般都要經過短暫的培訓,這是學習的最好的第一手材料。針對性特彆強,都是公司今後用到的測試知識的總結,針對性和實用性都很強。如果有不懂得問題,可以隨時提出來,因為你是測試新人,不懂要問,任何人都不會對你的能力表示懷疑。
第二是藉助測試專案的測試文檔學習,包括測試計劃、測試案例,測試缺陷資料庫,可以先看看以前發現了哪些bug,這些bug是怎麼發現的,有什麼規律和特徵,學習別人怎麼寫測試缺陷報告。
第三是閱讀測試書籍和測試網站和論壇。這些內容很多,建議利用工作之後的時間,根據自己的知識有選擇的選擇測試書籍,先從基礎知識閱讀。正式出版的書的內容品質都比較高,而測試網站和論壇的文章良莠不齊,有些只是隻言片語,很多還存在錯誤。因此,需要有一定的鑒別能力,否則會誤導,浪費時間。
(4)鞏固測試知識基礎
練武術需要先練“蹲馬步”,否則直接學習刀槍棍棒等十八般武器,只能學到幾招皮毛,甚至傷及自己,武林高手都是基礎很牢固的,內功很深厚的。
做軟體測試也是這個道理。很多出入測試行業的新人,希望走捷徑,往往聽信各種測試培訓機構的宣傳,認為參加幾天的能力提高班,就可以步入測試高手的殿堂,這是錯誤的,也是要吃大虧的。
另一個錯誤就是還沒有學會測試的基本概念,就盲目地學習各種大型商業自動化測試軟體,結果花了很多時間和金錢,只是學會了工具的具體操作。到了實際測試專案中,無法有效利用工具解決實際測試問題。
實際上,作為測試新手,大部分都是從手工功能測試開始起步的,大型自動化測試只有成為測試高手,才有機會使用。另外測試載入器的操作是很簡單的技術問題,關鍵是如何發揮測試載入器的作用,這需要測試策略。
所以,初學者要老老實實的學習測試基礎知識,學習各種測試術語、測試概念、測試分類、測試的流程、測試專案的執行過程等。如果這些都不懂,今後的職業發展會成為限制。
學習是痛苦的過程,但是學習是增強技能的必然之路。學習測試知識沒有捷徑,需要日積月累,需要勤奮,需要思考,需要總結,從一點一滴學起。
(5)不斷學習行業知識
測試人員除了學習和掌握測試技術外,還需要不斷學習行業知識,這是區別普通測試技術人員和測試主題專家的最好方法。
學習什麼行業知識呢?根據你測試的軟體的應用領域決定。例如,你正在測試的是電信行業的應用軟體,那麼你需要學習電信行業知識,包括術語、業務和行業技術。怎麼學習呢?可以與客戶交流,與開發人員交流,看專業書和文章。
學習行業知識是個不斷進步的過程,每個行業都有很系統的知識架構,首先學習工作中最需要的理論和技術。然後有機會和興趣的時候,不斷細化和深入。
進階的測試人員需要精通測試技術,掌握行業知識,可以提供行業軟體的測試和品質保證方案。對於初學者,要認識到經過不斷努力,可以成為測試主題專家。千裡之行,始於足下,目前最重要的是從測試入門知識開始。