1. 程式人生 > >10年軟體測試工作總結

10年軟體測試工作總結

讀完文章感覺醍醐灌頂,目前我做測試已經進入了一個瓶頸期,之前比較懶,疏於學習,現在必須要突破自己,更上一層樓,2017,加油↖(^ω^)↗

原文如下:

        時光荏苒,從畢業到現在已經10年,10年來一直從事著軟體測試工作。從一個什麼都不會,到測試技術人員再到測試管理,期間有迷茫,有痛苦,有彎路,有捷徑。今天對自己過去的10年測試經歷做一個總結,一是給自己重新出發增加動力,二是給剛入道的、迷茫中的測試朋友一點點建議,希望你們少走彎路。
  凡事要趁早,特別是技術行業,一定要在頭幾年打下紮實的技術功底,這對將來的技術管理或技術專家路線都有極大的幫助。

  首先,談談測試職業規劃,即做什麼的問題。所謂方向比努力重要,這絕對是一句真理。如果能在剛走上測試工作崗位的時候明白這個道理,那麼不出5

年,你一定能成為某一測試領域的專家,那時不管是薪水、自信心都是順其自然的事情。但是遺憾的是,我們獲取的太多資訊是,測試人員是一個通才,什麼都要學,什麼都要懂。結果這樣的一個方向,導致了3腳貓功夫的測試人員一大把。那麼什麼都懂一點的測試人員難道就沒有用武之地了嗎?也不是,可以朝著測試管理崗位發展。說到這裡,引出了測試職業規劃的第一條路:測試管理。那麼很容易想到職業規劃的另外一條路,測試技術專家。在測試技術領域裡,無外乎就是效能測試專家和自動化測試專家。

  明確了軟體測試職業規劃的三個方向,接下來就是如何選擇一條適合自己的方向。下面給出我的幾條建議。

  關於選擇測試管理:首先你一定不是一個喜歡技術,對技術敏感的人,這個很容易判斷。第二,你一定是個善於溝通,組織協調能力強的人。第三,你的長期抗壓能力較強,上能頂住領導批評,下能頂住下屬埋怨。能受得了委屈,吃的了虧。第四,你對管理工作充滿持續的激情,如果過去你是一個比較如魚得水的學生幹部,那更加沒問題。總之,相對你的IQ

,你的EQ更高。那麼從性格上來說你比較適合做測試管理工作。

  關於選擇效能測試專家:正好和測試管理人員具備的性格相反,首先,你不喜歡組織協調這樣的工作,你性格有些孤傲,你上學的時候一定不是學生幹部,或者不是一個如魚得水的學生幹部。第二,你不一定是個技術狂熱者,但你不排斥技術,你的動手能力較強,喜歡實踐。能靜下心來學習。那麼你有成為一個技術專家的潛力

  關於選擇自動化測試專家:和效能測試專家類似,如果你掌握一門程式語言,或者有信心學好一門程式語言,那麼恭喜你,你有成為自動化測試專家的潛力。通常,效能測試專家和自動化測試專家在技術上是相通的。

  確定了自己的測試發展方向,接下來就是如何實現的問題。有一個著名的10000

小時定律理論,即一個人想要成為某個領域的專家,需要經過1萬個小時的錘鍊。按此比例計算,如果以每天工作8小時,一週工作5天計算,那麼成為一個領域的專家需要4-5年的時間。

  關於如何成長為測試管理人才:首先你一定要成為一個功能測試專家;通過參與至少2個完整專案的測試工作,你對測試理論、一個完整專案的測試流程、測試活動、測試輸出了於指掌。第二,儘量選擇一個行業如電信、支付、網購、通訊等深入做下去,成為該領域的業務專家。因為測試經理的角色往往也是半個需求人員的角色。第三,儘量在頭三年的時間裡,親自參與功能測試、效能測試、自動化測試工作,為後面測試管理的招聘工作、測試計劃、人員分配、任務安排打下一個良好的技術基礎,說白了,測試管理工作也是一個技術管理崗位,沒有一定的技術功底,很難開展後續的管理工作。

  關於如何成長為效能測試專家:剛進入測試管理崗位,你負責的工作一定是功能測試任務。沒有機會接觸效能測試工作。怎麼辦?我的建議是:自學或者參加培訓班,如果你是一個自我管理能力非常強的人,建議自學,如果不是,那麼建議參加專門的效能測試培訓班。參加培訓班之前最好大致瞭解一下效能測試的基礎知識。

效能測試的學習過程大致如下:

  1)首先了解一個系統的架構,明白各伺服器之間是如何互動工作、系統的資料流向、系統的壓力點,從而確定性能測試需求和指標,即那些功能需要考慮壓力,能承擔的壓力是多大。比如一個購物網站,最典型的登陸功能、提交訂單功能需要支援多少個使用者併發,每個併發使用者在幾秒之內完成操作,系統長時間在壓力狀態下的穩定性。

  2)第二選擇測試工具,對於基於Http協議的應用來說,一般loadrunner都能完成效能測試工作,學習loadrunner的三部曲:指令碼錄製編寫(loadrunnergenerator)、場景設定和執行(loadrunnercontroller)、結果分析(loadrunneranalysis)的內容。

  對於一些無法用現有工具實施效能測試的應用,需要考慮自己編寫工具來完成。所以一個優秀的效能測試工程師一定是能熟練使用一門程式語言的。

  3)實踐,一定要多實踐,安裝完loadrunner以後,loadrunner裡帶有現成的效能測試專案---飛機訂票系統。完全可以拿來練手loadrunner。

  4)效能測試的目的是發現系統處理能力的瓶頸而系統調優才是最終的目的,如果能進一步提高各業務伺服器、資料庫伺服器的調優技能,對效能測試工作來說是如虎添翼。

  關於如何成長為自動化測試專家:

  自動化測試和效能測試不一樣,效能測試主要是對伺服器的效能做測試,而自動化測試是從前端考慮,其目的旨在於替代部分手工測試、考量客戶端長時間執行的穩定性。自動化測試分為:web站點的自動化測試、PC客戶端的自動化測試、手機端的自動化測試。每一個終端的測試都是一個大的領域,建議先深入學習一個終端的自動化測試技術。

  關於Web端站點的自動化測試:常用的開源測試工具:selenium框架+一門程式語言(建議python),或者收費軟體QTP,推薦selenium,因為它是開源的、免費的,不存在盜版問題、且可擴充套件,所以國內的一線大公司喜歡用。

  Pc客戶端自動化測試:常用的測試工具:QTP。付費軟體,國內很多小公司在用,當然是盜版的。

  Android手機自動化測試:常用的測試工具:monkey、monkeyrunner、robutium、appium等,這些都是開源軟體。一樣,國內一流的公司都在使用。

  蘋果端的自動化測試:常用的測試工具:Instrument、FoneMonke、Broomine、iphoneSDK自帶的testunit。

  不管學習哪一個終端的自動化測試,熟練掌握一門程式語言是必要條件。

  最後談談軟實力,一個優秀的測試技術專家,我認為需要具備以下幾個特性:

  持續學習能力:計算機技術的發展可謂日新月異,如果不持續學習,那麼不出2年,你就會發現你只能當一個廉價的手工測試人員。所以如果能在工作中學習最好,不能的話,下班後保證2個小時的自學時間。幾年下來,你就能發現自己的進步有多大。

  溝通能力:我覺得可以從2方面培養:第一:日常工作的溝通能力:和開發、產品、運維、客服同事的溝通要及時,表達要準確,多微笑、多傾聽、保持良好輕鬆的同事關係。第二,正式場合的溝通能力,如專案週會、評審會議、總結會議,一定要提前做準備,講什麼、怎麼講,自己私下裡先練習一下,這樣在正式場合才能表達清楚、氣定神閒、落落大方,給領導和同事留下一個好的印象。

  團隊合作能力:首先從心態上,要強調整體的概念,放下單打獨鬥的想法。在實際專案中,體現為團隊成員之間的相互協作、資源共享、共同進退。這個時代已經不是一個英雄創造神話的年代了,只有團隊的齊心協力才能把專案做好,這樣的人往往也是公司最喜歡,最願意去培養的人。

  與優秀的人為伍:所謂近朱者赤,近墨者黑。跟對一個老大、和優秀的人共事,找一個優秀的伴侶、經常去參加一些牛人講座、技術論壇,通過這些人的耳濡目染,一定會讓你少走很多彎路。

  其他還有很多軟實力,但我個人認為以上幾點比較重要。