Guide to the Profession of a Tester: What a QA Specialist Does, How Much He Earns, What He Should Know and Where to Study
The tester position is considered one of the easiest ways to quickly enter the IT industry. There are rumors that the profession is relatively easy to master, the job of the tester – do not kick the lying guy, and pay a specialist in software testing is almost like a computer programmer.
As far as this information is reliable? Let’s look into it.
Who is a tester, for what he is responsible and what he does.
The software tester is planning and performing application testing, debugging code, improving the usability of programs. They often add the Latin letters q and a to the name of the profession: qa tester. The name qa engineer is also used. Latin letters hide the essence of the tester’s activity. Read more below.
What is a tester responsible for
QA is derived from the English word quality assurance. This is a part of development, which manages the quality of the product. QA is a broad notion and the work on quality assurance begins long before the first line of code of the future application is written. In a perfect world, a quality assurance engineer works on the product if not at the idea generation stage, then at the market research and target audience needs study stage.
The broad concept of QA includes another activity: QC, quality control or quality assurance. QC engineers control the product at the stage of development and support. Software testing is one of the tools of quality control. That is, the tester checks the application as part of the quality control (QC) activities that are part of the Quality Assurance (QA) activities.
Broadly speaking, testers are involved in creating useful software for users. To be more specific, testers monitor the quality of the applications the organization is working on.
What a tester does
As stated above, testers test software. Let’s break down how they work.
There is manual and automated software testing. Accordingly, manual testers test applications manually, while automated testers work with software.
A manual tester essentially manually mimics the user actions of an application. The specialist makes sure that the program works as expected in different interaction scenarios. Manual testing is sometimes called behavioral or black box testing. But automated tests, too, are most often done using a black box strategy.
A black box strategy is an approach in which an object is tested without using knowledge of its inner workings.
When planning behavioral tests, a specialist takes into account the technical requirements for the software. Example: The specification specifies that after a new user registers, the application sends a confirmation email to the specified email address. A tester registers in the application and checks whether the appropriate email has arrived.
Manual testing is the easiest way to evaluate the quality of an application. Manual testing of an application is an “expensive” operation, as the speed and accuracy of checks is limited by the capabilities of testers.
Automated testing involves testing applications with software. This does not mean that testers are not needed for automated checks. On the contrary, an autotest expert should know and be able to do more than a manual tester.
Here’s a rough description of an automated testing expert’s job. First of all, he chooses the test cases or application features to be tested. Usually for autotests, they choose functions that are critical to software operation, for example, payment processing, and saving user data. Autotest is appropriate when repeated tests are required or when the application function needs to use large amounts of data to test it.
Then the tester selects the tools and plans and implements the test design. At this stage, the specialist prepares the data for the tests, configures the tools, and sets the testing schedule. Tests are run, and test results are automatically recorded. The specialist analyzes the data and passes the information to the developers.
Test automation saves organizational resources. It allows you to re-test applications with minimal effort, requires less time as compared to manual tests, and reduces the number of errors.
Bottom line: testers control the quality of software. This activity is part of the QA – Application Quality Assurance work package. Testing can be manual or automated. Manual testing involves checking the application manually, while specialists use programs for automated testing.
Jobs as a tester: where QA-engineers work, how much they earn, what vacancies are on the market
Testers work in teams that are involved in software development. These are rather medium and large companies that make their own product or work on an outsourcing model.
QA engineers and QC testers are often hired by teams that use DevOps. In such teams, software development, testing and support is done in cycles using Agile or Scrum approaches.
How much do testers earn
According to QA engineer Anton Yakutovich, there are several levels of testers on the market. Beginners earn less than $600 per month, medium level specialists earn from $1500, and experienced specialists earn up to $2300. Extra-class test automation experts can expect salaries starting at $2300 per month.
As of spring 2021, hh.ru has 6646 vacancies for the query “tester” in all regions of Russia. At the beginning of 2020, there were twice as few vacancies in this field. Companies such as Sberbank, Beeline, MTS, Magnit and others are looking for employees. The maximum salary is 400,000 rubles per month. The minimum wage indicated is from 50,000 rubles per month.
Most of the vacancies are open in Moscow and St. Petersburg. But testers are also needed in the regions. For example, in the Novosibirsk region there are 293 vacancies for testing, in Tatarstan – 219 vacancies, in the Sverdlovsk region – 210 vacancies.
Testers can work remotely: on hh.ru there are 1,614 vacancies for remote workers. Before the coronavirus pandemic, there were only 215 vacancies for remote testers on hh.ru. Most employers want to see candidates with at least minimal experience. But 600 vacancies are suitable for novice testers with no experience.
How to become a tester: what you need to know and where to learn
In this section we talk about the necessary knowledge for testers and about training. It is important to understand that the requirements for applicants differ from company to company, so below you will find generalized information.
What the tester should know and be able to do, and what soft skills this specialist needs
First of all, the expert must learn the basics of testing. The classification of testing, methods and tools, and the development of test scenarios – that is the basics with which prospective QA-testers should begin their introduction to the profession.
You’ll need knowledge of the basics of programming, the HTTP protocol, the ability to work with databases and version control systems, at least a basic knowledge of HTML and CSS.
Tester should know how to work with the command line, know browsers and developer tools. You will also need an ability to work with automated testing tools such as HP-UFT (formerly QTP), Selenium, Sahi and so on.
Specialists name various soft-skills testers need to have. Specific to this occupation-specific soft skills may include attention to detail, critical thinking, the ability to analyze information.
Where to study testing
There is no testing profession on Hexslet yet. Nevertheless, we have courses and intensives that are useful for future testers. Here are some of them:
- – Frontend Testing Intensive.
- – JS testing track.
- – PHP testing track.
- – Command line basics.
- – Version control systems.
- – HTTP Protocol.
- – Automatic testing.
- – Advanced testing.
- – English learning.
You can also look at training programs at other schools. For example, there are courses for future QA specialists at Tinkoff Education, Netology, GeekBrains, Skillbox, and other Russian-language schools. And if you speak English, you can take courses at well-known English-language sites, including Udacity, edX, Udemy, Coursera, and so on.
To summarize: to work as a tester, you need specific knowledge, including the basics of testing, the basics of programming, version control systems, automation tools, and so on. Part of the knowledge would-be testers can get on Hexcelot.
The profession through the eyes of professionals: expert commentary on the work of testers, prospects, and training.
We turned to experienced QA experts to learn about the nuances of the tester profession. They answered several questions about the profession.
Konstantin Vinogradov: one can easily become a tester after a programming course.
Dmitry Dementiy: How does a tester’s job differ from a programmer’s job? And what is common in the work of a tester and a programmer?
Konstantin Vinogradov: It is easier to say how they are similar: both professionals are working to ensure that the output will be a quality product that meets customer requirements. In other respects these are completely different directions of work.
Of course, there are some specializations, such as a test automation engineer or a software development engineer in tests, whose work is almost identical to the work of a programmer. It involves writing code for automated tests and test frameworks.
But in general, the tasks of a tester have little in common with those of a programmer. Analyzing requirements, making a test plan considering the coverage of requirements, performing manual testing and running autotests, preparing reports – this is the job of a tester. If we do not consider the level of simple manual testing, I would say that such work has a much more analytical component than technical one.
Validation of a product requires a rather large outlook from the tester because you have to look at the product through the eyes of a user and understand its needs. One must be able to “be a user” and know his needs, which is not so easy when it comes to specialized solutions. You need to know the industry standards that your solution should comply with and be able to verify this compliance. One should be able to find ways to test compatibility to competitive solutions.
Besides, a different way of thinking is required from a tester. The developer’s way of thinking should lead him to one correct and optimal solution scenario. The tester’s way of thinking leads him to a whole variety of scenarios, of which, by definition, there are more.
Once again, we don’t consider automators and developers in testing because they are, in my opinion, developers, not testers after all.
D. D: Which is easier to become: a developer or a tester?
К. W: Tester. But not because it’s easier to be. Simply the entry threshold is lower. A career as a developer starts as a junior software developer, which requires minimal knowledge: programming language, basic algorithms and data structures, familiarity with frameworks, and so on. To become a Jun, you must already be a developer.
A tester’s career starts at the level of a manual testing specialist: you have a description of the tests, do them by hand, enter the results into the report. Obviously, it’s easier to start in the second case.
D. D: Which is more profitable, financially, to aspire to: a tester or a programmer position?
К. W: Financially – to the position of a programmer. But look at the point about the way of thinking. There is an opinion that he who is born to be a good tester, will be a lousy programmer. And vice versa.
And again, automators stand apart: often their salaries are comparable to programmers. Precisely because they are, in fact, engaged in development, and they are paid so that they really don’t go into development.
D. D: To be able to check applications written by programmers, the tester has to know better code than the programmers. Is this thesis correct or not?
К. W: This very much depends on the approach to testing in a particular company. There are often cases when a tester does not have to look into the code at all. This can be especially true for various embedded solutions or firmware of devices. But the tester needs to know how the product is developed, how it works, and why it is done this way.
D. D: Can a tester position be seen as one of the easy ways to get into IT?
К. В. Quite.
D. D.: What tools do testers use: environments, editors and IDEs, libraries and frameworks?
It all depends on the product stack and what you automate your testing with. I have:
- – Linux/macos;
- – VScode;
- – Pytest;
- – Jenkins;
- – Gitlab.
D. D.: Where can I learn to test software? Is it possible to become a tester after a programming course?
К. W: I will not give examples of courses, because I can’t say anything about them. All of my fellow testers learned right in the field. After a programming course you can safely become a tester. As well as after other courses. Because the professions reflect a completely different approach.
Stanislav Urupin: testing can be learned only by practice.
Dmitry Dementiy: How is the work of a tester different from that of a programmer? And what is common in the work of a tester and a programmer?
Stanislav Uryupin: Avoiding formal definitions that refer to different standards, the description of the difference between the programmer and tester can be reduced to the following: the programmer’s job is to create applications, while the tester’s job is to ensure their guaranteed performance. Nevertheless, these professions share a common goal – to create complete programs that other people and systems use.
D. D.: Which is easier to become: a developer or a tester?
С. U.: To start a career in IT is easier to become a tester than a developer. But in recent years, the complexity of developed programs and requirements have increased significantly. These changes could not but affect the work of the tester. In connection with this, the threshold of entry into the profession has risen.
It is no longer enough for a novice tester to know the theory in general terms and how test cases are created. You need to know a lot: starting from how the specifics of work in a particular area of testing are arranged until an understanding of modern development methodologies.
D. D: From a financial point of view, which is more advantageous to strive for: the position of a tester or a programmer?
С. U.: In my opinion, the wrong approach to the choice of profession, when the main criterion of choice is the level of salary. There is a catch in this position: it is very difficult to develop dynamically in the professional field, the interest in which is not at the top of the motivational choice. And without developing dynamically, you can’t count on a real growth in salary expectations. In any field of IT high-level professionals can get a decent salary.
D. D: To be able to check the applications written by programmers, the tester has to know better code than the programmers. Is this thesis correct or not?
С. W: This thesis is not true. No one else can or should know code better than programmers. Testers work most often according to the black-box strategy when direct access to the code is denied for analysis. But the tester has various means and tools available to him to determine whether the programs work or not.
D. D: Can a tester position be seen as one easy way to get into IT?
С. W.: You can, but only in part. It all depends on the specific objectives. For example, often newbies consider work in testing as an intermediate stage before moving on to development. Testing and development are different fields of activity. In each of them, there are specific features without which productive work is impossible. Therefore, you will inevitably have to spend resources on immersion in the subject area.
If the goal is to get into developers or other areas of work in IT, such as DevOps or analytics, it is worth separately studying these areas. But whether you will be able to do so without reducing the productivity of work in testing, the question is open.
D. D.: What tools do testers use: the environment, editors and IDEs, libraries and frameworks?
С. U.: The field of testing is vast, and there are many areas in which to find their own tools. There are tools that are used by testers regardless of the direction. For example, test management systems or bug tracking systems.
D. D: Where can you learn to test software? Is it possible to become a tester after a programming course?
С. W: Testing, like many other things, can only be learned by practice. If you do not have experience with which to start a career, it is worth studying the theory and use ready-made solutions for practice. For example, choose a website or a mobile app and try to learn how to make test cases or study for possible mistakes.
It is necessary to realize that no courses in the world can guarantee a job unless a person tries to find a job himself. If you have successfully completed courses in programming, and there is a desire to try your hand at testing, the knowledge gained on the courses will facilitate entry into the profession, because the areas of work are closely linked.
Conclusion: employers need testers, and applicants need to learn and practice
A tester is not a man off the street, but a skilled professional who needs to know and know a lot, constantly practice and develop. The employers are ready to pay a decent wage to specialists in computerized tests. To become a tester, you need to learn on their own or on courses. According to experts, a tester position can be considered one of the easiest ways to enter the information technology industry.
In programming, they say you have to keep learning even just to be in place. Develop with us – there are hundreds of courses on development in different languages and technologies on Hexslet.