最近正是一年一度的找工作高峰期,而我作為公司的面試人員,也見了不少應聘者。總體感覺,大家對測試工程師認識不夠,不太明白這個工作是做什么的,發展方向以及發展空間什么的。所以今天我們就抽個空,閑聊一下測試工程師。
一,測試工程師的歷史
我算是接觸互聯網測試工作比較早的一批人了,在2010年研二實習的時候就開始在一家加拿大的企業做測試開發工程師了。2012年畢業的時候,貌似互聯網行業開始有專職的測試人員,而且不少中小型公司還沒有專職的測試人員,程序的質量由開發人員保證,產品進行簡單的驗收。
就算是公司有專職的測試人員,地位還是比較低的,貌似各種人都能來指揮測試人員的。產品來壓測試時間,開發也來壓測試時間,總感覺到測試人員什么都不會,而且沒有什么好測試的。可是一旦出了問題,都會怪測試工程師沒有測試到。
隨著用戶對產品的質量要求越來越高,公司也就注重測試工作了,各個公司開始組建自己的測試團隊,對測試人員要求也開始變得越來越高。測試人員在不少公司的地位有所提高,能把控項目進度,提出不同的意見。慢慢的就和國外的企業接軌了,我實習的時候加拿大的公司的測試地位非常高,測試說測試通不過,誰也不能上線了。
二,測試工程師的來源
由于測試一般是根據產品的需求,從用戶角度來驗證開發做出來的程序或是產品是否符合需求,要求門檻比較低。也由于要借鑒不同行業的人來驗證產品,所以功能測試人員來自己各行各業,也沒有高學歷的要求。一般應屆畢業生是新加入測試行業的主力軍,他們年輕有活力,還是比較合適的。
后來大家看到互聯網的測試工資待遇還是不錯的,而且門檻比較低,所以很多考慮著轉行來做測試;或是其他工種,如泥瓦工,廚師,銷售等等都通過上幾個月的培訓班,來加入到測試工程師這個行業。此處不是說其他的工種不能做測試工程師,只是在說明各個行業目前都有轉測試的趨勢,競爭壓力還是挺大的。
三,測試工程師的分類
網上或是書上我們會看到很多類似于黑盒測試,白盒測試,灰盒測試等等吧,實際上這些兒只是書面上的分類,真正的公司中完全不是這么回事?
在互聯網公司中,測試工程師的分類如下:
(1)功能測試工程師
(2)性能測試工程師
(3)安全測試工程師
(4)自動化測試工程師
(5)測試開發工程師
(6)高級測試開發工程師
(7)測試專家
當然,如果按層次來分的話,應該是如下:
第一層:(1)功能測試,按需求檢測開發的產品是否符合需求。
第二層:(2)(3)(4),這層的測試人員需要熟悉使用一些兒工具,開源的框架,借助于簡單的腳本來完成對被測對象做性能,安全和回歸測試工作。
第三層:(5)(6),這層測試工程師需要通過編碼,或是對開源的框架,工具進行二次開發,開發測試工具,測試平臺等來解決前兩層測試人員工作中遇到的問題,提高工作效率。
第四層:(7)測試專家,就是能夠發現測試領域問題并解決某個領域的問題的人,同時還需要具有這個領域的系統化的知識體系。這個比較難達到這個級別,需要的掌握的東西還是比較多的。
行情分析:
(一)目前第一層測試人員最多,從12年加入到測試行業,到現在為止已經具有相當一部分人了。而且先前加入的人員,已經工作了三四年了,已經達到了瓶頸,業務比較熟悉,技術上沒有提升。同時,不斷有應屆生或是年輕的小伙伴加入,對老人沖擊很大,而想換工作的時候,又沒有優勢,非常麻煩。
(二)第二層的測試人員,貌似很高大上,借助于一些兒常用的工具,開源的框架,來錄制腳本,編寫自動化測試用例,然后接于到jenkins中實現持續化集成。好牛的感覺喲,其實不是這么回事,不管我們是使用工具還是開源框架,我們都是在使用工具的。一旦工具出了問題,或是消失了,收費了等不可控制的原因吧,我們就失去了優勢。而且入手還算比較快的,通常牛人帶你,或是參加一個專項的培訓班,一兩周就能入手。此類人正在慢慢地變多,而且也漸漸地失去了優勢。
(三)第三層人現在的需求量比較大,但是相應的人員比較少。因為這類人需要有一定的編碼能力,而普通的測試人員具有編碼能力的不太多,計算機專業的人員有了編碼能力就去做開發了。結果留下了這個真空地帶,這個地帶的人待遇相當不錯,人員少,建議大家往這個方向發展。
(四)第四層人就比較鳳毛麟角了,也是我們所有的測試人員努力的方面,我們就不過多介紹了。
四,目前的測試技術介紹
目前自動化測試比較熱,我們就先介紹自動化測試,然后再去簡單地介紹一下其他的測試。
自動化測試:
(1)WEB UI自動化測試:主流的開源框架是Webdriver2.0,先前還是selenium 1.0,Htmlunit,經過社會上的實踐,現在就只剩下Webdriver2.0。而且這個開源的框架支持主流的語言,如python,java,php等,借助于Selenium IDE,Firebug等工具,完成對Web UI的自動化測試。
(2)API或是服務的自動化測試:接口自動化測試主流技術是python的urllib2和requests模塊,phpunit也可以用來做接口自動化測試,java在支持接口自動化測試方法有點兒弱,需要做一下二次封裝。由于服務出于安全考慮,各大公司都會自己開發相應的服務框架,所以服務的自動化測試則是公司自己開發的框架比較多。如58趕集的SCF服務框架下開發的服務,則需要ATF框架來進行測試,所以就不能列舉出服務的自動化測試技術了。
(3)移動自動化測試:移動自動化測試指的是APP UI自動化測試,后端已經由上面的接口和服務自動化來保證了。而APP UI自動化測試主流的框架是Robotium和Appium,因為Robotium只支持java語言,并且只能對Android系統進行測試,所以沒有Appium應用的廣。Appium支持IOS和Android系統,支持java和python語言,是主流的框架。
性能測試:
性能測試我不太了解,不過目前主流的工具是LoadRunner和Jmeter。利用這些兒工具來根據需求,錄制腳本,進行壓力測試。還有需要對Jmeter進行二次開發,以完成對自己業務的完美支持。
以后對移動端的性能要求也比較高了,新出的App需要支持各種型號的機器。高端的機器需要支持,低端的機器也同樣需要支持。以后移動端的性能,應該算是性能測試的新方向。
安全測試:
需要專業技術的東西,應用場景不是特別廣泛,表示不了解,需要的同學可以去網上做專項調研。
測試開發:
測試開發是介于測試和開發之間的工種,測試開發是針對測試的開發,也就是說測試人員是測試開發的產品,他們有任何工作中的需求。測試開發人員需要積極響應,通過開發相應的工具,平臺來解決他們遇到的問題。
當然測試開發要求也比較高,上述的開源框架都需要深入了解,java,python,shell,ruby等語言的使用已經不是問題,CSS,jS,HTML等前端的東西也要熟練使用,接口,服務的開發也是常事。在此階段各種技術應該就不是問題了,你需要的就是解決問題的能力。
好了,就閑扯到這些兒吧,這是我在工作中得到的一些兒經驗吧!現在功能測試已經飽和,自動化測試人員日漸增多,測試開發需求量變大。一個好的測試人員,要有明確的發展方向,有計劃地發展自己,不能跟著需要求走,走高消耗的路線!
-
測試工程師
+關注
關注
6文章
124瀏覽量
12417
發布評論請先 登錄
相關推薦
評論