看完十年來,編程領(lǐng)域有什么重要進展之后,好多人說還是想看看測試有什么進展。好吧,我就來“臨摹”下。雖然我作為88年的老臘肉也沒有工作九年,但估計也沒有人比我合適來寫了。不過總覺得讓我這樣一個要轉(zhuǎn)行的人來寫也不是那么合適了。
從業(yè)人員數(shù)量
好吧,人家都從代碼,標(biāo)準(zhǔn)上來講,測試我能想到的第一個就是人員數(shù)量了。在2008年的時候行業(yè)內(nèi)測試人員占比是很少的,更不要說移動互聯(lián)網(wǎng)了。記得那個時候微軟的很多員工說我很看好Android,旁人只當(dāng)笑話。我在2009年底面試的時候看到了Android G1手機,完全都沒有認知,更不要說知道什么移動互聯(lián)網(wǎng)了。
但到現(xiàn)在,移動互聯(lián)網(wǎng)測試越來越多,無論是傳統(tǒng)行業(yè),互聯(lián)網(wǎng)等企業(yè),技術(shù)基本上都已經(jīng)離不開移動互聯(lián)網(wǎng)。隨著時間的推移,每一年也有越來越多的應(yīng)屆生會去選擇移動互聯(lián)網(wǎng)測試崗位。
明顯可以感覺得到現(xiàn)在測試人員的數(shù)量越來越多,為了順應(yīng)潮流稱自己是移動互聯(lián)網(wǎng)測試的就更多了,但相對水平和素質(zhì)也越來越層次不齊。不過總體來講,移動互聯(lián)網(wǎng)人員的從業(yè)數(shù)量在9年內(nèi)幾乎是幾何倍數(shù)的增長,所以我放在了第一位。
培訓(xùn)機構(gòu)層出不窮
其實我真的不想把測試寫的那么low,但我還是要實事求是的。在移動互聯(lián)網(wǎng)之前可能51CTO,51Testing,51xxx都是幾家獨大的,但在移動互聯(lián)網(wǎng)時代,尤其是在2014年開始,在線教育,網(wǎng)絡(luò)直播的興起,越來越多的草根培訓(xùn)機構(gòu)層出不窮。相應(yīng)的,前互聯(lián)網(wǎng)時代的那些機構(gòu)卻并沒有很快的跟上移動互聯(lián)網(wǎng)的腳步。2013年左右開始私人的培訓(xùn)機構(gòu)開始越來越多,2015年開始針對測試培訓(xùn)創(chuàng)業(yè)的也開始逐漸增多。
就移動互聯(lián)網(wǎng)的9年來說,國內(nèi)的測試培訓(xùn)機構(gòu)到今天為止的狀態(tài)可以說是嘆為觀止。當(dāng)然這里其實不僅僅只針對測試,前端,后端,編程語言等都是如此??梢哉f這就是移動互聯(lián)網(wǎng)本身所帶來的一種變革。
人員要求
2008年的時候我就不提了,估計公司里都不知道怎么定義移動互聯(lián)網(wǎng)。
?
2009年前對于測試的要求就是你好好做功能測試,覆蓋功能點,寫不寫用例等大多數(shù)公司都不是很關(guān)心,或者不是很懂
2010年很多大公司還是正規(guī)化,需要編寫正式的用例。但從業(yè)人員要求基本上也是能夠會運行Android Monkey的Level
2011年大家跌爬滾打開始摸索自動化,但總體還是比較關(guān)注用例積累和設(shè)計的
2012年是一個分水嶺,直接從功能跳躍到了自動化。UI自動化在當(dāng)時火的不要不要的
2013年對于自動化的要求更加變本加厲,不但要會使用更要會二次開發(fā)
2014年從點擴展到了面,從自動化的使用擴展到了持續(xù)集成的了解和運用
2015年功能,自動化都告了一個段落,整體開始測試平臺化,工具化,技術(shù)上開始轉(zhuǎn)移到了無線客戶端的專項測試上
2016年安全元年,全棧也好,敏捷也罷也都到了一個白熱化階段,要求測試不但要懂開發(fā),還要懂業(yè)務(wù),還要懂架構(gòu)等等等。正應(yīng)了我在2012年的時候說的那句話“應(yīng)聘測試崗位比CTO都要難”。
總體來講,短短9年的時間,移動互聯(lián)網(wǎng)測試的技能,素質(zhì)要求簡直是升華了好幾次,不得不說大家現(xiàn)在對于測試的理解已經(jīng)遠遠不是當(dāng)初那種“門檻低,點點點”那種境界了。雖然很多人平時的工作依然還在點點點,但你們都有CTO的潛質(zhì)啊喂。
PS:雖然整體國內(nèi)的要求在突飛猛進,但大家對于測試的理解依然沒有太大的進步。同時測試這個行業(yè)整體人員的素質(zhì)也沒有太大的進步。未來還是很令人堪憂的。
技術(shù)
前幾天我還問一位小哥為什么TesterHome大會沒有去,小哥回答我說測試大會有啥好去的,技術(shù)都是開發(fā)這邊演進過來的。這話其實本質(zhì)上也沒有錯,不過移動互聯(lián)網(wǎng)技術(shù)本身從各個方面上還是進展非常多的。
早期2009年底我剛開始做的時候,除了Android的官方文檔以外,幾乎沒有任何的社區(qū)和博客有記載關(guān)于移動互聯(lián)的測試技術(shù)(開發(fā)技術(shù)倒是蠻多的)
2011年前基本上都是使用原生工具較多,應(yīng)用本身復(fù)雜程度比較有限,同時開源工具也不是很多
2011年之后Robotium等一大批UI測試自動化框架開始多了起來,網(wǎng)絡(luò)上關(guān)于測試的技術(shù)文章也開始逐步增多。同時一大批測試網(wǎng)站,社區(qū)也嶄露頭角
2012年之后應(yīng)用本身復(fù)雜程度大幅度提升,移動互聯(lián)測試很清楚的分成了App和OS兩部分。同時開源測試框架,開源測試工具層出不窮。當(dāng)時很火的并且做的不錯的有Emmagee、athrun等等框架。同時測試活動對于代碼的依賴和使用開始了一個新的篇章
2013年過后移動互聯(lián)所涉及到的技術(shù)已經(jīng)開始有了本質(zhì)的變化,客戶端的內(nèi)容更多的開始依賴服務(wù)端的架構(gòu)和設(shè)計,大家的關(guān)注也從一個客戶端到了整個一套系統(tǒng)的關(guān)注。曾經(jīng)的Web測試技術(shù),API測試技術(shù),Server測試技術(shù)也都慢慢的融入了移動互聯(lián)。這也是之后為什么測試的關(guān)注點會從一個點發(fā)展到一個面的根本原因
截止到現(xiàn)在,技能樹可見:https://zhuanlan.zhihu.com/p/23379241?refer=c_53429125。
移動互聯(lián)網(wǎng)本身的測試工具已經(jīng)非常多,開源的框架和工具也在github上面遍地開花,另外技術(shù)本身已經(jīng)出現(xiàn)了很多的組合使用。這一切與9年前可以說是天壤之別?,F(xiàn)在測試技術(shù)可謂遍布各個網(wǎng)站,測試測試棧也幾乎可以打通了整個常用的編程語言以及前后端系統(tǒng)。夸張點說現(xiàn)在的移動互聯(lián)網(wǎng)的測試技術(shù)可以說也到了讓很多人望而生畏的地步了。
測試意識
這點的確是個很有趣的現(xiàn)象,但可能本質(zhì)上和移動互聯(lián)網(wǎng)關(guān)系并不是非常大,在我看來移動互聯(lián)網(wǎng)只不過是加速了這一現(xiàn)象的發(fā)生。還是需要分成兩個方面來講,學(xué)術(shù)界和工業(yè)界
早在2009-2012年間吧,整個測試行業(yè)可以這兩方都有非常明顯的活動。
- 學(xué)術(shù)界:辦協(xié)會,做會刊,登報紙。擴散各種測試用例設(shè)計的方法,理念。從國外引入各種新的概念和設(shè)計思維等等。當(dāng)然測試畢竟也是研發(fā)過程中的一個環(huán)節(jié),所以敏捷、DevOps的一些理論也都不會放過。
- 工業(yè)界:工業(yè)界的同學(xué)其實真的忙的都和狗一樣,哪里有空去研究別的呀。不過之前幾年基本上都是在學(xué)習(xí)移動互聯(lián)的新知識,大力研究UI自動化中。(這里對不起狗了,狗其實比我們要輕松多了)
他們的關(guān)注點都在一些通用的方法論上,但這些在2013年之后基本上就消失殆盡了。一來這些在行業(yè)中慢慢的很難去賺錢了,二來移動互聯(lián)網(wǎng)加速了整個國內(nèi)互聯(lián)網(wǎng)的各種屬性,理論本身也很難去有落地實踐的可能性了。但我覺得大家不得不承認一點,學(xué)術(shù)界在高校中被稱之為“未來科學(xué)”是有道理的,因為他們在意識層面上的確比工業(yè)界的人們要先進的多。
測試真正意義上的自動化可能是自動化的終極目標(biāo),測試本身我們可以簡單的分成“測試前”、“測試中”和“測試后”,但現(xiàn)在看來工業(yè)界基本上都還在“測試中”這個環(huán)節(jié)折騰,測試的自動化有通過軟件框架實現(xiàn)的,也有通過opencv攝像頭+硬件實現(xiàn)的。但無論是哪一種基本上都還在“測試執(zhí)行自動化”。
在早些年工業(yè)界很少有人去關(guān)心“測試數(shù)據(jù),用例設(shè)計自動化”以及“測試結(jié)果分析,定位,質(zhì)量自動化”這兩個概念,但學(xué)術(shù)界很多人在研究,甚至國外已經(jīng)研究了幾十年了。近幾年才慢慢開始有相關(guān)的實踐在大公司中落地,比如咸魚在前年demo的基于腦圖的用例生成、遍歷技術(shù)、線上數(shù)據(jù)雙引擎、大數(shù)據(jù)質(zhì)量大盤等等。相信這些在未來都是工業(yè)界測試技術(shù)可以突破的點。
總而言之呢,移動互聯(lián)網(wǎng)在這幾年里的測試意識基本上是:
功能-->UI自動化-->接口自動化-->Native、WebView、底層分層測試-->持續(xù)集成-->專項測試-->平臺話、智能化(數(shù)據(jù)準(zhǔn)備、遍歷、問題定位)-->質(zhì)量(貫穿整個系統(tǒng)和整個研發(fā)流程)
其實回過頭看看,還是比較可怕的。
活動
這的確還是有本質(zhì)變化的,早幾年除了ChinaTest和51XXX的一些活動以外基本上就沒有什么針對測試的活動和大會了。經(jīng)過了這幾年洗禮之后,行業(yè)我們能夠看到不僅僅有很多的測試專屬會議以外,BAT也會時不時的有一些技術(shù)交流大會,同時開發(fā)的各種大會也合入了很多測試的topic在其中。(我都當(dāng)過講師,我驕傲我自豪~)
總體來講早幾年我還苦于沒有人交流所以自創(chuàng)了“移動測試會”這樣一個沙龍活動來主動和大家交流?,F(xiàn)在的同學(xué)們就非常幸福了,因為交流的平臺和渠道實在太多太多了。
測試定位
這里的定位其實在別人眼中的定位,雖然我覺得可能這點上并沒有太大的進展,但至少也是從0到1邁出了這樣一步——公司里應(yīng)該要有測試這個崗位和角色。不過國內(nèi)基本上95%以上的公司和人都分不清楚QA和測試的區(qū)別,可悲可嘆啊。
移動互聯(lián)網(wǎng)中,早期其實大部分公司都是不需要測試的,畢竟測試并不能幫助產(chǎn)品從無到有
中期的時候呢,為了保證產(chǎn)品質(zhì)量,引入了一部分傳統(tǒng)互聯(lián)網(wǎng)的測試來做移動互聯(lián)網(wǎng),但后來發(fā)現(xiàn)不行。一來移動互聯(lián)網(wǎng)并沒有想象中那么賺錢,所以在過程中很多公司其實有過一次測試的裁員。二來發(fā)現(xiàn)傳統(tǒng)互聯(lián)網(wǎng)的測試根本就hold不住移動互聯(lián)網(wǎng)的產(chǎn)品,所以基本上后來就招聘那些有經(jīng)驗的移動互聯(lián)網(wǎng)測試了
后期,也就是差不多現(xiàn)在這個時間段。測試和開發(fā)、運維等都開始融合了,測試本身的定位也從原本的測試保證到了質(zhì)量保證。這也算是符合中國國情的一種定位吧。
簡單來講,這也算是一個很突出的進步了。測試這個角色其實在這幾年間就是一個催化劑的作用,讓人和企業(yè)都慢慢的意識到了測試的重要性,意識到了質(zhì)量的重要性,意識到了測試并不是想象中的那么簡單這樣幾個點。在我看來這些就足夠了。
話說很多人會問我人員數(shù)量上,技術(shù)上都有提升了,素質(zhì)上對應(yīng)也應(yīng)該有提升啊。我只想說,不好意思,在我看來人員素質(zhì)上沒有任何提升。9年前測試在抱怨薪資低,qq群里每天水,然后做伸手黨,9年后的今天依然如此,沒有任何區(qū)別。我倒是可以考慮再寫寫“9年來,測試行業(yè)有什么沒有任何進展”