For sure, the profession of a QA engineer will be always needed but each year it becomes more and more unpopular, the level of a salary stays at the same level, and you are fed up with tedious tasks.
But if you wish to become a seasoned and skilled automated tester, this article is what you are searching for.
Let’s start with the basics.
How did the situation look like before?
It used to be better. 15 years ago, the profession of a QA engineer just entered an IT field. Every product company understood that testing is a great and important thing, so HR managers searched for proper workers.
Every tester should have the following skills: basic skills of a programmer who didn’t have the possibility to earn money with the help of coding, and familiarity with a software testing field.
Eventually, testers were divided into manual testers and automated testers. Automation specialists started working with HP products, studied Selenium, and various programming languages. Manual testers performed testing manually and gradually started creating technical documentation.
When time had passed, manual testers joined automation specialists. And in these communities, it was automated testers who were the leading specialists.
How do things look like now and how to become an automated tester?
You should know a testing theory by heart. It’s mandatory.
You should be familiar with testing types, know how to write testing documentation, be ready to apply test design techniques.
You should also understand the concept of a testing pyramid. You mustn’t be an expert in using it since you’ll learn this in some time.
A few books to learn the theory, a few YouTube lessons
So you’ve studied the basics and already have experience in manual testing. Now you can take small but confident steps on the way to become a test automation specialist.
- It’s very easy to enter the IT field through testing;
- Automated testers will soon become unneeded. They are just low-skilled programmers;
- We are QA engineers, not developers, so we don’t need to know this.
The first two arguments can be frequently met on the Internet. The third one is constantly said in every product company.If a person wants to become a professional and seasoned automation specialist, he/she mustn’t agree with these words.
It will be very hard at the beginning, but then it will become more interesting.
You should have the same skills as a developer has, or even know more, in some cases.
Choosing a programming language to study
It doesn’t matter what language you will choose. Global programming languages are very similar today, so you will easily learn some similar languages.If you have no difficulty in learning the basics of one language, you won’t have problems in studying the basics of another one.
Start studying from main concepts: types of data, classes, used arrays, cycles, functions, OOP, interaction with lines. And then, move to studying a certain programming language.
In the middle of 2020, you can choose the following languages:
- Java is very popular in CIS countries. It offers numerous specialized vacancies for automated testers;
- Python is a simple programming language that is easily learned and read.
You should also be aware of the fact that studying a language (complete learning) is a long process, therefore, you’ll need to wait. Studying will last from 4 months to 1 year, depending on the peculiarities of syntax.
Design patterns help to describe common ways to solve typical issues during software designing.
For sure, it’s great to know Page Object but today it’s not enough since there are many other patterns that can make a development process and a testing process easier and clearer. The earlier a person solves this common issue, the fewer problems he/she will have in the future.
If you have no possibility to study this issue, then you may ask developers you are working with for help.
We also recommend reading Head First. Design patterns, by Erick Freeman and Elisabeth Robson.
What OS to choose first?
This doesn’t matter at all. Today it’s just a matter of your habit. Use the one that will be the easiest to work with.
Beginners should use a simple UNIX operating system. It’s very popular in IT to have practical experience of interacting with it.
A framework is a certain set of solutions based on one architecture, structure, and types of combining the components of one system, that can be used for solving numerous tasks of a different kind.
Here we come closer to testing.
Every programming language has its own frameworks. JS uses Puppeteer, Cypress, and Nightwatch. Java uses Selenide and Python uses Pytest.
Study them if needed. You can find numerous documents about them on the Internet.
When time comes, you’ll develop your own framework, after studying several design patterns, of course.
Git and review
In some time, you’ll need to store your software code. And Git can help you with this task.
Studying such a tool has the following steps:
- Install git;
- Create a github account ;
- Study supplied documentation;
- Open YouTube and find related lessons and try to follow them.
You should study a few git commands at least: clone, add, commit, push, rebase, checkout. This can be done in one week. The main thing here is a constant practice and your desire to do this.
A code review process is a working tool to exchange records, find the bugs, and simple errors, it’s basic testing of the clarity of your software code.
Initially, your work will be checked by others but in some time, you’ll also be able to reviews others‘ work too.
Try to perceive this review as a helpful thing and the possibility to develop your skills. Errors and some typos will always be there.
What should you study, apart from this?
CI/CD (continuous integration/continuous deployment). The main aim of CI/CD is to decrease the error number, accelerate the work, improve a project’s quality.
Docker is a special platform that has been primarily designed for development, deployment, and launching of an application in special storages.
You should study HTTP, a special protocol of data exchange inside a network. You may be able to create tests without a good knowledge of HTTP but you won’t be able to perform API testing.
And these skills will also help you to localize a bug more rapidly.
Xpath is the language of requesting the objects of XML documentation.
SQL is a simple computer language for managing relational databases and processing information. SQL is always used for requesting, pasting, or editing the information.
This list can be complemented by a lot of useful material but we think that it’s enough to start with, and then a person will have the possibility to choose the field for his/her future professional development himself/herself.
Where can you search for such skills?
- Thematic forums on the Internet;
- Specialized courses on test automation;
- Programming courses.
We differentiate automation courses and programming courses. It’s better to start studying from attending programming courses.
When you attend the second ones (automation courses), you’ll acquire some basic popular skills and it will be easier for you to study automation.It’s better to build a base and then move to automation.
Should you save money on studying? Is it better to study a book or a free course? No! If you have such a possibility, of course.
Every professional course is supported by tips from mentors and this greatly helps to study faster.
There are numerous tasks of a different kind that will help you to develop your professional skills.
But remember: you should choose your instructors very carefully.
As we’ve mentioned above, the process of studying is never easy and clear.
You should spend a little bit more than a year to become a test automation specialist.
There are numerous articles on how to properly build your studying process but we’d like to mention 2 main points:
- Try to properly rest and have breaks during studying;
- Constantly practice. Search for the websites, related projects. Write tests on them, check API work. Store a personal software code on github, ask friends or colleagues to review your work.
We wish you good luck!