對于測試這個崗位,各公司重視程度不同。就大多數軟件公司而言,對測試工程師的技術水平要求都不高,一般月薪在4-8K左右,大致就是初級測試工程師。
從去年開始到年后的跳槽高峰期再到現在,我公司一直在招聘網站上發布軟件測試職位,一年多來,本人先后面試了幾百個初級測試工程師了。
現本人就對行業的理解和面試中所遇到的應聘者,聊聊對初級測試的看法。幫助你在應聘中把握關鍵點,提高待遇水平。
一、為什么軟件公司需要初級測試工程師?
1、因為這些公司開發出來的產品本來就沒多少技術含量,你以為個個都是華為啊。所以需要的測試就更沒技術含量了。
2、軟件測試本身就需要做一些重復性的工作,對需求的實現進行嚴格把關的步驟。需要人為控制。
3、軟件公司對測試本身的不重視,不愿意花高薪水去招聘測試工程師,甚至好些測試其實是由程序員來完成的。
4、作為某些產品和項目的驗收標準,需要測試報告和操作手冊等相關內容。所以要人來做這些工作。
二、應聘者分類。
1、大學剛畢業或畢業不久,本科學的是計算機相關專業,但開發經驗基本沒有,退而求其次,選擇做測試。
2、做過1-2年開發,但加班太多,技術水平又難以提升,認為憑著一些開發經驗去轉測試應該很容易,從而選擇搞測試。
3、年齡在26-30歲,之前做的工作和計算機關聯不大(比如賣保險的,開網店的,事業單位沒有正式編制的,賣硬件的,風里來雨里去的),幾年下來事業沒啥成就,要么原有單位裁員或解散,聽朋友介紹說測試容易入行,然后學了些理論,去應聘測試。
4、在軟件公司呆了幾年做文職工作,耳濡目染,逐漸對測試感興趣,再通對周圍同事的了解與被點化,去轉崗測試。
三、為什么選擇軟件測試?
1、測試簡單啊。
初級測試一般就是在電腦或手機頁面上點點點點,就是所謂的功能測試。按我們經理的說法,一套軟件系統,找個會打字的初中生一天學會怎么使用,再教兩天就能學會測試了,然后界面上哪里報錯就拿個本本記下來。這就是最基礎的初級測試。
2、可以進軍IT界。
話說現在在一個普通的軟件公司做測試工程師,普遍收入水平比不了快遞員、出租車司機,更不如樓下賣冰粉的大媽。但是,這個工作說出去體面啊,不用日曬雨淋啊,空調屋呆著舒服啊,IT公司所接觸的人也都是白領精英啊。
3、還有的同志,認為可以從測試開始,慢慢學習逐步發展,將來可以轉崗開發或者產品。
是的,大多數人對測試這個職位的看法也是這樣的,所以就步入了這個領域。
但剛入門往往不得要領,莫名其妙的在面試中受挫。下面就來點干貨。
四、關于應聘要點。
1、簡歷篩選:
①、簡歷篇幅不要太短。一般自我介紹、技術特長、項目經驗等。
②、不要專注于吹噓之前某項目或產品的成就,比如之前的公司開發了一個什么,然后長篇大論有哪些功能、用戶數、大數據的一系列內容。篩選簡歷的人也知道,這些內容跟你的關系不大,看多了頭痛。
③、千萬不要寫熟悉word,熟練使用excel。你已經是IT圈的人了,這些內容人家看到會覺得你來搞笑的。
2、公司希望招個什么樣的初級測試工程師?
①、知識面寬。
看起來高大上的公司,實際并一定,面試你的人可能是個技術負責人,測試主管,甚至是個產品主管,或者程序員都有可能(但就以上幾種角色,也肯定比你厲害)。最好在三分鐘內摸清對方到底是哪種角色然后再應對。公司絕對不會喊個技術總監來面試一個初級測試工程師。所以不用擔心問題太難自己不會,只要提前準備,盡量體現自己的知識面寬。
②、認真負責。
可以介紹自己在之前的工作中對于軟件質量保障所盡職盡責的方面。
③、情商高,容易溝通。
測試人員也要和多部門打交道,除了開發,還有產品,售前,售后,客服,客戶等。所以面試官希望看到的是個比較善言辭,樂觀積極,遇到問題努力想法多方溝通解決的人。
④、愛學習,有想法,希望在技術領域持之以恒。
2、面試內容:
①、一般來說,面試官都不會特別的準備一堆內容依次來問你。基本上是根據你簡歷里面寫的東西來問,簡歷不要太胡吹了。
你說你了解mysql,我就問你默認端口號是多少;你說你熟悉mysql,我就讓你寫個sql來查詢從2019年1月1日到今天間隔了多少天;你說你精通mysql,我就問你存儲過程和事務處理。
你說你熟悉黑盒測試,我們就相安無事;你說你熟悉灰盒測試,我就問你輸入輸出;你說你熟悉白盒測試,我能問你一下午。
②、軟件開發知識常識要有。
比如BS和CS有什么區別。我遇到過有人答:BS適合軟件開發,CS適合硬件開發。
比如什么是md5,什么是Chrome,http和https有什么區別,Linux的pwd是什么語句,這些簡單的要是有一個不會或者亂說,基本就gg了。
③、遇到不懂的問題不要瞎編,因為初級工程師嘛。比如什么是LAMP,什么是NFC,不會的話,不要openyellowgun。誠實可靠是做測試人員的基礎。
④、對于非技術問題要積極應答。不要問啥說啥,比如:
你之前是怎么跟程序員打交道的(不要發現BUG提交禪道就完事了,他是想問你怎么定位BUG是前端還是后臺錯誤,怎么跟相關產品開發溝通解決)。
你有些什么愛好(不要老是打游戲聽歌看小說,應該多講講參加網絡培訓啊,學習編程語言啊等)。
⑤、對于問題要想好體現全面性。
比如有個現場筆試題:有一個APP安裝包,其功能是使用手機安裝打開APP后,就能看到辦公區內的所有辦公室門禁編號,點擊按鈕就可以開啟相應的門。現在所有辦公室的門已經安裝好,APP安裝包發給你,在不給你需求文檔的情況下,讓你來測試,你會有些什么測試手段?
多數應聘者拿著這個問題,都是從問題本身出發,回答的都是:
連續點擊某個編號的按鈕,會有什么情況。
幾個按鈕一起點,會是什么情況。
點某個編號按鈕,會不會其他門開了。
門開了一半斷電,會是什么情況。
多個人都安裝APP,一起操作會發生什么情況。
這些都是就事論事的回答。實際題目想考察的是對整個軟件功能的全面理解。
例如:
APP是安卓的還是IOS的,有沒有操作系統版本限制。(涉及到APP是否可用)
APP有沒登錄功能,有沒權限劃分。(涉及到登錄和權限)
開門有沒日志,日志是記錄了哪些內容。
APP是通過藍牙還是wifi(移動網絡)的情況下開門。
APP在wifi和弱網絡情況下的測試。
APP有沒定位功能,能否遠程開門。
然后再是具體以上提到的開門測試。
五、測試工程師基礎要求:
1、熟悉測試理論。包括白盒黑盒性能壓力等內容,不一定要掌握,但要知道概念和要點。
2、熟悉測試方法。包括邊界值、等價類、等等。
3、熟悉項目流程:立項、需求分析、評審、編碼、測試、操作手冊、培訓、運維、維護等環節。并能盡可能多參與其中的環節。
4、熟悉瀏覽器各種版本。
5、熟悉APP測試,包括蘋果安卓的主流機型和操作系統。
6、熟悉數據庫管理工具。了解1-2種數據庫,并掌握數據庫基本增刪改查語句。
7、了解和掌握linux系統下的環境搭建。熟悉linux命令。
8、熟悉版本管理工具。svn,git等。
9、熟悉測試管理工具,如禪道等。
10、參與需求評審并提出項目建議。(加分項)
11、編寫測試用例和執行。
12、有和客戶溝通交流培訓經驗。
13、能編程或使用工具進行自動化測試。(加分項)
14、熟悉壓力測試,并能運用工具或編程進行。(加分項)
15、有硬件測試或軟硬件結合測試經驗。
以上的要點雖多,掌握起來可深可淺,但都是測試工程師所要面臨的,希望讀后能對應聘和工作有所幫助。