What is defect clustering and defect cascading in software testing?
Explain in details?
Defect clustering in software Testing means that the majority of the defects are caused by a small number of modules,i.e the distribution of defects are not across the application but rather centralized in limited sections of the application.
This is particularly true for large systems where the complexity,size,change and developer mistake can impact the quality of the system and affect particular modules.
Defect Clustering in Software Testing is based on the Pareto principle,also known as the 80-20 rule,where it is stated that approximately 80% of the problems are caused by 20% of the modules.In this image the principle of defect clustering in software testing can be seen that most of the defects are clustered in particular sections of the applications of an application e.g Product Details,Reviews and Search Results Page for an e-commerce website and the remaining defects in other areas.
Defect cascading basically refers to increase in count of defects in application due to a particular defects.During functional or regression testing,there are chances that defects can be missed by the testers in consecutive builds and such defects will introduce new defects in different phases which results in cascading of defects.
The core defects should be identified and fixed in the earlier builds to avoid such increase in count of new defects in later stages.