Font Size: a A A

Code Priority Based Test Case Prioritization

Posted on:2015-09-27Degree:MasterType:Thesis
Country:ChinaCandidate:J Y CaiFull Text:PDF
GTID:2298330467984620Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Regression testing is an effective process to maintain the software quality in software developing. As the continuous increase of software scale, the time and resource cost of regression testing increase. In order to improve the testing effectiveness, test cases need to be scheduled to determine their execution sequence. Code coverage-based test case prioritization techniques use the executing trace of the test case to prioritize the test cases. Existing work on test case prioritization treats all the code units equally.Through analyzing the program, we believe that the priority of the code units in prioritization is different. Thus, we define the code unit priority based on the location and severity of the code units in the program. We can generate the code priority coverage matrix based on code unit coverage information and its priority. At the same time, we analyze the weakness and defects of the existing clustering-based test case prioritization techniques. In this paper, we propose an improved clustering-based test case prioritization algorithm that incorporates code unit priority. After clustering the test cases, we first prioritize test cases at the same position among groups according to the test cases that are already prioritized, and then prioritize test cases in the same group to generate the final prioritization results.We conduct experiments on12classic regression test datasets in SIR repository. The results show that code unit priority can improve the effectiveness of the test case prioritization techniques. The algorithms based on the weighted code coverage information have better fault detection ability. According to the APFD measure, our improved clustering-based prioritization algorithm outperforms the original algorithm. According to the test case position that first detects fault, our algorithm can detects faults that few test cases cover earlier. Thus we can use fewer test cases to identify all the faults. Meanwhile, the experiment result illustrate that the involvement of code unit priority is more important that the selection of the test case prioritization techniques in clustering based test case prioritization. This advantage is more obvious in dataset with large scale.
Keywords/Search Tags:Test case prioritization, Code coverage information, Code unit priority
PDF Full Text Request
Related items