The test case generation problem can be stated as an optimization problem

whereby the closeness of test cases to violating the postcondition of a

formal specification is maximized, subject to satisfying its precondition.

This is usually implemented by constructing an objective function which

provides a real-valued estimate of how distant all of the constraints are

from being violated, and then trying to minimize it.

A problem with this approach is that such objective functions may contain

plateaux, which make their minimization hard. We propose a similar approach,

grounded on fuzzy logic, which uses, instead of a "distance from violation"

objective function, a fuzzy degree of proximity to postcondition violation

and produces plateaux-free objective functions by construction.

The approach is illustrated with the help of a case study on the functional

(black-box) testing of computer programs.