Front End Development & Unit Test Automation Trends!

In the past decade web front end development has rapidly evolved and single page applications became a standard. The applications implementation roamed to the client side and as a result, JavaScript based frameworks became highly popular. TestProject conducted a survey to shade some light on the current front end development technologies and unit test automation trends. The survey reveals the most popular frameworks and tool preferences of software professionals.  957 stakeholders have participated in this survey, and here are the impressive results!

Survey Methodology
  • An online survey was sent to 2,735 stakeholders of whom 957 have responded.
  • Data collection dates: 25.07.2016-20.08.2016
  • Aimed group: Web front-end developers, Full-stack developers, Software team leaders, Q/A automation team leaders, Test automation engineers and Management.
  • Organization size: 1-10, 10-60, 60-100, 100+
Insights
  • Currently, 80% of web development is dominated by 2 technologies; this dramatic change took effect during the last 6 years!
  • ReactJS became a significant force in front end web development field over the last three years, ever since it came out in May 2013.
  • JavaScript based unit testing turned out to be a highly effective testing method, with 71% of organizations performing JavaScript unit tests and 84% believe it’s beneficial!
  • Jasmine and Mocha are the most popular JavaScript unit testing frameworks, while Jasmine is mainly paired with AngularJS and Mocha with ReactJS.
Apples to apples?  ReactJS Vs. AngularJS

ReactJS Vs. AngularJS TestProject's survey results

**AngularJS covers all versions: AngularJS1.XX/2.XX

Comparing ReactsJS and AngularJS (the first is a library while the second is a framework) sounds strange at first. However, it does make perfect sense if you treat them as development methodologies. While AngularJS based on tightly coupled architecture, ReactJS provides the freedom of choice. Many participants stated that they use AngularJS 1.XX for legacy products and ReactJS for new generation products. Based on this feedback and the exponential growth of ReactJS in the last 2 years, we expect nothing less than for it to become the first choice  JavaScript framework for many front end developers in the upcoming year of 2017!

Front end development methods

 Front end development methods TestProject's survey results

Although it didn’t come as a total surprise, it was still interesting to discover that two technologies dominate the entire front end development market. Moreover, about 80% of the recently developed web sites are utilizing one of the two technologies: AngularJS/ReactJS.

Do you believe front end unit testing is an effective approach?

Unit test automation tools: Do you believe frontend unit testing is an effective approach - TestProject

The majority of participants stated that they find test automation in general and JavaScript unit testing in particular highly efficient. We believe that one of the main reasons for this, is the popularity of highly complex JavaScript based frameworks and applications. This high level of complexity can explain the natural growth of the JavaScript unit testing frameworks market.

 Do you implement JavaScript unit testing?

Unit test automation: Do you implement JavaScript unit testing - TestProject

Another interesting insight of our survey  is that JavaScript unit testing is more popular within large organizations. One of the reasons for this may be that larger organizations deal with bigger scale products and frequent feature releases. This continuous delivery approach forces the organization to invest in testing automation and more specifically, unit testing to increase overall product quality.

Organization size Unit testing implementation – %
1-10 56%
10-100 69%
100+ 81%
 Popular JavaScript unit testing frameworks

 Popular JavaScript unit test automation frameworks - TestProject survey results

The leading unit testing frameworks are Mocha, Jasmine and Karma. Below are the most popular feedbacks by our survey stakeholders:

Unit testing automation framework Pros Cons
 

Jasmine

 

– Simple setup for node
– Built in syntax for assertions      and good support for 3rd              part assertions library
– Improves with every update
-Slow learning curve

 

 

Karma

 

-Reliable

-Easy to use

-Re-running takes time

 

 

Mocha

-Robustness

-Strong community support

-Same syntax for front-end /back-end unit testing

-Slower learning curve

-High complexity

 Popular unit testing frameworks AngularJS/ReactJS/Vanilla JavaScript  

Unit test automation tools: Popular unit testing frameworks AngularJS ReactJS Vanilla JavaScript - TestProject

The most fascinating fact here is the diversity.  There isn’t a definite  leader for a specific technology. Some of the tools were originally targeted for AngularJS (such as Protractor & Karma) but eventually are widely used for ReactJS as well.

The most popular JavaScript unit testing tool combinations are:

Jasmine & Protractor (72.4%), **Jasmine & Karma (67.7%), Jasmine & Jest (58.3%), Karma & Protractor (58.6%).

 

**To deeply understand why Jasmine and Karma are a great match for JavaScript unit testing, continue reading here.


Share your thoughts with us! 😉

What results were you expecting?

What was the most surprising finding for you?