A New Data Mining-Based Framework to Test Case Prioritization Using Software Defect Prediction

A New Data Mining-Based Framework to Test Case Prioritization Using Software Defect Prediction

Emad Alsukhni (Department of Computer Information Systems, Yarmouk University, Irbid, Jordan), Ahmad A. Saifan (Department of Computer Information Systems, Yarmouk University, Irbid, Jordan) and Hanadi Alawneh (Department of Computer Information Systems, Yarmouk University, Irbid, Jordan)
Copyright: © 2017 |Pages: 21
DOI: 10.4018/IJOSSP.2017010102


Test cases do not have the same importance when used to detect faults in software; therefore, it is more efficient to test the system with the test cases that have the ability to detect the faults. This research proposes a new framework that combines data mining techniques to prioritize the test cases. It enhances fault prediction and detection using two different techniques: 1) the data mining regression classifier that depends on software metrics to predict defective modules, and 2) the k-means clustering technique that is used to select and prioritize test cases to identify the fault early. Our approach of test case prioritization yields good results in comparison with other studies. The authors used the Average Percentage of Faults Detection (APFD) metric to evaluate the proposed framework, which results in 19.9% for all system modules and 25.7% for defective ones. Our results give us an indication that it is effective to start the testing process with the most defective modules instead of testing all modules arbitrary arbitrarily.
Article Preview

Literature Review

SDLC is a process of designing, implementing and modifying software. Software development is a human process; it is quite obvious that it is difficult to develop completely fault-free software. Moreover, software complexity and many other constraints may introduce or raise more errors. The SDP is used at the earliest stage of the development in order to reduce development and maintenance costs, effort, customer dissatisfaction, and project failure. In this section, we review some of the previous works on SDP and test case prioritization techniques. For this purpose, the concepts of data mining and SDP are combined to introduce the SDP data mining technique. Data mining is an approach for finding useful knowledge and common patterns in different data sources involving data transactions, databases and data warehouses. The main goal of the data mining process is to extract useful and meaningful information from large amounts of data. Moreover, software metrics as an indicator for defective modules; regression testing techniques and evaluation metrics; test case prioritization using data mining techniques are also introduced.

Complete Article List

Search this Journal:
Open Access Articles
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): 3 Released, 1 Forthcoming
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing