Who is a QA engineer?
QA engineers are employees who control the quality of a software product. Also QA engineers test the program for typical and potential errors before it is transferred to the end user or customer. Finding and hiring QA engineers may be more difficult than hiring developers, because this work involves independence in testing together with deep integration into the product development process.
The "price" of such a specialist depends on the required level of skills, experience and the project's size. Therefore, before opening a vacancy for the position of a QA engineer (or team), it is necessary to make a well balanced list of requirements in order to select the most suitable candidate.
Why do you need a QA engineer?
QA engineers are often confused with ordinary testers, as one of their duties is to verify that the program meets the stated requirements. Such tests involve the search for errors' causes and their possible solutions, which requires the skills of both testers and developers.
The key difference in their work is that testers cannot directly impact other participants in product development. Their task, as a rule, comes down to detecting bugs, documenting the conditions for their reproduction and sending it to the development department. Also, testers work only with project builds and don't have access to the source code.
QA engineers are in some way "auditors" for the development team. They interact with all project development participants, from programmers to designers and visionaries, in order to completely understand product targets. Depending on the stage of its readiness, they check a program for fault tolerance, stability and interface user-friendliness. Also they often need to know the development details (business process, team structure) and the product's requirements (customer goals). Based on all this data, QA engineers form ideas about the patterns of using the product, which will be used for next quality assurance and testing.
Types of QA engineers
In IT the QA specialists may be grouped according to different criteria, but the most popular is based on how they perform their work. All of them use different testing scenarios, which can be conditionally divided into 2 types: automatic and manual. Accordingly, there are QA manual and automation engineers.
Manual testing is carried out, at the early stages of product development, when it is not available as a standalone product yet. During these tests a program's key algorithms and/or special components are checked and evaluated. Therefore, it makes sense to hire such testers as early as possible as permanent team members. This will avoid the traditional "pre-release" rush, all problems will be identified in early stages of the development.
In automatic testing, tests will be performed by previously created test scripts or even some emulators adapted to certain conditions (platform or environment). Such tests can significantly speed up testing, but require a stable project structure. Therefore, QA automation engineers often join in the middle or at the pre-release stage.
For a large QA team, it is common to divide responsibilities, e.g. QA tester, QA engineer and QA analyst. The differences between these types are rather arbitrary, however, the following distribution of responsibilities can be distinguished:
QA tester - is directly involved in conducting tests and collecting information about their results. Then the QA tester sends this information to the QA analyst.
QA analyst - analyzes the results obtained from testing. It is his responsibility to monitor the correctness of the implementation of the tests and evaluate the results for errors. He can also use the received data to compile new tests.
QA engineer - main QA specialist who can independently compose, execute and analyze tests. When working with a QA tester and QA analyst, he is involved in creating a testing strategy, since he has the most complete information about the requirements to the product. He can take a personal part both in testing and in interpreting the test results and interact with other members of the development teams about solving detected problems.
Where I can recruit a QA engineer
There are three ways to get a QA specialist for your team:
1. Hiring a QA engineer on staff. This is the most convenient way, since you can personally select a candidate who will suit your project features best. This employee will be acquainted with all project and workflow details together with direct participation in the development. Also, he will be quick and effective in communications with other employees which reduces average time on solving the problems. The main disadvantage of this solution is the difficulty to find the right candidate and the additional costs of implementing the "social" package.
2. Outsourcing. "Quality Assurance as a Service" is one of the most demanded IT outsourcing services. In this case, you can hire a QA engineer (or team), without enrolling them in the company's staff. There are a large number of companies on the market that offer such services with trusted case studies and customer reviews, so finding the best for your needs should not be difficult. In case of such cooperation, you sign a contract with a QA service provider, specifying all the details and stipulations of your interaction: from the number of working hours and work methods to dispute resolution and payment principles.
The disadvantage of this method is that, in such companies, as a rule, one QA engineer can work simultaneously on several projects. As a result, they often work according to the "pipeline" method and don't take into account the individuality of each project. Also, hiring an exclusive outsourced QA engineer will be more expensive than a full-time employee, since the price of his services will include his company's commission.
3. Freelance. Freelancers are kind of outsourced QA engineers, but with a different interaction model. The main advantage when you hire freelancers is their price - their services are cheaper, since in fact you are directly working with a contractor without intermediaries. At the same time, finding a real specialist among thousands of "ideal" candidates who will really meet the requirements may take a lot of time and effort. Also it is difficult to monitor NDA compliance by freelance engineers which can be critical for commercial projects.
How much does it cost to hire QA engineer
Within the QA industry, the most expensive QA engineers are those who can perform automated testing, then manual testing engineers, QA analysts and QA testers.
Although QA engineers don't tend to fall into the traditional Junior/Middle/Senior division, work experience is a key factor influencing their salary expectations. In addition, it is considered a good practice in the industry when a QA engineer grows out of an ordinary developer or even a tester. Thanks to this, even a novice QA engineer has the basic experience required to get started.
The expected salary of a QA engineer depends on the level of his qualification, the complexity of the project and the region where you hire him. For example, in the USA, QA engineers are offered salaries ranging from $50,000 to $136,000 per year. Based on open positions as of the end of 2022, the average QA engineer salary was around $81,000 per year. At the same time, for JavaScript developers, the average salary will be slightly higher ($89K), but its upper limit will be only $127,000.
In other regions, the salary distribution will be the same as for other IT professions:
-
Europe is slightly cheaper than the US ($6000/month in Germany), with the most QA teams located in its Eastern Europe ($2500/month in Czech Republic).
-
Asian region - recently a lot of high-quality QA engineers have appeared here, which cost more than Eastern European specialists, but due to high competition, you can still find specialists here for $600/month.
-
Latin America is geographically closer to the USA, and at the same time much cheaper ($1500/month in Brazil), but engineers here still find it difficult to compete with QA engineers from other regions due to the low popularity.
How to write a job posting for a QA engineer
A vacancy for a QA engineer should begin with a short text description about the project including:
-
type of product (game, program, web application)
-
the target platform (desktop or mobile OS)
-
the purpose of a product
Then follow the requirements for technical qualifications, which are allocated to the hard skills section and are the most important in the vacancy. The better the QA engineer is familiar with the tools and solutions used in the project, the more relevant experience he will have. It is recommended to write which versions of programs and frameworks you use at the current stage of the project development, as sometimes this is critical for competence level assessment.
In addition to the technical stack, hard skills also may include a list of software that is used to organize the workflow. These can be various schedulers and issue trackers like Trello or Jira.
In addition to the technical background, it is important for QA engineers to have certain soft skills. Depending on how the testing process will be built on your QA project, the engineer will need to communicate with your team members or resolve disputes. The key qualities for any QA engineer will be attentiveness, teamwork and an analytical mindset.
At the end of the vacancy, it makes sense to indicate the benefits provided (insurance, payment for transport, etc.) and the expected work schedule. Also, if you are planning on hiring in several stages, do not forget to write about it in the final paragraph of the job description. Data about estimated salary is optional, but will be positively appreciated by candidates when they will read your job posting.
10 Typical questions for QA engineer interview
1. What is a test plan?
This is a document that describes how the test will be carried out, what will be used for this and what results of the test are expected.
2. What is a test strategy?
This is a document that describes the testing methodology, the frequency and detail of these processes, contains a description of the areas of testing and a list of tools used. The Test Strategy is the main document for compiling the test plans.
3. What testing methods do you know?
Many options are possible here, but the most typical are: alpha and beta testing, unit testing, functional testing, black box testing, white box testing, cross platform testing and so on.
4. Does QA may have an impact on product final form and view?
Yes, if it is required to fix detected functional or UI/UX problems in software.
5. How do you classify the detected bugs (buggies)?
By priority (urgency to fix) and by severity (time needed to fix).
6. How is Agile testing different from regular testing?
Agile testing is performed in parallel with the development of a program block, while ordinary testing is performed only after the block is ready.
7. What is a quality audit?
Checking the performance of a QA engineer (or team) by an independent specialist or team.
8. What is the difference between QA and regular testing?
QA implies control and the possibility of making changes to all technological aspects of the project. At the same time, testing is only one of the methods of product quality control.
9. What is a "bug release"?
This is a bug discovered during testing that was left in the release version of the product, because it's fixing will cause more damage than the release at this point in time.
10. What testing software do you know?
Autify, TestSigma, Kualitee, testRigor, Mabl, Kobiton, TestRail, SpiraTest, Selenium, NetSparker and so on.