• DocumentCode
    10034
  • Title

    Using Dependency Structures for Prioritization of Functional Test Suites

  • Author

    Haidry, Shifa-e-Zehra ; Miller, Ted

  • Author_Institution
    Dept. of Comput. & Inf. Syst., Univ. of Melbourne, Melbourne, VIC, Australia
  • Volume
    39
  • Issue
    2
  • fYear
    2013
  • fDate
    Feb. 2013
  • Firstpage
    258
  • Lastpage
    275
  • Abstract
    Test case prioritization is the process of ordering the execution of test cases to achieve a certain goal, such as increasing the rate of fault detection. Increasing the rate of fault detection can provide earlier feedback to system developers, improving fault fixing activity and, ultimately, software delivery. Many existing test case prioritization techniques consider that tests can be run in any order. However, due to functional dependencies that may exist between some test cases-that is, one test case must be executed before another-this is often not the case. In this paper, we present a family of test case prioritization techniques that use the dependency information from a test suite to prioritize that test suite. The nature of the techniques preserves the dependencies in the test ordering. The hypothesis of this work is that dependencies between tests are representative of interactions in the system under test, and executing complex interactions earlier is likely to increase the fault detection rate, compared to arbitrary test orderings. Empirical evaluations on six systems built toward industry use demonstrate that these techniques increase the rate of fault detection compared to the rates achieved by the untreated order, random orders, and test suites ordered using existing "coarse-grained” techniques based on function coverage.
  • Keywords
    program debugging; program testing; software fault tolerance; software process improvement; dependency information; dependency structures; fault detection rate; fault fixing improvement; functional dependencies; functional test suite prioritization; software debugging; software delivery; system developers; system under test; test case execution ordering; test case prioritization technique; Complexity theory; Digital signal processing; Fault detection; Schedules; Software; Testing; Weight measurement; Software engineering; test execution; testing and debugging;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2012.26
  • Filename
    6189361