When I decided I wanted a career in Software Industry, I immediately began my job search for positions in manual software testing.
I began to follow http://onestoptesting.com/ like resources.
When I understood the Importance of Testing, I joined a course in software testing.
Eventually, I landed an offer from a small tech company despite my lack of professional experience. I just demonstrated the concepts that I had learned during course and on my own and sold them on the fact that I was a fast learner.
Although I was intimidated, I tried to let my passion overshadow my lack of knowledge.
Many tech companies, especially startups, may not even employ manual software testers. The work is rapidly moving to automation engineers and automated tests.
This makes sense. A few lines of code, backed up by a solid testing framework, can perform the same amount of software tests that would take dozens of manual testers much more time to complete.
Test automation typically involves writing software tests which access a framework that mirrors the actual product being tested. A tool such as Selenium WebDriver, CodedUI or QTP will use the elements written in the framework to automate the browser or desktop application being tested.
Becoming an effective automation engineer requires solid programming skills, but it also has a lot in common with employing best practices as a manual tester.
Make the Transition:
When I received my offer, I made it clear from the very beginning — during the initial interview actually — that I eventually wanted to transition from being a manual tester into automated testing. I think this went in my favor because the interviewer saw my drive and respected that I had set specific goals for myself.
My first day on the job, I had an eye-opening discussion with a coworker that had recently made the transition from manual to automation. I asked for her advice, and she suggested that I begin by automating the tests that I was expected to do manually.
By the time she was promoted, she was already writing nearly as many automated tests as the rest of the engineers.
So, this is what I did. First, I had to learn C# and get familiar with the testing tools that the engineers were using. I began to meet regularly with one of the dev team managers. Then I began to automate workflow tests that we typically executed manually each month.
Things moved slowly at first. Over time, I began to recognize the patterns that other engineers had built into the framework, and I began to make some significant contributions! It helped that I already had extensive product knowledge because of my time working as a manual tester.
I learned the most through the feedback I received on the various pull requests I submitted to the team. My coworkers gave me tips on how I could use certain tools and techniques to add more coverage to my testing or make the test suite run faster. They showed me how I could use comments in my code more effectively and also how I could use source control more to my advantage.
When I finally felt like I had my bearings, all of my focus turned to producing results for the automation team that would convince them I was right for the automation position. After I had written 58 passing automated tests on our product, I felt confident enough to request the transition to automation team. I was ready.
Automation Engineer and Beyond:
When applying for the transition, I laid out the dozens of passing tests I had written, as well as the extensive additions I had made to the testing framework. I pointed out that I already had extensive product knowledge. I put all my cards on the table. An offer for my transition was put together.
This process took almost six months from the first day I was hired. It was gratifying to see the many hours I devoted outside of work coming to fruition. I could hardly believe I was wanted for a coding position when several short months prior I had little to no programming experience.
A position in manual software testing isn’t overly difficult to get, even without experience in the industry. Making the transition from manual tester to automation engineer is a great way to slowly ramp yourself up into a full-time coding job.
Many companies will support you with resources and feedback along the way because it is beneficial for them to have automation engineers with product knowledge and knowledge of testing best practices.
Remember that your progress and learning ultimately comes down to your determination and hard work. You will have to prove yourself.
So where do you go from here? A career as an automation engineer leaves a lot of room for specialization and expertise. It is also possible to eventually transition into a developer position after getting coding experience, as developing small tools/utilities is also part of the job of an Automation tester in lot of organizations these days.
Keep in mind that it can be difficult to get into development after you’ve been heading down the test automation road for a while. Moving into a junior developer or entry developer role can be a substantial pay cut if you’ve been moving up the QA ladder.
Keep at It:
Many tech companies actually have a hard time filling automation engineer positions, so this is an excellent opportunity to get your foot in the door, prove your worth, and get paid to code.
The two major things to do are:
Work closely with other engineers and automation management to learn the tools and best practices that they expect from their respective teams.
Contribute code to the team that will set you apart and show your ability to learn and execute.
For many of us, just getting the first opportunity can be the most challenging part of our coding journey. Making the transition from manual tester to automation engineer is an excellent path to success.