Test case filtering and prioritization based on coverage of combinations of program elements

  • Authors:
  • Wes Masri;Marwa El-Ghali

  • Affiliations:
  • American Univ. of Beirut, Beirut, Lebanon;American Univ. of Beirut, Beirut, Lebanon

  • Venue:
  • WODA '09 Proceedings of the Seventh International Workshop on Dynamic Analysis
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Test case filtering is concerned with selecting from a test suite T a subset T' that is capable of revealing most of the defects revealed by T. A smaller T' is desirable since it translates to fewer test runs to be audited manually. Test case prioritization, a related technique, aims at scheduling the tests in T so that the defects are revealed as early as possible when T gets executed. We propose techniques that are based on coverage of combinations of program elements of different types. Clearly, exploring all possible combinations induced at runtime is infeasible, which calls for the use of an approximation algorithm. In this paper we investigate the use of a genetic algorithm to select a number of suitable combinations of program elements to be covered. We compared our technique to other coverage-based techniques that consider program elements of the same type and that do not take into account their combinations; our preliminary results were promising. For example, after filtering the original test suite T for JTidy, the resulting T' revealed all the defects in T and was only 14.1% its size.