Towards Automated Boundary Value Testing with Program Derivatives and Search
Paper in proceeding, 2019

A natural and often used strategy when testing software is to use input values at boundaries, i.e. where behavior is expected to change the most, an approach often called boundary value testing or analysis (BVA). Even though this has been a key testing idea for long it has been hard to clearly define and formalize. Consequently, it has also been hard to automate.

In this research note we propose one such formalization of BVA by, in a similar way as to how the derivative of a function is defined in mathematics, considering (software) program derivatives. Critical to our definition is the notion of distance between inputs and outputs which we can formalize and then quantify based on ideas from Information theory.

However, for our (black-box) approach to be practical one must search for test inputs with specific properties. Coupling it with search-based software engineering is thus required and we discuss how program derivatives can be used as and within fitness functions.

This brief note does not allow a deeper, empirical investigation but we use a simple illustrative example throughout to introduce the main ideas. By combining program derivatives with search, we thus propose a practical as well as theoretically interesting technique for automated boundary value (analysis and) testing.

Automated software testing

Boundary value analysis

Information theory

Search-based software testing

Partition testing

Author

Robert Feldt

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Felix Dobslaw

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 11664 LNCS 155-163
9783030274542 (ISBN)

Symposium on Search-Based Software Engineering
Tallinn, ,

Subject Categories

Information Science

Computer Science

Computer Systems

DOI

10.1007/978-3-030-27455-9_11

More information

Latest update

10/7/2024