First encounter with automation
I was introduced to QTP back in 2012. I found it a nice tool that lets you automate almost everything. I was intrigued by it and started using it extensively to automate mundane tasks like generating invoices, automating password reset flow to something complex like performing operations like mocking user's shopping flow. There are pro's and con's of using QTP. Amongst the cons the biggest one of which was when it is in use you cannot do anything on your machine.
I started looking out for alternatives and was introduced to selenium in 2014. It was an amazing tool and it had so much potential. There were so many advantages over QTP, it was fast, it supported many languages. With those languages came their own set of libraries that unlocked a new level of innovation.I started using selenium extensively with Java. I started slow, thanks to its simplicity, within a month I was able to automate almost anything related to websites, including cross browser testing. With daily usage I encountered various problems such as ip blocking, encountering 2-captcha, monitoring network calls, load testing websites.Later on I encounter problems where a small css change would lead to a cascading effect on the ui on specific screen sizes. To tackle this I developed a visual diff testing framework using selenium.
In year 2014 apps starts gaining a lot of traction, there were not many tools that supported app automation. Appium was started just then but was not quite so popular. But by the end of 2016 it started gaining a lot of traction, I started learning appium in the late 2015. Around the same time I started learning python, I really loved it and decided to use python instead of java for everyday tasks and automation. I figured there are no boiler plate repo for using appium with python, so I decided to write a small plug in and play framework to automate apps.
By the end of 2016 data became the new oil, QA's were also required to test the back-end systems. Back-end automation is more or less scripting, the best part about the back-end automation is, once they are out in the production they stay that way for a long time. As in the API signature does not change much. If there is a need for a change versions of the same API are created. This leads to creation of very stable test scripts that require very less maintenance and what better language than python to do this?
I have learnt to automate almost everything. Anything from web, mweb, pwa, react apps, native apps, databases, back-end systems. Designing frameworks for complex systems and integrating them with third party tools for exhaustive regression testing.