導讀:軟件測試經常被行外人誤會是專門給程序員“找茬”的活,但殊不知軟件測試卻是軟件開發中日益重要的一個環節。從目前國內IT市場需求來看,其人才需求一直保持上升趨勢,從開發人員和測試人員8:1,到3:1,到2:1,到目前國際公認的行業標準實際上1∶1的人員配比。
軟件測試經常被行外人誤會是專門給程序員“找茬”的活,但殊不知軟件測試卻是軟件開發中日益重要的一個環節。從目前國內IT市場需求來看,其人才需求一直保持上升趨勢,從開發人員和測試人員8:1,到3:1,到2:1,到目前國際公認的行業標準實際上1∶1的人員配比。
??
那軟件測試工程師到底是做什么的呢?
簡單講,軟件測試工程師就是挖掘系統BUG,檢查軟件是否與用戶需求相匹配并寫出相應的測試規范和測試用例的專職的技術人員。
測試并不是開發的附屬工作,實際上在很多項目中為了保證軟件質量,從項目開始測試人員就要介入,要了解客戶需求,參與項目評審,把握測試要點。在當前用戶需求越來越精細化的發展階段,如果一個項目的測試人員數量少,那這款軟件的質量肯定是難以得到保證的。因此測試崗在當今的IT業中的確需要大量人才,尤其是性能測試、自動化測試和有相關測試經驗的人才更加稀缺。
在我國國內哪個城市測試崗位的需求更大呢?
對于軟件測試工程師崗位,從整體的人才分布來看,有3座城市即上海、深圳、北京的數據均超過10%;隨著5G標準的落地應用,產業互聯網發展的大幕正徐徐拉開,大數據、物聯網、人工智能等技術將逐漸從互聯網領域走向傳統產業,為傳統產業的創新賦能,所以在這個大背景下,廣大傳統行業也將釋放出大量的就業機會。對于測試求職者可結合年薪及城市吸引力雙方面數據結合自身情況選擇喜歡的城市。
從2021年5月牛耳315測試班的就業情況來看,我們一致認為上海的就業形勢是非??捎^的,在上海的平均就業薪資可以高達8425元,其中應屆生最高月薪達到了13000元。作為大中小型互聯網企業齊聚一堂的超一線城市,它既有魔都的神秘魅力,又有強大的地域包容性。
?
那么作為一個熱門的職業選擇,一個軟件測試人才的職業是如何發展的呢?雖然軟件測試的入門相對簡單,但首先我們要清晰認識到自身所掌握的測試技術程度和涉及的范圍。下面筆者總結了牛耳測試學員在上海就業前線所反饋的企業招聘需求和相應的知識點:
1、測試需求分析方法:產品需求分析、用例設計、缺陷定義、測試報告、探索性測試方法等;
2、測試管理工具QC、缺陷管理工具JIRA、項目管理工具禪道;
3、企業級環境部署:虛擬機、LINUX命令、環境搭建、中間件Tomcat、數據庫安裝、應用軟件部署等;
4、數據庫專業知識:MySQL、Oracle關系型數據庫和Redis非關系型數據庫;
5、編程語言:Python腳本和java編程基礎;
6、自動化測試相關知識:自動化測試架構、接口自動化、web端自動化、移動端自動化、持續集成、質量管理平臺搭建等等,工具會涉及到Selenium、SVN、Fiddler、Postman、GIT等;
7、企業級性能診斷:性能測試基礎、性能測試工具、性能調優、性能測試報告撰寫。
現在去企業求職面試,面試官除了要求求職者具備扎實的測試理論基礎,更關注你是否具備相關技術的應用操作能力。以上的這些技術點,只要你會寫簡單的接口自動化或者UI自動化,起薪應該都在10k起。
隨著軟件工程越來越精細化項目管理,現在測試工作也分配的愈發細化。那我們到底該往哪個測試方向發展呢?
?
從軟件技術路線上說,劃分為三個明確的方向,分別是自動化測試工程師、白盒測試工程師、性能測試工程師。這三者適用于通用軟件測試領域,不同崗位對測試技術的要求程度逐漸增加。
自動化測試工程師:在功能測試范疇,指通常所說的依靠自動化測試工具進行軟件黑盒測試的工程師。很多測試界朋友,尤其剛入行者,對測試工具充滿了無限的興趣。他們喜歡那種編寫腳本、調試成功后的快感,喜歡看到自定義的日志里記錄了本來手工測試煩瑣的無聊頭頂的工作、而采用自動化方式實現后如此清晰豐富的內容后的興奮!自動化測試是軟件測試執行階段的必然趨勢。隨著大數據和互聯網的發展,自動化測試方法不僅可以提高測試效率,而且可以更全面的覆蓋系統的測試邊界。社會對于軟件測試的認可度以及對自動化測試人才的需求必將日益增加,做自動化測試的從業者薪資情況看,也普遍高于常規測試工程師。
白盒測試工程師:定位于在軟件測試周期的單元測試階段對軟件進行的代碼級測試的人,包括代碼走讀、代碼功能與邏輯測試、代碼內存泄漏檢查、代碼運行效率檢查、代碼測試覆蓋率分析等。如果說自動化測試只是依靠腳本語言完成測試腳本編寫與調試的過程,對于自動化測試工程師的技術要求要相對偏低的話,那么白盒測試工程師就要對大型程序開發語言的完全掌握,因此其技術要求相對偏高!一些公司根本不做,而一些對軟件質量要求非常高(如軍事類、電信類、財務金融類等)的企業,也會調動開發工程師來實施此事。但是,測試行業在發展,測試人員能力在提升,軟件的開發技術在復雜化,要對軟件進行盡可能全面的測試,白盒測試不可忽視!當下專門高薪招聘白盒測試工程師的企業也比比皆是。
性能測試工程師:即在系統測試階段、功能測試后對軟件系統性能指標進行采集分析和運行效率檢測的人。從宏觀上可以劃分為三個大方面:功能測試、性能測試、安全性測試。一款軟件如果功能測試+性能測試+安全測試都合格的話,那三者結合起來說明該軟件完成的質量是非常Nice的!只因目前很多企業由于時間、成本、人力條件的限制,暫且不做性能測試。
性能測試工程師相對來說,是三個技術路線里技術要求最高的,因為軟件的性能瓶頸歸根結底落實到代碼的運行效率這個問題上,因此性能測試要做好,性能測試工程師起碼要懂開發;而為了發現性能問題,要懂軟件開發架構;為了定位性能問題,要懂操作系統、網絡協議、應用服務器乃至數據庫的原理與使用;為了最終解決性能問題,要根據定位的問題有針對性的對代碼、操作系統、網絡架構、服務器、數據庫進行優化!正因為性能測試工程師技術要求的高超,該職位的待遇也是目前測試技術路線最高薪的一個,實為綜合技術能力較強的測試人員的明智選擇!
如果進入了技術路線的高級領域,可以細分成資深自動化測試工程師、資深白盒測試工程師、資深性能測試工程師、安全性測試工程師、標準化工程師,這些高級技術類人才完全與常規測試經理平齊,屬于軟件測試職業發展高級域。
現在很多軟件測試從業人員里都是非計算機相關專業畢業,不懂軟件開發,他們會先從事常規的測試工作,到自動化測試,進而在企業里積累和發展再一步步成為資深測試人員或者管理層。因此,軟件測試領域對于各類人士,都是一個非常不錯的就業選擇。