Who is Quality Assurance Engineer? Not only a person, but also a process.

Quality Assurance Engineer

Who is Quality Assurance Engineer?

Quality Assurance (QA) is a person whose tasks are testing, test planning, risk assessment, and developing processes to ultimately obtain the highest quality of software. To put it simply, it is someone who thinks of a software/application as a complete product with a specific result.

quality ssurance

On January 15, 1990, nearly fifty percent of the AT&T network in the United States went out of service, and more than 75 million calls were not made within an hour. It might seem the hacker's fault, but the truth is, a bug was lurking in a software update where one line caused a catastrophic domino effect.

In retrospect, AT&T lost a lot of money and image. So if it happened at such a large company, it can also happen to you. But don't worry, we'll introduce you to our Guardians - meet Quality Assurance Engineers.

Do you mean the developer doesn't test his code?

Developers often at the stage of task analysis, implementation, and code review, check whether their solution works properly and does not contain errors. Programmers are tied to their code and may not always be able to catch their own mistakes, therefore, in the IT world, each code is checked several times at each stage. First, developers write tests to check the code, then send it to Code Review, where the code is checked by the rest of the team, and finally, tests are carried out by people who specialize in finding defects and conduct audits of compliance with documentation and standards.

Why do you need QA in your project?

The Test Engineer's task is to ensure the best possible quality of the software is delivered to the client. This means nothing more than making sure that the application works according to the specifications, that it does not contain errors that would prevent the use of the application, as well as that may be inconvenient for the user in terms of navigation (UX). Their main task is to make sure that everything that was supposed to be in the application is there and works as it should.

In short, this is the most annoying user of the app who keeps complaining about it.

quality assurance

He cooperates in the project with people in positions such as:

  • Analyst / Product Owner

A person who provides QA with knowledge about the operation of the tested software/application.

  • Test Manager

Decides what tests to perform, when and where to report them.

  • Developer

QA tests what the developer previously implemented, so close communication between them should be a natural thing.

Quality Assurance

source: QA vs Devs

QA outsourcing

IT outsourcing services are not only the employment of the development team. If you need to expand your team with a QA Specialist / Engineer, you can also use outsourcing in this case. First of all, it is less expensive, and secondly, a more effective solution than the implementation of a person or a team responsible for QA within a given organization.

Everyone makes mistakes. We are only human beings, which is why we test the application to provide software of the best quality.

Quality Assurance is also a process

Of course, QA is not only a person, but also the entire process that begins at the stage of project analysis, and is present through all stages of design, implementation, testing, and implementation. These include:

  • Analysis of the "what to do to improve quality?
  • Promoting the role of quality
  • Proper selection of tools
  • Decision making and standard-setting in a project

quality assurance

"Finding and fixing a software bug after its implementation is often 100 times more expensive than finding and fixing it during the requirements analysis and design phase."

Source: Software Defect Reduction Top 10 List, Software Management Jan 2001, Barry Boehm, Victor R. Basil

The more time we spend on analyzing and carefully considering a project, the less it will cost us to fix it. We, as Qarbon IT, try to catch logical inaccuracies already at the design stage. Our developers introduce the processes of testing their code, and then the last line of defense in the form of QA conducts functional tests and writes automatic tests so that the number of defects that appear in the acceptance phase is as small as possible.

You don't have QA in your team? Change it!

If you still don't have a Quality Assurance Engineer in your team, after reading this article, it's time to change it! This is the core of the project who will ensure that your finished product released on the market will have no errors. Thanks to it, you will save time, money, and possible stress.

Szymon Stanisz