A Tester’s Guide to Choosing a Programming Language

Programmer coding

A few testers I know are at important points in their careers right now—not in the sense that a big promotion and raise are on the horizon, but more that they are being forced to change. These people want new jobs, but the market has changed too much since their last job hunt, so they need to begin developing a new skill.

This is a fight for relevance, and the solution for many is to learn a programming language. But which should they choose?

If you have a testing job now, my approach is usually to find an authentic problem to solve and move from there. Maybe you want to build an automated smoke test to run before each release, maybe you need a bunch of data loaded into your product using an API, or maybe you want a tool that will grab the latest build from Jenkins and install it on a test server.

This approach will most likely lead you to asking for help from a developer you work with, and that person will probably be able to suggest a good programming language. One of the programming languages already being used in your company or peer group is a great place to start. This gives you an immediate support group when you inevitably have problems or questions completing your programming task, and you also get to avoid the “Ew, not that language” comments.

If you can’t select a language based on what your development group is using, any popular scripting language will probably do just fine. I tend to prefer Python or Ruby. In my experience, these are relatively easy to learn the basics quickly. If you understand a few things about programming—variables, control structures, and methods and functions—you should be able to pick up one of these languages and write a basic tool relatively quickly.

All three of these languages are popular enough to have a wide variety of testing libraries available for APIs and behavior-driven development, as well as WebDriver bindings. This means they are versatile enough to use for scripting small tools, and they will also support most types of test programming you will encounter.

Java and C# are popular options, too, but I usually don’t recommend them for testers because they require too much setup and too much typing. 

The language choice doesn’t matter as much as the time you are willing to put into learning and using that language. Testers have a tendency to get mired in the details of something before we even get started. Is this the absolute best language I can learn right now? Will it be in demand at my next job? Will it help me test a website built in the latest version of React? The answer to those questions don’t matter very much for your first language. Picking a language, getting some experience with it, and the lessons you will learn in that process matter more.

So, pick what your developers are using, or pick a popular scripting language with a variety of test libraries available. Either way, just get started.

Up Next

About the Author

TechWell Insights To Go

(* Required fields)

Get the latest stories delivered to your inbox every month.