What test automation skills will be useful in 5 years?

Image for post
Image for post
Photo by Greg Rakozy on Unsplash

A year ago, I would have said that you should learn Java very well and then use it with an automation library that works for your application.

But today, I do not have the same answer.

The test automation field is very crowded today with many free and paid solutions, for different languages, different platforms and environments.

You have Selenium WebDriver for web automation but also Puppeteer, Cypress, Katalon Studio, Tosca and others.

On the commercial side, popular solutions are Ranorex, UFT, Test Complete, Tricentis, to name only a few.

Test automation projects can be created in Java, C#, JavaScript, Python and Ruby.

What should one learn for a test automation career?

Which technologies are going to be useful in test automation in 5 years?

The last StackOverFlow survey shows JavaScript as the most popular technology in 2019 with 68% from all votes.

This means that the majority of developers write code in JavaScript either for front end (using frameworks like React JS and Angulaj JS) or for back end (with Node.JS).

Aside from the developer popularity of JavaScript, there is another interesting evolution to take in consideration.

Many high traffic websites are either completely rebuilt in JavaScript or ported gradually to JavaScript.

This has started to happen to companies of all sizes with JavaScript solutions becoming preferred to anything else.

All companies use websites for business. They usually have a responsive website that works on desktop and mobile devices and native applications for smartphones and tables. Native apps were preferred to mobile websites due to the superior design and functionality but recently, things started to change in the favor of mobile websites.

Due to the incredible recent expansion of JavaScript frameworks, it is possible today to create mobile websites that are similar in functionality, performance and look and feel to native apps.

And, between a mobile website and a native app, the website is always easier to maintain and change since nothing has to be installed on the mobile device for new versions of the site.

As a quick summary, JavaScript is

  • the most popular technology in 2019
  • it is used more and more instead of Java and C# for web development
  • it allows creating mobile sites that are similar to native apps in terms of look and feel and functionality

Why are these things important for test automation?

Because lately, companies insist that test automation is done in the same language as the application development.

Why do they insist on this? Why does it matter that the test automation is done in JavaScript if developers use JavaScript as well?

The reason is maintainability.

If you worked for 1 year on test automation projects using Java, when you decide to leave the company, who is going to continue and maintain your projects if all developers are trained in JavaScript? Nobody.

Also, while you are working on the automation frameworks and tests, who is going to review your Java code if everyone knows only JavaScript? No one.

Compare this situation with the one where you write all automation in JavaScript. Developers can do the code reviews and suggest improvements and changes. When you leave the company, your code should be not a mystery to the developers because they saw it often in code reviews and also because the code is JavaScript code.

It makes sense 100% to insist on using the same language both for the application development and test automation.

But is JavaScript as good as Java and C#?


It is as good as Java and C# but more flexible than either of them.

Anything that you can do in Java and C# can be done in JavaScript.

It is object oriented.

It supports unit testing frameworks (Mocha, Chai, Jasmine).

It has a version that is more restrictive than plain JavaScript (TypeScript).

It has decent IDEs.

It can be used for front and back end development.

You understand by now where I am going.

More and more development will be done in JavaScript and a lot of test automation will be needed for it as well.

Any application that can be written in JavaScript, will eventually be written in JavaScript.

Atwood’s Law

JavaScript is the best bet for the next 5 years in test automation and development.

You can do with JavaScript all test automation that is possible in Java and C#:

  • for web automation, there is a binding for Node.JS named webdriver.io which is really good
  • if you don’t like webdriver.io, you can use Cypress.io
  • for API automation, you can do it with JavaScript and Node.JS by relying on the Node.JS HTTP classes
  • for the mobile test automation, Appium can be used from JavaScript

In conclusion, if you are a manual tester and want to change direction and become a test automation engineer, JavaScript is what you should learn next.

This does not mean that Java and C# are not good choices for test automation.

They are.

But JavaScript development and JavaScript based automation solutions will be predominant in the future.

Written by

Blogs about Selenium and Java at https://seleniumjava.com.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store