DocumentCode :
1545915
Title :
Prioritizing test cases for regression testing
Author :
Rothermel, Gregg ; Untch, Roland H. ; Chu, Chengyun ; Harrold, Mary Jean
Author_Institution :
Dept. of Comput. Sci., Oregon State Univ., Corvallis, OR, USA
Volume :
27
Issue :
10
fYear :
2001
fDate :
10/1/2001 12:00:00 AM
Firstpage :
929
Lastpage :
948
Abstract :
Test case prioritization techniques schedule test cases for execution in an order that attempts to increase their effectiveness at meeting some performance goal. Various goals are possible; one involves rate of fault detection, a measure of how quickly faults are detected within the testing process. An improved rate of fault detection during testing can provide faster feedback on the system under test and let software engineers begin correcting faults earlier than might otherwise be possible. One application of prioritization techniques involves regression testing, the retesting of software following modifications; in this context, prioritization techniques can take advantage of information gathered about the previous execution of test cases to obtain test case orderings. We describe several techniques for using test execution information to prioritize test cases for regression testing, including: 1) techniques that order test cases based on their total coverage of code components; 2) techniques that order test cases based on their coverage of code components not previously covered; and 3) techniques that order test cases based on their estimated ability to reveal faults in the code components that they cover. We report the results of several experiments in which we applied these techniques to various test suites for various programs and measured the rates of fault detection achieved by the prioritized test suites, comparing those rates to the rates achieved by untreated, randomly ordered, and optimally ordered suites
Keywords :
program debugging; program testing; code component coverage; cost-benefit analysis; experiments; regression testing; software fault correction; software fault detection rate; software testing; test case prioritization; test case scheduling; Application software; Computer Society; Computer aided software engineering; Costs; Fault detection; Feedback; Processor scheduling; Software maintenance; Software testing; System testing;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.962562
Filename :
962562
Link To Document :
بازگشت