Roadmap to Test Automation – Introduction
My journey towards Test Automation didn't begin with a roadmap.
As a "Manual" Software QA Tester for nearly 10 years my transition into Automated Software Testing was initially a lot more disorganized.
Imagine a 6-year-old child left in a toy store with permission to choose one shiny new toy to take home with them.
However, they have a one-minute countdown timer to decide what toy they can take home.
They might choose a toy that will hold their interest for a few hours or days. It might even be a toy that's popular with all of their friends. Or worse, they might choose a dud that ends up lost in the closet.
Likewise, choosing what software tools to use for learning test automation can be very overwhelming with the immense variety of applications, programming languages, and frameworks available.
Ok, that wasn't the best metaphor, but the point is...
With so many tools and methods used for Test Automation, it isn't really all that clear what options to choose or even where to begin.
Fortunately, you don't have to choose only one. You will, however, need to invest a significant amount of time on one tool to master it, before lunging for the next shiny object!
On the downside, you might spend your time playing with so many different tools that you never fully master any of them.
I don't want this to happen to you, it almost happened to me.
(Full Disclosure: It did happen to me.)
Where to Begin?
There is a plethora of programming languages, applications, strategies, frameworks, methodologies, and more to learn!
This is the state of technology that we are in today and it is important to know what your options are.
You want to only invest your time in learning skills that will help you become more marketable to potential employers.
Overall, Automation Technology has grown by leaps and bounds in the last 5 years with the proliferation of countless software apps and software tools.
Ten years ago many smaller software businesses were not willing to invest in developing an automation strategy, but now there are many more open-source alternatives, which makes it much easier for companies to begin implementing Testing Frameworks that are compatible with Agile Software Development, Continuous Integration/Continuous Delivery(CI/CD) and DevOps.
There are software tools not only for test automation but a variety of popular tools used for DevOps and Agile Methodology like Jira, Jenkins, Gradle, Docker, Git, and so much more!
Some of these software tools include features for bug tracking, project tracking, test management, and version control.
Figuring out where to begin, what to use, or even what area to focus on is the most puzzling part, likewise, when building a puzzle, once you've found the corner pieces you can start to build from there.
What's Your Job Title?
The continuously evolving Job Title and Job Description for a Software Tester position is usually jam packed with a multitude of responsibilities and requirements that blurs the line between software tester and software developer.
Just a few years ago, Job Boards for Software Testing roles most often listed Test Automation skills as a rarity but a plus to have for the most prominent "Manual" Software Testers.
Seemingly, the job posts for a skilled Software QA Tester/Analyst have practically disappeared and been replaced with demands for Software Test Engineers with 10 years of Test Automation experience.
Many of the current tools for Automation Testing havn't even been around that long and if so, it wasn't in general use by many Software Testers.
So Wait . . . Why Should You Learn Test Automation?
Undoubtedly, It was inevitable that Test Automation would rise to become the standard for businesses requiring Software Quality Assurance.
Because, with Test Automation the quality of software delivered, is improved and faster delivery results in customer satisfaction as well as reducing costs.
I could go on about the advantages of Test Automation, how it can minimize boring and repetitive tasks, increase test coverage, and optimize regression testing.
Despite the obvious advantages, I worked for many software companies that never implemented test automation and there are still many others who cannot implement test automation.
Certainly, a career as a "Manual" Software Tester shouldn't become obsolete as some might expect.
On the other hand, I feel that it is crucial for any Software Tester who wants to further his career must possess some level of test automation skills. However, it will require some programming skills.
Although there are many new test automation applications that promote Codeless Test Automation like Katalon, TestComplete, Perfecto, and others. There are still features that codeless test automation tools need to add or improve upon.
"Product teams began to look at testers to drive automation efforts. Testers had the testing mindset. They were the ones who felt the pain of regression tests the most. But many lacked the programming skills required, even if they possessed the desire."
But... Should You Learn To Code?
Absolutely!
I do have some programming experience from as far back as learning Basic in High School to Visual Basic and JavaScript in my Graduate Courses in Information Technology.
However, despite my motivation for learning I never intended to be a developer/programmer.
It wasn't until in recent years that I began to see the rise in job postings for automated testers and rarely manual testers.
So, I began taking courses in test automation. It took me a long time to realize that trying to transition into test automation would require more than just learning how to use the automation tools.
I had to learn how to code.
If you want to become an automated tester I recommend you learn how to code too!
What's Next?
In the following posts, beginning with Part One of my Roadmap to Test Automation, I will document some of the difficulties I've faced and how manual testers in the current market can begin to assemble their own action plan for becoming a test automation developer.