The importance of QA in Soluntech's development processes

 

If you know something about the development process, surely you have heard of the QA or testing stage. However, most people are not very clear about what it is for, how to do it and why it is essential to include it in any development process.

We will discover what tester is and what they do. Their role in the development process and how Soluntech carries out our testing process to deliver the best solutions to our clients.

What is a QA?

QA stands for quality assurance, so simply speaking, this person is the quality analyst who makes sure the product is in optimal condition to be used. The analysts' function is to test that the solution is easy to use, intuitive, has no bugs or errors, and is correctly optimized. All this before the final product is launched on the market.

Contrary to what many think, QA does not only appear at the end of the development to work with the finished platform. They are part of the entire process, testing every new development. It's especially important to ensure that the newly developed parts don't break the old ones. 

A QA does not necessarily have to be a developer or have code knowledge. However, having this knowledge is desirable since it will allow them to better analyze the results when quality tests are done.

What does a QA do?

Now, we will explain what a QA does in a little more detail.

As we said, QA should ideally be part of the entire development process. Whenever a sprint takes place, QAs are thinking about the possible test cases they need to run for that sprint. When the developers have finished, the QA performs the tests and checks that everything works correctly. If it doesn't, they report a bug, and the developers must correct the issue to continue with the development.

The information generated with the tests is not only used to correct issues. The reports make it possible to find recurring problems in a code or know which developers make the most mistakes. This information can help optimize operations, invest in developer training, or find patterns that hinder processes.

Why is it important to have a QA in the development process?

Many people think that QA is unnecessary in a development process and that the developer can do the tests and ensure a bug-free product. While it's ideal, this kind of thing rarely happens in real life. Usually, every digital solution has at least one issue at some point, and developers are not always able to identify it.

In other words, the mission of a QA is to use the platform and think of all the possible actions that a user can take and see if it works correctly, and lead the user to the desired actions without errors, crashing, or stopping working. If the results of the actions are not as expected, the issue is reported to the developers, who have to find a way to fix it.

These quality tests are not carried out at the end of the development when the platform is fully developed but during the development process. Testing the developed parts without needing the entire platform to be ready helps identify issues, and bugs are less likely to be found when the platform is finished.

grup of developers working

How does the Soluntech QA process work?

At Soluntech, we care about optimizing quality processes more and more. For this reason, whenever we start a new project, we assign a QA to the development team to be part of the process from the beginning. Likewise, we look for ways to optimize the management of our processes so projects, test cases, and results can be centralized and don’t require a manual process.

Although many believe that the automation of quality processes is the most common, most tests are still done manually. In the future, we hope to automate some repetitive processes that must be constantly tested during development.

To make our QA process more efficient, at Soluntech, we use Testlink. An excellent free and open-source test management tool that allows us to have multiple users and projects, each with its own test cases. In addition, it allows integration with other platforms, such as Jira, for the issuance of tickets and the possibility of drawing project reports where relevant data for production can be analyzed.

Soluntech's QA process consists of 6 steps to ensure optimal results and that, consequently, the necessary actions are taken:

  1. If the project does not exist, we create it in Testlink or select the project to which the test cases will be performed.

  2. Then, we create a test suit (which is like a folder) with the name of the task/story we will test.

  3. Within that test suit, we begin to create test cases that are made up of the step-by-step steps of what one must do to obtain the expected test result.

  4. Once all the test cases have been created, we make a test plan (where we will add all the cases we will execute).

  5. They start executing and have three states:

    1. Pass: if everything went well if the expected result was correct

    2. Fail: if something of the step-by-step failed, and that is where it is integrated with Jira, then if it is Fail, we have to report an issue in Jira, and then in Testlink, we associate it to that failed test case, and we can see if the issue is in TO DO, IN PROGRESS, RFQA or DONE, once the issues associated with a Fail case are all in DONE, that case is retested.

    3. Blocked: if this case cannot be executed because it is pending an issue reported in a previous case or because it can only be executed in PROD, or because it can only be executed by the client.

  6. In the end, we can get a report per sprint of how many cases were executed, what features were tested, how many failed, and how many times a specific test case failed.

Is QA so Important?

If, after all this, you are still wondering why it is important to implement a QA analysis in your development, remember that there is nothing more expensive than an application that doesn't work. The longer a bug goes undetected, the more costly it is to fix. In most cases, the benefits of having a QA far outweigh the costs of trying to find and fix development bugs after deployment. 

If you want to know more about our QA process or need a tester for your application, you can contact us, we would like to help you.