1. 程式人生 > >九年來,移動互聯測試有什麼重要進展

九年來,移動互聯測試有什麼重要進展

1. 從業人員數量

好吧,人家都從程式碼,標準上來講,測試我能想到的第一個就是人員數量了。在2008年的時候行業內測試人員佔比是很少的,更不要說移動網際網路了。記得那個時候微軟的很多員工說我很看好Android,旁人只當笑話。我在2009年底面試的時候看到了Android G1手機,完全都沒有認知,更不要說知道什麼移動網際網路了。

但到現在,移動網際網路測試越來越多,無論是傳統行業,網際網路等企業,技術基本上都已經離不開移動網際網路。隨著時間的推移,每一年也有越來越多的應屆生會去選擇移動網際網路測試崗位。

明顯可以感覺得到現在測試人員的數量越來越多,為了順應潮流稱自己是移動網際網路測試的就更多了,但相對水平和素質也越來越層次不齊。不過總體來講,移動網際網路人員的從業數量在9年內幾乎是幾何倍數的增長,所以我放在了第一位。

2. 培訓機構層出不窮

其實我真的不想把測試寫的那麼low,但我還是要實事求是的。在移動網際網路之前可能51CTO,51Testing,51xxx都是幾家獨大的,但在移動網際網路時代,尤其是在2014年開始,線上教育,網路直播的興起,越來越多的草根培訓機構層出不窮。相應的,前網際網路時代的那些機構卻並沒有很快的跟上移動網際網路的腳步。2013年左右開始私人的培訓機構開始越來越多,2015年開始針對測試培訓創業的也開始逐漸增多。

就移動網際網路的9年來說,國內的測試培訓機構到今天為止的狀態可以說是歎為觀止。當然這裡其實不僅僅只針對測試,前端,後端,程式語言等都是如此。可以說這就是移動網際網路本身所帶來的一種變革。

3. 人員要求

2008年的時候我就不提了,估計公司裡都不知道怎麼定義移動網際網路。

2009年前對於測試的要求就是你好好做功能測試,覆蓋功能點,寫不寫用例等大多數公司都不是很關心,或者不是很懂

2010年很多大公司還是正規化,需要編寫正式的用例。但從業人員要求基本上也是能夠會執行Android Monkey的Level

2011年大家跌爬滾開啟始摸索自動化,但總體還是比較關注用例積累和設計的

2012年是一個分水嶺,直接從功能跳躍到了自動化。UI自動化在當時火的不要不要的

2013年對於自動化的要求更加變本加厲,不但要會使用更要會二次開發

2014年從點擴充套件到了面,從自動化的使用擴充套件到了持續整合的瞭解和運用

2015年功能,自動化都告了一個段落,整體開始測試平臺化,工具化,技術上開始轉移到了無線客戶端的專項測試上

2016年安全元年,全棧也好,敏捷也罷也都到了一個白熱化階段,要求測試不但要懂開發,還要懂業務,還要懂架構等等等。正應了我在2012年的時候說的那句話“應聘測試崗位比CTO都要難”。

總體來講,短短9年的時間,移動網際網路測試的技能,素質要求簡直是昇華了好幾次,不得不說大家現在對於測試的理解已經遠遠不是當初那種“門檻低,點點點”那種境界了。雖然很多人平時的工作依然還在點點點,但你們都有CTO的潛質啊喂。

PS:雖然整體國內的要求在突飛猛進,但大家對於測試的理解依然沒有太大的進步。同時測試這個行業整體人員的素質也沒有太大的進步。未來還是很令人堪憂的。

4. 技術

前幾天我還問一位小哥為什麼TesterHome大會沒有去,小哥回答我說測試大會有啥好去的,技術都是開發這邊演進過來的。這話其實本質上也沒有錯,不過移動網際網路技術本身從各個方面上還是進展非常多的。

早期2009年底我剛開始做的時候,除了Android的官方文件以外,幾乎沒有任何的社群和部落格有記載關於移動互聯的測試技術(開發技術倒是蠻多的)

2011年前基本上都是使用原生工具較多,應用本身複雜程度比較有限,同時開源工具也不是很多

2011年之後Robotium等一大批UI測試自動化框架開始多了起來,網路上關於測試的技術文章也開始逐步增多。同時一大批測試網站,社群也嶄露頭角

2012年之後應用本身複雜程度大幅度提升,移動互聯測試很清楚的分成了App和OS兩部分。同時開源測試框架,開源測試工具層出不窮。當時很火的並且做的不錯的有Emmagee、athrun等等框架。同時測試活動對於程式碼的依賴和使用開始了一個新的篇章

2013年過後移動互聯所涉及到的技術已經開始有了本質的變化,客戶端的內容更多的開始依賴服務端的架構和設計,大家的關注也從一個客戶端到了整個一套系統的關注。曾經的Web測試技術,API測試技術,Server測試技術也都慢慢的融入了移動互聯。這也是之後為什麼測試的關注點會從一個點發展到一個面的根本原因

截止到現在,技能樹可見:https://testerhome.com/topics/3858(也可以點選原文)。移動網際網路本身的測試工具已經非常多,開源的框架和工具也在github上面遍地開花,另外技術本身已經出現了很多的組合使用。這一切與9年前可以說是天壤之別。現在測試技術可謂遍佈各個網站,測試測試棧也幾乎可以打通了整個常用的程式語言以及前後端系統。誇張點說現在的移動網際網路的測試技術可以說也到了讓很多人望而生畏的地步了。

5. 測試意識

這點的確是個很有趣的現象,但可能本質上和移動網際網路關係並不是非常大,在我看來移動網際網路只不過是加速了這一現象的發生。還是需要分成兩個方面來講,學術界和工業界

早在2009-2012年間吧,整個測試行業可以這兩方都有非常明顯的活動。

  • 學術界:辦協會,做會刊,登報紙。擴散各種測試用例設計的方法,理念。從國外引入各種新的概念和設計思維等等。當然測試畢竟也是研發過程中的一個環節,所以敏捷、DevOps的一些理論也都不會放過。

  • 工業界:工業界的同學其實真的忙的都和狗一樣,哪裡有空去研究別的呀。不過之前幾年基本上都是在學習移動互聯的新知識,大力研究UI自動化中。(這裡對不起狗了,狗其實比我們要輕鬆多了)

他們的關注點都在一些通用的方法論上,但這些在2013年之後基本上就消失殆盡了。一來這些在行業中慢慢的很難去賺錢了,二來移動網際網路加速了整個國內網際網路的各種屬性,理論本身也很難去有落地實踐的可能性了。但我覺得大家不得不承認一點,學術界在高校中被稱之為“未來科學”是有道理的,因為他們在意識層面上的確比工業界的人們要先進的多。

測試真正意義上的自動化可能是自動化的終極目標,測試本身我們可以簡單的分成“測試前”、“測試中”和“測試後”,但現在看來工業界基本上都還在“測試中”這個環節折騰,測試的自動化有通過軟體框架實現的,也有通過opencv攝像頭+硬體實現的。但無論是哪一種基本上都還在“測試執行自動化”。

在早些年工業界很少有人去關心“測試資料,用例設計自動化”以及“測試結果分析,定位,質量自動化”這兩個概念,但學術界很多人在研究,甚至國外已經研究了幾十年了。近幾年才慢慢開始有相關的實踐在大公司中落地,比如鹹魚在前年demo的基於腦圖的用例生成、遍歷技術、線上資料雙引擎、大資料質量大盤等等。相信這些在未來都是工業界測試技術可以突破的點。

總而言之呢,移動網際網路在這幾年裡的測試意識基本上是:

功能-->UI自動化-->介面自動化-->Native、WebView、底層分層測試-->持續整合-->專項測試-->平臺話、智慧化(資料準備、遍歷、問題定位)-->質量(貫穿整個系統和整個研發流程)

其實回過頭看看,還是比較可怕的。

6. 活動

這的確還是有本質變化的,早幾年除了ChinaTest和51XXX的一些活動以外基本上就沒有什麼針對測試的活動和大會了。經過了這幾年洗禮之後,行業我們能夠看到不僅僅有很多的測試專屬會議以外,BAT也會時不時的有一些技術交流大會,同時開發的各種大會也合入了很多測試的topic在其中。(我都當過講師,我驕傲我自豪~)

總體來講早幾年我還苦於沒有人交流所以自創了“移動測試會”這樣一個沙龍活動來主動和大家交流。現在的同學們就非常幸福了,因為交流的平臺和渠道實在太多太多了。

7. 測試定位

這裡的定位其實在別人眼中的定位,雖然我覺得可能這點上並沒有太大的進展,但至少也是從0到1邁出了這樣一步——公司裡應該要有測試這個崗位和角色。不過國內基本上95%以上的公司和人都分不清楚QA和測試的區別,可悲可嘆啊。

移動網際網路中,早期其實大部分公司都是不需要測試的,畢竟測試並不能幫助產品從無到有

中期的時候呢,為了保證產品質量,引入了一部分傳統網際網路的測試來做移動網際網路,但後來發現不行。一來移動網際網路並沒有想象中那麼賺錢,所以在過程中很多公司其實有過一次測試的裁員。二來發現傳統網際網路的測試根本就hold不住移動網際網路的產品,所以基本上後來就招聘那些有經驗的移動網際網路測試了

後期,也就是差不多現在這個時間段。測試和開發、運維等都開始融合了,測試本身的定位也從原本的測試保證到了質量保證。這也算是符合中國國情的一種定位吧。

簡單來講,這也算是一個很突出的進步了。測試這個角色其實在這幾年間就是一個催化劑的作用,讓人和企業都慢慢的意識到了測試的重要性,意識到了質量的重要性,意識到了測試並不是想象中的那麼簡單這樣幾個點。在我看來這些就足夠了。

話說很多人會問我人員數量上,技術上都有提升了,素質上對應也應該有提升啊。我只想說,不好意思,在我看來人員素質上沒有任何提升。9年前測試在抱怨薪資低,qq群裡每天水,然後做伸手黨,9年後的今天依然如此,沒有任何區別。我倒是可以考慮再寫寫“9年來,測試行業有什麼沒有任何進展”