Test Automation Engineer Roadmap

Swaroop Nadella
3 min readNov 7, 2023

This is a frequently asked question from most of the Software Testing folks, looking to learn code based Automation Testing tools.

Image credits: Pexels.com

Let’s go through the steps you can follow.

1) Proficiency in the Testing concepts and understanding all phases of Software Testing Life Cycle.

You should be able to write Good test cases for Automation Or update the Existing testcases as required.

API Testing (Rest API) is mandatory to learn for Software Testers in current day Software projects, and stay competitive in the crowded job market.

2) Basics of Programming.

Continue to learn advanced features to utilize them when needed.

Popular Programming languages in order of available projects.

Java / Python / C# / JavaScript / TypeScript

3) Automation Testing Tools

Web: Selenium (primary). Supports only Web UI automation and open source.

Secondary Testing tools: Cypress / Playwright (supports Web and API tests as well)

API: Rest Assured framework Java / Requests framework Python

Mobile automation: Appium Java / Python

4) Testing framework to organize and customize test cases: TestNG with Page Object Model (POM).

Secondary: Cucumber with JUnit, using POM.

Design patterns as needed — Singleton, Builder, Factory patterns and any other design patterns. Only based on need we can use them in framework design.

5) Build automation and dependency management: Maven for Java

Secondary tool: Gradle for Java

Other programming languages has different build automation tools.

6) Version control: Git

Learn about Git basic and complex workflows,

Feature branching strategy,

Code review process.

7) CI/CD Pipelines: To run tests in the Testing Infrastructure which replicate the production setup (Testing in local computer for all OS / Browser / Device combinations would not be possible ideally).

Some popular tools used in the Software Projects — Jenkins / GitHub Actions / Azure DevOps Pipelines / AWS Code Pipeline / Circle CI.

Use the CI/CD tool as per project need and requirements. Jenkins is widely used in projects.

To execute Automation Tests frequently in Scheduled way / Auto triggered / Manual trigger to validate the Development changes in Test Environments.

8) Reporting tools: Custom HTML Reports to share the Test results to the Project teams. (Extent / Allure Reports)

Some projects also integrate the Test Results upload to Project management tools like JIRA, qTest etc. with custom integration code written by using the APIs provided by the vendors.

The Automation Test results (Pass or Failed) are also Integrated to send Slack app notifications OR Emails to the required recipient’s based on the feasibility and need.

9) Integrate with DevOps tools like Docker to run the tests in parallel to reduce the overall execution time for Larger Test suites. (Selenium grid docker images may be used, for Selenium based frameworks).

10) Use of the Cloud services like AWS / Azure / Browser Stack etc.,. as needed based on project requirements.

11) Integrate Code coverage tools like SonarQube for any Code Quality, Security issues in the Automation testing frameworks.

This is a High level roadmap for the different tools which needs to be learnt as Test Automation Engineer and may not be a perfect Roadmap!

Secondary Automation testing tools and frameworks can be learnt later based on need and project requirements.

Don’t get overwhelmed with the number of tools available in the market, create an proper roadmap (End to End learning) with your own research or take guidance. You don’t need to learn everything, which are similar tools.

Practice each topic and do not watch videos alone. It will not help to experience and resolve the real time challenges which is only found during practice.

Improve your awareness on the current trends in the market and continue to learn as needed.

Add your comments in the Responses section of this article.

Swaroop Nadella
Test Automation Engineer

Subscribe here, to Get an email whenever I publish article on Medium.

YouTube channel | Social Links

--

--

Swaroop Nadella

Test Automation Engineer, 12+ years of experience. Writing about Software Testing and Automation. https://linktr.ee/swaroopnadella