Tester's way: where to start learning automation

    Six years ago, Roman Pechersky from Izhevsk attended 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 suggestion 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 Polarush:

    What is test automation?
    How to write the first test for Selenium
    How to write locators in Selenium WebDriver

    Meet Selenium IDE and these lectures were enough for me to solve that design problem and start taking the first steps aside in automation.

    How I studied automation

    Soon, I began to independently study Java - one of the most popular languages ​​to automate testing - 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 dismissed. For me it was a terrible stress, and I even lost a few pounds.

    This is what helped me overcome difficulties:

    • Understanding why this is necessary

    Despite the fact that my studies were difficult and sometimes even boring, I clearly realized what opportunities she 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.

    • Supporting colleagues

    It is always nice when someone encourages you - especially people who have already traveled the same path.

    • The feeling of rivalry

    The feeling that I can become the most lagging student in a group also spurred me 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 a 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 test

    Many 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.

    • Set priorities.

    Suppose 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 on your own 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 testing automation. It can also be taken as a basis, if you have a technical background and you decide to independently learn the basics of automation.

    Here is the minimum set of knowledge that you must 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 most often deterred by errors in the code. They run the code, see something go wrong, and fall into a stupor. What to do in this situation? Try to find a solution on the Internet, for example, on the sameStack 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 in place.

    To keep fit, you need to be constantly 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 automator
    Automator’s notes (best automation practices of testing)
    Automation community
    Portal about testing and quality Software
    QA-community Comaqa.by

    For 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 didn’t manage to reach my ceiling as a manual tester - automation has fascinated me earlier. In this case, the background 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.

    Also popular now: