一眨眼,從12年到現在16年,已過去了四年,我已經畢業四年了。期間渾渾噩噩的過了2年半,又猛然的努力了一年半,然后終於進了鵝廠。在新舊工作交替之時,我覺得有必要好好的總結下自己過去四年的測試工作和學習心得。
我是一個普通二本畢業的普通大學生,在大學里,讓自己每科成績優秀,爭取班里第一名,似乎才是我大學的奮斗目標。大三下學期就開始備戰考研,當時的目標是中南大學的計算機學院的數據挖掘類方法專業。可惜我失敗了,最差的成績是本專業的考試,只考了60多分(總分150),出現這個原因的根本是我幾乎很少動手系統的敲代碼,即使是考研時期,復習專業科,我依舊是復習書本知識為主。考研失敗后,我直接就放棄了調劑,選擇找工作,於是選擇了測試這個行業。
畢業后就來了深圳,第一年在一家公司迷迷糊糊的呆着,主要是做java web測試,學了一些測試的基本相關知識,期間自學了vbs,學了QTP,把《精通qtp:自動化測試技術領航》都看了一遍。結果一看代碼還是頭炸,根本沒法靜下來去安靜的看代碼。感覺就是無從下手,很快到了第二家公司,vbs,QTP的知識就已經全部忘記了,第二家公司是一家外包工作,外包到了招行,要說“在外包根本就學不到東西”,我覺得說這話的人有點太武斷,因為實際我覺得自己呆了10個月還是有所獲的,比如寫測試用例的測試需求逐級分級過程的思維的嚴謹性,傳統瀑布流的各類文檔的規范性,大公司自主研發接口自動化測試工具的高可用,易用性。這些無一不對我后面的工作產生了積極的影響。在外包的日子,學習更多的知識是學測試之道,《軟測之魂》這本書反反復復的看了兩三遍,還是覺得有點用。待我從第二家公司離職,已經是2015年1月了。
此時的我,其實感覺不比剛畢業時候的自己成長很多,應該也就是工作經驗上的積累多了點罷了。我一直都在思考這個問題:畢業三年了,跟一些畢業一兩年的到底有什么區別呢?也一直在反省前面2年我也有不停的學習為什么就總覺得學無所獲?第一家公司學了自動化測試,但是還是用大學那會讀書的方法在學習,沒有應用在實際工作中,學着學着興趣點完全沒了,學着的任務好像不是徹底掌握這個技能,似乎變成了要把這本書一頁頁翻完似得。第二家公司學了軟件測試的相關知識,包括測試用例設計的各種方法,測試各種相關概念,但是我一直在一個狀態下徘徊:我到底要不要學開發的那些知識?數據庫?網絡?java開發?數據結構?設計模式?各種協議?感覺好像跟實際工作沒啥關聯,用不到似得,但是幾乎每次面試,好的公司又會問。然后自己就一直在糾結,到底要不要學,有時候可能邁出了第一步,學了一兩天,可不到第三天我又放棄了,又告訴自己反正用不到,可以不學習。想清楚后,差不多是3月分了,在家呆了2個多月,每天都多多少少有思考過這個問題,也有覺得自己做事沒毅力,於是在家休息的2個月,只干了一件實事,看完了一本英文小說《秘密花園》幾百頁的小說,我一咬牙終於第一次堅持的給看完了。
第三家工作就進了HST,剛進公司不久,就感覺自己處於了高壓狀態,“同事的不理不睬,拉幫結派”,“領導的恨鐵不成鋼“,讓我更下定決心要學好專業,一頭就扎下去開始了基礎知識的系統學習之路。
5月份:學習了計算機網絡。
6-8月份:學習了java web的基礎。主要包括servlet的各種學習,jsp,ajax等。
9月份:web開發實戰學習,strut2框架學習
10月份:公司接口自動化框架實戰,系統的學習mysql數據庫。
11月份:算法的基本思想,簡單的數據結構,各種常用排序算法學習。
12月份:java socket 編程。
介於之前學而不得的經驗,這次每次學習,我都很努力的把學到的東西運用到實際工作中,然后給自己增加更多的信心,在學完java web的基礎學習和 SSH框架后,立馬申請拿到公司已有的接口自動化測試框架的代碼,主動查看之前代碼並增加測試用例,期間也發現之前代碼的漏洞和設計上的缺陷,在原有的基礎上,增加了近1000行的java 代碼,然后組織部門人員進行分享。然后拿到公司web 后台的代碼,這次看就不再驚慌失措,無法下手了,因為我熟悉了這個框架,很快就摸清了門路,基本的業務代碼都能看明白了。學習這些知識,我基本都是采用看視頻的方法在學習,看視頻學習確實很浪費時間,但對於那個階段的我還是很有作用的,因為一個知識點的學習,視頻往往講的更淺顯易懂,而且讓知識點更加的系統化。幾乎每天下班后,我都會加班2小時,看視頻學習或者肥家看視頻,周六周末也不敢耽誤,一有時間就去看視頻學習。
這一年下來,感覺自己還是很有所獲,還改變了領導對我的看法,領導爭取名額給我弄了個”優秀新員工”獎,讓我更是倍感欣慰。這一年的付出沒有白費,實際工作上其實有很多小知識點都是那些基礎知識的運用。於是乎更堅定了自己的測試之路。
2016年一來,我就換了部門,因為我還是想多學技術,不想做質量管理,於是轉到了平台產品線,2015年我花了大半年的心血學習的java,我感覺自己要揮淚告別了。因為這個平台是用c++開發的,要知己知彼百戰百勝,那肯定得再學c++,但想着作為一個測試,能熟練的看各種語言開發的業務代碼,這不應該是最低要求嗎?於是便又開始了新的一輪學習:
1月份:各種年會,總結。
2月份:學習c++。(其實大學主要學的就是c++,只是那會不敲代碼,不關注內存,嘻嘻)
3月份:接手服務器端自動化測試的任務,學習RF。
4-5月份:學習python和RobotFramework。系統的學習了《Robot Framework自動化測試修煉寶典》
6月份:實戰月,閱讀平台前置模塊的代碼,弄清楚登錄流程各個接口內的業務邏輯處理過程,並畫圖展示,給新開發入職員工進行快速分享培訓
使用RF工具,把公司級的現有所有接口,包括http協議,soap協議,私有協議的接口在RF內實現接口測試。
7月份:開始培養自己閱讀官網英文文檔的習慣。偶然的看見開發哥哥每次都在官網英文文檔,一看就是兩三小時,每次報告都是根據官方文檔得出的結論,於是下定決心培養自己這類習慣。於是看了RF的官網文檔,頓時覺得那本書真只適合入門。
8月份:系統的學習python官方文檔的每一個細節。實際上里面很多在4月初學習的時候都學過了,之所以還這樣的學一遍,就是為了逼着自己看完英文文檔。
9月份:學習http協議。系統的學習《HTTP權威指南》,看完后確實有煥然一新的感受,對協議有個更深的理解。
然后,悄悄的,我就面上了,真的是第一次面就上了(哈哈哈)。在面試前,還是有過五六次的電話面試,每次都能說上三四十分鍾,但是每次后面都是被告知失敗。然后總結了電話面試的部分問題,自己再調整下,效果還是很明顯的(問題都差不多)。細想下這2年發生的事情,確實覺得自己很幸運,因為我一直相信堅持的努力,始終都會有一定的回報。而且我再也不是2年前的那個我,一邊想着學,那些知識到底有沒有用,然后過着三天打魚兩天曬網的生活,一邊又告訴自己測試沒啥前途,干2年我就不干了。在測試這條路上,不再徘徊,有了更大的勇氣向前沖。
有一個文檔,其他的測試同事看了都覺得很沒用,但是我卻一直拿這個文檔作為自己前進的小方向。就是測試類-軟件測試工程師能力標准要求,不同的測試等級,在各種能力上應該達到的標准,這些資料百度也是能搜到了,截圖如下:
測試應具備的各種能力:
不同級別各種能力的要求:
軟件測試工程師能力級別模型:
按照某個等級來要求自己,慢慢的發現,原來自己還如此渺小,還有那么多技能需要掌握,做好一名符合標准的軟件測試工程師,保持一顆學習,平和,上進的心我想在任何一個領域都是必備的基本素質。曾經看的《滾蛋吧!腫瘤君》每看一次我都能哭出來,除了自己在類似的邊緣經歷過外,里面的一些台詞我也覺得非常棒:“勸別人我比誰都拿手,但自己想干的事卻只停留在嘴上,等到想去做的時候才發現,其實根本不存在來不及這回事,在夢想面前,一切都是借口。”不管你現在已經做了多少年測試了,或者做了多少年其他行業了,只要現在下定決心要學好測試,一切都是來得及。
未來的測試之路還那么的長遠,我還是打算堅持走下去。在功能自動化測試一角小有成就后,再轉向性能測試。現在看來部分基礎知識已經必備了,但是還有些基礎知識還是欠缺的,還有些技能也是時候深入的學習了。還欠缺1個地方的基礎知識點學習:就是linux方面和操作系統方面,之后應該可以就語言,自動化,數據庫,設計模式,項目管理等技能進行更深入的學習了。還是要堅信“Life goes on ,Tomorrow will be better”