Towards Automated Boundary Value Testing with Program Derivatives and Search
Paper i 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.

Information theory

Search-based software testing

Automated software testing

Partition testing

Boundary value analysis

Författare

Robert Feldt

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

Felix Dobslaw

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

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

03029743 (ISSN) 16113349 (eISSN)

Vol. 11664

Symposium on Search-Based Software Engineering
Tallinn, ,

Ämneskategorier

Systemvetenskap

Datavetenskap (datalogi)

Datorsystem

DOI

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

Mer information

Skapat

2019-09-06