前端開發(fā)自動化單元測試趨勢
時至今日,Web 前端已經(jīng)發(fā)生了巨大的演變,而單頁應(yīng)用程序也成為了標準。眾多應(yīng)用程序完成了從 PC 到移動端的華麗轉(zhuǎn)身,而那些基于 JavaScript 的框架變得更受開發(fā)者們歡迎。
TestProject 進行了一項調(diào)查,以便了解目前前端開發(fā)技術(shù)和自動化單元測試的趨勢。調(diào)查的結(jié)果揭示了軟件專業(yè)人士對熱門框架,以及工具的偏好程度。我們從 957 個相關(guān)人士的調(diào)查問卷中,得出了這個讓人印象深刻的結(jié)果!
調(diào)查方式
- 向 2,735 名相關(guān)者發(fā)出在線問卷調(diào)查,其中 957 人回答了問卷中的問題。
- 數(shù)據(jù)收集日期:2016.7.25—2016.8.20
- 目標群體:Web 前端開發(fā)人員,全棧開發(fā)人員,軟件開發(fā)團隊領(lǐng)導,Q / A 自動化團隊領(lǐng)導,測試自動化工程師和管理人員。
- 組織規(guī)模:1-10,10-60,60-100,100+
見解
- 目前, Web 開發(fā)技術(shù)框架選型為兩種的占 80% 。這種戲劇性的變化持續(xù)了近 6 年。
- 自 2013 年 5 月推出以來,ReactJS 在過去三年中已成為了 Web 開發(fā)領(lǐng)域的中堅力量。
- 基于 JavaScript 的單元測試被證明是一種高效的測試方法,其中 71% 的組織執(zhí)行了 JavaScript 單元測試,而 84% 的組織則相信它是有益的!
- Jasmine 和 Mocha 是最流行的 JavaScript 單元測試框架,Jasmine 主要配合 AngularJS 進行單元測試,而 Mocha 則與 ReactJS 配合使用。
ReactJS Vs. AngularJS 的使用占比
對于 ReactsJS 和 AngularJS 之間的比較(第一個是庫,第二個是框架),貌似聽起來有些奇怪。但是,如果僅針對開發(fā)方式來說,它確實做到了非比尋常。
AngularJS 基于緊耦合的架構(gòu),而 ReactJS 則提供了選擇自由性的可能。許多參與者表示,他們使用 AngularJS 1.XX 用于老產(chǎn)品的研發(fā),而新一代的產(chǎn)品則會選擇 ReactJS ?;谶@個反饋,近兩年來 ReactJS 的使用已呈現(xiàn)出指數(shù)級的增長態(tài)勢。同時,我們期望在 2017 年,它會成為你的首選。
前端開發(fā)框架選型
雖然這并不讓人感到驚訝,但有趣的是,兩種技術(shù)框架選型主導著整個前端開發(fā)市場。此外,在近期開發(fā)的網(wǎng)站中,約 80% 的網(wǎng)站正在使用它們之一:AngularJS / ReactJS。
你認為前端單元測試是一個有效的方法嗎?
大多數(shù)參與者表示,一般情況下,他們發(fā)現(xiàn)自動化測試和 JavaScript 單元測試都會特別的高效。我們認為,其中的一個主要原因是,高耦合的 JavaScript 代碼所致。而這也解釋了 JavaScript 單元測試框架,在市場中自然增長的原因。
你執(zhí)行過 JavaScript 單元測試嗎?
調(diào)查中的另一個有趣的見解是,在大型組織中 JavaScript 單元測試更受歡迎。其中一個原因可能是,由于大型組織需要處理大規(guī)模的產(chǎn)品,以及頻繁的功能迭代吧。這種持續(xù)的迭代方式,迫使他們進行自動化測試的投入。更具體地說,單元測試有助于增強產(chǎn)品的整體質(zhì)量。
組織規(guī)模 |
單元測試覆蓋率
|
---|---|
1-10
|
56%
|
10-100
|
69%
|
100+
|
81%
|
熱門的 JavaScript 自動化單元測試框架
排名前三位的單元測試框架分別為 Mocha,Jasmine 和 Karma。 以下是參與我們調(diào)查的用戶反饋:
熱門自動化單元測試框架 AngularJS / ReactJS / Vanila JavaScript
事實上,它們各自有著不同的優(yōu)勢,沒有明確的最好之說。而這些工具的初衷也只是為了用于 AngularJS(例如 Protractor 和 Karma),但最終也廣泛應(yīng)用于 ReactJS 。
最流行的 JavaScript 自動化單元測試工具組合是:
- Jasmine 與 Protractor (72.4%)
- Jasmine 與 Karma (67.7%)
- Jasmine 與 Jest (58.3%)
- Karma 與 Protractor (58.6%)
想要更深入了解,為什么 Jasmine 和 Karma 是一對優(yōu)秀的 JavaScript 單元測試組合。繼續(xù)在這里閱讀。
原文出處: MARK KARDASHOV 譯文出處:IT程序獅