Manual to automation testing

Hi, I have been working as functional manual tester for few years now. I am interested in learning automation testing tools.
But I am not sure where to begin with. I have done coding in C in past and I am good at coding logic. I have written pseudo codes for developers in past for complicated functionalities.
Which coding language should I learn to get into automation testing? Also, which automation tools are best to learn?

5 Likes

A lot of people would blindly say JAVA and SELENIUM.
BUT NO NO

Check out vacancies around you. Ask your own company what they need if you are staying at your current company. Check out what are the most used frameworks in your area and most common languages in your area.

If itā€™s selenium, then itā€™s selenium but it could be a Cypress or playwright or RobotFramework. Thatā€™s why itā€™s important for you to check out the things around you and not let people tell you blindly ā€œdo this and thatā€

This should be your starting point, to identify what is going on around you and then start your journey.

EDIT: Welcome to the community! :smiley:

8 Likes

To build on this. Start somewhere, and keep learning. None of it is bad learning, just be willing to switch it out for another language or framework as your team or market demands.

The second, third, forth time gets easier and easier. You donā€™t start from scratch.

An API call is an API call, a page locator is a page locator. Sure, there is lots of differences to learn, but none of it is wasted. So just start.

There are tons of places to learn, paid and free.

Test Automation U is great, and free:

MoT do their certificates in test automation, in c sharp, java or JavaScript.

And there are tons of websites for learning general programming languages, like Free Code Camp, and Code Academy.

7 Likes

It can be if it takes away from the focus on learning something thatā€™s fitting their context at this point in time.
We still donā€™t know why the person wants to learn it.

No learning is bad, even if some is better. The hardest part for most people is making a start, once you start somewhere itā€™s easier to go anywhere.

I guess I can rephrase, this as, in my personal experience, in my learning journey, there has been no bad learning. Everything helps me think differently, or already know something, that helps me in the next bit of learning. Your millage may vary, as always.

1 Like

I would start with whatever automation solution your current company uses. Then you should be able to provide value while learning and you have experienced automation engineers to help you on the journey.

It is best to start with something you can get your hands on sooner rather than learn something that might or might not be of value down the road.

2 Likes

Thanks for your reply Kristof. Most of the job posts that I see currently have mixture of automation tools. Thatā€™s why I couldnā€™t decide where to begin with. If I were to start learning a programming language, which language would be better? Is there a programming language which is widely used in different tools?

2 Likes

Thatā€™s what my whole post is about. You have to check the vacancies which languages & frameworks are important :stuck_out_tongue:

Because I can now say "learn java & seleniumā€™ but if nobody in your area wants that then itā€™s useless :stuck_out_tongue:

Hi Ipstefan, I am interested in automation testing hoping it will help in my knowledge and career growth. At this point, I want to move out of manual testing role and start with automation testing. But there are so many tools out there, I am not sure where to begin with. It is quite overwhelming. I also want choose area of testing which has high demand and pay.

2 Likes

Iā€™d highlight this, as I agree, we all want to find jobs easier and with better pay.
And growth there as a tester can be rather poor.

What Iā€™ve done is search about 10-12 local jobs sites. Then 5-6 remote jobs sites where the contracts can fit with the country I live it.
Check where my knowledge would fit and where I might have gaps.
Then I picked some preferred coding languages, tools, testing interfaces to automate against (I still want to enjoy what Iā€™d doā€¦)
Then Iā€™d find time to do experiments in the current job: build scripts, tools, program, peer review automation or product code, automate various things to support the testing, and learn by doing and research by needs.
I can also recommend peering with some developers or other automation engineers from time to time to learn how they model the solution to a problem. Try to understand what they do and ask questions where you donā€™t understand. Be friendly and kind, and give something in return.

Iā€™m going to deviate away from many of the answers here, but hopefully with suitable justification. Firstly, the world of IT moves too fluidly to consider what is required ā€˜right nowā€™. By the time you learn it, it may/will have changed. When I came back to automation, I refreshed my Selenium skills then found many places have moved to Cypress or Playwright. I started in a world of Java, then there was a switch to C#, now it seems itā€™s back to Java again! That doesnā€™t mean Iā€™m out of luck, it just means I have to learn a new tool/language.

I most agree with the statement above ā€˜None of it is bad learningā€™. Start somewhere, but try and understand the ā€˜whyā€™ as well as the ā€˜howā€™. Staying with the good advice from fullsnacktester, learn how locators work, learn how to retrieve and assert values from said locators. Youā€™ll start to find every tool has (for example) the ability to put text in a box. What command they use may differ, but none of them will work without a locator.

Similar with API. APIā€™s themselves are relatively simple to break down into their components. And again, the tools (and languages) may add headers in different ways, but if your test needs to send a JSON payload and you canā€™t add an ā€˜application/JSONā€™ header then no tool will work.

And donā€™t forget other areas of automation. Thereā€™s just as much value in being able to write a script to clear dead data or reset a users password. If your productivity suddenly skyrockets because youā€™ve developed a script to handle mundane tasks, then youā€™ll get noticed and possibly given additional automation work.

2 Likes

Agreed with Ben about essentially just starting somewhere. If you can do something at work, for me, that brings much more value. I spent years doing coding and automation and for me it really clicked when I could fit that learning to a purpose. So I guess finding something that has a purpose could be good. Or maybe a course that involves a small project of some kind. Then you can see the outcome of what youā€™ve done. One of the things I really like about automation is that I actually create something. So I find it hard to learn without an output.

Really good advice from Kristof - try to do some analysis of where the demand is for your area, the types of products you want to work on, etc. And remember that automation doesnā€™t always have to be via the UI!

If youā€™re really stuck on where to get started, I say just pick the one with the intro course that appeals to you the most. A lot of the general concepts are the same, and the most important thing is to get started. You can also do a bunch of intro courses on different languages for free on sites such as Codecademy. They donā€™t take too long, and youā€™ll quickly spot those concepts I mentioned, as theyā€™re repeated in every course. Youā€™re not committed to the first, or even second language you start to learn.

But if you really just want an answer which may end up being totally wrong for you, JavaScript / TypeScript and Playwright. But I didnā€™t say that :wink:

Iā€™m puzzled, what is the state of automation in your current job / team / company / project? This is the best place to start looking for answers.

I think you are asking too open-ended questions and the result is you are overwhelmed with possible actions to take so in the end you donā€™t take any (Iā€™m happy to be wrong here, though!).

Ask yourself this: how can I automate the current project? Current task? Current process? Youā€™d be surprised with what you find!

Also, not all automation needs to start with months of learning a programming language. For my own example, I always look to optimize processes inside a team so I realised we do a lot of repetitive work when managing Jira issues. So Iā€™ve set up several automation rules that help us be faster and more productive. Thatā€™s also automation!

How about a script that copies some report to some other folder plus renaming it? Or MS PowerToys? Or GitHub Actions? Etc etc, the list is endless, Iā€™m just spitballing odd way to think about automation, not necessarily strictly QA software automation.

TLDR: best way is to have a problem you want to solve and try finding a solution, donā€™t go the other way around, working on ā€œsolutionā€ (learning to automate) while not knowing what problem it would solve you.