How to become relevant as QA when Automation is Trending?
I have seen that some people are having mindset like Automation is Difficult, it is like a short-time trend, it is not required for those who are excellent in doing other QA activities except Automation, etc, etc.
And also some people are having clarity regarding the Importance of Automation, but they do not know how to proceed in that direction.
Hence, I decided to write a Guide which will give clarity to Everyone having Wrong or Unclear idea regarding Automation.
But before starting on that, I would like to discuss some misconceptions for Automation which are still prevalent with many people:
1. Automation means Selenium.
- No, Automation is getting done any task automatically which was being done manually.
- Since we are assuring Quality, it's about assuring Quality using Automation which can be so many things.
- Selenium is just one of the tools/frameworks for Automation.
2. Automation can only be done by those who are very good at Programming, not for a person like me.
- Well no one is born with Programming skills, everyone has learned it. It is just that the persons you are seeing around you have learned it earlier.
- But don't be afraid as to learn anything new one needs passion, and to learn programming the additional thing required is good logic, which I believe every QA is having very sharp logic.
- You just need to learn how to use your logical skills to code as you are using it for other QA tasks.
3. Once Automation is Done, my job would be in danger. (Person Perspective)
Once Automation is Done, we will need less resources. (Organization Perspective)
- Only very few Organisation might be having the above said perspective, but it is very wrong.
- QA do not need to fear for the job security as one of the main objective of automation is to reduce the humongous time and effort required in regression as much as possible, so that QA can do other activities which only can be done well by Humans. (For Example, Exploratory Testing)
- And also Automation requires maintenance as well, it is not like once it is done you no need to change it.
- Hence, people and organisation both need to understand this point properly.
Now, let's start the main topic.
I will categorise the people in number of years of experience as I know and feel that it would be the best way:
- Fresher - 6 Years :
- If you are already working on Automation, it's good.
- If it's not the case then don't wait for the time the organisation gives you chance.
- Learn and practice by yourself. There are so many resources to learn as well as practice is available.
- But for Automation what will you learn and from where will you start?
- First I would highly recommend to learn basic of any Programming language, but it would be more beneficial if you learn either Java or Python.
- The next point depends upon whether you want to learn API Automation or Functional Automation.
- For API Automation you need to learn basics of API first and then any tool or framework as per your proficiency (For Example, SOAPUI, RestAssured, etc).
- For Functional Automation (I am not calling it UI Automation since many times it is interchangeably used for Visual Automation e.g. Sikuli, Applitools ,etc) there are many tools/frameworks like QTP, Katalon Studio, Selenium, Appium etc.
- If you want to learn Selenium/Appium then you can proceed as follows:
A. Selenium
- How to Locate Elements
- Supported Browsers and Drivers
- Activities which are provided by Selenium itself.
- Any Testing Framework as per the Language you learnt (Java : Junit, Testng, Python : pytest, etc)
B. Appium
- It would be more easier to learn if you first learn the basic of first 3 topics of Selenium + Testing Framework.
- Then, How to locate mobile elements.
- Supported Platforms and Drivers.
- Activities which are Supported by Appium itself.
Note : The points mentioned for Selenium/Appium are sufficient for basics, for advanced concepts you can learn many things like Build tools, CI/CD tools, etc.
Once you are done with the above, you are good to go.
2. 6 Years - 9 Years :
- You can also follow the above things but there are two points which you need to keep in mind:
- If you are totally new to Automation, I would recommend you to learn API Automation first and then if it is required then you should start learning Functional Automation. This would be more beneficial especially as per the number of years of experience, time required to learn and the opportunities available.
- There is lots of problem faced at this level of lack of hands-on experience. But you can make it up by practising, creating frameworks and making it available to everyone, participating in various competitions, using sites where you can show your automation skills, etc.
3. More than 9 Years :
- If you have somewhat experience with Automation, you can continue with that type of Automation by stepping up your game or learning advance automation tools like RPA tools.
- If you do not have any experience with Automation, I would like to suggest that you should take a career path like Domain or Subject Matter Expert, Scrum Master, Business Analyst, Product/Project Manager, etc.
That was all I wanted to convey.
Please feel free to share your views and feedback as well as this Article itself.
Business Analyst | Healthcare | Agile Product Management | UAT | Integration | Interoperability
6 个月Great article Faiz Modi !! You have addressed the exact pain points without beating around the bush. Motivating one for me.
QA Lead Engineer At Kaplan| Cypress| Playwright| TypeScript| Angular Basics| Selenium-Java - TestNG|c#-nunit|API Testing| Visual Automation Testing |Rest Assured| MS SQL| HTML| PostgressDB| AI & Prompt Engg Explorer
4 年Very well described article Faiz Modi !
Scrum Master @ HCLTech | SAFe Certified| Project|Program|Delivery Management| Valid H1b Visa
5 年Nice article Faiz. It is really very fruitful. I have one question for me, I have never done any automation in my 9 years of experience but yes I have sound knowledge of UiPath tool. Now as you told that Python or Java can be picked for automation perspective, can you suggest me which one I should pick? As of now Python and Java both are new to me. And one last thing to ask is, should I pick API automation first or Functional one? Waiting for best guidance. Thanks in advance
CSM Certified Scrum Master II ISQTB Certified|| Certified Agile Fundamentals|| Sr.Software Test Engineer @Direction Software LLP
5 年Well Explained Faiz, Whatever listed question where said above all were in my mind, so I got relevant answers for all those. Thank you
Sr. Manager - Quality Engineering Practice
5 年Very useful stuff.Thank you