• DocumentCode
    781838
  • Title

    On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques

  • Author

    Do, Hyunsook ; Rothermel, Gregg

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Nebraska Univ., Lincoln, NE
  • Volume
    32
  • Issue
    9
  • fYear
    2006
  • Firstpage
    733
  • Lastpage
    752
  • Abstract
    Regression testing is an important activity in the software life cycle, but it can also be very expensive. To reduce the cost of regression testing, software testers may prioritize their test cases so that those which are more important, by some measure, are run earlier in the regression testing process. One potential goal of test case prioritization techniques is to increase a test suite´s rate of fault detection (how quickly, in a run of its test cases, that test suite can detect faults). Previous work has shown that prioritization can improve a test suite´s rate of fault detection, but the assessment of prioritization techniques has been limited primarily to hand-seeded faults, largely due to the belief that such faults are more realistic than automatically generated (mutation) faults. A recent empirical study, however, suggests that mutation faults can be representative of real faults and that the use of hand-seeded faults can be problematic for the validity of empirical results focusing on fault detection. We have therefore designed and performed two controlled experiments assessing the ability of prioritization techniques to improve the rate of fault detection of test case prioritization techniques, measured relative to mutation faults. Our results show that prioritization can be effective relative to the faults considered, and they expose ways in which that effectiveness can vary with characteristics of faults and test suites. More importantly, a comparison of our results with those collected using hand-seeded faults reveals several implications for researchers performing empirical studies of test case prioritization techniques in particular and testing techniques in general
  • Keywords
    program diagnostics; program testing; fault detection; hand-seeded fault; mutation fault; regression testing; software life cycle; test case prioritization technique; Computer aided software engineering; Costs; Fault detection; Genetic mutations; Life testing; Performance evaluation; Software maintenance; Software measurement; Software testing; System testing; Regression testing; empirical studies.; program mutation; test case prioritization;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2006.92
  • Filename
    1707670