Process
Parametrized and Random Testing
Last updated:
December 13, 2021

Parametrized and Random Testing is a form of unit or integration testing that relies on generating representative sequences of testing values and generating a new test for each of the values. This sequence can either be pre-determined by the programmer (called a parametrized test) or generated randomly by the testing framework (called a random test).

Common smart contract frameworks support parametrized and random testing:

Are random tests just fuzz tests?

While random tests can be used to generate sequences of transactions if used in a specific way, they are far less powerful than fuzz tests in two ways:

  • Fuzz tests support transactions natively and can automatically discover how to trigger different transactions
  • Fuzz tests have specific methods such as branch intelligence and shrinking that improve the user experience of randomized testing.

See Also: