Test Automation: What Programming Language Should You Learn?

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.

If you want to make a shift in your career and become Software Engineer in Test start today with BayQATraining!

What to expect from our upcoming bootcamp (Seats are limited, only 12 left)

  1. We are not typical bootcamp. We teach through day-to-day work tasks using Agile approach. From day one you will start automating real test cases from real test plan of a real startup Android app. Thus you will gain real experience. You may download app from PlayStore prior to the class to play with it https://www.moviemates.us/
  2. You will work in pair just like at real world job. Pair programming is proven to be very effective and used heavily industry wide.
  3. You will experience best software development practices:
    Each test case code will be committed to common GitHub repository via PullRequest
    Upon successful code review and merge, we will trigger Jenkins Pipeline — Build, Test, Deployment to Fabric
  4. Besides writing resilient tests, we will teach you all of other important pieces — Jenkins setup and GitHub Flow
  5. We will prepare you for interview by teaching you how to solve various programming problems
  6. We even help you to review and alter you resume

The Ultimate Mobile Test Automation Bootcamp — Reinvent Your Career in 8 weeks