What is QA-testing and who is a QA engineer?
A tester, also known as a QA engineer, is a specialist who is responsible for ensuring that the released program can survive everything, even if the user tries to use it for other purposes. In this material, prepared with the support of the SECLGroup.com team, we will try to figure out what QA engineers do.
How useful is a QA engineer?
Let’s see what the QA engineer is doing during testing.
Looking for bugs
Bugs are errors in the program. Let’s say we are trying to enter a nickname in the field, but nothing can be entered: no letters, no numbers. The ability to find such errors in unexpected places is the most valuable quality of a tester.
For example, you need to register a thousand accounts. Logging into the platform and registering each account manually is not an option. Boring work is best automated. The more tasks a tester automates, the more valuable he is to the company and the more time he can devote to solving creative problems.
Before starting software development, in a special document – requirements – all agreements are recorded on how the program should respond to each user action, and how fast and safe it should be.
Participates in the discussion of tasks
Companies with a healthy development life cycle tend to discuss the problem first, and only then proceed to implement it. The whole team comes to such meetings, each member expresses the vision of the task. The tester points out potential problem areas:
- what happens if I enter an email with 1000 characters?
- what happens if I upload a pdf instead of an image?
- what happens if I press that red button?
Thus, even at the stage of discussion, the developer understands what behavior of the product needs to be programmed.
Writes test documentation
The most annoying but necessary part of the job. We need to fix how we will check the program and what needs to be done for this. What results do we want to get, what settings to apply, and what scripts to execute in the database? Developers, analysts, or even the customer’s team rely on the documentation. Such documents are indispensable when, six months later, the team is asked to change the old function, the principles of which everyone has already forgotten.
Introduces new technologies
We are always looking for technologies that make work faster, more efficient, and better. For example, by running autotests on my computer, I will get the result in 4 hours, and thanks to the server for remote testing, the same results will be ready in 20 minutes.
Communicates with the customer
As a rule, the tester knows all the features of the program and can answer any questions related to its behavior. It would be a big mistake not to take such a person to a meeting with a client – a tester can give good advice.
Metrics are like beacons for the IT team. If the number of bugs grows, this is an occasion to check the qualifications of the developer and look at the module itself. Maybe it needs to be completely rewritten.
What skills should a tester have?
Judging by the job portal, almost every job requires to:
- know the theory of testing;
- be able to use test design techniques;
- work with databases;
- have programming skills;
- know frameworks for autotests;
- understand the types of application architecture;
- be able to set up and maintain a working environment (deploy a database, raise a server);
- be able to work according to Scrum or Kanban;
- set up continuous integration systems.
It is desirable that the candidate has certificates of passing specialized courses or passing international exams (ISTQB). At first glance, this list looks intimidating. In fact, all this knowledge can be acquired in a year of hard study.
It turns out that QA is the most extensive concept that includes the concept of QC. QC, in turn, includes the concept of Testing. And as a result, we get a kind of “matryoshka”:
Testing – specific actions to check the quality of the product. QC – control over these actions. QA – planning how to make a product of high quality.
That is, he directly tests the product using various testing techniques, namely, a specialist at the Testing level. Other levels are not about direct testing, but about its planning and control.
Sometimes (especially in smaller firms) the job responsibilities of a “tester” include responsibilities from all three areas of quality assurance. That is, all three roles can be performed by one specialist.
And in the end, an important digression. When looking for a job, do not focus on the job title. It is not uncommon for HR managers to write the title without knowing the difference between the three terms. Therefore, always pay attention to the description of the responsibilities of a particular job.