柴阿峰:回答“測試行業最新動態”的相關問題

柴阿峰發表於2012-06-15

寫這篇部落格的起因是@程式設計師的那些事 轉了一個問題給我,提問者@小暈有點天真 說:“你能不能告訴我或者幫助我找一些關於軟體測試行業的最新動態啊,比如新技術啊,新觀念。” (見下圖附圖)

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

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

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

software testing request

 

回答你的問題。

測試的最新動態:

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

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

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

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

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

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

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

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

 

最後再廢話一句:大部分的技術資訊,99%的難題的答案,都在官方文件裡。如果要學習,讀文件吧。

時間所限,就回答到這裡,你提問的關於統計資料,真的不在統計局工作,所以沒有什麼資料。這個只是我個人的問題,別的測試愛好者有他們的回答,歡迎一起討論。希望我的這篇部落格對你有幫助!

 

相關文章