軟件測試的新趨勢

發表于:2016-04-08來源:infoq作者:林冰玉點擊數: 標簽:軟件測試
2015年11月,ThoughtWorks發布了新一期的技術雷達。技術雷達是以獨特的形式記錄ThoughtWorks技術顧問委員會對行業產生重大影響的技術趨勢討論的結果,為從CIO到開發人員在內的各方利益相

  2015年11月,ThoughtWorks發布了新一期的技術雷達。技術雷達是以獨特的形式記錄ThoughtWorks技術顧問委員會對行業產生重大影響的技術趨勢討論的結果,為從CIO到開發人員在內的各方利益相關者提供價值。這期雷達的技術趨勢主要體現在:受到熱捧的微服務相關技術,逐步成熟的以Docker為典型的容器化生態系統,備受企業和用戶關注的信息安全問題。本文就從這幾個新趨勢來分析一下給軟件測試帶來了哪些影響。

  自動化測試是王道

  在這個快速變化發展的時代,任何一款產品想要在市場具備競爭力,必須能夠快速適應和應對變化,要求產品開發過程具備快速持續的高質量交付能力。而要做到快速持續的高質量交付,自動化測試將必不可少。同時,自動化測試也不是用代碼或者工具替代手工測試那么簡單,有了新的特點和趨勢:針對不同的產品開發技術框架有著不同的自動化技術支持,針對不同的業務模式需要不同的自動化測試方案,從而使得自動化測試有著更好的可讀性、更低的實現成本、更高的運行效率和更有效的覆蓋率。來自技術雷達的下列主題分別體現了自動化測試的這些特點:

  針對微服務的消費端驅動的契約測試(Consumer-driven contract testing),有助于解決隨著服務增多帶來集成測試效率低和不穩定的問題。消費端驅動的契約測試是成熟的微服務測試策略中核心的組成部分。

  專門用于測試和驗證RESTful服務的工具REST-assured,它是一個Java DSL,使得為基于HTTP的RESTful服務編寫測試變得更加簡單。REST-assured支持不同類型的REST請求,并且可以驗證請求從API返回的結果。它同時提供了JSON校驗機制,用于驗證返回的JSON數據是符合預期的。

  安卓系統功能測試工具Espresso,其微小的內核API隱藏了復雜的實現細節,并幫助我們寫出更簡潔、快速、可靠的測試。

  ThoughtWorks開源的輕量級跨平臺測試自動化工具Gauge,支持用業務語言描述測試用例,支持不同的編程語言,支持所支持平臺的并行執行。

  用于針對UI的自動化測試構建頁面描述對象的Ruby庫Pageify,該工具關注于更快的執行測試以及代碼的可讀性,并可以很好的配合Webdriver或是Capybara使用。

  專門用于iOS應用開發的開源行為驅動開發測試框架Quick,支持Swift、Objective-C,它和用來做測試驗證的 Nimble捆綁發布。Quick主要用于Swift和Objective-C程序行為的驗證。它和 RSpec和Jasmine具有相同的語法風格,基礎環境很容易建立。Quick良好的結構和類型斷言使得測試異步程序更加容易。Quick擁有現成的 Swift和Objective-C規范文件模板,開發者只需簡單幾步,即可對應用進行快速測試。

  工具很重要,設計不可少!自動化測試工具云集,但做自動化也不要沖動,需要重視以下幾點:

  綜合考慮項目技術棧和人員能力,采用合適的框架來實現自動化;

  結合測試金字塔和項目具體情況,考慮合適的測試分層,如果能夠在底層測試覆蓋的功能點一定不要放到上層的端到端測試來覆蓋;

  自動化測試用例設計需要考慮業務價值,盡量從用戶真實使用的業務流程/業務場景來設計測試用例,讓自動化優先覆蓋到最關鍵的用戶場景;

  同等看待測試代碼和開發代碼,讓其作為產品不可分割的一部分。

  云技術、容器化和開源工具使得測試成本下降

  測試環境的準備在過去是一個比較麻煩和昂貴的事情,很多組織由于沒有條件準備多個測試環境,導致測試只能在有限的環境進行,從而可能遺漏一些非常重要的缺陷,測試的成本和代價很高。隨著云技術的發展,多個測試環境不再需要大量昂貴的硬件設備來支持,加上以Docker為典范的容器技術生態系統也在逐步成長和成熟,創建和復制測試環境變得簡單多了,成本大大的降低。技術雷達推薦的鳳凰環境(Phoenix Environment),它使用鳳凰服務器(Phoenix Server)的模式,能夠以自動化的方式支持測試、開發、UAT和災難恢復所需的新環境準備。這一技術由上期的評估環上升到了采用環,表明它已經得到了驗證和認可,是可以放心使用的技術。

  另一方面是大量開源工具的出現,這些工具往往都是輕量級的、簡單易用,相對于那些重量級的昂貴的測試工具更容易被人們接受。測試工作有了這些開源工具的幫助,將更加全面、真實的覆蓋到要測試的平臺、環境和數據,將會加快測試速度、降低測試成本;更重要的一點,有了這些工具,讓測試人員能夠騰出更多的時間來做測試設計和探索性測試等更有意思的事情,使得測試工作變得更加有趣。新技術雷達提到的開源工具有:Mountebank、Postman、Browsersync、Hamms、Gor和ievms等。

原文轉自:http://www.infoq.com/cn/articles/new-trends-of-software-testing

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97