Object Oriented Coupling based Test Case Prioritization - Singh, Ajmer; Bhatia, Rajesh Kumar; Singhrova, Anita (International Journal of Computer Sciences and Engineering, 2025)
Test case prioritization is the process of ordering the test case executions to meet various testing goals. Improved software quality is one of the ultimate goals of software testing process. While dealing with object oriented testing specific features like inheritance, polymorphism and abstraction play important role in test case prioritization. Measures of object oriented features in a software component can be used as quality indicators. Some of the object oriented features may contribute positively while some may contribute negatively to the software quality. Software components can be ranked on the basis of their contribution in overall quality of software. These rankings may be helpful in test case prioritization. This study presents a test case prioritization approach based on software quality aspect. We performed an empirical investigation on six sequential versions of open source software and analyzed the contribution of various object oriented metrics in quality of the software. The work presents a novel technique of test case prioritization that would not only enhance the quality of the software but also prioritize the test cases as per fault proneness of the software modules. Proposed approach first investigates the impact of coupling metrics on software quality then provides ranking to component classes as per coupling measures. It is observed that coupling metrics potentially correlate with the change impact of software.