Roadmap To Become Test Automation Engineer

Author: neptune | 25th-Jun-2022
#Testing

When I was starting my journey in test automation, a lot of questions comes to my mind. Such as…. “From where do I start?” “Best tools to use?” “Which Programming language?” “How to plan your work?” “What is a test automation framework or strategy?” 

At that time I don’t have answers to all these questions… I desperately looked for the answers, but whenever I tried to search on the web lots of results I got.




I was lucky, I found someone, Who answered all the questions I have in my mind. Also helped me scope my goals and how to achieve them.

I will also suggest you try to find someone who has already gone through the situation. This way you can get the answers to your questions.




By the end of this article, you will understand:

1. What's the role and responsibility of the Test Automation Engineer.

2. How you can start as a fresher.

You will also create your own strategy to become Test Automation Engineer.

Ready? Let’s dive in!




What do Test Automation Engineers do?

As we know Test Automation is the process of executing test cases using automation tools. Test Automation's aim is to reduce the number of test cases that needs to run manually. 

Test automation gives more time to testers for more deep and intensive exploratory and functional testing, which should improve the quality of the software.


As an Automation tester keep these points in mind:

1. Learn the application domain very well and create a test automation strategy.

2. Build test automation frameworks and develop test scenarios, which require deeper programming and technical knowledge.

3. Select test cases to automate the application, which can be smoke, regression, or data-driven tests.

4. Save time for the whole team by creating tools to automate boring and repetitive tasks.

5. Interact with the whole team to understand what are the current needs, and plan what to automate and what not. Discuss ways to improve the work processes even more.




How to Learn Test Automation?

To learn Test Automation first you need to learn the foundation of software testing. Also, you need to have knowledge of the software development process and basic engineering concepts.

To understand the foundation of software testing start reading books or start doing courses on the internet. Also, start learning the Agile testing foundations there are lots of good books and courses available in the market.




Which Technology to Choose?

It completely depends on what you want to achieve, there are so many tools available in the market with different technologies. Also, it depends on which type of application you want to automate.

Different types of applications:

Desktop applications: To automate desktop applications there are tools like WinAppDriver and AutoIT are widely used for desktop applications.




Web applications - To automate web applications there are tools like Selenium and TestComplete are widely used for web applications.

An unlimited number of devices and browser combinations are supported which made web applications so popular these days.


API or Web services - To automate web applications there are tools like Katalon studio and Postman are widely used for testing API’s. 




Mobile applications - To automate web applications there are tools like Appium and Katalon Studio are widely used for mobile testing. 

These technologies, you need to focus on to automate the different types of applications. 

I recommend picking one application and focusing on that to understand the complete flow of testing.



Which Language to Learn?

The answer to this question depends on if you are working currently or in the process of learning or applying for a job.

If you are working already, I would suggest learning the stack your application is developed in, as that would be easier for you to collaborate with the team if you write automation using the same language. Say, for example, the application is written in JS and C#, I’d pick one of these languages to develop testing suites. It will always be easy for you to tap the dev on the shoulder and ask to review your code if necessary.




If you don’t want to pick the language your work application is written in OR you haven’t got a job yet, here is the list of the most popular languages:

Java and Python are the most common languages for test automation, so you could pick one of them and dive into an enormous amount of information about them.




Which Tool to Use?

The choice of the tool depends on the choice of the technology you’ve picked previously.

I came up with a list of tools and their uses:

1. QTP (now renamed to HP UFT) - It supports both Desktop & Web Applications.

2. Selenium WebDriver - It is the top tool for web applications.

3. TestComplete - It is used for desktop, mobile, and web applications.

4. TestProject - It is a free end-to-end test automation platform for web, mobile, and API testing.



5. Appium - It is used for mobile applications.

6. Watir - It is also used for web applications.

7. Katalon Studio - It is used for API, Web, Desktop, and mobile testing.

8. Protractor, Testcafe, and Cypress - It is used for web application testing.

9. JMeter - It is used for performance testing.

10. SoapUI, Postman and Rest Assured - It is used for API and Web Services.




Test Automation Strategy and Planning

Automation testing is required when the product has new features then testers need to test the new features. At that time automation was required to test the existing features. The automation suite should cover the main feature and functionality.

This way, once new features are ready to go to production, automated scenarios will ensure that a feature will continue to work as expected after release.




Keep these questions in mind while building  the test automation strategy:

1. Who will be involved in the test automation project?

2. Which tools to build test automation suite?

3. How will test automation fit into the current release management model?

4. How will you shortlist test cases for test automation?

5. What kind of testing environment will you need?

6. How will you execute your tests and track the results?

But before you begin any planning, you’ll need to ensure you and your team understand what is the goal you are trying to achieve with test automation. You want to document all decisions made and have a feedback loop to continuously improve the test automation strategy based on lessons learned while implementing it.




Integration With Build Management Tools

As a Test Automation Engineer, you should have understanding of DevOps and agile methodologies.

If you have build management and continuous integration tools knowledge this will we add on you your skills. You will need to understand how you can impliment reliable continuous delivery of new features when the build and a lot of the testing are automated. 




Building Utilities/Tools to Support Day-to-Day Testing

You can also create utilities and tools to help automate repetitive and boring tasks or get CI/CD system components wired up. 

Some examples of what you can build:

1. Report comparisons tools

2. Data scrappers

3. Data generators

4. Custom reporters

This list could be endless, you should always be looking for areas for improvement as automation is all about efficiency. 




Advice:

This is an ever-changing landscape, and one that requires continuous learning and a growth mindset. In the IT world, there is a never-ending list of technologies you could learn to upskill even more and sharpen your skillset. 

For example, you could add to your learning list:

  • Acceptance Test-Driven Development

  • Test-Driven Development

  • Behavioral Driven Development

  • Performance testing

  • Mobile application testing




Conclusion

To summarise, where should you start if you want to learn test automation?

1. First of all, I would suggest realizing that if you want to go to this profession and become a Test Automation Engineer, your motivation should be high as the learning process would take a lot of commitment and time.

2. Create your learning plan, using the roadmap provided.

1. Get a strong foundation in testing

2. Pick which automation technology to learn

3. Pick a language

4. Choose a tool

5. Learn about test automation strategy and planning

6. Get a good understanding of DevOps and Agile

7. Try and build a utility/tool to support day-to-day testing 





Cover extra topics such as performance and mobile testing, TDD, ATDD, and BDD.

1. Research the learning resources and pick the most relevant to your journey

2. Find a mentor, learn to think like a programmer, and practice, practice, practice!

3. Be ready to fall and stand up over and over again, keep yourself motivated.


If you’re still thirsty have questions, or simply would like to share your thoughts, then feel free to reach out in the comments section below.






anonymous | June 26, 2022, 6:32 p.m.

Now I am looking for mentor. Really helping me to start my automation journey👍.



Related Blogs
Selenium, Cucumber, JUnit, TestNG dependencies for Selenium project.
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
We guide you how to update the pom.xml file for Selenium Maven project...

5 Selenium Project Ideas & for Beginners in Automation Testing
Author: neptune | 30th-Mar-2023
#Selenium #Testing #Projects
In this article, we will discuss 5 interesting Selenium project ideas for beginners in automation testing...

How to use wait commands in Selenium WebDriver in Java ?
Author: neptune | 22nd-Feb-2022
#Selenium #Testing #Java
We are going to explore different types of waits in Selenium WebDriver. Implicit wait, Explicit wait, and Fluent wait with examples...

Top 50+ Selenium Interviews Questions 2023 based on Years of Experience
Author: neptune | 02nd-Apr-2023
#Selenium #Testing #Interview
Every interview difficulty is based on how many years of experience you have in that field. For the Selenium Automation Tester I have divided the question on the number of years of experience...

Different types of software testing ?
Author: neptune | 27th-Jul-2022
#Testing #IT
Testing is the process to improve the performance of software. Examples: Unit, Integration, Regression, Smoke, Alpha, Beta, System, Stress Performance, Object-Oriented Testing etc...

Mostly asked Cucumber interview questions in selenium automation interviews.
Author: neptune | 02nd-Apr-2023
#Testing
We are going to explore widely asked Cucumber interview questions in selenium automation interviews...

Challenges faced in automating Web Applications using Selenium
Author: neptune | 02nd-Oct-2022
#Selenium #Testing
List of Challenges faced by testers using Selenium 1. Popup and Alert Handling, 2. Dynamic element Handling 3. Restricted to only Desktop Browsers Testing...

How to create a Selenium, Cucumber Automation project in Eclipse ?
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
Problem Statement : Let’s consider this particular project where we will try automating the process of booking a flight ticket. Let’s get started and see how it’s done using Selenium...

What is Test Plan in Testing?
Author: neptune | 30th-Oct-2022
#Testing
A Test Plan Document mentions in detail the objective of testing along with other core information like the internal beta team, target market, hardware and resource requirements, etc...

Getting started with Selenium WebDriver.
Author: neptune | 02nd-Apr-2023
#Selenium #Testing
In this blog I will give you an overview of Selenium WebDriver and Also discuss about advantages and disadvantages of Selenium WebDriver...

5 Best Python Testing Frameworks.
Author: neptune | 12th-Apr-2023
#Python #Testing
Python offers various testing frameworks, including Pytest, unittest, Nose, Robot Framework, and Behave, to build robust and reliable software...

How DAST Testing Enhances Web Application Security?
Author: neptune | 02nd-Aug-2023
#Testing
Dynamic Application Security Testing (DAST) is a critical cybersecurity technique used to identify and assess security vulnerabilities in web applications...

The Key to QA Success: Understanding How Important Grooming Is?
Author: neptune | 19th-Sep-2023
#Testing #Interview
We will delve into the importance of grooming & ceremony for QA testers, key points to highlight their significance...

Getting Started with Cypress: Advantages, Setup, and First Test Guide
Author: neptune | 31st-Mar-2023
#Testing
Cypress is a powerful and easy-to-use testing framework that can help you test your web applications more efficiently...

View More