If you’re coming from a non-technical background and dreaming of a career as an automation tester, you’re in the right place! Many people believe that IT careers are only for people with a technical degree, but that’s a myth. With the right resources, knowledge, and smart work, you can break into the tech world too. To know more about it, I recently interviewed one of my former students, Abhishek, from a non-technical field who became an automation tester and has over 5 years of experience in it. In this interview, he shares his journey, insights, and advice, so keep reading to dive deeper in the world of automation!

What is the biggest challenge that Non-technical people face?

One of the first hurdles for anyone without a technical background is getting comfortable with coding. Abhishek told us that learning to code was the steepest hill he had to climb. He began by understanding Git, followed by learning a programming language. Based on my advice, he chose Java. The most important Java topic is the OOPs concept, which includes encapsulation, inheritance, polymorphism, and abstraction. Initially, it will take you 15-20 days or even a month to understand where to use a specific interface or a class. He also mentioned that it all comes down to logical thinking and continuous practice.

When you worked in an organization for the first time, how did you learn things?

Abhishek told us that when I entered the organization, he was given a proper KT, and a senior was assigned to him in the form of a shadow buddy. The KT sessions and the senior’s guidance really helped him understand the project, its process, and its concepts. Abhishek said, “Every day, I discuss necessary concepts with them to ask the right questions without being judged.”

Which version of Java is Abhishek currently using?

Over time, his organization upgraded from Java 1.8 to Java 11 for frameworks and Java 17 for development. However, because of migration, he hasn’t used Java-level features or streams in his framework yet. Recently, his focus was on using Java 5, Java 4, and Java principles.

When you joined your current organization, what was your testing strategy?  

When it came to testing strategies, he explained that the process begins with receiving a story and acceptance criteria. Then the team sets up their local environment, writes testing scripts, and conducts local tests. Once the testing is complete, they link it with Jenkins. After this, the team links it with the pipeline and tests it.

Testing is a very comprehensive process that includes regression testing, which is done 2-4 days before the sprint. They run it completely, taking the output in their sprint demos and representing it as their object, implementations, features, and codes. He also told the importance of reusability in their approach, ensuring that code and features could be efficiently reused across different scenarios.

How do you test a component in your current organization?

So, basically, for UI, once the developer writes the code, Abhishek first conducts manual testing and then performs automation testing. They have a separate manual testing team that checks everything until the automation is done. So, the manual anf automation testing happens simultaneously. Once the automation is complete, it’s released within the sprint, and the focus shifts to testing new features manually. 

What is your execution time?

Jenkins plays a significant role in managing the large-scale testing operations within his team. Initially, the team had around 300 UI test cases, with many failing due to a lack of testers. As the only tester, he had to automate and maintain the tests, running 3 parallel sessions on a Selenium grid. This process could take up to 4 hours. They would execute these tests during regression phases, which usually happened 2-3 days before the sprint ended.

https://youtu.be/Li9-y2FJc0c?si=1sMLRc3q7jYfgweo

One of the major issues they faced was dealing with timeouts, xpath, waits, unknown errors, stability, and inadequate information during the tests. Earlier, the framework relied on threads instead of waits, which made it difficult to identify the exact point of failure in the test cases. Moving towards more reliable practices like using waits helped improve the stability and accuracy of the tests.

What do you use in E2E and how to implement it?

End-to-end (E2E) testing is another critical aspect of his current role. These tests run automatically in Jenkins on all the parameters whenever it is free. The cron setup generates a report for the team to ensure all functionalities work seamlessly across different parts of the application.

The E2E tests can take up to six hours to execute, focusing on the complete functionality and data flow between different teams. However, daily tests take up to 2 and a half hours to execute.

Communication between the onshore and offshore teams is key, with regular meetings to discuss issues, updates, and test case stability. Interestingly, Abhishek and his team do more tests than Microsoft.

What is your tech stack? What technologies are you working on? 

When it comes to the tech stack, Abhishek primarily works with Selenium for upstream testing and Python for data validation. They’ve developed a Python framework to validate data between two databases, ensuring accuracy and consistency. Moreover, he has used libraries like Panda and Open SSL for speed on large datasets. He also works on tools like PyTest and Cucumber during his testing processes.

One of Abhishek’s toughest challenges was tackling cross-browser testing. It was like trying to make sure the same tab opens on everyone’s desktop and it was not easy!

His journey from a non-technical background to becoming an experienced automation tester proves that with hard work, resources, and guidance, breaking into the tech industry is entirely possible. It’s about being persistent and continuously learning.

So, if you’re considering a similar path, remember that the challenges are real, but so are the rewards. With dedication and the right strategies, you can navigate your way into the world of automation testing, no matter your background!

×