Test case prioritisation 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 prioritisation 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 prioritisation techniques that use the dependency information from a test suite to prioritise 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 towards 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
You are here: Home / IEEE 2011 PROJECTS / Using Dependency Structures for Prioritisation of Functional Test Suites