Software testing education

Software testing education image from website www.aredel.com
Photo: freepik.com

Where to study to become a software tester

The popularity of the profession is growing, but universities do not yet have such a program.

Various courses are now trying to fill the niche of systematic education in the field of software testing.

You can study my free course

«API Testing Lessons»

But it is far from complete, so you will need other sources of information.

The plus is that there are very many of them, some advertise themselves quite actively on the internet.

Advertising costs money, so such courses are not cheap.

You can take the introductory part of Yandex Practicum for free; there you can understand from simple examples what a manual tester does. That will be a good start.

I also recommend studying the free courses on the website stepik.org

An incomplete list of the courses and websites I know of looks like this:

There are far more such resources on the internet. Making a mediocre testing course is quite easy: for half the time you can just talk about theory, which is already abundant on the internet.

For example, you can spend several lessons discussing types of testing, different approaches and so on - all of this can be found on youtube or in free sources .

It is hard to make good courses, with simulators, analysis of solutions and analysis of students' actions. Try to find good ones. If you find any - write to us in Telegram

Specialization

Depending on the area of testing you specialize in you may need deeper knowledge of the subject.

For example, a web application tester often needs knowledge of the following disciplines:

Which are not particularly needed in other areas.

Self-study of Web technologies

If you want to work in Web - I recommend understanding how it works at least at a basic level.

To do this, order test hosting from the company Beget - it is free.

Take any free HTML and CSS course and publish your website publicly, however simple it may be.

Seeing the result of your work on the internet will raise your motivation to keep learning. While you solve the problems of creating it - you will train patience and the skills of finding information on the internet.

Java or Python

If the job involves writing complex scripts, for example for load testing, it is useful to learn Python or Java

It is useful to check in advance how current what the courses promise to teach you is.

For example: as of January 2021, the current version of Python is 3.9.1

Python 3 differs from Python 2 and is not backward compatible with it.

If a course offers to teach you a version of Python below 3.0, this should raise suspicion, since knowledge quickly becomes outdated and you should learn what is current at the moment.

If you plan to grow into automation or load testing , sooner or later you will have to make a choice in favour of some programming language.

Often this choice has already been made for you by the employer.

Example: if the company uses Python, then it is logical to learn load testing with Locust and if it uses Java, then you need to learn JMeter

Many testers will find knowledge of working with databases .

If the product that you will test is intended for end users, for example, customers of an online store, then knowledge in the field of UX/UI will be useful to you

General or specialized course

If you have the desire and the opportunity to take paid courses, then you will have to choose between a general testing course and a narrowly specialized one.

If you have the time, you can take all the courses, but usually you need to choose: a general course is fairly neutral, there you will be told the theory, taught how to write bug reports and create test plans. All this is necessary to know how to do, but it is hard to impress anyone with it.

A specialized course focuses on one area. There it should be known in advance which tools you will be taught to use. Perhaps these are exactly what your future employer needs, and perhaps not.

Constantly monitor the requirements on job search websites.

If you decide to take a specialized course, then as of the end of 2020 I see that testing courses are best segmented at the Otus company.

They were among the first to realize that instead of just a general «Testing» module they should split it into more specific ones:

and so on, see them on their website .

I advise not to sign up for additional courses until it becomes completely clear in which direction you need to develop.

Choosing a job

Choosing, not searching

Suppose you already know something and are now choosing a job. I deliberately write «choosing» and not «searching» because I want to talk not about where to look, but about where you should work.

The first position for most people will be related to manual testing (Manual Testing) that is normal. You need to get drawn into the atmosphere of IT, study the workflows (Workflow) and the product (Product)

And already here you can get stuck in your development - fall into the trap of non-transferable skills.

Non-transferable skills

Your company may have some software, but not be an IT company in the usual sense. Perhaps the software is developed somewhere else and you will just need to constantly click the right buttons and write reports. Or the software is in-house, but it is very complex and there is a whole manual testing department in no way connected with development and automation.

In such conditions growth is possible. But it will be connected with going deeper into a specific product and the methods accepted in a particular company.

This is all the so-called non-transferable skills (Non-transferable skills) which are needed by only one company. Investing only in them you depend entirely and completely on the success, policies and management of this particular company.

Choosing a job where the main growth is precisely in non-transferable skills is rather risky.

Transferable skills

If, in addition to studying the product, you use some popular tools, for example:

or at least write the simplest scripts, then you are improving your transferable skills (Transferable Skills)

They are called transferable because they can be «transferred» from one employer to another.

Try to find a job in which transferable skills occupy a significant place.

When you study the product - you invest your time in the company. When you gain useful skills that you did not have before - it is the company investing in you.

IT is a huge layer of knowledge and skills in which you can learn all your life. If you want to remain attractive on the job market - look for a job where your skills grow. For a manual tester the most obvious directions for growth are test automation (Test Automation) and management (Management).

It is hard to understand in advance whether there will be growth in the company or not. But in six months to a year you can already assess the prospects, and if there is no growth, including financial growth, even after two years, you need to think about a new attempt.

English

If you have basic English - take a look at «Software Testing and Automation Specialization» or other courses on the website Coursera

If you do not know English even at that level - I advise you to start learning; many job openings require knowledge of English. Try online, fortunately there are plenty of websites: Skyeng , Englex , Tetrika find a tutor on Profi.ru or offline courses in your city.

However, do not be mistaken, the English language will not single you out of the crowd of applicants:

Most of your competitors for the job already know it.

Rather, a lack of English will throw your resume to the end of the queue.

Knowledge of English will give you the opportunity to learn from English-speaking specialists, for example on YouTube, and will put your resume in the general group.

Article author: Andrei Olegovich