Towards Automated Boundary Value Testing with Program Derivatives and Search

05/27/2019
by   Robert Feldt, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/19/2022

Automated Black-Box Boundary Value Detection

The input domain of software systems can typically be divided into sub-d...
research
01/18/2020

Boundary Value Exploration for Software Analysis

For software to be reliable and resilient, it is widely accepted that te...
research
06/29/2020

A Generative Neural Network Framework for Automated Software Testing

Search Based Software Testing (SBST) is a popular automated testing tech...
research
06/18/2020

IReEn: Iterative Reverse-Engineering of Black-Box Functions via Neural Program Synthesis

In this work, we investigate the problem of revealing the functionality ...
research
02/14/2023

Genetic Micro-Programs for Automated Software Testing with Large Path Coverage

Ongoing progress in computational intelligence (CI) has led to an increa...
research
07/05/2022

Confluent Vandermonde with Arnoldi

In this note, we extend the Vandermonde with Arnoldi method recently adv...
research
04/13/2023

Learning by Viewing: Generating Test Inputs for Games by Integrating Human Gameplay Traces in Neuroevolution

Although automated test generation is common in many programming domains...

Please sign up or login with your details

Forgot password? Click here to reset