froglogic / Blog / What Programming Language to learn for Test Automation

What Programming Language to learn for Test Automation

Squish Programming Languages

Many companies are moving away from hiring pure manual testers and prefer testers with test automation skills.

Learning a programming language will get you started with test automation. Not only that testers can speak the same “language” as developers, they will understand better what developers do and get a better appreciation of how complex development is. Further, a tester can do unit testing and participate in code reviews.

Programming languages come in all shapes and sizes, and each language has pros and cons for software testing hence it really depends on which one to learn on the testing situation and what one is trying to accomplish.

Some factors that might help to make a decision what programming language to learn for Test Automation:

What programming language does the company currently use for development? For example, if there is a Microsoft shop and everyone uses Visual Studio with C# then maybe that is the language to start with.

If you were to do a search for Squish automation jobs, what is the most popular language requirement that comes up? That might be a good place to start as well.

Java holds an advantage because it has been available for a long time, is widely used and many examples can be found on search engines.

On the downside, starting with a programming language like Java or C# is that they can be complicated since the syntax tends to be verbose.

What scripting languages can be used when working with Squish

Squish uses property-based object identification and can record and replay test scripts written in JavaScript, Perl, Python, Ruby or Tcl.

Each scripting language offers its advantage, whether based on your existing knowledge of one or more of the languages or by addressing a key test scenario using an existing and proven approach already available in the scripting language.


Still not sure which programming language to start with? Here is a helpful infographic that might advise you on which to begin with (click to enlarge):

Which Programming Language Should I Learn Walktrough

Source: CarlCheo

[sf_button colour=”product-btn-trial” type=”stroke-to-fill” size=”large” link=”/squish/free-trial/” target=”_self” icon=”” dropshadow=”no” extraclass=”smooth-scroll-link” title=”FREE Squish GUI Tester Trial!”]FREE Squish GUI Tester Trial![/sf_button]

Related topics



I’m curious about a few things:
1. As I never got any reply to my previous comments, does anybody from froglogic read these?
2. “Each scripting language offers its advantage, […] by addressing a key test scenario using an existing and proven approach already available in the scripting language” Can you provide examples as I can’t think of any right now?
3. What’s the reason to not support Java and C# in Squish? Due to that my Java developers don’t speak the same language as me (Ruby Squish scripts)

Best regards

Hi Tobias,

1.) Questions asked via this blog are monitored and answered as timely as possibly. Unless being spam and phrasing rhetorical questions about desired weight losses, etc. I couldn’t find unanswered ones in your case. Just cases where “timely” was stretched beyond a number of days the typical questioner would want to wait for… Sorry!

2.) An example of approaches already covered through a specific scripting language would be keyword-driven testing like provided by the Robot Framework (see this Knowledge Base entry on integration tips). Similarly, Tcl commands provide a very elegant approach for keyword definitions. In most cases where a language choice is done based on external factors it’s the existing of in-house frameworks that pre-date GUI testing of an application. Particular merits of the language itself will then only play a secondary role.

3.) Java and C# are actually candidates for script languages 6 and 7. Demand just has been small compared to the other 5 .languages so far. Ruby for instance “won” the “missing scripting language” contest last time we made a customer survey on this topic.


Time to replace objective-c with Swift 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Copy link
Powered by Social Snap