我所在的Team對應聘的人員要求是做過測試,有一定的開發能力和扎實的數據庫基礎。因此,不少Vendor公司從測試里面找這樣的人。但是,又出現一個問題,很多推過來的測試完全不懂開發。
我上次面試過一個兄弟,再微軟的另一個項目組作STE,我一進去,他給我的第一句話就是我不懂開發。整得我當時就覺得可以直接cancel掉了。但是,至少給人家一個表現的機會。我稍微問了些開發的知識。的確,完全不懂(有點夸張了,不過真的不是很懂)。測試呢,還可以。其實也只能是Average+(不過能達到這個水平的10個面試的有2個就不錯)。當然,被直接cancel了。
在中國,很多人不愿意去做測試,認為那是很低級的工作。很多公司把寫代碼不行得人,甚至是完全不懂計算機的人安排作測試。這就造成了一種現象,開發的看不起測試,測試的不會開發。但是,在軟件工程這個系統科學里來說,真正的測試是建立在開發的基礎上的。
這就好比修汽車與開汽車的(還是那個例子),修汽車的不會開汽車,你會發現很多問題你不知道是什么原因,也許你會修。如果你會開汽車,可能你就會知道也許是司機換檔時離合器沒有踩好,導致變速齒輪打壞(偶只開過以前的北京吉普,現在的車據說有同步器,好像不會有這樣的問題,不懂得說)。這樣,你就會在司機取車時給他很好的保養建議。同樣,我理解的測試,就是發現問題,定位問題,向開發提出問題解決參考意見。如果你不懂開發,很多問題你能測出來,但是你不知道為什么會這樣。所以定位問題,提出解決方案就不可能了。因為,你必須去懂代碼,至少,能看懂代碼,能寫出簡單的代碼來輔助你的測試。
當然有些人會說,公司分工很細,黑盒測試人員根本接觸不到代碼。我承認,但是,如果你懂得頁面(界面)實現過程和原理,很多錯誤你會很容易判斷出來大體是什么問題。如果你懂得數據庫或開發,很多注入式攻擊你就能夠理解并能運用到你的工作中。你想,如果一個做簡單頁面測試的人員,能夠發現很多系統安全問題,你的leader還會讓你繼續作簡單的頁面測試嗎?
昨天跟一個Vendor公司的HR聊天,她說很難找到會測試又會開發的人,說很多測試做了2年多還不會開發。我就問她,那他們這2年都干什么了?除了工作就是玩嗎?2年哪怕你抽出半年的時間來學開發,還至于不會開發嗎?難道你不會再業余時間來做些小工具,小網站之類的來練習一下嗎?全都是自找的!
希望以后的測試工程師們能夠覺醒,不再尷尬!
原文轉自:http://www.anti-gravitydesign.com