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.
What is the starting point to become an automation champion?
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:
- How Java (JDK/JRE/JVM) works? on how to design classes, methods, variables, conditional statements, and loops, etc?
- OOPS concepts — Inheritance, Encapsulation, Abstraction, Polymorphism
- Arrays, String, and Regular Expressions
- Specific Collection (List, Set, Map) Implementations.
- Exception handling, Basic thread concepts
If you are interested to crack product company interviews, then focus more on data structures and algorithms in addition to above.
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
Just learning alone does not help!! You need to implement them rigorously with a minimum of 200+ test cases in a short period to become a champion.
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
Out of these — Jenkins, Docker can be a good skill to have, and official certification on these tools can create a wealth of opportunities.
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.
Again, the official AWS certification can accelerate your career opportunities, especially if you are above 8+ years of testing experience.
There is detailed documentation of the roadmap available here and it is a working version.