Assessing and generating test sets in terms of behavioural adequacy. (20th March 2015) - Fraser, Gordon; Walkinshaw, Neil
Summary: Identifying a finite test set that adequately captures the essential behaviour of a program such that all faults are identified is a well‐established problem. This is traditionally addressed with syntactic adequacy metrics (e.g. branch coverage), but these can be impractical and may be misleading even if they are satisfied. One intuitive notion of adequacy, which has been discussed in theoretical terms over the past three decades, is the idea of behavioural coverage : If it is possible to infer an accurate model of a system from its test executions, then the test set can be deemed to be adequate. Despite its intuitive basis, it has remained almost entirely in the theoretical domain because inferred models have been expected to be exact (generally an infeasible task) and have not allowed for any pragmatic interim measures of adequacy to guide test set generation. This paper presents a practical approach to incorporate behavioural coverage. OurBESTEST approach (1) enables the use of machine learning algorithms to augment standard syntactic testing approaches and (2) shows how search‐based testing techniques can be applied to generate test sets with respect to this criterion. An empirical study on a selection of Java units demonstrates that test sets with higher behavioural coverage significantly outperform current baseline test criteria in terms of detected faults. © 2015 The Authors. Software Testing, Verification and Reliability published by John Wiley & Sons, Ltd. Abstract : Identifying a test set that adequately captures the essential behaviour of a program is a well‐established problem. Behavioural coverage captures the idea that if it is possible to infer an accurate model of a system from its test executions, then the test set is adequate. Our approach enables the use of machine learning algorithms to augment standard syntactic testing approaches and shows how search‐based testing techniques can be applied to generate test sets with respect to this criterion.