Advanced code coverage analysis using substring holes
Yoram Adler, Eitan Farchi, et al.
ISSTA 2009
Combinatorial testing (CT) is a well-known technique for improving the quality of test plans while reducing testing costs. Traditionally, CT is used by testers at testing phase to design a test plan based on a manual definition of the test space. In this work, we extend the traditional use of CT to other parts of the development life cycle. We use CT at early design phase to improve design quality. We also use CT after test cases have been created and executed, in order to find gaps between design and test. For the latter use case we deploy a novel technique for a semi-automated definition of the test space, which significantly reduces the effort associated with manual test space definition. We report on our practical experience in applying CT for these use cases to three large and heavily deployed industrial products. We demonstrate the value gained from extending the use of CT by (1) discovering latent design flaws with high potential impact, and (2) correlating CT-uncovered gaps between design and test with field reported problems.
Yoram Adler, Eitan Farchi, et al.
ISSTA 2009
Guy Barash, Eitan Farchi, et al.
ESEC/FSE 2019
Eitan Farchi, Itai Segall, et al.
ICSTW 2013
Waldemar Hummer, Orna Raz, et al.
STVR