Question: Is there a flexible framework for fuzzy testing in Java? 

The [Wikipedia article on Fuzz testing](http://en.wikipedia.org/wiki/Fuzz_testing) defines fuzz testing as follows:

> 
> Fuzz testing or fuzzing is a software testing technique, often automated or semi-automated, that involves providing invalid, unexpected, or random data to the inputs of a computer program. The program is then monitored for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Fuzzing is commonly used to test for security problems in software or computer systems.
> 
> 
> 

I know there is such a framework for Erlang. Any hints are welcome.

Answer: 
You may want to look into JQF:

<https://github.com/rohanpadhye/jqf>
Looks like there is a [Java port of Quickcheck](https://bitbucket.org/blob79/quickcheck).

> 
> The goal of QuickCheck is to replace manually picked values with generated values. A QuickCheck-based test tries to cover the laws of a domain whereas classical testing can only test the validity for distinct values.
> 
> 
> Basically, QuickCheck is about generators of data. The QuickCheck runner method is just a fancy for loop implementation. QuickCheck can help in scenarios where whole classes of test cases have to be tested and it is not feasible to write tests for all distinct test scenarios.
> 
> 
>