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.
Guidance:
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):
Source: CarlCheo