Time to Clean Your Test Objectives

23Citations
Citations of this article
40Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Testing is the primary approach for detecting software defects. A major challenge faced by testers lies in crafting efficient test suites, able to detect a maximum number of bugs with manageable effort. To do so, they rely on coverage criteria, which define some precise test objectives to be covered. However, many common criteria specify a significant number of objectives that occur to be infeasible or redundant in practice, like covering dead code or semantically equal mutants. Such objectives are well-known to be harmful to the design of test suites, impacting both the efficiency and precision of the tester’s effort. This work introduces a sound and scalable technique to prune out a significant part of the infeasible and redundant objectives produced by a panel of white-box criteria. In a nutshell, we reduce this task to proving the validity of logical assertions in the code under test. The technique is implemented in a tool that relies on weakest-precondition calculus and SMT solving for proving the assertions. The tool is built on top of the Frama-C verification platform, which we carefully tune for our specific scalability needs. The experiments reveal that the pruning capabilities of the tool can reduce the number of targeted test objectives in a program by up to 27% and scale to real programs of 200K lines, making it possible to automate a painstaking part of their current testing process.

Cite

CITATION STYLE

APA

Marcozzi, M., Papadakis, M., Bardin, S., Prevosto, V., Kosmatov, N., & Correnson, L. (2018). Time to Clean Your Test Objectives. In Proceedings - International Conference on Software Engineering (Vol. 2018-January, pp. 456–467). IEEE Computer Society. https://doi.org/10.1145/3180155.3180191

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free