I’m pleased to run the 8th interview in our #testerstory series with our guest Ashwin Karangutkar from Mumbai, India. He will tell us his journey being a test automation expert.
Hope it will inspire lots of you who are looking to become a Test Automation Engineer.
Part 1: Introduction
Tell us about your experience, background?
I have more than 8 years of experience building automation frameworks for testing web, mobile applications and APIs.
How did you join the world of testing ?
I initially started working as a software developer and was simultaneously exploring ways of testing an app and while doing so I was introduced to test automation and saw my inclination is more towards it. So I decided to do a course on testing from a local institute in Mumbai to learn more about software testing and once the course was over, I immediately started working for another organisation as SQA Engineer.
Part 2: Test Automation
Tell us about your first experience automating tests, did you face the transition from manual to automation or you started directly ?
When I started working as an SQA Engineer, I was manually testing the web applications. However, I was also exploring Test Automation and was building frameworks during my free time and eventually I did the demo of same framework when I joined another organisation and since it was adding value to the project they asked me to start working specifically on test automation.
What kind of project do you work on ?
I have worked on various projects like retail, healthcare, personal finance, insurance, packaging and education.
How do you choose your test automation tools / framework?
I learn more about the application under test, the team I will be working with including their skill sets, and their inclination in contributing towards test automation.
How do you keep your continuous learning ON ?
I spend time taking up courses on sites like udemy, read various blogs by experts like Vinoth Selvaraj, Angie jones and many others.
How do you choose which design patterns to use in your automated tests?
It comes up a bit naturally now. Initially, when i used to read blogs or take any course and see the instructors using any pattern in their code then I used to immediately pick it up and used to implement it in my framework if it is beneficial. Also going through the open source repositories helped me to understand where different design patterns can be used in my code.
Following are the design patterns which I usually use:
- Singleton Pattern
- Factory Pattern.
- Command Pattern
- Strategy Pattern
When you switch from a completely different project with completely different tools and technologies, how do you manage your journey with the same efficiency ?
I study the project and the compare it with my skill sets and come up a time line which would be required to deliver the project with the expectations we set as a team.
Can you share with us one example of lessons learned that you managed to apply from project to another ?
Importance of using seams in test automation and how it reduces the feedback time of test automation as well as how you avoid testing the same flow again. Initially when I started with test automation, generally it was supposed to be a job where no else was usually involved and automation engineers where suppose to automate an application based on the application knowledge they had (Mostly frontend). As a result, multiple scenarios had same UI steps as a part of the scenario. This of course increased the feedback time of tests. However, by using seams like direct URLS to land on certain page or even APIs which are part of your application or even asking developers to build few API’s which can help to reach a particular state in application will help to reduce the execution time and even reduce the flakiness in your application.
“Craftsmanship”, “Clean Code” and “Test Automation” What does the combination mean to you ?
This combination acts as a foundation for Test Automation. If the foundation is not right then of course you are in trouble.
Any other thing you want to share about test automation ?
I have few pointers which is I consider are important in test automation:
- Locator Strategy
- Scenario Selection Strategy
- Test Data Strategy
- Use of Seams
- Using Visual tests wherever necessary
- Atomic tests
- Feedback time
- Horizontally Scaling your tests
- No flaky tests
- Alerts for failures
Part 3: The Future of Test Automation
Do you rely on Artificial Intelligence applied to our automated tests?
No, I don’t rely on Artificial Intelligence yet. Might think about using it later based on the need.
How do you see the future of test automation ?
I feel the future of test automation is bright, if we take right steps in coming days. Currently, I see the focus of many automation engineers is learning different libraries performing the same job. Though it is necessary to explore them, I feel more focus should be more on the different ways test automation and automation in general can provide value including CI/CD, improving the test automation strategy, test data strategy, reducing feedback time, etc.
As well as, AI and ML are not going to replace test automation engineers in fact these technologies will help us to build better test automation frameworks in future.
With the high demand for automation engineers nowadays, what advice do you give to manual testers who want to take the challenge and start their automation journey without having a computer science background ?
There are few basic steps which manual testers can take are
- Once they are comfortable with the programming language they can take up courses on building frameworks. There are many good courses available on udemy and similar sites.
- After that they can start building the framework and automating the high priority cases of their project.
- Keep reading blogs, participate in conferences and discussions on platforms like LinkedIn.
This will act as a foundation in their journey of test automation.
Part 4: Conclusion
What advice do you give for both junior or senior automation testers who want to level up their automation skills?
It is necessary to automate the tests not only on the UI Level but even at the lower levels like API and Unit. Also apart from automating just the functional tests it is necessary to automate the non functional tests of your application. While automating the tests at all these levels, you might need help from the developers so don’t hesitate to approach them with your queries.
- https://restservicestesting.blogspot.com/ (Promoting my own blog 😁)
Anything else you want to share with the testing community ?
Keep learning and sharing what you learn periodically. This will help ourselves as well as everyone in the community.
Thank you so much Ashwin for being part of this interview and sharing your experience being an expert in test automation. It’s a really inspiring and it answers lots of questions for people who want to know more about test automation.
I encourage you to continue on your brilliant journey, wish you all the best in your career.
- Interview #1: Being a Freelancer from Tester Perspective
- Interview #2: Driving quality forward with a customer first mindset
- Interview #3: Overcoming the struggles of being a tester from student perspective
- Interview #4: Being A Remote Agile Tester Story
- Interview #5: Being a Tester from scratch and working in an Agile Team
- Interview #6: Data Science from a Tester perspective
- Interview #7: Becoming a Tester From an HR perspective
- Interview #8: Master your Test Automation journey
- Interview ##: ….. if you have a ‘testing related story’ reach me out to tell more about it in interview format. Get in touch via twitter @emna__ayadi or linkedin Emna Ayadi.