QA used to consist of two types of testing, namely, manual testing and automation testing.
Manual testers main task was to do regression testing while automation tester was only focussed on writing code and scripts.
The connection between the two was a rare thing, expect when the automation engineers wanted to explore additional test cases to automate.
However in the world we live today, its different. Yes, both manual and automation testing is still important, I am still of the believe that automation is not there to replace manual testing, however the gap between manual and the automation world is getting smaller and smaller.
Its important for manual and automation to work together, but most importantly, to make sure that both sides understands each other tasks. This is a strategy we implement at my current workplace, Wyzetalk, ever since we switched to this approach, workflow has been much more beneficial for all parties involved.
When applying for new jobs, some companies requires that candidates to have experience in both manual and automation testing. This leaves the questions, where do I start to become a automation tester? What skills do I need for this?
I was in the same boat years ago. I started of as a web designer, had no experience in automation testing. Thankfully, like all problems, it not a hard problem to solve, however it requires action on your part.
There are 2 main focus areas to become a successful automation engineer. Keep in mind that requirements can depend on the role and can have additional requirements, but below is a list of basic requirements.
You dont have to be a experienced developer but it would be good if you have enough knowledge to write automation tests and scripts. I would recommend the basic fundamentals.
- Classes, objects, and methods
- Strings, Integers
- Interface concept and how to use it
- Arrays (single and multi-dimensional)
- Override and overload
- Access modifiers
- Date class
- Role of constructors
These should be enough to start writing automation code.
Unit testing allows us to verify that different modules of our application are operating in the correct manner, but we also need to test applications from a UI end-to-end point.
In a previous article I wrote about, I dive deeper into what you must consider in selecting a automation tool, below is a brief breakdown of breakdown in performing tests on a UI framework:
- Creating a new project in your favorite IDE
- Setting up dependencies in a build management system
- Creating a base class for the framework
- Setting up global properties for your project
- Implementing the page-object model for your project
- Writing test cases for your project
- Grouping your test cases
- Wiring up a tool for generating reports and screenshots for failed test cases
- Running your test cases efficiently by using an automation tool
- Analyzing the result of executed test cases
After you finished the framework, one important thing that people are not doing in the automation testing world, is to manage the automation suite, this must to be done in order for the automation tests to bring value and longevity to the quality of your project
The specifics of writing UI automation code would depend on a platform (e.g mobile or desktop) and other factors, but this is basically what you need to focus your attention to.
In a nut shell, write test and report on results of test cases.
I hope this article will give you a better understand of what you need to do to make the switch to be a automation test engineer.