Six years ago, Roman Pechersky from Izhevsk completed courses for functional testers and began working as a QA engineer. A few months later, he first encountered the test automation and realized that he wanted to develop in this direction.
Now Roman is leading a team of automation engineers, as well as a
training center for automated testing in Izhevsk EPAM. He told how he began to study automation, how he developed, what problems he dealt with and what life hacking he used.

How I met automation
I first encountered automation when our project’s technical project suggested that I cover tests with autotests so that they can be run after any changes and quickly receive feedback. By the time I did not work in testing and the year, so I did not feel very comfortable. In spite of this, the task seemed interesting to me, and I decided to try it out - though I didn’t even know where to start.
')
Someone from the project colleagues told me about the Selenium IDE - a tool to automate the actions of the Firefox browser. I remember how I wrote my first auto test using the Record and Play method: I turned on the recording, started pressing buttons, typing text into the search box and clicking on links. It turned out a set of saved actions that you could run and immediately see the result.
Then I watched three lectures from
automation manager Mikhail Polyarush:What is test automation?How to write the first test on SeleniumHow to write locators in Selenium WebDriverFamiliarity with the Selenium IDE and these lectures was quite enough for me to solve that design problem and start taking the first steps towards automation.
How I studied automation
Soon, I began to independently study Java - one of the most popular languages ​​for test automation - and try to write simple autotests in Eclipse, for example, to test the login form of applications.

Once, my manager and I discussed my further development. I said that I plan to move towards automation, and asked for courses on automated testing for employees.
The next six months I worked and studied - in the evenings, weekends, holidays. Everything was complicated by the fact that for the first three months I was on a business trip on a new project. After work, I returned to the hotel with the thought that if I didn’t pass homework on time, I would accumulate debts for which I could be discharged. For me it was a terrible stress, and I even lost a few pounds.
Here is what helped me overcome difficulties:
• Understanding why this is necessaryDespite the fact that the study was difficult and at times even boring, I clearly realized what opportunities it would open to me. That is why I devoted all my free time to automation. Instead of walking around the city - automation, instead of sitting in a bar with colleagues - automation, instead of an evening series - automation.
• Peer support
It is always nice when someone encourages you - especially people who have already traveled the same path.
• sense of rivalry
The feeling that I could become the most lagging behind student in the group was also pushing me to move forward.
When the courses ended, I started working on the project, alternating the duties of a functional tester and an automator. A few months later he joined the new project - already in the role of a timbry. The QA-team consisted of only two people - me and a functional tester, to whom I explained the basics of automation.
How I started teaching automation
My project colleague is the first person I started teaching automation. At first, my knowledge was not always enough to answer his questions and help solve project problems. But when I couldn’t explain something to him, I realized that I’m not developing enough in the subject myself and was pushing up knowledge. I usually searched for answers on
Stack Overflow or asked for help from the developers.
Gradually, my team grew to 10 automators. By that time, I completely withdrew from manual testing and was engaged in a comprehensive system auto-test of web applications. Then he began to help the team with the creation of architectural solutions for tests and became a project coordinator.
Six months ago, my colleagues and I organized our own autotesting center in the office. Began to take on the training of students of the last courses and people who decided to change the scope of activity.
Recently, I myself went through a small course - on JavaScript - and connected to a new project. I have never encountered JS before. It took me about a month to begin to feel more or less confident in working with the new language.

Summarizing my experience, I can give some tips to beginners who are taking the first steps in automation.
• Start by practicing - create your own auto testMany people think that before writing autotests, you must first understand the theory of testing and learn Java or another programming language. Usually such people are enthusiastic for a short time, because this is a long and difficult process.
I believe that you need to start with simple things. Create a simple autotest yourself. To make it more interesting, try to solve some vital task. For example, write a script that automates the transfer of water meter readings to the water utility website. Today, this can be done with the help of
Katalon Studio , which replaced the Selenium IDE. Such assignments fuel interest in learning automation. Then you can proceed to the study of the theory and specifics of automation, as well as begin to master the programming language in conjunction with
Selenium WebDriver .
• PrioritizeSuppose you understand that you want to develop as an automated tester and are ready to spend time studying. If you plan to immerse yourself in training and not stretch it for long months, you must either leave your current job, or ask the authorities for a long vacation.
You can follow my example and try to combine study with work. So you save your salary, but for several months you completely forget about the existence of free time.
• Start learning by yourself or take courses
Courses are a good option for those who have no idea where to start, or want to systematize their knowledge. Online courses can be found at
Otus ,
Stepik ,
GeekBrains ,
Lynda ,
JavaRush . If we talk about offline training, it can be organized by various IT companies in your city: the
EPAM training center , for example, operates in six Russian cities.
Usually the program of any course on automation is divided into three modules:
1. Introduction to the theory of automation;
2. Learning the basics of a programming language (for example, Java);
3. Writing your own auto tests.
This, in my opinion, is a universal algorithm for studying test automation. It can also be taken as a basis, if you have a technical background and you decide to independently master the basics of automation.
Here is the minimum set of knowledge you need to master in order to start working on real projects:
• Understanding the basic concepts of testing: test cases, defects, etc .;
• Understanding what can be automated and what is not;
• Knowledge of basic programming language (Java, JavaScript, Python, C #);
• Ability to work with
Selenium WebDriver ;
• Ability to write
locators for elements ;
• Knowledge of one or two unit-frameworks.
• Be as interested as possible.Newbies in automation are often deterred by errors in the code. They run the code, see how something goes wrong, and fall into a stupor. What to do in this situation? Try to find a solution on the Internet, for example, on the same
Stack Overflow . Another option is to ask for help from more experienced colleagues. They, too, were once in your place and made the same mistakes. Discussing any task with experienced automatists, you expand your professional horizons.
• Do not stand stillTo keep fit, you need to constantly be on the technological edge. Introduce new frameworks and libraries, understand Continuous Integration, deepen your knowledge of a programming language or learn a new one, read subject articles and blogs:
An article about who is such a good automatorAutomator Notes (best practices for testing automation)Automation CommunitySoftware Testing and Quality PortalQA-Community Comaqa.byFor the five and a half years that I have been working with automation, I have never regretted that I chose this direction. I also liked to perform the tasks of manual testing, but I understood that sooner or later I would go up to the ceiling. The ceiling for the manual comes when he tests different types of applications - web, desktop, mobile - so professional that work stops throwing new calls and turns into a routine. In order not to stand still and develop further, you need to get some new skill. You can do the automation of functional or load testing, you can switch to security testing, or, for example, understand the databases. You can also look in the direction of DevOps, business analysis or
project management .
I did not have time to reach my ceiling as a manual tester - automation has fascinated me earlier. In this case, the background of the manual helps me a lot in my work all these years. I not only implement test cases, but I also usually write scripts for them myself. So I understand what I am testing, what functionality I cover and what kind of results I expect.