JavaRush /Java Blog /Random EN /There is such a profession - checking software. How to be...

There is such a profession - checking software. How to become a QA Engineer

Published in the Random EN group
Continuing the series of materials about professions in demand in the IT industry and related to software development, today we’ll talk about QA engineers. There is such a profession - checking software.  How to become a QA Engineer - 1So, Quality Assurance Engineer: who is he, what does he do, what places does he live in? First, some basic information. The main responsibility of a QA Engineer, that is, a software quality assurance engineer, is to monitor every stage of the software development process so that the final product meets all the highest standards of the developer company, or at least simply functions more or less decently, without leading users to the brink burning with bugs and shortcomings. The task of a QA engineer, speaking generally about the function of this specialist as part of a software development team, is to monitor the quality of the approach to development. It is also the responsibility of the QA person to ensure that the software product works properly before it is released and made available to the general public. Thus, a QA engineer is involved in all stages of software development: from writing source code to testing and release management, and even directly influences them.

QA Engineer as a career - prospects and expectations

From the point of view of purely employment prospects, QA can definitely be considered a very, very promising profession and at least a good choice for a career in IT. The number of positions for specialists in this field is expected to increase by approximately 4-5% over the next few years. According to a number of studies of employment in the IT field, the QA Engineer profession in recent years has been among the leaders in the gap between the number of open positions and the number of specialists in the market, that is, the demand for QA specialists significantly exceeds the supply (with the exception of junior positions, because applicants for there are almost always more of them than open vacancies).

Salary level

For QA Engineer specialists, the salary level is high compared to the average in all professions and generally corresponds to the salary indicators in the IT industry. Thus, in the United States, the average salary of a QA engineer is $88,510 per year or $42.56 per hour, according to a 2017 report from the US Bureau of Labor Statistics. However, the top 10 percent of paid professionals in the field earn $139,390 per year or $67.02 per hour, while the bottom 10 percent earn $46,240 per year or $22.23 per hour. In our area, the salaries of QA engineers in figures look less impressive, but still impressive in comparison with general statistics: the average monthly salary of QA specialists is about $1,700 per month in Ukraine, 110 thousand rubles (about $1,630) per month in Russia and $1000 in Belarus. There is such a profession - checking software.  How to become a QA Engineer - 2

Responsibilities of a QA engineer

Although in general QA Engineer is a fairly general definition of the profession, which includes a number of positions within the development team with more specific specialization, there are a number of tasks that, in most cases, are part of the responsibilities of a QA engineer. It is also worth noting that QA engineers are most often divided into two main “subspecies” - manual testers and QA automation specialists. The differences between these two positions are quite large (more on this below), as are the skill requirements for applicants for these positions.
  • Documentation of test cases.
  • Conducting and documenting risk analysis.
  • Document progress and test results.
  • Preparation of automated testing.
  • Developing standards and procedures to determine product quality and release readiness.
  • Detecting errors in a software product.
  • Innovate and optimize overall testing processes.
  • Identifying, localizing and tracking errors throughout testing.
  • Identify potential problems that users may encounter.
  • Performing manual and automated testing.
  • Research and analysis of tested product characteristics.
  • Researching new tools, technologies and testing processes.
  • Reviewing user interfaces for consistency and functionality.

I would go to QA and let them teach me. How to get into the profession?

It should be noted right away that the so-called threshold for entry into the QA Engineer profession is considered one of the lowest in IT, that is, it is quite possible to become a QA engineer without specialized education in one of the IT specialties and even without prior experience in this field. However, of course, they won’t hire someone off the street for such a job. To qualify for a QA Engineer position, you must at least have a basic understanding of software testing and development environments, as well as development life cycles. A higher education would also be a good idea, and graduates who have received diplomas in specialties such as software development, software design or computer science are best suited. There is such a profession - checking software.  How to become a QA Engineer - 3Below are some tips on how to get into the profession for those who are interested in this particular path.
  • Educate yourself

    On the Internet you can find more than enough general information, guides and textbooks on subjects that QA engineers need to know. You can start by becoming familiar with the basics of the disciplines that are included in computer science , since this knowledge creates the foundation for further education in IT specialties.

  • Find yourself a mentor

    Good advice, which is quite often found on English-language resources, but is not very popular here. Nevertheless, the advice is quite worthwhile. Ask one of the experienced “cueers” to help you learn the profession with advice and recommendations, and then maybe with finding your first job.

  • Get ISTQB Certified

    ISTQB (International Software Testing Qualification Board) is an international non-profit organization that offers a range of certifications for testers. ISTQB has developed a testing program called ISTQB Certified Tester, which is now considered the most authoritative in the field of software testing. ISTQB certification is available in more than 100 countries, including Ukraine, Russia, Belarus and Kazakhstan. The presence of such certification will confirm the presence of theoretical knowledge for the employer, and preparation for the exam will require the acquisition of this same knowledge by studying educational materials.

  • Take part in QA Bootcamp

    Bootcamp is a format of educational programs that usually last about several months and are dedicated to training IT specialists in various fields. Participation in such a program will help you quickly and effectively prepare for work as a QA engineer, especially if you already have a theoretical background and/or experience in programming and development. In addition, participation in QA Bootcamp should help you become part of the crowd and acquire contacts that will be useful in your job search.

  • Internship

    Well, another fairly effective way to master all the intricacies of working in QA can be an internship in one of the companies that are engaged in software development and have a solid professional reputation. Over the same few months, you can learn from specialists working in this field not only theory, but also practical features of the profession that are not discussed during training.

There is such a profession - checking software.  How to become a QA Engineer - 4

Tools for working as a QA engineer

In their work, depending on their tasks and specialization, “cueers” have to use a fairly wide range of tools. Let’s briefly go through the most popular categories of QA engineer working tools.
  1. Manual Testing Tools

    So-called manual testers, that is, specialists who test and find errors manually, relying on human perception, must use a whole set of tools, not counting mobile and desktop operating systems and browsers, the work of the program in which must be checked separately.

    • Test management tools (TMTs)

      Test management tools are designed to organize the process of finding bugs and facilitate the creation and storage of reports and other documentation. Among the most popular TMTs are: Test Manager, SpiraTest, HP-ALM (QC) and others.

    • Defect tracking tools or DTTs

      Using DTTs, QA engineers track defects found in a program and generate bug reports to communicate them to the development team. Examples of popular defect management tools: BugZilla, Mantis, IBM Rational ClearQuest.

    • Project Management Tools

      Инструменты для проджект-менеджмента, которые повсеместно используются в Agile-проектах и включают в себя набор стандартных функций, таких How тайм-трекинг, списки задач, wiki-documentацию и т.д., нужно знать и QA-щикам. Наиболее популярным инструментом менеджмента проектов считается Jira. Среди альтернатив популярностью пользуются Redmine, YouTrack и Backlog.

    • MS Excel и SQL-клиенты

      MS Excel по-прежнему достаточно широко используется для описания результатов масштабных тестирований и последующего их импортирования в средства управления процессом тестирования. Более удобной и современной альтернативой MS Excel-у является программа Test Studio. SQL-клиенты применяются в тех случаях, когда QA-инженеру нужно подключиться к базе данных.

  2. Инструменты автоматического тестирования

    QA-автоматизатор (QA Automation engineer) — это другая базовая специальность, являющаяся составной частью профессии QA-инженера. В отличие от “мануальщика,” который тестирует продукты вручную, QA-автоматизатор занимается написанием скриптов для автоматического тестирования программ и проверки результатов такого тестирования. Соответственно, QA-автоматизаторы в своей работе используют собственные инструменты.

    • Инструменты для автоматизации тестирования

      Наиболее популярными инструментами автоматизации тестирования являются: Selenium, TestComplete, Katalon Studio и Ranorex.

    • Фреймворки автоматизированного тестирования

      Вместо создания сложных сред автоматизации с нуля QA-автоматизаторы также могут пользоваться готовыми библиотеками, такими How Serenity (фреймворк на основе Java), Cypress, RedwoodHQ и ряд других.

    • IDE для программирования

      VSCode, Visual Studio, IntelliJ IDEA и другие.

    • CI/CD-инструменты

      Jenkins, TeamCity, Gitlab CE и другие.

Мнения, советы и инсайты бывалых

And finally, a few quotes from experienced QA engineers with honest opinions about the advantages and disadvantages of this profession, as well as advice based on personal experience. “You need to understand that many people get bored with working in QA/software testing quite quickly. After some fairly short time, she stops offering complex tasks that require training and self-development. Another point worth mentioning is that 95% of QA engineers (not counting manual testers and QA analysts) earn much less money, although they perform the same complexity, and sometimes more complex tasks, as employees in Dev and DevOps. The difference in salaries is very large and, in my opinion, it is unfair,” said Charitha Kankanamge, software quality manager at Amazon. “QA positions can be good or bad depending on how seriously the company takes bugs and flaws in the software. Companies that make mission-critical software, on which people's lives often depend, naturally take bugs in their products very seriously and invest heavily in finding them. Working in such companies means good QA positions. Companies that strive to release their products and updates as quickly as possible because they have new features and capabilities that have already been advertised and promised to users tend to treat QA without due attention, allowing users to find errors themselves. These are bad QA positions. Avoid working for companies that have short-term goals, are purely profit-driven, don't pay enough attention to specifications, and don't value QA. Unfortunately, that’s the majority now,” said Brad Harrison, an experienced developer and author of programming tutorials. “A good QA engineer should be a programmer and more accurately understand the specifics of this work, not necessarily at the deepest level. My advice for a career in QA is to find your niche. For example, I chose for myself a niche of working with operating systems, especially mobile and open OS. But remember that QA is a very, very broad field, so you shouldn’t focus only on your niche. Read and study as much as possible, strive to master knowledge in all areas of QA, such as test automation, development and test management, etc. This is the key to success,” advises Brendan Donegan, QA Engineer at Canonical.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION