For those of us in the IT world, it is very common to use the word “Testing” to refer to “Software Testing (SW)” but on the other hand there is “Software Quality (SW)”: is it the same thing?
There are also other terms that we often use such as “QA” (Quality Assurance). But do you really know the difference, which word makes sense to use at any given moment?
In this post we are going to explain the difference between Testing, SW Testing, SW Quality and QA, and what they are really used for.
What is Testing?
Testing refers to make tests. It is used when we are going to certify and validate that some system, device or artifice (this does not only apply to SW) works according to the specifications with which it was designed. In the SW world, it would be something like saying that the product meets the requirements that were initially defined.
We then enter a deeper world, and this is what I really like about this discipline, which leads us to ask what the requirements are and what kind of requirements there are. The first are the functional requirements, i.e., those that refer to the performance of the SW from the point of view of the business (or customer). In the case of a bank like Santander, the functional requirement could be the opening of a personal loan (and all that this entails).
Perfect, so we’ve got it, right? For the SW development to be successful we have to verify and test that we are able to create a personal loan from certain parameters that the customer will tell me, right? That is to say, to perform functional tests.
Well… not really… There are many other things that need to be verified for a SW to work properly. Many other requirements to take into account.
Without trying to be too exhaustive, it is not a question here of going too deep, let’s say that apart from the functional requirements there are other requirements that we will call in a general way non-functional requirements, which must be validated by what is usually called non-functional tests. And here there is a wide range of types of tests, including:
- Unit tests
- Code quality
- Performance testing
- Usability testing
- Accessibility testing
- Security testing
To sum up, testing in the SW field is the validation that all the requirements of the built system are met, both functional and non-functional. The result of this validation is a report that determines the health of the SW, in other words, it determines whether the SW is fit or not to be delivered to the end user.
What is the Software Quality?
I think we all understand what quality of any product is, we deal with it every day in our life. In very simple terms, SW Quality is the attribute that determines how good (or bad) the SW is. In other words, how well it meets the requirements with which it was developed.
And what do we have to do to ensure that a SW is of good quality?
To start with, we have to do Testing, you guessed it, but only by doing Testing do we ensure high Quality of the SW? Well, no, you may have guessed or guessed it too.
Remember that Testing is the act of validating compliance with the requirements, but there are many other activities to be performed that, not being strictly Testing, are part of the SW Quality.
All SW product development must begin by defining the quality strategy, which is the key to ensuring that the product is valid for the user for whom it was built. Many other issues must be taken into account in this strategy, such as:
- Requirements to validate
- Data required for testing
- Number of potential users
- Expected concurrency in the use of the product
- Required test environments
- Possible user access channels (Web, mobile, etc.)
- Product acceptance criteria
All this makes up the quality of the SW and we must take it into account from the beginning of the development.
Differences between Testing and Quality Software
Both Testing and SW Quality are closely related terms, but we need to understand the differences between them.
The following table shows a simple comparison that can serve as a guide:
|Testing||Calidad del SW|
|It is a part of the SW Quality process||Encompasses Testing|
|It is performed at certain moments of the development||It must be taken into account at all time|
|It is performed by some team members||It is the responsibility of the whole team|
|Validation of compliance with requirement||Definition and fulfillment of the quality strategy|
|SW testing||Quality Assurance|
|Test report||Product viability for the user|
Although as you have seen this topic can be quite deep, if we want to simplify a lot we can say that Testing is one (but not the only one) of the means used to improve SW Quality.
Testing is the operation and the action, while SW Quality is the discipline and the method. Both are, therefore, essential and inseparable elements to ensure that the SW products we develop reach the end-users in optimal conditions, improving their perception and, ultimately, the image of the business.
Santander Global T&O is a global company of Santander Group with more than 3,000 employees and based in Madrid, we work to make Santander an open platform for financial services.
Check out the positions we have open here to join this great team and Be Tech! with Santander
Follow us on LinkedIn and Instagram.