The most frequent question I receive by far from software testing professionals is what programming language should they learn. To answer that question, I usually ask a series of questions to help them figure out what programming language would be most helpful for them.
- What tool does your automation team use?
- What types of applications are you testing?
- Are you planning to use automation and performance testing tools?
This helps to set the context. Once I have those questions answered, I can give them a better answer to the question. Now if you are new to software testing but want to learn a language or a tool, I recommend that software testers pick a language and start learning. The more time you spend on trying to figure out the best programming language, the less time you will spend learning it.
The challenge is that there are many software testing tools on the market and several of the big players use different programming languages. HP QTP/UFT uses VBScript. Selenium uses Java. If your organization uses one of these tools it would be natural for you to learn one of those programming languages.
Personally, if I were to learn a programming language today, I would focus on learning Java. Why? Because many companies today are using Selenium for their test automation tool plus many companies use Java as their preferred programming language so to me, it just makes sense. As a software testing professional, if you can master Java, then you can naturally move into a Java programming role if you choose to head in that direction.
Let’s face it, test automation is rapidly becoming a requirement for a Quality Engineering job. You have to have some programming backgrounds to get to the next level in Quality Engineering. Pick a programming language and start today!