Roadmap to Test Automation – Part 1: Getting Started
"I am not saying that all QA engineers must know how to code. But if you're a manual tester attempting to break into test automation, your time may be better spent learning a programming language than learning the ins and outs of an automation tool."
The Manual Tester vs. The Automated Tester
I mentioned in my previous post Roadmap to Test Automation - Introduction that it's been a rocky road transitioning from a Manual Tester to a Test Automation Engineer.
I have spoken with dozens of technical recruiters looking for experienced Test Automation experts. Unfortunately for me, in many cases, the positions require a minimum of 8+ years of experience.
It's still puzzling to me, since, many of the software tools employers list in their job descriptions haven't even existed for so long.
When recruiters ask me what I prefer, "Manual or Automated Testing?" it makes me wonder why one would be more relevant than the other.
There seems to be this assumption that Automated Testing makes Manual Testing irrelevant.
In reality... manual testing is still relevant and it isn't going anywhere anytime soon.
Automated tests must first be completed or scripted manually in the first place before they can be automated.
In recent years, more open-source software testing tools have been released making it more affordable for smaller businesses to implement.
This may be one reason why there has been an increased demand for Test Automation experts.
Regardless of my relevance as a Manual Software Tester/ Software QA Analyst/Software Test Engineer I still had to find ways to maintain my relevance, with the ongoing surge in software tools.
So approximately beginning 2 years ago, I began researching some of the latest test automation tools.
Even though I had over 10 years of experience as a manual tester, my only alternative was to expand my skill set by teaching myself how to use the most widely used test automation tools.
“Software testers do not make software; they only make them better.”
What's Your Plan?
After months of wavering between all of the many new Software Tools, Programming Languages, and Development Methodologies, I realized, I needed a plan.
The best way for me to get a handle on what to study, learn, or focus on was to map out some steps and prioritize them so my path to becoming an automated tester was clearly defined.
Well, at least partially defined.
I came to the conclusion after completing some tutorials in Selenium and Appium that it would be more beneficial for me to study a programming language.
However, even at this point, I had already used Java, Python, and Ruby programming languages for writing test scripts in Selenium Web Driver and Appium for Mobile Apps.
Code or Do Not Code...There is No Try
The truth is, practicing with Test Automation Tools alone would not be enough to help me transition into a Test Automation role.
As much as I practiced and learned it was inevitable that I would need to build a stronger foundation in programming to stand out as more than just a manual tester.
I had to choose at least one programming language.
I am recommending that you also begin by choosing a programming language first, and focus on learning the core part of the language.
Learning a new programming language was a difficult commitment to make.
I believe it is essential to learn the core of any relevant programming language if you are a manual tester and want to transition into Test Automation Development.
In my case, after several months I began to focus on learning a new programming language, while I kept practicing test automation with web apps, web services, and mobile apps.
Learning to code is still an ongoing process for me, and it still a priority. In future posts, I will share more about what language I chose to learn and why.
Learning to code is also in Phase 1 of my Action Plan.
If you want some guidance transitioning into Test Automation, you should read more about the plan I used, because, it will help you organize your own action plan for learning test automation.
The one thing I wish I knew sooner might actually save you some time.
Finally, if you are a non-coding tester and want to continue to grow in your career, my suggestion is:
You must learn to code!
You can be a great tester if you have programming skills. You can also be a great tester if you have no programming skills at all. And, you can be a lousy tester with or without programming skills. A great tester will learn what skills she needs to continue to be great, in her own style.
Hi Hayden,
I am currently looking at your roadmap but I cannot find the part two. It is really a good read and I am enjoying it.
Thanks.
Sorry for the late reply. It’s been a busy past few months. I will be updating this story, since I have also been studying for ISTQB Certification