寫這篇博客的起因是小暈有點天真提問說:你能不能告訴我或者幫助我找一些關于軟件測試行業的新動態啊,比如新技術啊,新觀念啊,新的統計數據什么的,想多了解一下,雖然測試一般都是比較落后于其他技術的,可是百度上搜的都不怎么新了。

  作為測試愛好者回答一下。

  首先,對原提問者的一個觀點表達一下不同意見,那是所謂的“軟件測試沒有什么新的技術和動態,而且落后于其他技術”。這個不對,軟件測試是作為軟件工程中密不可分的一部分存在的,隨著軟件自身、軟件研發技術的演變,測試技術也在不斷演變。所以測試技術有許多新的技術和動態。說測試技術落后于其他技術,武斷了,無論是測試的方法、工具、理念都已經有幾十年的積累,而且在不斷演進,測試技術的競爭已經成為各大開發平臺競爭的主戰場,新的東西正在層出不窮。

  至于為什么大家在互聯網上看不到太多新聞,個人感覺測試是作為工程手段存在的,是專業技術,不像手機、電腦的技術參數那樣有很高的認知度,所以流傳范圍不大。如果新浪科技頻道發長文“論空心磚比實心磚的優越性”,我估計也沒幾個人看。不過,這些信息在圈子里是在快速的流動的。

  測試的新動態:

  ● 從測試技術上來說,“自動化測試技術”和“探索性測試技術”是近大家都在熱烈關注的內容。大家討論這些的背景是:如何通過技術手段減少重復勞動,使寶貴的測試資源可以做更有價值的事情;如何發揮測試人員的測試特長與創造性,而不是僅僅按照寫好的測試腳本和測試用例來點鼠標。

  當然,不論技術如何沿革,當今主流的測試還是依據嚴謹的文檔、設計、計劃執行的,因為,測試畢竟是一種工程手段。

  ● 測試是和開發活動伴生的,所以開發模式的新動態對于測試也有影響,近的一段時間里,大家都在試圖回答一個問題:在敏捷開發模式下,測試應該如何做?是重新交回開發人員自己做?完全依賴自動化測試?獨立測試工程師在敏捷團隊中做什么?需要哪些測試工具?我們真的需要在凌晨2:00把二十個bug提醒發送到剛剛入睡的開發工程師正在充電的小米手機上嗎?

  ● 測試活動與測試的對象??軟件,密不可分。不同類型的軟件,測試方法、技術都不同。所以軟件業的新動向也對測試有影響,在“移動互聯網”,”前端技術”和“云計算”持續火爆的當下,測試也面臨新挑戰,如何在安卓平臺碎片化的情況下進行軟件兼容性測試?如何為云計算應用進行測試?如何測試網站前端?另外,為什么蘋果的軟件使用起來總是那么順手,測試做了什么?都是很有趣的話題,對這些話題的討論和研究也在不斷產生新的技術和方法。

  當然還有一些從外部很難了解細節的測試,例如,安全性測試,大數據量測試,大并發測試,這些都和軟件的應用場景有關,不一一列舉細節了,總體上來說,這些測試的目的都是為了保證你在上班期間,可以安全、舒適的刷淘寶。

  ● 測試工具上來說,近大家討論的,一是Selenium,這是一個Thoughworks公司推出的開源Web應用自動化測試工具,Selenium原意是一種用于治療汞(Mercury)中毒的化學元素,而Mercury是一家被HP公司收購的商業測試工具開發商,在測試界享有盛譽,所以…你懂的;二是持續集成工具,比如CruiseControl,Hudson,JIRA Bamboo(竹子的外形和持續集成很像,是吧?),還有一些公司在自主研發的平臺,比如淘寶的Toast。測試工具很多,商業的,開源的,為了防止廣告嫌疑,不多提了。關于工具的用途,個人有個見解:工具是用來解決問題的,工具為人服務,而不是人做工具的奴隸,不要為了工具而工具;是好的測試理念、管理、能力守護軟件質量,而不是工具。

  無論測試的新技術如何討論、沿革,測試還是不離其本來的源頭:守護軟件質量的重要手段之一,所以,不論做測試、學習測試,理解軟件質量都是第一步。另外,測試始終都是一種帶有創新性、探索性、社會性的技術工作,是一種嚴肅嚴謹的工程工作,無論軟件產品從外部看起來如何絢麗,背后都有大量的測試工程師在辛苦勤懇的工作(可能越絢麗的軟件,其測試越嚴苛,比如游戲)。

  另外,你提到的從百度無法搜索到更多的技術結果,我想這不是搜索引擎的問題,而是你使用的問題。我覺得你可以從關注幾位測試圈子里的人的博客和微博開始,從關注測試論壇開始,多了解一些測試有關的專業術語,然后再有針對性的去搜索,一定會有更多收獲。

  后再廢話一句:大部分的技術信息,99%的難題的答案,都在官方文檔里。如果要學習,讀文檔吧。

  時間所限,回答到這里,你提問的關于統計數據,真的不在統計局工作,所以沒有什么數據。這個只是我個人的問題,別的測試愛好者有他們的回答,歡迎一起討論。希望我的這篇博客對你有幫助!