DEV Community

MihaiHng
MihaiHng

Posted on

Ethereum-Solidity Quiz Q1: What is fuzzing?

Fuzzing is an automated testing technique for smart contracts that generates a pre-set number of randomized/unexpected inputs that are thrown to the system with the end goal of exposing security vulnerabilities by triggering unexpected/invalid behavior.

Two types of fuzzing:

  1. Stateless fuzzing:

    • state resets between function calls
    • a single function takes randomized input params
    • used for individual functions
  2. Stateful fuzzing

    • state is maintained across multiple function calls
    • multiple random function calls with randomized input params
    • used for invariant testing

Top comments (0)