前端開發自動化單元測試趨勢

發表於2017-01-16

675733-fd37e68656c529ec

時至今日,Web 前端已經發生了巨大的演變,而單頁應用程式也成為了標準。眾多應用程式完成了從 PC 到移動端的華麗轉身,而那些基於 JavaScript 的框架變得更受開發者們歡迎。

TestProject 進行了一項調查,以便了解目前前端開發技術和自動化單元測試的趨勢。調查的結果揭示了軟體專業人士對熱門框架,以及工具的偏好程度。我們從 957 個相關人士的調查問卷中,得出了這個讓人印象深刻的結果!

調查方式

  • 向 2,735 名相關者發出線上問卷調查,其中 957 人回答了問卷中的問題。
  • 資料收集日期:2016.7.25—2016.8.20
  • 目標群體:Web 前端開發人員,全棧開發人員,軟體開發團隊領導,Q / A 自動化團隊領導,測試自動化工程師和管理人員。
  • 組織規模:1-10,10-60,60-100,100+

見解

  • 目前, Web 開發技術框架選型為兩種的佔 80% 。這種戲劇性的變化持續了近 6 年。
  • 自 2013 年 5 月推出以來,ReactJS 在過去三年中已成為了 Web 開發領域的中堅力量。
  • 基於 JavaScript 的單元測試被證明是一種高效的測試方法,其中 71% 的組織執行了 JavaScript 單元測試,而 84% 的組織則相信它是有益的!
  • JasmineMocha 是最流行的 JavaScript 單元測試框架,Jasmine 主要配合 AngularJS 進行單元測試,而 Mocha 則與 ReactJS 配合使用。

ReactJS Vs. AngularJS 的使用佔比

675733-1b5e3fbde1d07945

AngularJS 涵蓋所有版本:AngularJS1.XX / 2.XX

對於 ReactsJSAngularJS 之間的比較(第一個是庫,第二個是框架),貌似聽起來有些奇怪。但是,如果僅針對開發方式來說,它確實做到了非比尋常。

AngularJS 基於緊耦合的架構,而 ReactJS 則提供了選擇自由性的可能。許多參與者表示,他們使用 AngularJS 1.XX 用於老產品的研發,而新一代的產品則會選擇 ReactJS 。基於這個反饋,近兩年來 ReactJS 的使用已呈現出指數級的增長態勢。同時,我們期望在 2017 年,它會成為你的首選。

前端開發框架選型

675733-811a3736a5d437df

雖然這並不讓人感到驚訝,但有趣的是,兩種技術框架選型主導著整個前端開發市場。此外,在近期開發的網站中,約 80% 的網站正在使用它們之一:AngularJS / ReactJS。

你認為前端單元測試是一個有效的方法嗎?

675733-bcb3356b38a10bfd

大多數參與者表示,一般情況下,他們發現自動化測試和 JavaScript 單元測試都會特別的高效。我們認為,其中的一個主要原因是,高耦合的 JavaScript 程式碼所致。而這也解釋了 JavaScript 單元測試框架,在市場中自然增長的原因。

你執行過 JavaScript 單元測試嗎?

675733-5b5fb30773a4fd27

調查中的另一個有趣的見解是,在大型組織中 JavaScript 單元測試更受歡迎。其中一個原因可能是,由於大型組織需要處理大規模的產品,以及頻繁的功能迭代吧。這種持續的迭代方式,迫使他們進行自動化測試的投入。更具體地說,單元測試有助於增強產品的整體質量。

組織規模
單元測試覆蓋率
1-10
56%
10-100
69%
100+
81%

熱門的 JavaScript 自動化單元測試框架

675733-977491cf2de262cb

排名前三位的單元測試框架分別為 Mocha,Jasmine 和 Karma。 以下是參與我們調查的使用者反饋:

675733-9046830ceb86ff62

熱門自動化單元測試框架 AngularJS / ReactJS / Vanila JavaScript

675733-30384b33b3106998

事實上,它們各自有著不同的優勢,沒有明確的最好之說。而這些工具的初衷也只是為了用於 AngularJS(例如 ProtractorKarma),但最終也廣泛應用於 ReactJS 。

最流行的 JavaScript 自動化單元測試工具組合是:

  • Jasmine 與 Protractor (72.4%)
  • Jasmine 與 Karma (67.7%)
  • Jasmine 與 Jest (58.3%)
  • Karma 與 Protractor (58.6%)

想要更深入瞭解,為什麼 Jasmine 和 Karma 是一對優秀的 JavaScript 單元測試組合。繼續在這裡閱讀。

相關文章