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

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

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

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

  測試的新動態(tài):

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

  當(dāng)然,不論技術(shù)如何沿革,當(dāng)今主流的測試還是依據(jù)嚴(yán)謹(jǐn)?shù)奈臋n、設(shè)計、計劃執(zhí)行的,因為,測試畢竟是一種工程手段。

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

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

  當(dāng)然還有一些從外部很難了解細(xì)節(jié)的測試,例如,安全性測試,大數(shù)據(jù)量測試,大并發(fā)測試,這些都和軟件的應(yīng)用場景有關(guān),不一一列舉細(xì)節(jié)了,總體上來說,這些測試的目的都是為了保證你在上班期間,可以安全、舒適的刷淘寶。

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

  無論測試的新技術(shù)如何討論、沿革,測試還是不離其本來的源頭:守護(hù)軟件質(zhì)量的重要手段之一,所以,不論做測試、學(xué)習(xí)測試,理解軟件質(zhì)量都是第一步。另外,測試始終都是一種帶有創(chuàng)新性、探索性、社會性的技術(shù)工作,是一種嚴(yán)肅嚴(yán)謹(jǐn)?shù)墓こ坦ぷ鳎瑹o論軟件產(chǎn)品從外部看起來如何絢麗,背后都有大量的測試工程師在辛苦勤懇的工作(可能越絢麗的軟件,其測試越嚴(yán)苛,比如游戲)。

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

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

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