In this entry, we are going to give a little introduction of what software quality really is. Like most software engineers, at some point in our lives, we have asked ourselves “Are we doing this correctly?, “Is this good enough?”, “Does my software contain some quality”, “Is it competitive by its quality?” Let´s talk about it.
This entry will divide into the following topics:
- Defining Software Quality
- A focus on process
- Ensuring Software Quality
- The role of standards in Software Quality
Defining Software Quality
As developers we are concerned about the quality of our software, but do we exactly know what Quality is regarding software?
We define Software Quality as a practice that describes what are the desirable attributes in software production. Software Quality is just simply the degree of conformance to requirements and exceptions, whether explicit or implicit.
A focus on process
Now we know what Software Quality actually is, but where do we start? That´s where SQA and Software Development comes in.
Software Quality Assurance (SQA) is a process which assures that all software engineering processes, methods, activities and work items are monitored and comply against the defined standards. We´ll talk about standards later on. If you´re interested in the SQA Plan, take a look at this summary by GeeksforGeeks.
The process of a Software Quality also to the software development, where we talk about processes or stages, cycles, Use Cases, the client´s requirements, etc, etc. Basically PLANNING. If you want to take a deeper dive of Software Development, you can take a look at my Software Development entries.
Ensuring Software Quality
In a general approach, the characteristics that we are looking for in a software in order to become a good quality software are the following:
- Functional suitability
- Performance efficiency
Of course, there can be another factors that can describe in a more specific way our software in order to get a more quality closeness but that just depends on the approach, this is just a fixed quality model, in fact, this is a standard. It is time now to talk about standards.
The role of standards in Software Quality
We come along to know what software quality is, some tools that can help us achieve quality software and not fail in the intent and some basic measruments that can ensure us that we are going in the right way, but how much is the right way?
The role of standards in SQ helps us to have a general approach regarding quality by giving rules or measurements to consider. These rules are established to everyone that decides to work in a product or software with quality as an attribute to maintain a completeness (universality) in this community. Some standards are as follows:
- The ISO/IEC 9126 standard describes the quality model which categorizes software quality into six crutial factors:
The ISO/IEC 250:10:2011 software quality model, is a model which is conformed by eight characteristics, that were mentioned before.