Tuesday, June 27, 2006

Fuzzers and Fuzzing (Fuzz testing)

Fuzz testing or fuzzing is a software testing technique. The basic idea is to attach the inputs of a program to a source of random data ("fuzz"). If the program fails (for example, by crashing, or by failing built-in code assertions), then there are defects to correct...
However, fuzz testing is not a substitute for exhaustive testing or formal methods: it can only provide a random sample of the system's behavior, and in many cases passing a fuzz test may only demonstrate that a piece of software handles exceptions without crashing, rather than behaving correctly. Thus, fuzz testing can only be regarded as a proxy for program correctness, rather than a direct measure, with fuzz test failures actually being more useful as a bug-finding tool than fuzz test passes as an assurance of quality. (wikipedia)
[I wrote this post to answer someone's question.] While seeking an intro article to help you start learning something, wikipedia.org and del.icio.us worth checking. I also recommend This wiki for fuzzers. It is a good gateway if you follow the links.

See also:
http://del.icio.us/search/?all=fuzzer
http://del.icio.us/tag/fuzzing
http://en.wikipedia.org/wiki/Fuzzing
http://en.wikipedia.org/wiki/Black_box_testing

0 Comments:

Post a Comment

<< Home