Functional QA wanted to upgrade their skill-set to automation. So, what are the basic skills required to learn automation at beginner level?
First off I suggest learning a programming language. In a education program that I was part of creating we opted for Python. It’s a good general purpose programming language and popular for automation. Normally I also recommend learning the language that the system under test is developed in since then you can get a lot of help from people that know the language already.
Then it branches out a little depending on which domain you are working in. If you are working browser based applications you need to learn the WebDriver API (Selenium) and the “extension” of Appium which uses the same API but add app and phone specific additions. Basically learning how to write code that interacts with a browser and or mobile phone.
If you are working on server side applications / embedded software and such you need to learn about webservices such as REST. Basically learning to write code that interacts with an API. This is normally applicable in the first instance to since most applications are backed by different backend services.
After this there are a few patterns that you could learn. Like the Page Object pattern and different unit test patterns like mocking, assertions, BDD and so on. I don’t know of any good source of them and the application of them is typically the hard part that you do not really get to learn.
Good luck on your journey.
In my opinion, if you are testing then you are more than half way there. Automation is a matter of learning the basics of programming. You apply those basics through a tool or framework to exercise an application and verify its behaviors.
After the Basics, I recommend learning more about code administration and programming concepts.
Program Design (classes, methods, properties)
Program Maintenance (Source Control)
Program Set Up (New Solution/Project/File)
We all knows that execution of test cases using any tool or by using any test scripts serve the purpose of automation process. The point to consider is the expected behavior.
Nowadays, functional testing services providers also emphasizing on automation testing and hiring work force with automation skills. Many options are there in the market, online as well as offline to opt out. However, the point here is what to learn and how to start. Learning automation has no limitation defined.
For any automation testing, you must have knowledge of coding language. You can start with Core Java or Python first then you can use open source tool like selenium for web automation. Selenium is an automation framework for testing any web application and can be easily learn. Along with coding language, you must be aware of how to read HTML, CSS and Java script of webpage.
Other than this, we should also know that what need to be automated and at what frequency. With every automation testing assignments, more learning will be there.
Hope this information is helpful for you.