軟體測試工程師:確認過眼神,是要寫代碼的人

軟體測試工程師:確認過眼神,是要寫代碼的人

(軟體)測試工程師,聽起來蠻高大上的對不啦?

也是,畢竟測試工程師也是需要前能鎮定自若尋找產品bug,後能思維清晰測試代碼框架邏輯的好狗子同志。對產品上線之前做個全身檢查,責任還是蠻重大。

一個完美的產品,要基於合理-卓越的設計邏輯,擁有順暢的功能、穩定的性能以及美觀便捷的交互。一個合格的測試工程師,除了要保證產品上線之前功能完善,還要對產品的性能以及界面交互提出建設性修正/優化意見。

所以「測試」大人們的日常就是:深刻了解產品的功能要求,與「開發」(產品開發工程師)相輔相成,相愛相殺,做產品的一品帶刀侍衛,保證完美產品的穩步上線!

隨著互聯網生態的繁榮興盛,產品的種類也在不斷增加,測試工程師所能進入技術崗位越來越細分,測試早就已經成為一個橫向分布領域。我們常見的就有app測試專家、自動化測試專家、性能測試專家、web測試專家、安全測試專家、遊戲測試專家、雲產品測試專家等等。

我們通過對大招一百網上10w+條測試工程師的數據進行分析,得出的人才畫像如下:

大招一百是上海腳步網路科技有限公司旗下的科技服務類平台,鏈接高校、學生與企業,致力於為高校/學生提供體系化就業服務,為企業提供一站式校園招聘和僱主品牌解決方案。

崗位硬知識大掃盲

黑盒測試VS白盒測試

通常在測試之前,需要制定一整套測試計劃,之後才會進行各個測試環節,包括單元測試(模塊測試)——集成測試——系統測試——驗收測試。這裡邊前兩步是用到白盒測試,後兩步需要的是黑盒測試。

黑盒測試:就是站在用戶的角度上,在已知產品的功能設計規格上,在軟體的介面處對每個功能的實現可能性以及UI的正確性進行驗證。在這階段,測試人員不用接觸源代碼(把測試對象看作一個盒子,黑盒子指的是盒子是不可視的,你不清楚盒子內部的東西以及裡面是如何運作的,白盒子反之)。因此黑盒測試也稱功能測試或數據驅動測試。

白盒測試:則是站在框架搭建者的角度上,依據軟體設計說明書對程序內部細節進行嚴密檢驗。包括但不僅限於針對特定條件設計測試用例、對軟體的邏輯路徑進行覆蓋測試,以證明每種內部操作的設計邏輯以及使用流程是否符合規格要求在這階段,測試人員需要接觸源代碼。白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基於代碼的測試。

我們用一個簡單的例子對黑白盒測試進行區分。

我們把被測試的產品看作一個人。測試就是為了尋找出人的潛在疾病,然後對症下藥保證身體健康。黑盒測試類似於人被查出了頭疼,醫生通過觀察臨床反應,給開了副止疼葯。而白盒測試則是醫生通過望聞問切了解人體的經絡、臟腑、情志、氣血等,發現人腦子裡有腫瘤,最終用手術手段進行切除。

測試環節詳解

單元測試(模塊測試):基於測試單元功能而開發出來的測試代碼,通常代碼都比較簡短。一般情況下,一個單元測試是專門判斷某個特定函數在特定使用場景中的行為。

集成測試:也叫組裝測試和聯合測試,是單元測試的升級板和擴展版。它的最簡單的形式是:兩個已經測試過的單元組合成一個組件,並且測試它們之間的介面。組件再組件,組件組合之間通過不斷進行測試,最終讓所有的模塊進入測試進程。

系統測試:將經過測試的子系統裝配成一個完整系統來測試。它用來檢驗系統是否確實能提供系統方案說明書中指定功能。系統測試的目的是對最終軟體系統進行全面的測試,確保最終軟體系統滿足產品需求並且遵循系統設計。

驗收測試:驗收測試是向未來的用戶表明系統能夠像預定要求那樣工作,保證交付到用戶手上的產品功能穩定、性能優越、界面和諧。能夠無差池地進行功能操作和任務執行。

註:照理來說,不管是白盒測試還是黑盒測試,都是由測試工程師主導,來進行操作。但是需要注意的是,白盒測試更多的是單元測試——測試人員針對各個單元進行各種可能的輸入,然後對其輸出進行分析。在這一階段,測試代碼由開發猿編寫更容易提高測試效率和測試精度,以證明代碼的行為符合期望。畢竟「知子莫如母」,自己的設計思路以及代碼自己最熟悉。

所以我們會說,黑盒測試由測試工程師完成,白盒測試由開發工程師完成,才是絕代雙測。

測試工程師要需不需要開發技術?

簡而言之,測試工程師主要就是使用合適的測試工具對產品進行質量檢查,及時發現產品問題並督促更正,確保產品的正常運作。在這一層認知里,擁有開發技術不是硬性規定,尤其是剛入門的小白,日常就是按照軟體測試方案和流程對產品進行功能測驗,檢察產品是否有缺陷,技術離他們還是很遠的emm。但是當你進階到高級段位的時候,就需要有縱觀全局的能力了。不僅要熟練掌握軟體測試與開發技術,還要對所測試軟體的對口行業非常了解。

且隨著自動化測試大潮的襲來,不做自動化測試的產品八成都是在自尋死路。如果是不會開發的測試使用不會測試的開發搞出來的測試工具,你想想這其中的溝通誤差,就有點兒迷醉對不對?

所以現在的測試工程師,又有了新的title:測試開發工程師。仍舊屬於測試的範疇,但是對於代碼能力和編程技術卻是有要求:至少得掌握一門語言。而這也是成為一個專(niu)業(bi)測試人員(測試工程師+開發工程師的素養和能力)的必經之路。大環境在改變,做哪一行,都得多藝加身,盡量在上中下游,遊刃有餘。

崗位大數據

(所有數據皆來自於大招一百招聘平台:dazhao100.com

就業人員從業現狀

性別分布:

在測試的崗位中,男性佔比68.74%,女性佔比31.26%。男女比例約為2:1。妹子的能力在測試崗上也是不可小覷。

學歷分布:

其中從事測試的人員中,本科學歷的工作人員佔比73.65%;大專學歷佔比15.42%;碩士學歷佔比10.45%;博士學歷佔比0.09%。搞測試,注重的是學以致用,項目就是你最好的練靶場。

從業人員主要分布區域:

(從業人員集中地區top10)

測試從業人員主要分布於我國中東部、南部地區,其中北京的測試工程師最多,其次是上海、深圳、成都、廣州、杭州、武漢、南京、西安以及蘇州。

僱主普遍願意支付的月薪情況:

80%的僱主願意支付7-10K的月薪,20%的僱主支付的月薪在10-15K。

從業人員薪資情況概覽:

測試的薪資梯度數據呈現的比較均勻。除了工資在5-10K/月、25-30K/月佔比人數相對較少,分別為4.94%、12.38%之外,每一個薪資等級(間隔5K)上都有20%左右的從業人員。其中月薪10-15K之間的從業人員佔比18.29%;月薪15-20K之間的從業人員佔比21.02%;月薪20-25K之間的從業人員佔比22.89%。

高薪資分布地區top10:

高薪分布地區的TOP10,幾乎全部集中在沿海一代。形成一條狹長的線,這是因為互聯網行業在沿海地區發展勢頭很猛,大廠均有在此落戶。

從業人員工作經驗普遍年限:

(地區工作年限最長top10)

測試崗中工作年限在1-3年之間的,佔比10.04%,工作經驗在4-6年的從業人員佔比22.39%,工作經驗在7-10年的從業人員佔比42.57%,10年以上工作經驗的為25.00%。其中在江陰的測試從業人員平均工作年限最長,為10年;長沙的測試人員以9.8年的平均工作年限僅次於江陰;香港為9年;蘇州為8.9年;珠海為8.7年;武漢、上海、北京為8.4年;海口、崑山則為8年。

不同經驗下的工資水平概覽:

通力模型和其他一些數據

從業人員靠前的畢業院校:

從業人員靠前的專業:

從事過的工作:

僱主最看重的能力:

你點擊的每一個link,

手滑的每一個頁面,

都由我事無巨細為你檢測過,

我想,

我是真的喜歡你。

——測試攻城獅

重要說明:

很多時候,玩遊戲反饋體驗,也是測試的一種。

測試自動化是大勢所趨,不會開發的「測試」不是正經「測試」。但是人工測試暫時不會消失。

白盒測試的作用非常大,卻並非所有公司和產品都會搞,因為很容易失敗。

weixin.qq.com/r/8zv-523 (二維碼自動識別)

往期高校大數據導讀:

《關於專業選擇 | 這裡有最權威、全面的高考志願填報指南!》

《高校&專業熱度排行:呦~原來大家都想去這些學校》

《這裡有一份尋找高校妹子聚集地的行動指南,請查收!》

往期職場大數據導讀:

《我們爬了10萬個產品經理的信息,你真的懂產品經理嘛?》

《我們爬了11萬個JAVA人的信息進行分析,你真的懂JAVA嘛?》

《我們爬了10萬個UI設計師的數據進行分析,你真的了解UI設計么?》

《我們爬了7萬個運營人的信息進行畫像分析,你真的懂運營嘛?》

《我們爬了10w+文案從業者的數據,你還以為文案就是寫小文章的啊?》

《用10萬個銷售的信息進行畫像分析,「我們不賣保險!」》

《用10萬個測試的信息進行畫像分析:確認過眼神,是需要寫代碼的人》


推薦閱讀:

App測試點總結(1)
測試經驗丨性能測試工程師應關注的性能指標
進程與線程
如何面試軟體測試工程師

TAG:產品經理 | 軟體測試工程師 | 軟體測試 |