Software development is a continuous process. Among all phases of software development, testing and debugging are the most essential phases. The main intention of testing is to detect maximum faults as soon as possible. After a fault is detected, it must be removed through appropriate debugging approach. Both phases are performed one after another and require different information. Hence, it is arduous to merge them. In fault detection, such test cases are required that are able to detect all the faults with less effort whereas in fault localization such test cases are required that are able to reproduce faults and locate them with accuracy. For enhancing the performance of testing, the integration of these two phases with consideration of multi-objective selection of test cases is to be conducted before regression testing. In the current work, an approach for multi-objective test case selection based on statement and diversified mutant coverage has been proposed and compared with existing approaches. For empirical study, SPEA-2, NSGA-2 and VEGA algorithms have been used and experiments were conducted on three applications of the Defects4j database. Outcomes of the study specify that the proposed approach has the ability to detect more faults compared to existing approaches. It is also able to locate all faults that have been detected with fault localization score better or comparable to existing approaches.
展开▼