The main difficulty I faced at the beginning of my studies was where to go. I didn’t really know much about testing varieties and had no idea what I might like, so I studied everything at once and moved in all directions and this really slowed down my entry into the profession.
I don’t want to discuss now where it’s realistic to get into for someone with no experience. Testing in particular and IT in general is such a diverse and unpredictable thing that you have to be prepared for everything. Including the fact that you will be asked to manage, for example (I know a real case when a person after courses on testing immediately came to team leader position, because he had basic knowledge baggage, but great experience in managing small teams).
If you do not know exactly what you want to be, or at least understand what you do not want to be, then I will tell you about possible options (although many people get into this or that type of testing by accident – for example I came to backend because the office was in Peterhof, and I lived nearby, so somehow my employer and I immediately fell in love with each other, and then I softly fell in love with API testing).
So, where one might want to go to work (list with further thoughts) as a tester:
- frontend testing (interfaces)
- mobile app testing
- fullstack testing
- load and performance testing
- backend testing
- game testing
- mobile game testing
- testing team management
- device testing
Frontend testing. It is considered the easiest to start with, because we all are a bit testers – we visit web-sites, use online-stores, read blogs – most often we already know where to expect a catch. But a minimal set of knowledge is still required: testing techniques, bug-tracking, general knowledge of web architecture, knowing how to use dev tools and so on. Most courses prepare interface testers, and some of them are very good. There are tons of literature on the subject, a lot of free videos on youtube, so if you want you can prepare on your own. Get into the terminology, understand the boundary values, test cases, checklists.
Testing of mobile applications. All the same as with the frontend, but knowledge of mobile platforms, what they are, what emulators and simulators are. You also need to know how mobile devices behave (when turning GPS on and off, during an incoming call, or when switching windows – lots of nuances). There is less literature on the subject, but it is available. As well as there are videos on the subject of mobile testing.
Autotesting (fullstack). I want to say right away that I am not talking about pure automatologists, who are more likely to be developers than testers (such people who are given ready scripts, thoroughly written, and they write autotests for these scripts). I now want to talk about hybrid autotesters. Those who study the product, check it by hand, and know the documentation, and can automate themselves what is needed. This is such full-cycle testing, for which you need to know well both the basics of testing (everything I mentioned in the part where I told you about frontend), and analytics a bit, and one of the programming languages + at least one of the testing frameworks. It’s very hard to guess about the language here. If you already know the basics of any, it’s worth developing in this direction. If not, the easiest way is to take Python+Selenium (there are excellent free courses on Stepic and a lot of other information). The most common testing is in Java. C# is also starting to gain popularity, sometimes there are vacancies on Kotlin and so on. The most important thing is to make a decision and move in the same direction, because you will be constantly lead astray by vacancies, which will indicate not the language you are currently studying and it will seem that all for nothing.
Load and performance testing. These people themselves are sometimes referred to as load testing. This is a terribly interesting part of testing, which requires a good technical background, ability to work with test benches and test environment. You need to learn what is Docker, JMeter, know one of the programming languages (not relevant for all jobs), understand what metrics are, understand how to calculate the load, and in general – it’s a fairly narrow specialization, which is not very relevant to the testing (although no, the concept of boundary values for load specialists, of course, there is). I do SOAPUI load testing myself, but only because it’s the main tool in our project. So if you’re already using it, you can try to fiddle with LOAD tests in it. In fact, on our links page we have a whole section about load testing. For me personally it’s one of the most interesting ways of development at the moment.
Game testing. Being a game tester is difficult for two categories of people – addicted gamers and those who don’t play at all. The first will quickly lose the taste of the game, and the second will simply suffer, trying to figure out what the game is in general and will not be able to understand their users. Others may even enjoy testing games, despite the fact that there are just as many boring moments and bureaucracy in this type of testing as in front-end testing. For gamedev, you need to know the same set of basic things as for regular testing (boundary values, testing methods, be able to write test cases, and all that). Those. regular testing courses work here. And, of course, you need to know how games are built (logic, scenarios, user expectations).
Mobile game testing. Just a variant of the point above – in addition to all of the above, you also need to understand Android / iOS, know what to expect from games on phones, study various simulators and emulators, know how the phone works (bluetooth, gps, incoming calls, pushes, etc.).
Leading a team of testers. On the one hand, the leader does not need to know everything. In general, this may not be the most talented tester or automation engineer. But on the other hand, you need to go into leadership and mentoring with a good background and field shooting. Those. without working in pure testing, going to team leads is probably not very good (although, perhaps, there are positive examples. But if you came to testing and realized that you want to grow towards leadership (not every person feels such a desire), then you should in addition to testing theory and at least a year of work, it would be nice to take courses in test management, test design, test analytics, since in the realities of small teams, the team leader embodies all these roles at once and performs all these responsibilities. on mentoring in IT, since there are some nuances here.Everywhere team leaders, leaders of the testing group, or managers of the testing department are engaged in slightly different things – someone is engaged in checks, someone for there is no time for this, but everyone has common moments, and you need to learn to be a leader in the same way as we learn programming or a foreign language.
Testing of devices (more precisely, testing of software associated with devices). This is a special kind of testing. Firstly, such vacancies are rare and therefore it is impossible to guess in advance what to study. But of course – everything is the same as for normal testing. All the basics, theory and truths worn to holes will work here too. Once I tested a fitness bracelet that is made in St. Petersburg, and it was a strange but interesting experience.