Field-exhaustive testing is a testing criterion that requires suites to contain enough test inputs to cover all feasible valúes for fields within a certain input-size bound. While previous work shows that field- exhaustive suites can be automatically generated, the generation tech- nique requires a formal specification of the inputs that can be subject to SAT-based analysis. Moreover, this constraint together with the resfrie- tion of producing all feasible valúes for input fields makes test generation costly, and field-exhaustive testing difficult to generalize to further testing domains.
In this paper, we deal with field. coverage as testing criteria that measure the degree to which a program is tested by examining to what extent the valúes of inputs’ fields are covered. We show that this notion generalizes field-exhaustive testing, withdrawing the need for a SAT-analyzable formal specification, and thus can be combined with any test generation technique to produce smaller test suites, reducing testing time. In particular, we consider field coverage: (i) in combination with test generation based on symbolic execution, to produce underapproximations of all testing sequences; (ii) as a relaxation of bounded-exhaustive testing, producing smaller suites using the Korat tool; and (iii) in combination with random testing, producing smaller test suites and even serving as a termination criterion for generation. As we show, in all these cases field coverage helps producing significantly smaller suites, thus contributing to testing time, while retaining the effectiveness of the corresponding original techniques, in terms of test suite quality.