Information Technology
Article
News
Case studies
Trainer profiles

Software Quality Assurance: A Step-by-Step Process for Big Savings

Michel Benoit
Software Quality Assurance: A Step-by-Step Process for Big Savings

Quality is a major issue for the information technology, software and communications industry. To discuss this issue, we received our expert trainer Michel Benoit. With him, we discuss the major current themes related to quality assurance, the implementation of a quality program in organizations and how to approach quality assurance in our ways of doing things.

Technologia: First, what is quality?

Michel Benoit : I like to make a comparison with an apple when we talk about quality. When you are in a supermarket and you want to buy an apple, you can select the size, shape or variety that suits you best. You are also able to validate if that apple is not damaged and, most importantly, if it is worm free! When you go to taste it, you will be able to see if your choice is the right one or if you should get another apple the next time you visit. It's the same thing with software quality assurance: sometimes software looks perfect at first glance, but it may contain errors that can affect business processes.

T: Can you give us an example of "quality" in software?

Michel Benoit : Let's say I present you with two separate pieces of software, which contain errors ("bugs"). The first software has 15 bugs and the second has only 2. Which of these programs is of better quality? Before answering, we must first consider the criticality level of the bugs in question. In this case, the second software has fewer errors than the first. However, if these errors are fatal for the proper functioning of the software, then it is worse than the software that has more bugs, but whose severity is less.

T: Can quality depend on the field of application?

Michel Benoit : Yes, the application domain of the software also has an impact on the choice between two software. In a very graphic way, we will not make the same type of decision depending on whether we are in the video game industry or the nuclear industry. The criteria for what is considered "quality" can be very varied and differ according to the sector, the level of risk, the level of error problems, etc.

T: Do we experience this on a daily basis, in one way or another?

Michel Benoit : As a consumer, you regularly do "quality testing" in your own way. Did you know that 3 out of 4 applications we download on our smartphones are deleted the same day? In fact, an American study[1] recently revealed that the main factors motivating consumers to delete certain applications are the slowness and heaviness of an application, the number of bugs, the poor user experience or the complexity of the application. Quality is therefore one of the starting points of the customer experience.

T: Knowing that, is there a consensus on what quality is?

Michel Benoit : Most organizations and research groups around the world agree on the fact that quality is a set of characteristics, within a system, a component or a software process, that will allow to satisfy the needs expressed (the requirements requested, implicitly or explicitly) by the customer or by the user. We must not lose sight of the fact that an organization will be judged on the quality of the products and services it offers to its customers.

T: Are there certain quality standards that people agree on?

Michel Benoit : Yes, the ISO 25000 standard in particular, which was devised in the early 2000s. The quality criteria targeted are functional adequacy (the accuracy and relevance of the software), performance efficiency (whether the software can be projected over time and remain attractive), compatibility (whether it also works on cell phones, whether it communicates effectively with Apple phones, for example), ease of use, reliability, security, maintainability (whether it is possible to use the software for purposes other than the one initially planned) and portability (how easy it is to install).

T: So quality testing is essential in all processes?

Michel Benoit : The absence of software testing (or poorly performed testing) leads to increased design costs, longer delivery times, increased technical debt, late feedback from stakeholders, and ultimately, customer dissatisfaction. It is critical to target the right "quality" criteria for your specific project. For all these reasons, testing is part of the quality control process and must be done continuously.

Quality assurance is therefore a set of processes that aim to increase the quality of a product as much as possible, step by step. Each of them must be reviewed on a regular basis. And remember, it is often the customer who determines the acceptable quality level of a product. In any case, never hesitate to multiply software tests. Although they may seem costly, they are above all an investment to avoid later expenses that will be much more significant in terms of resources.

To go further :

Quality assurance: know how to integrate quality according to the context of your projects

Similar articles

See all our articles