最近十年,軟體測試領域有什麼重要進展?

最近十年,編程領域有什麼重要進展?

最近十年,運維領域有什麼重要進展?


看完「十年來,編程領域有什麼重要進展「之後,好多人說還是想看看測試有什麼進展。好吧,我就來「臨摹」下。雖然我作為88年的老臘肉也沒有工作九年,但估計也沒有人比我合適來寫了。不過總覺得讓我這樣一個要轉行的人來寫也不是那麼合適了。

從業人員數量

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

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

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

培訓機構層出不窮

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

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

人員要求

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

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

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

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

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

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

2014年從點擴展到了面,從自動化的使用擴展到了持續集成的了解和運用

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

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

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

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

技術

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

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

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

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

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

截止到現在,技能樹可見:移動無線測試技能樹 (原創)。

移動互聯網本身的測試工具已經非常多,開源的框架和工具也在github上面遍地開花,另外技術本身已經出現了很多的組合使用。這一切與9年前可以說是天壤之別。現在測試技術可謂遍布各個網站,測試測試棧也幾乎可以打通了整個常用的編程語言以及前後端系統。誇張點說現在的移動互聯網的測試技術可以說也到了讓很多人望而生畏的地步了。

測試意識

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

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

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

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

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

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

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

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

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

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

活動

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

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

測試定位

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

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

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

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

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

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


謝邀

----------

挺多的吧,不知道樓主想了解哪方面的內容。

1,內容上來說,移動互聯網逐漸成為重點,對應的測試內容也發生了便宜。

2,範圍上來說,軟體測試逐漸擴散到遊戲、app、vr等新興行業。

3,雲測出現,感覺是個小里程碑。

4,技術測試越來越重要。

5,測試理論方面,比如谷歌提出了探索測試

6,測試外包公司出現


我感覺,測試範圍並未脫出 黑盒-白盒 這兩大測試範圍,「探索」測試,嚴格意義上是否屬於測試,值得商榷。

而若排除掉關鍵行業、企業級、甚至部門級以上的商用軟體/系統後,單就網路傳播的軟體而言,無論是對傳統MFC類或類MFC的桌面應用,還是瀏覽器端的WEB APP、基於手持終端的APP等等大眾軟體,所進行的測試工作,就我個人有限目力所及,尚未發現,有超出 IBM Rational 套件下的如自動化測試工具包、缺陷管理包等測試組件/工具包功能以外的測試方法,測試手段及測試邊界的測試需求,這樣的評價,也適用於相同背景下的測試/缺陷管理水平,和大規模測試的組織/運轉能力。

國內大部分企業的測試手段,仍未能將Rational十年前版本的測試潛力,榨乾耗盡。雖然Rational在嵌入式軟體領域的名頭更加響亮。

若是對大規模集成電路的流片測試、封裝測試過程,有所了解的軟體工程師,可能會很清楚,現在的軟體測試,還有很長的路要走。當然,兩個行業在投入產出比、風險收益比上的巨大差異,也需要客觀對待。

而企業若想擁有專業的測試線,其實是非常艱難的過程,並非招募幾個測試經理,一堆測試小弟就認為測試線完備。

組織有效測試及測試反饋,

開發線的反饋響應和反饋回報,

測試線和開發線、產品線與開發線、產品線與業務需求提出部門間的一對一協作鏈條的溝通機制,

技術經理和測試經理的責權利,

開發周期中各區間和特定里程碑的技術決策權歸屬,

各參與部門在測試周期中不同階段的動態權重分配,

項目全生命周期中不同里程碑區間的最佳生產模型選擇,

以上等等,其實已深度觸及企業既有流程和組織架構等公司治理領域,在測試線建設前,可能需要前置企業的適應性 優化/變革 任務。

流程?對了,你還得先具備完整的內部流程體系。

建設流程之前,標準化你得先做吧。得,立刻過CMM2,應該能湊合了。

QA,還有QA,品管當然重要,默認已有。

測試,不是一個職位,或一個部門就能搞定的事。測試崗位或測試線的是否設立,如何運轉,預期高低,執行手段,預期收益,利弊平衡,財務損益,風險測算,這都是在決定進行測試正規化之前,企業掌舵者或擁有技術決策權的高級管理者,事前必須想明白的,並有所取捨的。

當然,通常意義上的「功能性黑——白測試」崗,必須有。


具體的沒研究過,我說過我感受到的最直觀的變化。

許許多多的互聯網公司從根本根本不知道測試是做什麼的,轉變到知道做產品必須要招兩個測試才靠譜。

知道做一個產品只需要開發時搞不到事情的。

不止是測試,產品,運營等崗位都在這兩年有了明顯的變化,最顯著的就是被更多的人所知道。

從過去的只知道程序員,到現在知道了還有測試,產品,運營等崗位。


最大的進展應該是,越來越多的人,認識到軟體測試這口井,下面沒有水;需要換個地方重新開始挖。。。

另外,別聽那些吹牛逼的貨,瞎吹得天花亂墜。。。


接觸自動化測試不久,但是 略有了解~看到這個問題,就想答一下我心裡想的~

早些年,國內好多公司還沒有一個崗位叫做軟體測試,職位劃分也沒有那麼的全面,大家都叫程序員。隨著國內公司,制度包括經濟都很完善之後,一些公司在職位上有了明確的分工:比如技術支持、設備維護、軟體測試、軟體開發等等;

所以看到這個問題,我的反應就是軟體測試領域的最大改變應該就是,業務邏輯慢慢清晰了~軟體測試行業正在不斷完善中~加油~測試猿~


傳統軟體測試看不到希望,測試的技術、待遇天花版太低,很快就到頂了,目前已接觸安全測試,目的是轉入網路安全行業。


軟體的六大特性 功能 可靠 效率 易用 可維護 可移植 ,測試圍繞它們開展,測試是成熟軟體企業的必備。


謝邀~

-----

說幾個點,具體其他同學補充:

1. 各種雲測平台出現

2. 各種培訓機構頻現(輸出眾多所謂的Tester從業者)

3. 測試職業越來越專業化,對測試同學的綜合技能和要求越來越高~不再是當初的點點點

4. 公司對測試職業越來越重視~

...

還有很多,不多廢話,大家來補充~


推薦閱讀:

你還在準備參加軟體測試的培訓嗎?
一個菜鳥怎樣做好功能測試?
如何看待Monkey陳嘩在業內人人喊打?
一個互聯網項目從產品設計到上線的過程是怎麼樣的?
國內互聯網巨頭們軟體開發過程中測試自動化程度如何?

TAG:編程 | 軟體測試 |