軟件測試員----面試,你準備好了麼?

 

最近有機會作一些面試工做,主要負責面試軟件測試人員招聘的技術面試。前端

 

以前一直是應聘者的角色,經歷了很多次的面試以後,多少也積累一點面試的經驗,如今發生了角色轉變。初次的面試就碰到個工做年限比我長的,也沒有時間仔細瞭解對方的簡歷,再加上應聘者比較「強勢」。面試狀況是比較糟糕的。python

有同窗會說,唉!不就失去了一個應聘者嘛。多面幾個就行了!這不僅僅是失去應聘者,面試者對面試官的印象更重要。面試官的能力與表現對於初次面試者來講每每表明的是公司的,更具體點是測試團隊的能力。linux

若是面試官都很「水」,這個水兩方面,一是面試不夠從容,思路不清晰。二是技術能力水,問半天問不到關鍵點上。那麼身爲面試者,對這家公司的印象會打折不少,就算能開得起面試者的指望薪資,面試者還要考慮在你這兒能不能學到什麼,工做是否有挑戰,是否有發展空間。web

因此,面試官的能力與表現對面試是否成功一樣重要,畢竟就面試過程而言是一個雙向選擇的過程嘛。面試

 

 

下面討論測試人員應該具有的技能。數據庫

在這個討論的過程當中,充滿了我我的的偏見與喜愛。不喜誤噴!編程

 

 

上面是我所畫的一個體系圖,這上面的技能相對比較通用,固然特殊狀況下對測試人員的技能要求會有特別要求。小程序

 

軟件測試基本知識:windows

 

這一塊其實沒什麼好討論的,若是你有半年到一年的工做經驗的話,對這一塊必定有比較清晰的認識,固然,在實際的工做中不須要你對每一種測試方法去尋根求源,知道這些方法的含義與應用場景便可。ruby

編寫各類測試文檔,對於初學者來講稍有難度。但終究仍是談不上什麼技術含量的事情,若是對業務和流程足夠熟悉,文檔用例天然就會寫了。

 

測試輔助技能:

 

我發現這兩項技能在筆試和麪試過程當中必考,出現概率超高,但在實際的工做中,有些測試根本碰不到linux ,有些測試不須要去操做數據庫。固然,測試嘛,也不能太處於表面了,也須要熟悉熟悉相關測試的表,瞭解瞭解系統服務器。

好在這兩項技能的要求都不高,linux 大多考幾個經常使用命令,SQL通常考一下增、刪、查、改。

 

自動化技術(UI):

 

大多同窗會在簡歷必備測試技能里加一個QTP自動化測試工具,當我滿懷起到和他聊一聊自動化時,獲得的多大回答是這瞭解和學習過這個工具。這也不能怪測試人員,誰讓滿大街的招聘要求上都寫着「要求熟悉LoadRunner QTP等自動化測試工具等。」 其實,他們公司根本就不用。這麼多公司都要求,看來仍是有必要學一學這個工具的。

對於我而言,我並不太關心工具用得多熟練?對於web應用來講,更在乎的是對前端技術瞭解多少?由於你要自動化的對象就是前端技術所呈現出來的各類功能。都不瞭解它,如何定位和操做它呢?

UI的自動化不僅僅是QTP一個工具,若是你掌握了一種語言,作自動化的路就寬廣了,你必定知道還有個叫seleniumwebdriver)的自動化工具,你不必定知道ruby 有個watir框架也能夠作自動,也許你不知道python有個splinter框架也能夠作自動化。那麼你就更不知道python 有個pywinauto框架能夠對windows GUI作自動化。你不知道有自動化工具太多太多了。談到這些就不得不涉及到編程技術了。相比較而言QTP 不須要太多的編程能力。

對於自動化測試,另外一個比較關心的是你對自動化的理解,什麼狀況下適合作自動化?你的自動化測試用例是怎麼寫的?什麼樣的用例適合轉成自動化?你是如何來實施的?有什麼樣的策略來開展自動化工做?你須要自動化在項目中達到一個什麼樣的預期和效果?只是學學工具,拿個例子練習練習。很難對這些問題有真實的理解。

 

性能測試:

 

LoadRuner彷佛比QTP名氣更大,作測試必玩工具。沒摸過LR都很差意思說本身是作測試的。性能測試是必須是要藉助工具來實現了。不借助工具如何模擬成百上千的併發?

最大的難點,其它是對系統架構的理解,其實,更多時候並不須要達到架構師水平,甚至不用達到開發的水平,但起碼,你要弄清用的什麼操做系統,什麼數據庫,什麼開發語言與框架,什麼中間件吧!你要知道如何對這些作監控的吧!你要知道叫上開發一塊玩吧!

對於性能測試,另外一個我更關心的測試流程,你作性能測試的目的是什麼?新系統驗證?仍是舊系統擴容?須要達到一個什麼樣的預期?在獨立的環境能夠開展麼?壓力在哪兒,腳本爲何要這樣錄製?你的測試結果然的有知道意義麼?或對系統性能作出了合理的評估,或爲系統有調優作出指導,或爲系統擴容作出了依據。若是來龍去脈弄不清何須去作呢?

 

編程能力:

 

編程不侷限於語言,大多同窗也會在簡歷的必備技能最下方面寫上一條,熟悉C語言或其它某種語言。大多止步於大學C語言水平。工做中沒有機會用到。因此,就沒機會去進一步提高這方面的能力。這彷佛也挺合乎情理的,再說大家招的是測試又不是開發。

不過,我我的偏執的很看重這一點,至於上面的自動化、性能會不會都無所謂,若是在編程能力上略懂一二,我會大力推薦。懂編程和不懂編程的人看系統的深度不同,一點不懂的只能看出來這是按鈕,那是輸入框。 懂編程的就知道你的登陸是個<from> ,輸入框是個<input> ,你的登陸提交是用的post 仍是get呢?邏輯層就是獲取到輸入的用戶名密碼是查數據庫作比較嘛。在測試過程當中無論功能實現也好,bug也好,都會看得更透徹,從而更容易挖掘出相關的bug

通常懂編程的我都會讓其寫一個小程序,例如求素數,遞歸調用,用星號(*)打印一個梯形,若是測試工做寫一些腳本之類的來輔助測試更是大大的亮點。不要以爲讓你寫程序就是「刁難」。平時注意積累這又何難呢?

 

對新的工做有什麼期待?

「我但願能接觸一些性能測試、自動化測試等,由於以前的工做一直在作功能。」

 

大多數測試人員認爲提高自已的過程是這樣的:

如今有一個性能需求,而後領導找到你說,小張啊,你來研究研究性能測試吧!咱們如今的須要迫切須要對系統作一次性能測試,而後,你回去開始研究性能測試,花一個月終於搞懂了,開始對系統作性能測試。最終完成了任務。

 

但實際的狀況是這樣的:

如今有一個性能需求,而後領導找到你說,小張啊,你會作性能測試麼?答,這個之前沒作過,得學習一下。領導說:噢,那這樣吧!小王你回去瞭解一下吧。由於小王雖然也沒搞過,但他平時作測試的資歷更久,對於新技術更愛鑽研。在領導看來,小王能在更短的時間搞定這個問題。若是這個需求迫切或要求更專業,領導會直接招一個專業作性能的。

因此,結論很明瞭,機會是給有準備的人的。假如,你在某一技能上面持續積累,總會有發光的時候。

 

面試官更多的時候是在找亮點,我只有一個崗位,在面試的十我的當中,有十我的都能把測試流程什麼的說得順溜(雖然我也只招一個懂測試會流程就好了)。有八我的說本身懂QTPLR等工具,只有兩我的真正的有自動化或性能測試經驗,只有一我的編程方面還不錯。你說面試官會選誰呢?

亮點也是談資(談錢的資本),你和前一個面試者差很少,前一個面試者要5K,你要8K,那我更傾向於前者,若是你有別人沒有的亮點,那我更傾向於有亮點者,我更願意招個牛B的,工資又不是我給你開,最終是否談攏是你和人事或上級的事兒。

面試是個綜合的過程,假如你思路清晰,思惟敏捷。假如你和我同樣有寫博客的習慣。或者談談你最近看的兩本技術書。讓我看到你是個工做頗有熱情的人,你是個熱愛技術的人。這都是和別人不同的亮點。閃閃發光。到哪兒都發光。

相關文章
相關標籤/搜索