• 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