How to Get Started with Software Quality Metrics?
Software quality is an abstract concept. Its presence can be difficult to define, but its absence easy to see within moments. Thus, in the quest for improving software quality, it’s important to understand what it is and what metrics for software quality assurance to follow. Frameworks and models enable us to grasp what software quality is. To understand its complexity from different quality viewpoints, ISO 25010 defines the concepts of internal quality, external quality, and quality in use tied together in a quality life cycle whereby one level of quality has an influence on later stages in the quality lifecycle as shown in Figure 1.
So when we measure internal quality, the hope is that it influences external quality and in turn external quality has positive influence on QinU. So when getting started with metrics for quality assurance, you have to first determine what viewpoint? Process quality, internal quality, external quality, or quality in use? Most people when thinking about software quality metrics, think about external quality which is done by inspection, or testing. In this case, most literature focuses on defects. Some typical defect-related metrics include:
- Total defects
- Defects at delivery
- Mean time to defect
- Defect burn rate
So while examining defects is a start to developing software quality assurance metrics, it’s just a start, and examines only one viewpoint on quality and gives an incomplete view.