How to learn to test software

It is believed that through testing you can easily go into IT. We asked our testing specialists how to implement this without entering specialized education programs at universities. It turned out that you can confine yourself to a computer science base, one test book and the right choice where to get your first experience. True, this must be seasoned with one's own interest and zeal.

Under the cut - our tips and answers to common questions of beginners. There is little about where to go next when it seems that the ceiling of knowledge is close.

image

Does the tester need a base in IT?


Frankly, desirable.

Most of our specialists in one form or another have been fond of IT since childhood, or at least studied in specialized universities, i.e. already had some basic training before coming to testing. Some of them started as developers (studied as a developer) - there were no separate “test” areas 10 years ago. So, before our eyes we simply don’t have an “anti-example” of such a path.

Now in IT there really are many who have not undergone such training. And it's a little harder for them to move forward. To cope with the tasks in testing, you must at least be able to install the operating system, understand how to deploy the test application and the necessary environment, how to create a repository in Git, google answers to your questions, rummage through specialized resources like Stackoverflow. In fact, this provides a common base on computer science.

But even this knowledge can be mastered through books or courses on the Internet. There is no shortage of information sources today. The main thing is that there is interest and time that can be allocated for this.

Testers or developers?


Testing testing is different.

The requirements for a beginner manual tester are not very high. Perhaps this is the very “easy way to IT”. Here you need to know the basic principles of testing, which we will talk about a little later, and have the base mentioned above. True, manual testers are gradually moving away to test software products faster and more efficiently. Therefore, one way or another, over time, all the “handbrake” begin to write code or engage in metrics and analysis. But this does not mean that you cannot start your career in the status of a handbrake juna.

Test automation is closer to the developer. In the knowledge base, each automator usually has at least one programming language — the one in which autotests are being developed (this is not always the main development language on a project). Being engaged in automation, it is also important to know the design patterns and be able to apply the general principles of development - extensibility, readability, ease of reuse. In essence, an autotest is the same program that must correspond to a predetermined scenario.
In order to start working as an automator, in addition to testing knowledge in general, you need to have minimal knowledge in object-oriented programming, imagine how to write the simplest “Hello World!”.

Choosing a direction, it is hardly worth looking at the momentary popularity of specialists in the labor market. The average indicators of demand and salaries in IT are a very specific thing, they depend, among other things, on related knowledge. Who would have thought, but development specialists at some Delphi are now in demand in the banking sector, despite the fact that in other industries the language is not in general demand. Here everything works according to the laws of the market: there are few specialists, but the demand for them remains, because someone needs to support legacy.
So in testing. Now there is a demand for JS-automation. It is great because business needs are large, but those people who have embarked on this path with the first appearance of market interest have not yet had time to learn. Once they learn and go to work, the situation may change.

In this volatile world, it is basic knowledge — understanding what and how to test in principle, what approaches are available — and also the ability to quickly absorb information will help you quickly reorient to an adjacent technology stack.

What to read?


Testing, and IT in general, is a booming industry, so you can often find skepticism about books. They have too much "production cycle". To write, publish, distribute - for a long time. It is more than doubled if we are talking about translated literature.

However, our testing department recommended one book almost unanimously - “Testing Dot Com” by Roman Savin. This is the most famous book on the topic, which simply and easily introduces the basic concepts and processes in manual testing. And although it was published a long time ago, the basic knowledge set forth in it is still relevant. Perhaps it was read by 80 percent of all testers in the CIS countries.

Other recommendations can easily be found on the Internet’s “lists of N books for a beginner tester.” But in general, our testing team believes that the base from the book of Roman Savin will be enough to start the further process of self-education.

Is it worth going to courses, all the more paid?


The opinion of our specialists on the courses is mixed.

Any training programs are useful in that they provide a lot of information at once in a structured way. Information is collected in fragments convenient for development, divided into stages. Level by level, you can follow the curriculum, as in a game, and gain useful knowledge.

You can go to the courses with one of two goals - either to close any gaps in knowledge, or to consolidate already known information. Depending on the goals, everything will be assimilated in different ways. But due to the abundance of new knowledge, not 100% of the information received will settle. From this point of view, self-study on a specific project is more useful. The information gathered or the answer found will definitely linger in your head. True, this will take a little more time.
Not all walls are worth punching with your forehead. And the right balance, where it is worth listening to the lecturer in the courses, and where - to try to learn something yourself, everyone determines for himself. This balance exists in any other field: you probably already know to yourself that it’s easier for you to study independently or to listen to a teacher.

Let's move on to the specifics. Several times in conversations with our testing specialists, Alexey Barantsev's courses surfaced, for example, on functional testing for manual testers or on automation. But it is clear that the range of learning opportunities is not limited to them.

The courses mentioned in a negative way, we will not give here. Everyone earns as much as they can, and professional education is the same business as everything else. Therefore, before you pay someone money for developing a profession, it is worth spending time researching the market.

Curricula are best chosen by reference. At the same time, you should not watch reviews on the websites of the courses themselves or educational institutions promoting them. It’s better to look for negative comments on social networks. Positive feedback is often left by those who are still studying - who cannot express everything they think about the learning process. Truth is revealed when they are released and begin to rethink what happened to them. By the way, you are likely to find a negative about any educational institution, the only question is how much it will be and what its content will be.

Good courses should include more than just posting videos and then collecting homework. Normal feedback is needed with the teacher or mentor, who will explain what the mistake is, in which direction it is worth moving, in order to correctly solve the problem. And you can watch videos for free (and then solve problems from the Internet).

The community around learning is likely to be important for some. Joint decisions bring the team together, while developing the soft skills necessary for subsequent teamwork.

Should I go to the conference?


Conferences are a very useful element of the IT world. First of all, this is a platform for the exchange of experience. Here you can rarely find a report that will answer a momentary private question in a particular situation. But you can stumble upon approaches to solving similar problems that are quite applicable to your situation.

At some conferences, one can come across “basic” reports that allow one to gather initial knowledge in a new segment, for example, in automation. But more often this, of course, is information for more experienced professionals. In general, a conference is rather a place for networking and related knowledge (next to your current specialization, for example, in another language).

It is worth noting that most of the issues discussed at conferences are on the Internet. Single events can give some really unobvious experience.

Many conference papers can be found in online recordings. The main thing is not to focus on viewing them. If you watch a lot of videos, but practice a little, sensible self-development will not work. Everything needs a balance. By the way, unlike viewing reports, a personal presence at conferences is usually also acquaintances, communication with people with whom you can discuss current problems and issues.

Where to get the first experience?


Real testing experience can only be obtained at work in a real project. The more code you write with your own hands, the more efficiently you will solve the following problems, because the theory you read without practice is quickly forgotten.
In a real project, training will be much more effective. Concrete problems will arise, their solutions can be found on Google or on the forums. A path laid independently will greatly help in the future. Naturally, this path should not be laid from scratch - therefore, we have already talked about where to look for initial knowledge.

Together with a common base, any project will give a certain degree of specialization. Maybe it will be testing products for different operating systems, client-server applications or tools for servers. All this will require its accompanying skills.

Valuable when colleagues accompany you along the way. Therefore, it is very important for a beginner to choose the right company. For a newcomer, it’s better to get a large organization, where technology stacks for each type of product are already defined, all processes are built, there is test documentation and a lot of teams that can look for a solution or ask for advice. At first, a systematic approach to testing and the ideology of internal exchange of experience is much more important than the promised salary. And also, we’ll be frank, in large companies the responsibility for incorrect strategic decisions is rather blurred, so you can safely gain experience without risking the entire business of your employer.

In small companies and startups, the attitude to testing is often different. Someone is testing something somewhere - and good. How to test correctly, they will not tell. On the contrary, bypassing all the procedures on Friday night they will upload new releases to production, and test them later.

It is better to go to such "wild dances" for more trained specialists who understand what the deviation from the classical processes is. For a person with no experience, working in this mode will only produce porridge in the head. Most likely, he will not learn anything good here.

In general, if you are not lucky with your place of work, it is not necessary to urgently collect things. The main thing is to find a specialist on whom you can rely in search of the right solutions - a kind of mentor and adviser. By the way, the mentor does not have to be searched among colleagues. This may be an outsider who will tell you what to study and where to look. True, an outsider is unlikely to be immersed in the subject matter of the project. Communicating with them will probably have to be remembered about the NDA.

June, middle, senior. Is there a way further?


On his project, the tester is usually forced to confine himself to the existing technology stack. Changing the stack, as well as bold experiments, is usually quite expensive or associated with a change in the place of work. However, within the framework of the stack, somewhere up to the senior level you have enough problems - this is not one year of hard work and self-education.

When it seems that you have hit the ceiling, you can develop into managers or go “in breadth” - to study new frameworks and tools, raising your price in the labor market. It is important that when studying different approaches, you will have that very integrated vision that will help to better solve seemingly unsolvable problems even inside your stack.

As in development, in testing there is a small proportion of tasks that involve deeper knowledge, for example, mathematics. The conversation about it begins where mathematics pops up and in the development itself - in high loads, etc. This is another area of ​​potential growth for those who can fit really large-scale logical structures in their heads (and who are bored with standard testing tasks). There are very few such tasks on the market. But due to them, the possibility of further self-development remains for those who do not want to go along the managerial path of development.

Sitelinks


Testing materials are available at http://www.protesting.ru/ . There is a lot of theory and a little practice. You can find basic information about what types of testing are, what is a test case, test plan, etc. True, this resource has been developing since the 2000s, so some information managed to become outdated. But on the base here you can find valuable examples.

The forum on the resource https://software-testing.ru/forum/ is a kind of analog of Habr for testers (for the most part for automators). There is a lot of useful information exactly at the initial level - on Habré in the testing section there are more advanced articles, and texts for beginners appear less and less and the audience accepts worse.

Two more good sources of information:https://tproger.ru/digest/free-software-testing-books/ and https://automation-remarks.com/ .

Thanks to the testing specialists of our company for their help in preparing the article!

PS We publish our articles on several sites of the Runet. Subscribe to our pages on VK , FB , Instagram or the Telegram channel to learn about all of our publications and other Maxilect news.

All Articles