There is always a lot of uncertainty around which programming language to use when starting a new test automation project. Should you go with the same language that the development team is using? Or should you choose a language that has an abundance of community support so that you can easily get help when stuck? These are critical points to consider.
What our data is saying
More than half of the top ten companies in software, financial services, and healthcare verticals have enhanced their UI test automation suites with Applitools’ visual validation. With millions of tests running in our cloud every week, we’ve observed interesting trends on how these top companies are succeeding with their test automation initiatives. We’ll share these insights in a series of blog posts, starting with this one.
Here’s what our data says!
1. Java
Java is the most common programming language used for test automation. A whopping 44% of our customers are using Java for their automated checks. There is a wealth of readily available frameworks, plugins, and educational resources that support Java for test automation – which follows the narrative that insists that community support is a driving factor when choosing a programming language for test automation. But also, according to the 2018 Stack Overflow Developer Survey, there was an 18% increase in usage of Java by professional developers in the last year. If teams are aligning their test automation tools with that of their product development stack, this could also explain Java’s popularity for UI checks.
2. JavaScript
The second most common programming language is JavaScript, accounting for 15% of our customers. Because of its overwhelming popularity with developers, it’s no surprise that Javascript is the second most used language for test automation and also the fastest growing. With Javascript being used by 72% of professional developers, many teams choose this language for their test automation projects as well. This can be due to the adoption of shift-left methodologies where developers are also responsible for writing test code, or due to the testers’ desire to “speak the same language” of their developers. Some find this alignment helps with collaboration efforts around test automation.
3. C#
C# comes in third with 13% of our customers using this programming language to develop their automated tests. C# has seen a decline in professional development usage for the last five years, which could explain its dwindling usage for test automation projects as well.
4. Python
While many argue that Python is a great first language for those who are new to coding, and therefore is great for manual testers who are venturing into test automation, our data shows that only 8% of our customers are developing their automated UI checks in this language.
5. Ruby
Seven percent (7%) of our customers use Ruby to write their UI test automation. With only a tenth of professional developers using Ruby, it follows that this language would not be a popular choice for test automation projects.
While this data does not indicate what’s the best programming language to use for test automation, it does highlight which ones are most popular amongst hundreds of companies that use Applitools’ visual validation for their test automation needs.
Stay tuned for more articles in this series!
What language do you prefer for software test automation, and why? Let us know in the comments.