Career RoadMap for Functional Test Automation Developers

Image for post
Image for post

Test Automation skills are most demanding in the present market and most of the Senior QA leaders that I work with and network, are advising to choose test automation engineering as a career path and become QA champions in their organization.

Image for post
Image for post

What is the starting point to become an automation champion?

Learn a programming language in-depth preferably one of these 4 — Java, JavaScript, Python, or C#.

Vertical vs Horizontal Learning

I personally vote for vertical learning and not a big fan of horizontal. What does that mean? If you learn one language in-depth then you can become an expert in another language may be in weeks. So, learn one language in depth.

For example, if you like to learn Java as your preferred language of automation then begin with a deeper understanding of below listed 5 areas:

  1. How Java (JDK/JRE/JVM) works? on how to design classes, methods, variables, conditional statements, and loops, etc?
  2. OOPS concepts — Inheritance, Encapsulation, Abstraction, Polymorphism
  3. Arrays, String, and Regular Expressions
  4. Specific Collection (List, Set, Map) Implementations.
  5. Exception handling, Basic thread concepts

Stack 2 — Front end automation tools engineering

The front end automation can be largely broken into — web, mobile, desktop applications. There are several tools available in each of these technologies.

Disclaimer — I have mentioned only the tools and frameworks that I personally used in my last 20+ years of development, test automation engineering experiences over 50+ enterprise customers across the globe.

Web — Selenium, Protractor, Webdriver.io, Puppeteer, Cypress, UFT

Mobile — Appium, Espresso, XCUITest

Desktop — UFT, UiPath

Out of these tools, if you are a beginner to test automation, then learn Selenium Webdriver in-depth preferably with Java bindings due to the popularity and highest market demand.

By the way, just tools alone will not be enough to become a front end automation champion but you need to sharpen skills in -

Design Patterns — Factory, Adaptor, Decorator, Page design, BDD, Proxy

BDD — Cucumber, SpecFlow, RSpec

Runners — TestNg, JUnit, PyTest, Mocha, Jasmine

Reports — ExtentReports, Allure, ReportPortal, ReportNG

Stack 3 — Back end automation tools engineering

The back end automation can be largely broken by protocols and architectures — SOAP, RESTful, GraphQL, gRPC. There are several tools, frameworks available to build automated tests in each of these.

SOAP — SoapUI

RESTful, GraphQL — PostMan, RestAssured,RestSharp,Karate

gRPC — BloomRPC

Considering the need for microservices growing in the present era, focus more on REST and GraphQL will be the best choice. That too, if your learning stack in java, then preferably RestAssured with the integration of Cucumber, TestNG, ExtentReports can be a delicious choice. In addition, spend quality skilling on mocking tools like:

Mocking tools — WireMock, Mockito, PowerMock, EasyMock

If you are automating the asynchronous messages, events — then you may have to skill up more.

Stack 4 — DevOps automation

DevOps is a combination of practices, which automates the processes between teams, in order to build, test, and deploy applications faster. In the DevOps ecosystem — test automation is powered by several tools in the following category:

Code & Build — Git, Bitbucket, Maven, Gradle, WebPack, Slack, Docker

Packaging—Docker, Ansible, Puppet, Chef

Release & Configure — Jenkins, Docker Swarm, Kubernetes, GitLab, GitHub Actions

Stack 5— Cloud automation

Cloud automation services simplify provisioning and managing infrastructure, deploying test automation code, automating test processes, and monitoring your tests and infrastructure performance.

There are several cloud providers in the market like AWS, Azure, Google, Alibaba so on. Out of these, AWS leads the cloud with a 32% market share, and during these pandemic days, the demand for cloud automation has grown rapidly.

As an automation developer/lead/architect, you do not have to focus on 300+ services available; rather the following mandatory services can enable your career growth:

AWS Services — EC2, S3, Lambda, SNS, Glacier, RDS, VPC

Especially, the above said AWS services can help you to run your automation tests — both front and backend — in DevOps mode and in a highly scalable and cost-effective environment.

There is detailed documentation of the roadmap available here and it is a working version.

“YOU DON’T HAVE TO BE GREAT TO START, BUT YOU HAVE TO START TO BE GREAT.” –ZIG ZIGLAR

Written by

Author, Speaker and Mentor - Test Automation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store