1. 程式人生 > >作為軟體測試工程師你應該怎麼規劃你的職業發展

作為軟體測試工程師你應該怎麼規劃你的職業發展



近期由於專案組人手不夠,需要招聘一些測試人員。本週及上週陸陸續續面試了十多個應徵者,工作年限在2年~9年之間,但無一滿意。期間,種種感嘆,回想起去年面試六十餘人僅有3人滿足要求,如有鯁在喉,還是吐槽一下。如有不對請大家也狂噴我。

我的要求高麼?

我的要求其實是:有還算不錯的溝通能力,熟悉常見軟體開發流程,有一定的需求分析、用例設計能力,會基本的linux和sql操作能力。有一些程式碼能力會加分。這是長期與現實妥協的結果。如果人還算機靈,其實我很願意花時間來培養他們。

面試結果

令 人惋惜的是,一個合適的人真的很難找。更令人惋惜的是,我看到好多入行很多年的同行,能力並沒有跟隨工作年限一同增長,有些做了五六年的人有時候給人感覺 竟然還不如一個入行一兩年的年輕人。最令人遺憾的是,大部分同學竟然沒有一個明確的職業發展思路,即使有,也沒有經過深入一些的思考,而是人云亦云。

面試的一些細節:

因 為從事的工作是業務密集型的,有的業務邏輯非常複雜,我們特意準備了一份不錯的需求(考慮到應試者沒有行業背景,給出了詳盡的專業說明和例子),並根據這 份需求出了幾道用例設計的題。只有不到四分之一的應試者給出了讓人相對滿意的答案。我們內部評估這份需求的時候,認為只要有過一兩年的用例設計經驗,應該 能答的不錯。

我一般會根據簡歷問一些問題,看看簡歷的真實性。也會問一些基礎的測試知識,檢視應試者的專業素質。

常見的問題:

說說你常用的測試方法? 百分之九十的人只能答出等價類和邊界值。只有少數人可以講出其它測試用例設計方法,但深入問,從沒有一個人能有令人滿意的回答.

給一個非常簡單的小例子,例如登陸操作,讓應試者回答如何使用等價類方法設計用例。但讓人吃驚的是仍然只有不到五分之一能夠給出比較滿意的答案。

陳述一個缺陷的生命週期(你們是怎麼管理bug的?)有一多半人能夠說出常見流程,但深入問一些問題:如缺陷如何同版本、測試輪次等結合起來,一些特殊情況如何處理等,很多人就懵了,而這些基本上都是工作中常用的。

你做的最長的一個專案是什麼?在這期間你遇到了什麼問題讓你最頭疼?你如何解決它?十個人裡大約只有一人能給出還算不錯的答案(能夠識別出問題,提出它帶來 的不利影響是什麼,並能夠給出一定的解決方案就算是不錯的答案了)。

你感興趣的測試工作是什麼,你想在哪方面有所發展?十個人裡有4個會說是自動化測試,3個會說效能測試,2個會說是管理,一個會說是白盒測試。並希望提供相應培訓。只有極少數人能夠說出具體的思路和技術項。

如果繼續追問:你說的是效能測試吧?你有過這方面的學習麼?一半會說看過一些網站上的技術文章,一半會說看過loadrunner的書。如果繼續追問,是哪本書?是哪類文章?有哪些具體的知識點能講一下麼?90%答不上來。

問:你有看過哪一本測試書籍?哪些技術部落格?哪些網站?50%的人會說看過QTP的書(QTP的真正使用率已經快趕上諾基亞的使用率了,國內主流自動化的書竟然還是這個!),並且沒有真正在工作中使用過,然後就沒有別的了。有少一半人最近幾年一本技術書籍也沒有看過。

如果有管理經驗的應試者,我會問一些測試過程管理相關的問題,如給一個最簡單的題:如果測試時間不夠如何?十個人中只會有兩三個提到排定優先順序和測試裁剪,大部分人的回答竟然是加班也一定要搞完。

我想說的:

1. 為了你的前途,請多明確一些個人能力思路吧。你五年後,十年後是個什麼樣子?有沒有一個明確的想法?有沒有你五年後想達到的某個人的程度?如果這些思路不 清楚,請多看看外面的世界,看看一些測試做得非常好的人是如何工作的,他們掌握了什麼能力?學習他們,追趕他們並嘗試超越他們。最好認識他們,可以侃侃大 山,志同道合抱團前進很好。另外目標別定太抽象,一定要是可以分解,可以檢查的。

2.多讀一些測試書籍,測試的書並不是只有QTP!看看微 軟測試專家史亮推薦的書單,這些都是不錯的好書:http://www.cnblogs.com /liangshi/archive/2011/03/07/1973525.html 有些書能夠幫助你把測試知識框架搭建起來,比照一下你還缺點啥?#p#分頁標題#e#

3.多讀一些其它書籍,不限於技術書籍。如果想讀的書 有利於工作,推薦一些如何做思辨思維的書。《思考的藝術》《六頂思考帽》《你的燈亮著麼》 《學會提問》是我喜歡的4本書。它們會教你怎麼獨立思考,養成提問的習慣,而提問的習慣是我們現在的測試人員最缺乏的一件事情。人們往往拿了被測物就開始 忙著寫用例,忙著測試。而不是先探索它、研究它。當然IT技術也要掌握,如果你的IT技能能夠趕上開發,你發現你做測試的思路會非常的寬廣:)

4.把書籍中的東西跟你的工作對比,把好的東西引入工作(這點是檢驗書本質量的好方法,也是促進你思考,促進你能力提高的好方法。

5. 關注大牛們的技術部落格。國內寫好測試部落格的人不是很多(很多人其實很有水平,但是不喜歡寫blog),但是國外有很多,有人整理了一個list 也推薦給大家:http://ssnlove2008.blog.163.com/blog/static /3788942020093284842381/。

6.搞定你所在行業的領域知識:如常見IT技術,常見業務知識,這些知識掌握的越深,你的價值越高。測試技術是內功,但是你能直接為企業帶來價值的最大之處是你對被測物熟悉程度,也就是你的領域知識!!!

7. 沒有方向?從你的工作入手,比如,你遇到的最大的難題是什麼?我怎麼解決它?我需要掌握什麼樣的技術解決他?我要推動什麼樣的組織改變來解決它?別人怎麼 解決它?有沒有更好的方法?使用後我改進了那些?google一下別人有沒有同樣的問題?嘗試作對比,如果覺得他做得好,嘗試聯絡那個人討論一下。看看對 方的進展。嘗試把活兒幹得特別漂亮。你能解決10箇中等問題以後,你的能力會有大幅度提高。

8.嘗試做筆記。最好是線上的,推薦印象筆記和有道雲筆記。

9.堅持。

10.保證身體健康,歲月會給你帶來別人的信任感(當然能力要隨著歲數增長)。

能做到這裡面的一半,兩年後你就能在專業上有高分通過我的面試:)當然肯定你也不見得會看得上我們的offer了。

11.對於沒想好就跳槽,換行業的同學說:你再想想!你的很大價值是與你企業、行業繫結的。如:做了5年保險業務,你的領域知識至少值5w每年,換領域就沒了。你在一家公司證明了你自己,到新公司要重新證明你一遍,有的時候外部環境、機遇等會讓證明過程很痛苦,成本很高。

另外的吐槽:

野蠻生長沒有經過系統訓練的同學非常多。這其實有很多因素,分析起來覺得有以下幾點:

1.大學或者職業教育沒有非常好的課程體系(有些培訓機構還行,但是也需要提高),其實測試技能需要系統訓練和長時間磨練才能有根本的增長,我們的職業教育或者再教育體系其實還是有很大空白的。

2.說句實話,大家的讀書氛圍不夠濃厚。大家不喜歡看書。而讀書是再教育成本最低,又非常有效的途徑。相比於程式設計師,測試同學喜歡讀技術書籍的比率明顯的低,這是一個讓人悲傷的事實。真希望這種現象能夠改變。

3.很多人是不喜歡coding才轉測試,或者是因為IT產業普遍薪水高才來做測試。不是真正熱愛這份工作,不熱愛其實做不好,因為興趣是最好的老師。

4. 很多人認為測試門檻低,young talent 不願意幹,測試吸引人才有點兒困難(我初入行的時候也有這種想法,也是當時被強拉來做測試的,當時想做的是coding和資料DBA相關工作並已經有了一 些積累,(我沒說我是啥人才啊))。說實話測試的入門門檻的確有一點點低,但是做好測試的門檻確是相當的高,隨著系統越來越複雜,測試逐漸會比開發還難 做,更有挑戰性,我這麼說你信麼?

5.專業化社群還沒有形成規模,測試人員沒有能有效交流的平臺。這是跟美國和歐洲的一個挺大的差距。他們的社群做得挺好的,我們也有了一些很好的起步。如一些熱衷測試公益的同學,一些不錯的會議,一些不錯的線下活動,但還需要大大的發揚光大。

真心希望測試行業的整體水平能夠逐漸提高起來。

最後看一下測試大牛James Whittaker(Google測試之道 和 探索式軟體測試 的作者)對職業路程發展的一篇文章吧,你會受益很多: