TY - GEN
T1 - Prioritizing JUnit test cases in absence of coverage information
AU - Zhang, Lingming
AU - Zhou, Ji
AU - Hao, Dan
AU - Zhang, Lu
AU - Mei, Hong
PY - 2009
Y1 - 2009
N2 - Better orderings of test cases can detect faults in less time with fewer resources, and thus make the debugging process earlier and accelerate software delivery. As a result, test case prioritization has become a hot topic in the research of regression testing. With the popularity of using the JUnit testing framework for developing Java software, researchers also paid attention to techniques for prioritizing JUnit test cases in regression testing of Java software. Typically, most of them are based on coverage information of test cases. However, coverage information may need extra costs to acquire. In this paper, we propose an approach (named Jupta) for prioritizing JUnit test cases in absence of coverage information. Jupta statically analyzes call graphs of JUnit test cases and the software under test to estimate the test ability (TA) of each test case. Furthermore, Jupta provides two prioritization techniques: the total TA based technique (denoted as JuptaT) and the additional TA based technique (denoted as JuptaA). To evaluate Jupta, we performed an experimental study on two open source Java programs, containing 11 versions in total. The experimental results indicate that Jupta is more effective and stable than the untreated orderings and Jupta is approximately as effective and stable as prioritization techniques using coverage information at the method level.
AB - Better orderings of test cases can detect faults in less time with fewer resources, and thus make the debugging process earlier and accelerate software delivery. As a result, test case prioritization has become a hot topic in the research of regression testing. With the popularity of using the JUnit testing framework for developing Java software, researchers also paid attention to techniques for prioritizing JUnit test cases in regression testing of Java software. Typically, most of them are based on coverage information of test cases. However, coverage information may need extra costs to acquire. In this paper, we propose an approach (named Jupta) for prioritizing JUnit test cases in absence of coverage information. Jupta statically analyzes call graphs of JUnit test cases and the software under test to estimate the test ability (TA) of each test case. Furthermore, Jupta provides two prioritization techniques: the total TA based technique (denoted as JuptaT) and the additional TA based technique (denoted as JuptaA). To evaluate Jupta, we performed an experimental study on two open source Java programs, containing 11 versions in total. The experimental results indicate that Jupta is more effective and stable than the untreated orderings and Jupta is approximately as effective and stable as prioritization techniques using coverage information at the method level.
UR - http://www.scopus.com/inward/record.url?scp=70849096646&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70849096646&partnerID=8YFLogxK
U2 - 10.1109/ICSM.2009.5306350
DO - 10.1109/ICSM.2009.5306350
M3 - Conference contribution
AN - SCOPUS:70849096646
SN - 9781424448289
T3 - IEEE International Conference on Software Maintenance, ICSM
SP - 19
EP - 28
BT - 2009 IEEE International Conference on Software Maintenance, ICSM 2009 - Proceedings of the Conference
T2 - 2009 IEEE International Conference on Software Maintenance, ICSM 2009
Y2 - 20 September 2009 through 26 September 2009
ER -